diff --git a/docs/index.js b/docs/index.js index 6a3dc03f..72b2d54e 100644 --- a/docs/index.js +++ b/docs/index.js @@ -1,16 +1,22 @@ 'use strict'; -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _interopDefault(ex) { + return ex && (typeof ex === 'undefined' ? 'undefined' : _typeof(ex)) === 'object' && 'default' in ex ? ex['default'] : ex; +} var require$$0 = _interopDefault(require('assert')); function assertDoc(val) { - if ( - !(typeof val === "string" || (val != null && typeof val.type === "string")) - ) { - throw new Error( - "Value " + JSON.stringify(val) + " is not a valid document" - ); + if (!(typeof val === "string" || val != null && typeof val.type === "string")) { + throw new Error("Value " + JSON.stringify(val) + " is not a valid document"); } } @@ -23,19 +29,19 @@ function concat$1(parts) { // // If it's a single document, no need to concat it. // return parts[0]; // } - return { type: "concat", parts }; + return { type: "concat", parts: parts }; } function indent$1(contents) { assertDoc(contents); - return { type: "indent", contents }; + return { type: "indent", contents: contents }; } function align(n, contents) { assertDoc(contents); - return { type: "align", contents, n }; + return { type: "align", contents: contents, n: n }; } function group(contents, opts) { @@ -52,16 +58,13 @@ function group(contents, opts) { } function conditionalGroup(states, opts) { - return group( - states[0], - Object.assign(opts || {}, { expandedStates: states }) - ); + return group(states[0], Object.assign(opts || {}, { expandedStates: states })); } function fill(parts) { parts.forEach(assertDoc); - return { type: "fill", parts }; + return { type: "fill", parts: parts }; } function ifBreak(breakContents, flatContents) { @@ -72,29 +75,26 @@ function ifBreak(breakContents, flatContents) { assertDoc(flatContents); } - return { type: "if-break", breakContents, flatContents }; + return { type: "if-break", breakContents: breakContents, flatContents: flatContents }; } function lineSuffix$1(contents) { assertDoc(contents); - return { type: "line-suffix", contents }; + return { type: "line-suffix", contents: contents }; } -const lineSuffixBoundary = { type: "line-suffix-boundary" }; -const breakParent$1 = { type: "break-parent" }; -const line = { type: "line" }; -const softline = { type: "line", soft: true }; -const hardline$1 = concat$1([{ type: "line", hard: true }, breakParent$1]); -const literalline = concat$1([ - { type: "line", hard: true, literal: true }, - breakParent$1 -]); -const cursor$1 = { type: "cursor", placeholder: Symbol() }; +var lineSuffixBoundary = { type: "line-suffix-boundary" }; +var breakParent$1 = { type: "break-parent" }; +var line = { type: "line" }; +var softline = { type: "line", soft: true }; +var hardline$1 = concat$1([{ type: "line", hard: true }, breakParent$1]); +var literalline = concat$1([{ type: "line", hard: true, literal: true }, breakParent$1]); +var cursor$1 = { type: "cursor", placeholder: Symbol() }; function join$1(sep, arr) { - const res = []; + var res = []; - for (let i = 0; i < arr.length; i++) { + for (var i = 0; i < arr.length; i++) { if (i !== 0) { res.push(sep); } @@ -106,10 +106,10 @@ function join$1(sep, arr) { } function addAlignmentToDoc(doc, size, tabWidth) { - let aligned = doc; + var aligned = doc; if (size > 0) { // Use indent to add tabs for all the levels of tabs we need - for (let i = 0; i < Math.floor(size / tabWidth); ++i) { + for (var i = 0; i < Math.floor(size / tabWidth); ++i) { aligned = indent$1(aligned); } // Use align for all the spaces that are needed @@ -124,21 +124,21 @@ function addAlignmentToDoc(doc, size, tabWidth) { var docBuilders$1 = { concat: concat$1, join: join$1, - line, - softline, + line: line, + softline: softline, hardline: hardline$1, - literalline, - group, - conditionalGroup, - fill, + literalline: literalline, + group: group, + conditionalGroup: conditionalGroup, + fill: fill, lineSuffix: lineSuffix$1, - lineSuffixBoundary, + lineSuffixBoundary: lineSuffixBoundary, cursor: cursor$1, breakParent: breakParent$1, - ifBreak, + ifBreak: ifBreak, indent: indent$1, - align, - addAlignmentToDoc + align: align, + addAlignmentToDoc: addAlignmentToDoc }; function isExportDeclaration(node) { @@ -158,7 +158,7 @@ function isExportDeclaration(node) { } function getParentExportDeclaration(path) { - const parentNode = path.getParentNode(); + var parentNode = path.getParentNode(); if (path.getName() === "declaration" && isExportDeclaration(parentNode)) { return parentNode; } @@ -181,8 +181,8 @@ function getLast(arr) { } function skip(chars) { - return (text, index, opts) => { - const backwards = opts && opts.backwards; + return function (text, index, opts) { + var backwards = opts && opts.backwards; // Allow `skip` functions to be threaded together without having // to check for failures (did someone say monads?). @@ -190,10 +190,10 @@ function skip(chars) { return false; } - const length = text.length; - let cursor = index; + var length = text.length; + var cursor = index; while (cursor >= 0 && cursor < length) { - const c = text.charAt(cursor); + var c = text.charAt(cursor); if (chars instanceof RegExp) { if (!chars.test(c)) { return cursor; @@ -216,10 +216,10 @@ function skip(chars) { }; } -const skipWhitespace = skip(/\s/); -const skipSpaces = skip(" \t"); -const skipToLineEnd = skip(",; \t"); -const skipEverythingButNewLine = skip(/[^\r\n]/); +var skipWhitespace = skip(/\s/); +var skipSpaces = skip(" \t"); +var skipToLineEnd = skip(",; \t"); +var skipEverythingButNewLine = skip(/[^\r\n]/); function skipInlineComment(text, index) { if (index === false) { @@ -227,7 +227,7 @@ function skipInlineComment(text, index) { } if (text.charAt(index) === "/" && text.charAt(index + 1) === "*") { - for (let i = index + 2; i < text.length; ++i) { + for (var i = index + 2; i < text.length; ++i) { if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { return i + 2; } @@ -251,34 +251,24 @@ function skipTrailingComment(text, index) { // test \r\n in order and `skip` doesn't support ordering and we only // want to skip one newline. It's simple to implement. function skipNewline(text, index, opts) { - const backwards = opts && opts.backwards; + var backwards = opts && opts.backwards; if (index === false) { return false; } - const atIndex = text.charAt(index); + var atIndex = text.charAt(index); if (backwards) { if (text.charAt(index - 1) === "\r" && atIndex === "\n") { return index - 2; } - if ( - atIndex === "\n" || - atIndex === "\r" || - atIndex === "\u2028" || - atIndex === "\u2029" - ) { + if (atIndex === "\n" || atIndex === "\r" || atIndex === '\u2028' || atIndex === '\u2029') { return index - 1; } } else { if (atIndex === "\r" && text.charAt(index + 1) === "\n") { return index + 2; } - if ( - atIndex === "\n" || - atIndex === "\r" || - atIndex === "\u2028" || - atIndex === "\u2029" - ) { + if (atIndex === "\n" || atIndex === "\r" || atIndex === '\u2028' || atIndex === '\u2029') { return index + 1; } } @@ -288,13 +278,13 @@ function skipNewline(text, index, opts) { function hasNewline(text, index, opts) { opts = opts || {}; - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); - const idx2 = skipNewline(text, idx, opts); + var idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); + var idx2 = skipNewline(text, idx, opts); return idx !== idx2; } function hasNewlineInRange(text, start, end) { - for (let i = start; i < end; ++i) { + for (var i = start; i < end; ++i) { if (text.charAt(i) === "\n") { return true; } @@ -304,17 +294,17 @@ function hasNewlineInRange(text, start, end) { // Note: this function doesn't ignore leading comments unlike isNextLineEmpty function isPreviousLineEmpty(text, node) { - let idx = locStart$1(node) - 1; + var idx = locStart$1(node) - 1; idx = skipSpaces(text, idx, { backwards: true }); idx = skipNewline(text, idx, { backwards: true }); idx = skipSpaces(text, idx, { backwards: true }); - const idx2 = skipNewline(text, idx, { backwards: true }); + var idx2 = skipNewline(text, idx, { backwards: true }); return idx !== idx2; } function isNextLineEmpty(text, node) { - let oldIdx = null; - let idx = locEnd$1(node); + var oldIdx = null; + var idx = locEnd$1(node); while (idx !== oldIdx) { // We need to skip all the potential trailing inline comments oldIdx = idx; @@ -328,8 +318,8 @@ function isNextLineEmpty(text, node) { } function getNextNonSpaceNonCommentCharacter$1(text, node) { - let oldIdx = null; - let idx = locEnd$1(node); + var oldIdx = null; + var idx = locEnd$1(node); while (idx !== oldIdx) { oldIdx = idx; idx = skipSpaces(text, idx); @@ -342,7 +332,7 @@ function getNextNonSpaceNonCommentCharacter$1(text, node) { function hasSpaces(text, index, opts) { opts = opts || {}; - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); + var idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); return idx !== index; } @@ -375,8 +365,8 @@ function locEnd$1(node) { // Super inefficient, needs to be cached. function lineColumnToIndex(lineColumn, text) { - let index = 0; - for (let i = 0; i < lineColumn.line - 1; ++i) { + var index = 0; + for (var i = 0; i < lineColumn.line - 1; ++i) { index = text.indexOf("\n", index) + 1; if (index === -1) { return -1; @@ -401,21 +391,9 @@ function setLocEnd(node, index) { } } -const PRECEDENCE = {}; -[ - ["||"], - ["&&"], - ["|"], - ["^"], - ["&"], - ["==", "===", "!=", "!=="], - ["<", ">", "<=", ">=", "in", "instanceof"], - [">>", "<<", ">>>"], - ["+", "-"], - ["*", "/", "%"], - ["**"] -].forEach((tier, i) => { - tier.forEach(op => { +var PRECEDENCE = {}; +[["||"], ["&&"], ["|"], ["^"], ["&"], ["==", "===", "!=", "!=="], ["<", ">", "<=", ">=", "in", "instanceof"], [">>", "<<", ">>>"], ["+", "-"], ["*", "/", "%"], ["**"]].forEach(function (tier, i) { + tier.forEach(function (op) { PRECEDENCE[op] = i; }); }); @@ -451,25 +429,13 @@ function startsWithNoLookaheadToken(node, forbidFunctionAndClass) { case "ConditionalExpression": return startsWithNoLookaheadToken(node.test, forbidFunctionAndClass); case "UpdateExpression": - return ( - !node.prefix && - startsWithNoLookaheadToken(node.argument, forbidFunctionAndClass) - ); + return !node.prefix && startsWithNoLookaheadToken(node.argument, forbidFunctionAndClass); case "BindExpression": - return ( - node.object && - startsWithNoLookaheadToken(node.object, forbidFunctionAndClass) - ); + return node.object && startsWithNoLookaheadToken(node.object, forbidFunctionAndClass); case "SequenceExpression": - return startsWithNoLookaheadToken( - node.expressions[0], - forbidFunctionAndClass - ); + return startsWithNoLookaheadToken(node.expressions[0], forbidFunctionAndClass); case "TSAsExpression": - return startsWithNoLookaheadToken( - node.expression, - forbidFunctionAndClass - ); + return startsWithNoLookaheadToken(node.expression, forbidFunctionAndClass); default: return false; } @@ -478,9 +444,8 @@ function startsWithNoLookaheadToken(node, forbidFunctionAndClass) { function getLeftMost(node) { if (node.left) { return getLeftMost(node.left); - } else { - return node; } + return node; } function hasBlockComments(node) { @@ -494,8 +459,8 @@ function isBlockComment(comment) { function getAlignmentSize(value, tabWidth, startIndex) { startIndex = startIndex || 0; - let size = 0; - for (let i = startIndex; i < value.length; ++i) { + var size = 0; + for (var i = startIndex; i < value.length; ++i) { if (value[i] === "\t") { // Tabs behave in a way that they are aligned to the nearest // multiple of tabWidth: @@ -511,45 +476,44 @@ function getAlignmentSize(value, tabWidth, startIndex) { } var util$2 = { - getPrecedence, - isExportDeclaration, - getParentExportDeclaration, - getPenultimate, - getLast, + getPrecedence: getPrecedence, + isExportDeclaration: isExportDeclaration, + getParentExportDeclaration: getParentExportDeclaration, + getPenultimate: getPenultimate, + getLast: getLast, getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$1, - skipWhitespace, - skipSpaces, - skipNewline, - isNextLineEmpty, - isPreviousLineEmpty, - hasNewline, - hasNewlineInRange, - hasSpaces, + skipWhitespace: skipWhitespace, + skipSpaces: skipSpaces, + skipNewline: skipNewline, + isNextLineEmpty: isNextLineEmpty, + isPreviousLineEmpty: isPreviousLineEmpty, + hasNewline: hasNewline, + hasNewlineInRange: hasNewlineInRange, + hasSpaces: hasSpaces, locStart: locStart$1, locEnd: locEnd$1, - setLocStart, - setLocEnd, - startsWithNoLookaheadToken, - hasBlockComments, - isBlockComment, - getAlignmentSize + setLocStart: setLocStart, + setLocEnd: setLocEnd, + startsWithNoLookaheadToken: startsWithNoLookaheadToken, + hasBlockComments: hasBlockComments, + isBlockComment: isBlockComment, + getAlignmentSize: getAlignmentSize }; -const assert = require$$0; -const docBuilders = docBuilders$1; -const concat = docBuilders.concat; -const hardline = docBuilders.hardline; -const breakParent = docBuilders.breakParent; -const indent = docBuilders.indent; -const lineSuffix = docBuilders.lineSuffix; -const join = docBuilders.join; -const cursor = docBuilders.cursor; -const util$1 = util$2; -const childNodesCacheKey = Symbol("child-nodes"); -const locStart = util$1.locStart; -const locEnd = util$1.locEnd; -const getNextNonSpaceNonCommentCharacter = - util$1.getNextNonSpaceNonCommentCharacter; +var assert = require$$0; +var docBuilders = docBuilders$1; +var concat = docBuilders.concat; +var hardline = docBuilders.hardline; +var breakParent = docBuilders.breakParent; +var indent = docBuilders.indent; +var lineSuffix = docBuilders.lineSuffix; +var join = docBuilders.join; +var cursor = docBuilders.cursor; +var util$1 = util$2; +var childNodesCacheKey = Symbol("child-nodes"); +var locStart = util$1.locStart; +var locEnd = util$1.locEnd; +var getNextNonSpaceNonCommentCharacter = util$1.getNextNonSpaceNonCommentCharacter; function getSortedChildNodes(node, text, resultArray) { if (!node) { @@ -557,25 +521,13 @@ function getSortedChildNodes(node, text, resultArray) { } if (resultArray) { - if ( - node && - node.type && - node.type !== "CommentBlock" && - node.type !== "CommentLine" && - node.type !== "Line" && - node.type !== "Block" && - node.type !== "EmptyStatement" && - node.type !== "TemplateElement" - ) { + if (node && node.type && node.type !== "CommentBlock" && node.type !== "CommentLine" && node.type !== "Line" && node.type !== "Block" && node.type !== "EmptyStatement" && node.type !== "TemplateElement") { // This reverse insertion sort almost always takes constant // time because we almost always (maybe always?) append the // nodes in order anyway. - let i; + var i = void 0; for (i = resultArray.length - 1; i >= 0; --i) { - if ( - locStart(resultArray[i]) <= locStart(node) && - locEnd(resultArray[i]) <= locEnd(node) - ) { + if (locStart(resultArray[i]) <= locStart(node) && locEnd(resultArray[i]) <= locEnd(node)) { break; } } @@ -586,30 +538,24 @@ function getSortedChildNodes(node, text, resultArray) { return node[childNodesCacheKey]; } - let names; - if (node && typeof node === "object") { - names = Object.keys(node).filter( - n => - n !== "enclosingNode" && n !== "precedingNode" && n !== "followingNode" - ); + var names = void 0; + if (node && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === "object") { + names = Object.keys(node).filter(function (n) { + return n !== "enclosingNode" && n !== "precedingNode" && n !== "followingNode"; + }); } else { return; } if (!resultArray) { Object.defineProperty(node, childNodesCacheKey, { - value: (resultArray = []), + value: resultArray = [], enumerable: false }); } - for ( - let i = 0, - nameCount = names.length; - i < nameCount; - ++i - ) { - getSortedChildNodes(node[names[i]], text, resultArray); + for (var _i2 = 0, nameCount = names.length; _i2 < nameCount; ++_i2) { + getSortedChildNodes(node[names[_i2]], text, resultArray); } return resultArray; @@ -619,19 +565,17 @@ function getSortedChildNodes(node, text, resultArray) { // .precedingNode, .enclosingNode, and/or .followingNode properties, at // least one of which is guaranteed to be defined. function decorateComment(node, comment, text) { - const childNodes = getSortedChildNodes(node, text); - let precedingNode, followingNode; + var childNodes = getSortedChildNodes(node, text); + var precedingNode = void 0, + followingNode = void 0; // Time to dust off the old binary search robes and wizard hat. - let left = 0, - right = childNodes.length; + var left = 0, + right = childNodes.length; while (left < right) { - const middle = (left + right) >> 1; - const child = childNodes[middle]; + var middle = left + right >> 1; + var child = childNodes[middle]; - if ( - locStart(child) - locStart(comment) <= 0 && - locEnd(comment) - locEnd(child) <= 0 - ) { + if (locStart(child) - locStart(comment) <= 0 && locEnd(comment) - locEnd(child) <= 0) { // The comment is completely contained by this child node. comment.enclosingNode = child; @@ -664,23 +608,14 @@ function decorateComment(node, comment, text) { // We don't want comments inside of different expressions inside of the same // template literal to move to another expression. - if ( - comment.enclosingNode && - comment.enclosingNode.type === "TemplateLiteral" - ) { - const quasis = comment.enclosingNode.quasis; - const commentIndex = findExpressionIndexForComment(quasis, comment); + if (comment.enclosingNode && comment.enclosingNode.type === "TemplateLiteral") { + var quasis = comment.enclosingNode.quasis; + var commentIndex = findExpressionIndexForComment(quasis, comment); - if ( - precedingNode && - findExpressionIndexForComment(quasis, precedingNode) !== commentIndex - ) { + if (precedingNode && findExpressionIndexForComment(quasis, precedingNode) !== commentIndex) { precedingNode = null; } - if ( - followingNode && - findExpressionIndexForComment(quasis, followingNode) !== commentIndex - ) { + if (followingNode && findExpressionIndexForComment(quasis, followingNode) !== commentIndex) { followingNode = null; } } @@ -699,56 +634,21 @@ function attach(comments, ast, text) { return; } - const tiesToBreak = []; + var tiesToBreak = []; - comments.forEach((comment, i) => { + comments.forEach(function (comment, i) { decorateComment(ast, comment, text); - const precedingNode = comment.precedingNode; - const enclosingNode = comment.enclosingNode; - const followingNode = comment.followingNode; + var precedingNode = comment.precedingNode; + var enclosingNode = comment.enclosingNode; + var followingNode = comment.followingNode; - const isLastComment = comments.length - 1 === i; + var isLastComment = comments.length - 1 === i; if (util$1.hasNewline(text, locStart(comment), { backwards: true })) { // If a comment exists on its own line, prefer a leading comment. // We also need to check if it's the first line of the file. - if ( - handleLastFunctionArgComments( - text, - precedingNode, - enclosingNode, - followingNode, - comment - ) || - handleMemberExpressionComments(enclosingNode, followingNode, comment) || - handleIfStatementComments( - text, - precedingNode, - enclosingNode, - followingNode, - comment - ) || - handleTryStatementComments(enclosingNode, followingNode, comment) || - handleClassComments(enclosingNode, comment) || - handleImportSpecifierComments(enclosingNode, comment) || - handleObjectPropertyComments(enclosingNode, comment) || - handleForComments(enclosingNode, precedingNode, comment) || - handleUnionTypeComments( - precedingNode, - enclosingNode, - followingNode, - comment - ) || - handleOnlyComments(enclosingNode, ast, comment, isLastComment) || - handleImportDeclarationComments( - text, - enclosingNode, - precedingNode, - comment - ) || - handleAssignmentPatternComments(enclosingNode, comment) - ) { + if (handleLastFunctionArgComments(text, precedingNode, enclosingNode, followingNode, comment) || handleMemberExpressionComments(enclosingNode, followingNode, comment) || handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment) || handleTryStatementComments(enclosingNode, followingNode, comment) || handleClassComments(enclosingNode, comment) || handleImportSpecifierComments(enclosingNode, comment) || handleObjectPropertyComments(enclosingNode, comment) || handleForComments(enclosingNode, precedingNode, comment) || handleUnionTypeComments(precedingNode, enclosingNode, followingNode, comment) || handleOnlyComments(enclosingNode, ast, comment, isLastComment) || handleImportDeclarationComments(text, enclosingNode, precedingNode, comment) || handleAssignmentPatternComments(enclosingNode, comment)) { // We're good } else if (followingNode) { // Always a leading comment. @@ -762,39 +662,7 @@ function attach(comments, ast, text) { addDanglingComment(ast, comment); } } else if (util$1.hasNewline(text, locEnd(comment))) { - if ( - handleLastFunctionArgComments( - text, - precedingNode, - enclosingNode, - followingNode, - comment - ) || - handleConditionalExpressionComments( - enclosingNode, - precedingNode, - followingNode, - comment, - text - ) || - handleImportSpecifierComments(enclosingNode, comment) || - handleIfStatementComments( - text, - precedingNode, - enclosingNode, - followingNode, - comment - ) || - handleClassComments(enclosingNode, comment) || - handleLabeledStatementComments(enclosingNode, comment) || - handleCallExpressionComments(precedingNode, enclosingNode, comment) || - handlePropertyComments(enclosingNode, comment) || - handleExportNamedDeclarationComments(enclosingNode, comment) || - handleOnlyComments(enclosingNode, ast, comment, isLastComment) || - handleClassMethodComments(enclosingNode, comment) || - handleTypeAliasComments(enclosingNode, followingNode, comment) || - handleVariableDeclaratorComments(enclosingNode, followingNode, comment) - ) { + if (handleLastFunctionArgComments(text, precedingNode, enclosingNode, followingNode, comment) || handleConditionalExpressionComments(enclosingNode, precedingNode, followingNode, comment, text) || handleImportSpecifierComments(enclosingNode, comment) || handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment) || handleClassComments(enclosingNode, comment) || handleLabeledStatementComments(enclosingNode, comment) || handleCallExpressionComments(precedingNode, enclosingNode, comment) || handlePropertyComments(enclosingNode, comment) || handleExportNamedDeclarationComments(enclosingNode, comment) || handleOnlyComments(enclosingNode, ast, comment, isLastComment) || handleClassMethodComments(enclosingNode, comment) || handleTypeAliasComments(enclosingNode, followingNode, comment) || handleVariableDeclaratorComments(enclosingNode, followingNode, comment)) { // We're good } else if (precedingNode) { // There is content before this comment on the same line, but @@ -809,18 +677,7 @@ function attach(comments, ast, text) { addDanglingComment(ast, comment); } } else { - if ( - handleIfStatementComments( - text, - precedingNode, - enclosingNode, - followingNode, - comment - ) || - handleObjectPropertyAssignment(enclosingNode, precedingNode, comment) || - handleCommentInEmptyParens(text, enclosingNode, comment) || - handleOnlyComments(enclosingNode, ast, comment, isLastComment) - ) { + if (handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment) || handleObjectPropertyAssignment(enclosingNode, precedingNode, comment) || handleCommentInEmptyParens(text, enclosingNode, comment) || handleOnlyComments(enclosingNode, ast, comment, isLastComment)) { // We're good } else if (precedingNode && followingNode) { // Otherwise, text exists both before and after the comment on @@ -828,9 +685,9 @@ function attach(comments, ast, text) { // node, use a tie-breaking algorithm to determine if it should // be attached to the next or previous node. In the last case, // simply attach the right node; - const tieCount = tiesToBreak.length; + var tieCount = tiesToBreak.length; if (tieCount > 0) { - const lastTie = tiesToBreak[tieCount - 1]; + var lastTie = tiesToBreak[tieCount - 1]; if (lastTie.followingNode !== comment.followingNode) { breakTies(tiesToBreak, text); } @@ -851,7 +708,7 @@ function attach(comments, ast, text) { breakTies(tiesToBreak, text); - comments.forEach(comment => { + comments.forEach(function (comment) { // These node references were useful for breaking ties, but we // don't need them anymore, and they create cycles in the AST that // may lead to infinite recursion if we don't delete them here. @@ -862,30 +719,26 @@ function attach(comments, ast, text) { } function breakTies(tiesToBreak, text) { - const tieCount = tiesToBreak.length; + var tieCount = tiesToBreak.length; if (tieCount === 0) { return; } - const precedingNode = tiesToBreak[0].precedingNode; - const followingNode = tiesToBreak[0].followingNode; - let gapEndPos = locStart(followingNode); + var precedingNode = tiesToBreak[0].precedingNode; + var followingNode = tiesToBreak[0].followingNode; + var gapEndPos = locStart(followingNode); // Iterate backwards through tiesToBreak, examining the gaps // between the tied comments. In order to qualify as leading, a // comment must be separated from followingNode by an unbroken series of // whitespace-only gaps (or other comments). - let indexOfFirstLeadingComment; - for ( - indexOfFirstLeadingComment = tieCount; - indexOfFirstLeadingComment > 0; - --indexOfFirstLeadingComment - ) { - const comment = tiesToBreak[indexOfFirstLeadingComment - 1]; + var indexOfFirstLeadingComment = void 0; + for (indexOfFirstLeadingComment = tieCount; indexOfFirstLeadingComment > 0; --indexOfFirstLeadingComment) { + var comment = tiesToBreak[indexOfFirstLeadingComment - 1]; assert.strictEqual(comment.precedingNode, precedingNode); assert.strictEqual(comment.followingNode, followingNode); - const gap = text.slice(locEnd(comment), gapEndPos); + var gap = text.slice(locEnd(comment), gapEndPos); if (/\S/.test(gap)) { // The gap string contained something other than whitespace. break; @@ -894,7 +747,7 @@ function breakTies(tiesToBreak, text) { gapEndPos = locStart(comment); } - tiesToBreak.forEach((comment, i) => { + tiesToBreak.forEach(function (comment, i) { if (i < indexOfFirstLeadingComment) { addTrailingComment(precedingNode, comment); } else { @@ -906,7 +759,7 @@ function breakTies(tiesToBreak, text) { } function addCommentHelper(node, comment) { - const comments = node.comments || (node.comments = []); + var comments = node.comments || (node.comments = []); comments.push(comment); comment.printed = false; } @@ -930,7 +783,9 @@ function addTrailingComment(node, comment) { } function addBlockStatementFirstComment(node, comment) { - const body = node.body.filter(n => n.type !== "EmptyStatement"); + var body = node.body.filter(function (n) { + return n.type !== "EmptyStatement"; + }); if (body.length === 0) { addDanglingComment(node, comment); } else { @@ -962,18 +817,8 @@ function addBlockOrNotComment(node, comment) { // // comment // ... // } -function handleIfStatementComments( - text, - precedingNode, - enclosingNode, - followingNode, - comment -) { - if ( - !enclosingNode || - enclosingNode.type !== "IfStatement" || - !followingNode - ) { +function handleIfStatementComments(text, precedingNode, enclosingNode, followingNode, comment) { + if (!enclosingNode || enclosingNode.type !== "IfStatement" || !followingNode) { return false; } @@ -1003,11 +848,7 @@ function handleIfStatementComments( // Same as IfStatement but for TryStatement function handleTryStatementComments(enclosingNode, followingNode, comment) { - if ( - !enclosingNode || - enclosingNode.type !== "TryStatement" || - !followingNode - ) { + if (!enclosingNode || enclosingNode.type !== "TryStatement" || !followingNode) { return false; } @@ -1030,12 +871,7 @@ function handleTryStatementComments(enclosingNode, followingNode, comment) { } function handleMemberExpressionComments(enclosingNode, followingNode, comment) { - if ( - enclosingNode && - enclosingNode.type === "MemberExpression" && - followingNode && - followingNode.type === "Identifier" - ) { + if (enclosingNode && enclosingNode.type === "MemberExpression" && followingNode && followingNode.type === "Identifier") { addLeadingComment(enclosingNode, comment); return true; } @@ -1043,23 +879,10 @@ function handleMemberExpressionComments(enclosingNode, followingNode, comment) { return false; } -function handleConditionalExpressionComments( - enclosingNode, - precedingNode, - followingNode, - comment, - text -) { - const isSameLineAsPrecedingNode = - precedingNode && - !util$1.hasNewlineInRange(text, locEnd(precedingNode), locStart(comment)); +function handleConditionalExpressionComments(enclosingNode, precedingNode, followingNode, comment, text) { + var isSameLineAsPrecedingNode = precedingNode && !util$1.hasNewlineInRange(text, locEnd(precedingNode), locStart(comment)); - if ( - (!precedingNode || !isSameLineAsPrecedingNode) && - enclosingNode && - enclosingNode.type === "ConditionalExpression" && - followingNode - ) { + if ((!precedingNode || !isSameLineAsPrecedingNode) && enclosingNode && enclosingNode.type === "ConditionalExpression" && followingNode) { addLeadingComment(followingNode, comment); return true; } @@ -1067,14 +890,7 @@ function handleConditionalExpressionComments( } function handleObjectPropertyAssignment(enclosingNode, precedingNode, comment) { - if ( - enclosingNode && - (enclosingNode.type === "ObjectProperty" || - enclosingNode.type === "Property") && - enclosingNode.shorthand && - enclosingNode.key === precedingNode && - enclosingNode.value.type === "AssignmentPattern" - ) { + if (enclosingNode && (enclosingNode.type === "ObjectProperty" || enclosingNode.type === "Property") && enclosingNode.shorthand && enclosingNode.key === precedingNode && enclosingNode.value.type === "AssignmentPattern") { addTrailingComment(enclosingNode.value.left, comment); return true; } @@ -1088,64 +904,26 @@ function handleCommentInEmptyParens(text, enclosingNode, comment) { // Only add dangling comments to fix the case when no params are present, // i.e. a function without any argument. - if ( - enclosingNode && - (((enclosingNode.type === "FunctionDeclaration" || - enclosingNode.type === "FunctionExpression" || - enclosingNode.type === "ArrowFunctionExpression" || - enclosingNode.type === "ClassMethod" || - enclosingNode.type === "ObjectMethod") && - enclosingNode.params.length === 0) || - (enclosingNode.type === "CallExpression" && - enclosingNode.arguments.length === 0)) - ) { + if (enclosingNode && ((enclosingNode.type === "FunctionDeclaration" || enclosingNode.type === "FunctionExpression" || enclosingNode.type === "ArrowFunctionExpression" || enclosingNode.type === "ClassMethod" || enclosingNode.type === "ObjectMethod") && enclosingNode.params.length === 0 || enclosingNode.type === "CallExpression" && enclosingNode.arguments.length === 0)) { addDanglingComment(enclosingNode, comment); return true; } - if ( - enclosingNode && - (enclosingNode.type === "MethodDefinition" && - enclosingNode.value.params.length === 0) - ) { + if (enclosingNode && enclosingNode.type === "MethodDefinition" && enclosingNode.value.params.length === 0) { addDanglingComment(enclosingNode.value, comment); return true; } return false; } -function handleLastFunctionArgComments( - text, - precedingNode, - enclosingNode, - followingNode, - comment -) { +function handleLastFunctionArgComments(text, precedingNode, enclosingNode, followingNode, comment) { // Type definitions functions - if ( - precedingNode && - precedingNode.type === "FunctionTypeParam" && - enclosingNode && - enclosingNode.type === "FunctionTypeAnnotation" && - followingNode && - followingNode.type !== "FunctionTypeParam" - ) { + if (precedingNode && precedingNode.type === "FunctionTypeParam" && enclosingNode && enclosingNode.type === "FunctionTypeAnnotation" && followingNode && followingNode.type !== "FunctionTypeParam") { addTrailingComment(precedingNode, comment); return true; } // Real functions - if ( - precedingNode && - (precedingNode.type === "Identifier" || - precedingNode.type === "AssignmentPattern") && - enclosingNode && - (enclosingNode.type === "ArrowFunctionExpression" || - enclosingNode.type === "FunctionExpression" || - enclosingNode.type === "FunctionDeclaration" || - enclosingNode.type === "ObjectMethod" || - enclosingNode.type === "ClassMethod") && - getNextNonSpaceNonCommentCharacter(text, comment) === ")" - ) { + if (precedingNode && (precedingNode.type === "Identifier" || precedingNode.type === "AssignmentPattern") && enclosingNode && (enclosingNode.type === "ArrowFunctionExpression" || enclosingNode.type === "FunctionExpression" || enclosingNode.type === "FunctionDeclaration" || enclosingNode.type === "ObjectMethod" || enclosingNode.type === "ClassMethod") && getNextNonSpaceNonCommentCharacter(text, comment) === ")") { addTrailingComment(precedingNode, comment); return true; } @@ -1153,11 +931,7 @@ function handleLastFunctionArgComments( } function handleClassComments(enclosingNode, comment) { - if ( - enclosingNode && - (enclosingNode.type === "ClassDeclaration" || - enclosingNode.type === "ClassExpression") - ) { + if (enclosingNode && (enclosingNode.type === "ClassDeclaration" || enclosingNode.type === "ClassExpression")) { addLeadingComment(enclosingNode, comment); return true; } @@ -1189,30 +963,15 @@ function handleLabeledStatementComments(enclosingNode, comment) { } function handleCallExpressionComments(precedingNode, enclosingNode, comment) { - if ( - enclosingNode && - enclosingNode.type === "CallExpression" && - precedingNode && - enclosingNode.callee === precedingNode && - enclosingNode.arguments.length > 0 - ) { + if (enclosingNode && enclosingNode.type === "CallExpression" && precedingNode && enclosingNode.callee === precedingNode && enclosingNode.arguments.length > 0) { addLeadingComment(enclosingNode.arguments[0], comment); return true; } return false; } -function handleUnionTypeComments( - precedingNode, - enclosingNode, - followingNode, - comment -) { - if ( - enclosingNode && - (enclosingNode.type === "UnionTypeAnnotation" || - enclosingNode.type === "TSUnionType") - ) { +function handleUnionTypeComments(precedingNode, enclosingNode, followingNode, comment) { + if (enclosingNode && (enclosingNode.type === "UnionTypeAnnotation" || enclosingNode.type === "TSUnionType")) { addTrailingComment(precedingNode, comment); return true; } @@ -1220,11 +979,7 @@ function handleUnionTypeComments( } function handlePropertyComments(enclosingNode, comment) { - if ( - enclosingNode && - (enclosingNode.type === "Property" || - enclosingNode.type === "ObjectProperty") - ) { + if (enclosingNode && (enclosingNode.type === "Property" || enclosingNode.type === "ObjectProperty")) { addLeadingComment(enclosingNode, comment); return true; } @@ -1248,13 +1003,7 @@ function handleOnlyComments(enclosingNode, ast, comment, isLastComment) { addLeadingComment(ast, comment); } return true; - } else if ( - enclosingNode && - enclosingNode.type === "Program" && - enclosingNode.body.length === 0 && - enclosingNode.directives && - enclosingNode.directives.length === 0 - ) { + } else if (enclosingNode && enclosingNode.type === "Program" && enclosingNode.body.length === 0 && enclosingNode.directives && enclosingNode.directives.length === 0) { if (isLastComment) { addDanglingComment(enclosingNode, comment); } else { @@ -1266,29 +1015,15 @@ function handleOnlyComments(enclosingNode, ast, comment, isLastComment) { } function handleForComments(enclosingNode, precedingNode, comment) { - if ( - enclosingNode && - (enclosingNode.type === "ForInStatement" || - enclosingNode.type === "ForOfStatement") - ) { + if (enclosingNode && (enclosingNode.type === "ForInStatement" || enclosingNode.type === "ForOfStatement")) { addLeadingComment(enclosingNode, comment); return true; } return false; } -function handleImportDeclarationComments( - text, - enclosingNode, - precedingNode, - comment -) { - if ( - precedingNode && - enclosingNode && - enclosingNode.type === "ImportDeclaration" && - util$1.hasNewline(text, util$1.locEnd(comment)) - ) { +function handleImportDeclarationComments(text, enclosingNode, precedingNode, comment) { + if (precedingNode && enclosingNode && enclosingNode.type === "ImportDeclaration" && util$1.hasNewline(text, util$1.locEnd(comment))) { addTrailingComment(precedingNode, comment); return true; } @@ -1319,18 +1054,8 @@ function handleTypeAliasComments(enclosingNode, followingNode, comment) { return false; } -function handleVariableDeclaratorComments( - enclosingNode, - followingNode, - comment -) { - if ( - enclosingNode && - enclosingNode.type === "VariableDeclarator" && - followingNode && - (followingNode.type === "ObjectExpression" || - followingNode.type === "ArrayExpression") - ) { +function handleVariableDeclaratorComments(enclosingNode, followingNode, comment) { + if (enclosingNode && enclosingNode.type === "VariableDeclarator" && followingNode && (followingNode.type === "ObjectExpression" || followingNode.type === "ArrayExpression")) { addLeadingComment(followingNode, comment); return true; } @@ -1338,7 +1063,7 @@ function handleVariableDeclaratorComments( } function printComment(commentPath, options) { - const comment = commentPath.getValue(); + var comment = commentPath.getValue(); comment.printed = true; switch (comment.type) { @@ -1358,9 +1083,9 @@ function printComment(commentPath, options) { } function findExpressionIndexForComment(quasis, comment) { - const startPos = locStart(comment) - 1; + var startPos = locStart(comment) - 1; - for (let i = 1; i < quasis.length; ++i) { + for (var i = 1; i < quasis.length; ++i) { if (startPos < getQuasiRange(quasis[i]).start) { return i - 1; } @@ -1381,38 +1106,33 @@ function getQuasiRange(expr) { } function printLeadingComment(commentPath, print, options) { - const comment = commentPath.getValue(); - const contents = printComment(commentPath, options); + var comment = commentPath.getValue(); + var contents = printComment(commentPath, options); if (!contents) { return ""; } - const isBlock = util$1.isBlockComment(comment); + var isBlock = util$1.isBlockComment(comment); // Leading block comments should see if they need to stay on the // same line or not. if (isBlock) { - return concat([ - contents, - util$1.hasNewline(options.originalText, locEnd(comment)) ? hardline : " " - ]); + return concat([contents, util$1.hasNewline(options.originalText, locEnd(comment)) ? hardline : " "]); } return concat([contents, hardline]); } function printTrailingComment(commentPath, print, options) { - const comment = commentPath.getValue(); - const contents = printComment(commentPath, options); + var comment = commentPath.getValue(); + var contents = printComment(commentPath, options); if (!contents) { return ""; } - const isBlock = util$1.isBlockComment(comment); + var isBlock = util$1.isBlockComment(comment); - if ( - util$1.hasNewline(options.originalText, locStart(comment), { - backwards: true - }) - ) { + if (util$1.hasNewline(options.originalText, locStart(comment), { + backwards: true + })) { // This allows comments at the end of nested structures: // { // x: 1, @@ -1425,14 +1145,9 @@ function printTrailingComment(commentPath, print, options) { // if this a comment on its own line; normal trailing comments are // always at the end of another expression. - const isLineBeforeEmpty = util$1.isPreviousLineEmpty( - options.originalText, - comment - ); + var isLineBeforeEmpty = util$1.isPreviousLineEmpty(options.originalText, comment); - return lineSuffix( - concat([hardline, isLineBeforeEmpty ? hardline : "", contents]) - ); + return lineSuffix(concat([hardline, isLineBeforeEmpty ? hardline : "", contents])); } else if (isBlock) { // Trailing block comments never need a newline return concat([" ", contents]); @@ -1442,15 +1157,15 @@ function printTrailingComment(commentPath, print, options) { } function printDanglingComments(path, options, sameIndent) { - const parts = []; - const node = path.getValue(); + var parts = []; + var node = path.getValue(); if (!node || !node.comments) { return ""; } - path.each(commentPath => { - const comment = commentPath.getValue(); + path.each(function (commentPath) { + var comment = commentPath.getValue(); if (comment && !comment.leading && !comment.trailing) { parts.push(printComment(commentPath, options)); } @@ -1474,30 +1189,30 @@ function prependCursorPlaceholder(path, options, printed) { } function printComments(path, print, options, needsSemi) { - const value = path.getValue(); - const printed = print(path); - const comments = value && value.comments; + var value = path.getValue(); + var printed = print(path); + var comments = value && value.comments; if (!comments || comments.length === 0) { return prependCursorPlaceholder(path, options, printed); } - const leadingParts = []; - const trailingParts = [needsSemi ? ";" : "", printed]; + var leadingParts = []; + var trailingParts = [needsSemi ? ";" : "", printed]; - path.each(commentPath => { - const comment = commentPath.getValue(); - const leading = comment.leading; - const trailing = comment.trailing; + path.each(function (commentPath) { + var comment = commentPath.getValue(); + var leading = comment.leading; + var trailing = comment.trailing; if (leading) { - const contents = printLeadingComment(commentPath, print, options); + var contents = printLeadingComment(commentPath, print, options); if (!contents) { return; } leadingParts.push(contents); - const text = options.originalText; + var text = options.originalText; if (util$1.hasNewline(text, util$1.skipNewline(text, util$1.locEnd(comment)))) { leadingParts.push(hardline); } @@ -1506,66 +1221,62 @@ function printComments(path, print, options, needsSemi) { } }, "comments"); - return prependCursorPlaceholder( - path, - options, - concat(leadingParts.concat(trailingParts)) - ); + return prependCursorPlaceholder(path, options, concat(leadingParts.concat(trailingParts))); } var comments$1 = { - attach, - printComments, - printDanglingComments, - getSortedChildNodes + attach: attach, + printComments: printComments, + printDanglingComments: printDanglingComments, + getSortedChildNodes: getSortedChildNodes }; var name = "prettier"; var version$1 = "1.4.2"; var description = "Prettier is an opinionated JavaScript formatter"; -var bin = {"prettier":"./bin/prettier.js"}; +var bin = { "prettier": "./bin/prettier.js" }; var repository = "prettier/prettier"; var author = "James Long"; var license = "MIT"; var main = "./index.js"; var dependencies = {}; -var devDependencies = {"babel-code-frame":"7.0.0-alpha.12","babylon":"7.0.0-beta.10","chalk":"1.1.3","cross-spawn":"5.1.0","diff":"3.2.0","eslint":"3.19.0","eslint-plugin-prettier":"2.1.1","esutils":"2.0.2","flow-parser":"0.47.0","get-stdin":"5.0.1","glob":"7.1.2","jest":"20.0.0","jest-validate":"20.0.3","minimist":"1.2.0","mkdirp":"^0.5.1","postcss":"^6.0.1","postcss-less":"^1.0.0","postcss-media-query-parser":"0.2.3","postcss-scss":"1.0.0","postcss-selector-parser":"2.2.3","postcss-values-parser":"git://github.com/shellscape/postcss-values-parser.git#5e351360479116f3fe309602cdd15b0a233bc29f","prettier":"1.4.0","rimraf":"2.6.1","rollup":"0.41.1","rollup-plugin-commonjs":"7.0.0","rollup-plugin-json":"2.1.0","rollup-plugin-node-builtins":"2.0.0","rollup-plugin-node-globals":"1.1.0","rollup-plugin-node-resolve":"2.0.0","rollup-plugin-replace":"1.1.1","typescript":"2.3.2","typescript-eslint-parser":"git://github.com/vjeux/typescript-eslint-parser.git#488ba4f273f52ee6ef8d951d7ae84d28231e2fe9","uglify-es":"3.0.15","webpack":"2.6.1"}; -var scripts = {"test":"jest","test-integration":"jest tests_integration","lint":"eslint .","build":"./scripts/build/build.sh","build:docs":"rollup -c docs/rollup.config.js"}; -var jest = {"setupFiles":["/tests_config/run_spec.js"],"snapshotSerializers":["/tests_config/raw-serializer.js"],"testRegex":"jsfmt\\.spec\\.js$|__tests__/.*\\.js$","testPathIgnorePatterns":["tests/new_react","tests/more_react"]}; +var devDependencies = { "babel-cli": "6.24.1", "babel-code-frame": "7.0.0-alpha.12", "babel-preset-es2015": "6.24.1", "babylon": "7.0.0-beta.10", "chalk": "1.1.3", "cross-spawn": "5.1.0", "diff": "3.2.0", "eslint": "3.19.0", "eslint-plugin-prettier": "2.1.1", "esutils": "2.0.2", "flow-parser": "0.47.0", "get-stdin": "5.0.1", "glob": "7.1.2", "graphql": "0.10.1", "jest": "20.0.0", "jest-validate": "20.0.3", "minimist": "1.2.0", "mkdirp": "^0.5.1", "postcss": "^6.0.1", "postcss-less": "^1.0.0", "postcss-media-query-parser": "0.2.3", "postcss-scss": "1.0.0", "postcss-selector-parser": "2.2.3", "postcss-values-parser": "git://github.com/shellscape/postcss-values-parser.git#5e351360479116f3fe309602cdd15b0a233bc29f", "prettier": "1.4.0", "rimraf": "2.6.1", "rollup": "0.41.1", "rollup-plugin-commonjs": "7.0.0", "rollup-plugin-json": "2.1.0", "rollup-plugin-node-builtins": "2.0.0", "rollup-plugin-node-globals": "1.1.0", "rollup-plugin-node-resolve": "2.0.0", "rollup-plugin-replace": "1.1.1", "typescript": "2.3.4", "typescript-eslint-parser": "git://github.com/eslint/typescript-eslint-parser.git#806251524424e3ad91e750da0f76b8de25ed0b42", "uglify-es": "3.0.15", "webpack": "2.6.1" }; +var scripts = { "test": "jest", "test-integration": "jest tests_integration", "lint": "eslint .", "build": "./scripts/build/build.sh" }; +var jest = { "setupFiles": ["/tests_config/run_spec.js"], "snapshotSerializers": ["/tests_config/raw-serializer.js"], "testRegex": "jsfmt\\.spec\\.js$|__tests__/.*\\.js$", "testPathIgnorePatterns": ["tests/new_react", "tests/more_react"] }; var _package = { - name: name, - version: version$1, - description: description, - bin: bin, - repository: repository, - author: author, - license: license, - main: main, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts, - jest: jest + name: name, + version: version$1, + description: description, + bin: bin, + repository: repository, + author: author, + license: license, + main: main, + dependencies: dependencies, + devDependencies: devDependencies, + scripts: scripts, + jest: jest }; var _package$1 = Object.freeze({ - name: name, - version: version$1, - description: description, - bin: bin, - repository: repository, - author: author, - license: license, - main: main, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts, - jest: jest, - default: _package + name: name, + version: version$1, + description: description, + bin: bin, + repository: repository, + author: author, + license: license, + main: main, + dependencies: dependencies, + devDependencies: devDependencies, + scripts: scripts, + jest: jest, + default: _package }); -const assert$2 = require$$0; -const util$5 = util$2; -const startsWithNoLookaheadToken$1 = util$5.startsWithNoLookaheadToken; +var assert$2 = require$$0; +var util$5 = util$2; +var startsWithNoLookaheadToken$1 = util$5.startsWithNoLookaheadToken; function FastPath$1(value) { assert$2.ok(this instanceof FastPath$1); @@ -1575,8 +1286,8 @@ function FastPath$1(value) { // The name of the current property is always the penultimate element of // this.stack, and always a String. FastPath$1.prototype.getName = function getName() { - const s = this.stack; - const len = s.length; + var s = this.stack; + var len = s.length; if (len > 1) { return s[len - 2]; } @@ -1588,15 +1299,15 @@ FastPath$1.prototype.getName = function getName() { // The value of the current property is always the final element of // this.stack. FastPath$1.prototype.getValue = function getValue() { - const s = this.stack; + var s = this.stack; return s[s.length - 1]; }; function getNodeHelper(path, count) { - const s = path.stack; + var s = path.stack; - for (let i = s.length - 1; i >= 0; i -= 2) { - const value = s[i]; + for (var i = s.length - 1; i >= 0; i -= 2) { + var value = s[i]; if (value && !Array.isArray(value) && --count < 0) { return value; @@ -1620,16 +1331,16 @@ FastPath$1.prototype.getParentNode = function getParentNode(count) { // be restored to its original state after the callback is finished, so it // is probably a mistake to retain a reference to the path. FastPath$1.prototype.call = function call(callback /*, name1, name2, ... */) { - const s = this.stack; - const origLen = s.length; - let value = s[origLen - 1]; - const argc = arguments.length; - for (let i = 1; i < argc; ++i) { - const name = arguments[i]; - value = value[name]; - s.push(name, value); + var s = this.stack; + var origLen = s.length; + var value = s[origLen - 1]; + var argc = arguments.length; + for (var i = 1; i < argc; ++i) { + var _name = arguments[i]; + value = value[_name]; + s.push(_name, value); } - const result = callback(this); + var result = callback(this); s.length = origLen; return result; }; @@ -1639,20 +1350,20 @@ FastPath$1.prototype.call = function call(callback /*, name1, name2, ... */) { // callback will be called with a reference to this path object for each // element of the array. FastPath$1.prototype.each = function each(callback /*, name1, name2, ... */) { - const s = this.stack; - const origLen = s.length; - let value = s[origLen - 1]; - const argc = arguments.length; + var s = this.stack; + var origLen = s.length; + var value = s[origLen - 1]; + var argc = arguments.length; - for (let i = 1; i < argc; ++i) { - const name = arguments[i]; - value = value[name]; - s.push(name, value); + for (var i = 1; i < argc; ++i) { + var _name2 = arguments[i]; + value = value[_name2]; + s.push(_name2, value); } - for (let i = 0; i < value.length; ++i) { - if (i in value) { - s.push(i, value[i]); + for (var _i3 = 0; _i3 < value.length; ++_i3) { + if (_i3 in value) { + s.push(_i3, value[_i3]); // If the callback needs to know the value of i, call // path.getName(), assuming path is the parameter name. callback(this); @@ -1667,23 +1378,23 @@ FastPath$1.prototype.each = function each(callback /*, name1, name2, ... */) { // callback function invocations are stored in an array and returned at // the end of the iteration. FastPath$1.prototype.map = function map(callback /*, name1, name2, ... */) { - const s = this.stack; - const origLen = s.length; - let value = s[origLen - 1]; - const argc = arguments.length; + var s = this.stack; + var origLen = s.length; + var value = s[origLen - 1]; + var argc = arguments.length; - for (let i = 1; i < argc; ++i) { - const name = arguments[i]; - value = value[name]; - s.push(name, value); + for (var i = 1; i < argc; ++i) { + var _name3 = arguments[i]; + value = value[_name3]; + s.push(_name3, value); } - const result = new Array(value.length); + var result = new Array(value.length); - for (let i = 0; i < value.length; ++i) { - if (i in value) { - s.push(i, value[i]); - result[i] = callback(this, i); + for (var _i4 = 0; _i4 < value.length; ++_i4) { + if (_i4 in value) { + s.push(_i4, value[_i4]); + result[_i4] = callback(this, _i4); s.length -= 2; } } @@ -1693,14 +1404,16 @@ FastPath$1.prototype.map = function map(callback /*, name1, name2, ... */) { return result; }; -FastPath$1.prototype.needsParens = function() { - const parent = this.getParentNode(); +FastPath$1.prototype.needsParens = function () { + var _this = this; + + var parent = this.getParentNode(); if (!parent) { return false; } - const name = this.getName(); - const node = this.getNode(); + var name = this.getName(); + var node = this.getNode(); // If the value of this path is some child of a Node and not a Node // itself, then it doesn't need parentheses. Only Node objects (in @@ -1725,34 +1438,11 @@ FastPath$1.prototype.needsParens = function() { // Add parens around the extends clause of a class. It is needed for almost // all expressions. - if ( - (parent.type === "ClassDeclaration" || parent.type === "ClassExpression") && - parent.superClass === node && - (node.type === "ArrowFunctionExpression" || - node.type === "AssignmentExpression" || - node.type === "AwaitExpression" || - node.type === "BinaryExpression" || - node.type === "ConditionalExpression" || - node.type === "LogicalExpression" || - node.type === "NewExpression" || - node.type === "ObjectExpression" || - node.type === "ParenthesizedExpression" || - node.type === "SequenceExpression" || - node.type === "TaggedTemplateExpression" || - node.type === "UnaryExpression" || - node.type === "UpdateExpression" || - node.type === "YieldExpression") - ) { + if ((parent.type === "ClassDeclaration" || parent.type === "ClassExpression") && parent.superClass === node && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "ParenthesizedExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression")) { return true; } - if ( - (parent.type === "ArrowFunctionExpression" && - parent.body === node && - startsWithNoLookaheadToken$1(node, /* forbidFunctionAndClass */ false)) || - (parent.type === "ExpressionStatement" && - startsWithNoLookaheadToken$1(node, /* forbidFunctionAndClass */ true)) - ) { + if (parent.type === "ArrowFunctionExpression" && parent.body === node && startsWithNoLookaheadToken$1(node, /* forbidFunctionAndClass */false) || parent.type === "ExpressionStatement" && startsWithNoLookaheadToken$1(node, /* forbidFunctionAndClass */true)) { return true; } @@ -1765,28 +1455,17 @@ FastPath$1.prototype.needsParens = function() { case "SpreadElement": case "SpreadProperty": - return ( - parent.type === "MemberExpression" && - name === "object" && - parent.object === node - ); + return parent.type === "MemberExpression" && name === "object" && parent.object === node; case "UpdateExpression": if (parent.type === "UnaryExpression") { - return ( - node.prefix && - ((node.operator === "++" && parent.operator === "+") || - (node.operator === "--" && parent.operator === "-")) - ); + return node.prefix && (node.operator === "++" && parent.operator === "+" || node.operator === "--" && parent.operator === "-"); } // else fallthrough case "UnaryExpression": switch (parent.type) { case "UnaryExpression": - return ( - node.operator === parent.operator && - (node.operator === "+" || node.operator === "-") - ); + return node.operator === parent.operator && (node.operator === "+" || node.operator === "-"); case "MemberExpression": return name === "object" && parent.object === node; @@ -1805,29 +1484,30 @@ FastPath$1.prototype.needsParens = function() { return false; } - case "BinaryExpression": { - if (parent.type === "UpdateExpression") { - return true; - } - - const isLeftOfAForStatement = node => { - let i = 0; - while (node) { - const parent = this.getParentNode(i++); - if (!parent) { - return false; - } - if (parent.type === "ForStatement" && parent.init === node) { - return true; - } - node = parent; + case "BinaryExpression": + { + if (parent.type === "UpdateExpression") { + return true; + } + + var isLeftOfAForStatement = function isLeftOfAForStatement(node) { + var i = 0; + while (node) { + var _parent = _this.getParentNode(i++); + if (!_parent) { + return false; + } + if (_parent.type === "ForStatement" && _parent.init === node) { + return true; + } + node = _parent; + } + return false; + }; + if (node.operator === "in" && isLeftOfAForStatement(node)) { + return true; } - return false; - }; - if (node.operator === "in" && isLeftOfAForStatement(node)) { - return true; } - } // fallthrough case "TSTypeAssertionExpression": case "TSAsExpression": @@ -1853,42 +1533,43 @@ FastPath$1.prototype.needsParens = function() { return name === "object" && parent.object === node; case "BinaryExpression": - case "LogicalExpression": { - if (!node.operator) { - return true; + case "LogicalExpression": + { + if (!node.operator) { + return true; + } + + var po = parent.operator; + var pp = util$5.getPrecedence(po); + var no = node.operator; + var np = util$5.getPrecedence(no); + + if (po === "||" && no === "&&") { + return true; + } + + if (pp > np) { + return true; + } + + if (no === "**" && po === "**") { + return name === "left"; + } + + if (pp === np && name === "right") { + assert$2.strictEqual(parent.right, node); + return true; + } + + // Add parenthesis when working with binary operators + // It's not stricly needed but helps with code understanding + if (["|", "^", "&", ">>", "<<", ">>>"].indexOf(po) !== -1) { + return true; + } + + return false; } - const po = parent.operator; - const pp = util$5.getPrecedence(po); - const no = node.operator; - const np = util$5.getPrecedence(no); - - if (po === "||" && no === "&&") { - return true; - } - - if (pp > np) { - return true; - } - - if (no === "**" && po === "**") { - return name === "left"; - } - - if (pp === np && name === "right") { - assert$2.strictEqual(parent.right, node); - return true; - } - - // Add parenthesis when working with binary operators - // It's not stricly needed but helps with code understanding - if (["|", "^", "&", ">>", "<<", ">>>"].indexOf(po) !== -1) { - return true; - } - - return false; - } - default: return false; } @@ -1915,11 +1596,7 @@ FastPath$1.prototype.needsParens = function() { } case "YieldExpression": - if ( - parent.type === "UnaryExpression" || - parent.type === "AwaitExpression" || - parent.type === "TSAsExpression" - ) { + if (parent.type === "UnaryExpression" || parent.type === "AwaitExpression" || parent.type === "TSAsExpression") { return true; } // else fallthrough @@ -1952,68 +1629,49 @@ FastPath$1.prototype.needsParens = function() { case "IntersectionTypeAnnotation": case "UnionTypeAnnotation": - return ( - parent.type === "ArrayTypeAnnotation" || - parent.type === "NullableTypeAnnotation" || - parent.type === "IntersectionTypeAnnotation" || - parent.type === "UnionTypeAnnotation" - ); + return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation"; case "NullableTypeAnnotation": return parent.type === "ArrayTypeAnnotation"; case "FunctionTypeAnnotation": - return ( - parent.type === "UnionTypeAnnotation" || - parent.type === "IntersectionTypeAnnotation" - ); + return parent.type === "UnionTypeAnnotation" || parent.type === "IntersectionTypeAnnotation"; + case "StringLiteral": case "NumericLiteral": case "Literal": - return ( - parent.type === "MemberExpression" && - typeof node.value === "number" && - name === "object" && - parent.object === node - ); + if (typeof node.value === "string" && parent.type === "ExpressionStatement" && !parent.directive) { + // To avoid becoming a directive + var grandParent = this.getParentNode(1); - case "AssignmentExpression": { - const grandParent = this.getParentNode(1); - - if (parent.type === "ArrowFunctionExpression" && parent.body === node) { - return true; - } else if ( - parent.type === "ClassProperty" && - parent.key === node && - parent.computed - ) { - return false; - } else if ( - parent.type === "TSPropertySignature" && - parent.name === node - ) { - return false; - } else if ( - parent.type === "ForStatement" && - (parent.init === node || parent.update === node) - ) { - return false; - } else if (parent.type === "ExpressionStatement") { - return node.left.type === "ObjectPattern"; - } else if (parent.type === "TSPropertySignature" && parent.key === node) { - return false; - } else if (parent.type === "AssignmentExpression") { - return false; - } else if ( - parent.type === "SequenceExpression" && - grandParent && - grandParent.type === "ForStatement" && - (grandParent.init === parent || grandParent.update === parent) - ) { - return false; + return grandParent.type === "Program" || grandParent.type === "BlockStatement"; + } + + return parent.type === "MemberExpression" && typeof node.value === "number" && name === "object" && parent.object === node; + + case "AssignmentExpression": + { + var _grandParent = this.getParentNode(1); + + if (parent.type === "ArrowFunctionExpression" && parent.body === node) { + return true; + } else if (parent.type === "ClassProperty" && parent.key === node && parent.computed) { + return false; + } else if (parent.type === "TSPropertySignature" && parent.name === node) { + return false; + } else if (parent.type === "ForStatement" && (parent.init === node || parent.update === node)) { + return false; + } else if (parent.type === "ExpressionStatement") { + return node.left.type === "ObjectPattern"; + } else if (parent.type === "TSPropertySignature" && parent.key === node) { + return false; + } else if (parent.type === "AssignmentExpression") { + return false; + } else if (parent.type === "SequenceExpression" && _grandParent && _grandParent.type === "ForStatement" && (_grandParent.init === parent || _grandParent.update === parent)) { + return false; + } + return true; } - return true; - } case "ConditionalExpression": switch (parent.type) { case "TaggedTemplateExpression": @@ -2086,159 +1744,115 @@ FastPath$1.prototype.needsParens = function() { case "ClassExpression": return parent.type === "ExportDefaultDeclaration"; - - case "StringLiteral": - return parent.type === "ExpressionStatement"; // To avoid becoming a directive } return false; }; function isStatement(node) { - return ( - node.type === "BlockStatement" || - node.type === "BreakStatement" || - node.type === "ClassBody" || - node.type === "ClassDeclaration" || - node.type === "ClassMethod" || - node.type === "ClassProperty" || - node.type === "ContinueStatement" || - node.type === "DebuggerStatement" || - node.type === "DeclareClass" || - node.type === "DeclareExportAllDeclaration" || - node.type === "DeclareExportDeclaration" || - node.type === "DeclareFunction" || - node.type === "DeclareInterface" || - node.type === "DeclareModule" || - node.type === "DeclareModuleExports" || - node.type === "DeclareVariable" || - node.type === "DoWhileStatement" || - node.type === "ExportAllDeclaration" || - node.type === "ExportDefaultDeclaration" || - node.type === "ExportNamedDeclaration" || - node.type === "ExpressionStatement" || - node.type === "ForAwaitStatement" || - node.type === "ForInStatement" || - node.type === "ForOfStatement" || - node.type === "ForStatement" || - node.type === "FunctionDeclaration" || - node.type === "IfStatement" || - node.type === "ImportDeclaration" || - node.type === "InterfaceDeclaration" || - node.type === "LabeledStatement" || - node.type === "MethodDefinition" || - node.type === "ReturnStatement" || - node.type === "SwitchStatement" || - node.type === "ThrowStatement" || - node.type === "TryStatement" || - node.type === "TSAbstractClassDeclaration" || - node.type === "TSEnumDeclaration" || - node.type === "TSImportEqualsDeclaration" || - node.type === "TSInterfaceDeclaration" || - node.type === "TSModuleDeclaration" || - node.type === "TSNamespaceExportDeclaration" || - node.type === "TSNamespaceFunctionDeclaration" || - node.type === "TypeAlias" || - node.type === "VariableDeclaration" || - node.type === "WhileStatement" || - node.type === "WithStatement" - ); + return node.type === "BlockStatement" || node.type === "BreakStatement" || node.type === "ClassBody" || node.type === "ClassDeclaration" || node.type === "ClassMethod" || node.type === "ClassProperty" || node.type === "ContinueStatement" || node.type === "DebuggerStatement" || node.type === "DeclareClass" || node.type === "DeclareExportAllDeclaration" || node.type === "DeclareExportDeclaration" || node.type === "DeclareFunction" || node.type === "DeclareInterface" || node.type === "DeclareModule" || node.type === "DeclareModuleExports" || node.type === "DeclareVariable" || node.type === "DoWhileStatement" || node.type === "ExportAllDeclaration" || node.type === "ExportDefaultDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExpressionStatement" || node.type === "ForAwaitStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement" || node.type === "ForStatement" || node.type === "FunctionDeclaration" || node.type === "IfStatement" || node.type === "ImportDeclaration" || node.type === "InterfaceDeclaration" || node.type === "LabeledStatement" || node.type === "MethodDefinition" || node.type === "ReturnStatement" || node.type === "SwitchStatement" || node.type === "ThrowStatement" || node.type === "TryStatement" || node.type === "TSAbstractClassDeclaration" || node.type === "TSEnumDeclaration" || node.type === "TSImportEqualsDeclaration" || node.type === "TSInterfaceDeclaration" || node.type === "TSModuleDeclaration" || node.type === "TSNamespaceExportDeclaration" || node.type === "TSNamespaceFunctionDeclaration" || node.type === "TypeAlias" || node.type === "VariableDeclaration" || node.type === "WhileStatement" || node.type === "WithStatement"; } var fastPath = FastPath$1; function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; + return module = { exports: {} }, fn(module, module.exports), module.exports; } var ast = createCommonjsModule(function (module) { -/* - Copyright (C) 2013 Yusuke Suzuki + /* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function () { + (function () { 'use strict'; function isExpression(node) { - if (node == null) { return false; } - switch (node.type) { - case 'ArrayExpression': - case 'AssignmentExpression': - case 'BinaryExpression': - case 'CallExpression': - case 'ConditionalExpression': - case 'FunctionExpression': - case 'Identifier': - case 'Literal': - case 'LogicalExpression': - case 'MemberExpression': - case 'NewExpression': - case 'ObjectExpression': - case 'SequenceExpression': - case 'ThisExpression': - case 'UnaryExpression': - case 'UpdateExpression': - return true; - } + if (node == null) { return false; + } + switch (node.type) { + case 'ArrayExpression': + case 'AssignmentExpression': + case 'BinaryExpression': + case 'CallExpression': + case 'ConditionalExpression': + case 'FunctionExpression': + case 'Identifier': + case 'Literal': + case 'LogicalExpression': + case 'MemberExpression': + case 'NewExpression': + case 'ObjectExpression': + case 'SequenceExpression': + case 'ThisExpression': + case 'UnaryExpression': + case 'UpdateExpression': + return true; + } + return false; } function isIterationStatement(node) { - if (node == null) { return false; } - switch (node.type) { - case 'DoWhileStatement': - case 'ForInStatement': - case 'ForStatement': - case 'WhileStatement': - return true; - } + if (node == null) { return false; + } + switch (node.type) { + case 'DoWhileStatement': + case 'ForInStatement': + case 'ForStatement': + case 'WhileStatement': + return true; + } + return false; } function isStatement(node) { - if (node == null) { return false; } - switch (node.type) { - case 'BlockStatement': - case 'BreakStatement': - case 'ContinueStatement': - case 'DebuggerStatement': - case 'DoWhileStatement': - case 'EmptyStatement': - case 'ExpressionStatement': - case 'ForInStatement': - case 'ForStatement': - case 'IfStatement': - case 'LabeledStatement': - case 'ReturnStatement': - case 'SwitchStatement': - case 'ThrowStatement': - case 'TryStatement': - case 'VariableDeclaration': - case 'WhileStatement': - case 'WithStatement': - return true; - } + if (node == null) { return false; + } + switch (node.type) { + case 'BlockStatement': + case 'BreakStatement': + case 'ContinueStatement': + case 'DebuggerStatement': + case 'DoWhileStatement': + case 'EmptyStatement': + case 'ExpressionStatement': + case 'ForInStatement': + case 'ForStatement': + case 'IfStatement': + case 'LabeledStatement': + case 'ReturnStatement': + case 'SwitchStatement': + case 'ThrowStatement': + case 'TryStatement': + case 'VariableDeclaration': + case 'WhileStatement': + case 'WithStatement': + return true; + } + return false; } function isSourceElement(node) { @@ -2246,228 +1860,221 @@ var ast = createCommonjsModule(function (module) { } function trailingStatement(node) { - switch (node.type) { + switch (node.type) { case 'IfStatement': - if (node.alternate != null) { - return node.alternate; - } - return node.consequent; + if (node.alternate != null) { + return node.alternate; + } + return node.consequent; case 'LabeledStatement': case 'ForStatement': case 'ForInStatement': case 'WhileStatement': case 'WithStatement': - return node.body; - } - return null; + return node.body; + } + return null; } function isProblematicIfStatement(node) { - var current; - - if (node.type !== 'IfStatement') { - return false; - } - if (node.alternate == null) { - return false; - } - current = node.consequent; - do { - if (current.type === 'IfStatement') { - if (current.alternate == null) { - return true; - } - } - current = trailingStatement(current); - } while (current); + var current; + if (node.type !== 'IfStatement') { return false; + } + if (node.alternate == null) { + return false; + } + current = node.consequent; + do { + if (current.type === 'IfStatement') { + if (current.alternate == null) { + return true; + } + } + current = trailingStatement(current); + } while (current); + + return false; } module.exports = { - isExpression: isExpression, - isStatement: isStatement, - isIterationStatement: isIterationStatement, - isSourceElement: isSourceElement, - isProblematicIfStatement: isProblematicIfStatement, + isExpression: isExpression, + isStatement: isStatement, + isIterationStatement: isIterationStatement, + isSourceElement: isSourceElement, + isProblematicIfStatement: isProblematicIfStatement, - trailingStatement: trailingStatement + trailingStatement: trailingStatement }; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ + })(); + /* vim: set sw=4 ts=4 et tw=80 : */ }); var code = createCommonjsModule(function (module) { -/* - Copyright (C) 2013-2014 Yusuke Suzuki - Copyright (C) 2014 Ivan Nikulin + /* + Copyright (C) 2013-2014 Yusuke Suzuki + Copyright (C) 2014 Ivan Nikulin + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function () { + (function () { 'use strict'; var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; // See `tools/generate-identifier-regex.js`. ES5Regex = { - // ECMAScript 5.1/Unicode v7.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, - // ECMAScript 5.1/Unicode v7.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ + // ECMAScript 5.1/Unicode v7.0.0 NonAsciiIdentifierStart: + NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, + // ECMAScript 5.1/Unicode v7.0.0 NonAsciiIdentifierPart: + NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ }; ES6Regex = { - // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/, - // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ + // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierStart: + NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/, + // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierPart: + NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ }; function isDecimalDigit(ch) { - return 0x30 <= ch && ch <= 0x39; // 0..9 + return 0x30 <= ch && ch <= 0x39; // 0..9 } function isHexDigit(ch) { - return 0x30 <= ch && ch <= 0x39 || // 0..9 - 0x61 <= ch && ch <= 0x66 || // a..f - 0x41 <= ch && ch <= 0x46; // A..F + return 0x30 <= ch && ch <= 0x39 || // 0..9 + 0x61 <= ch && ch <= 0x66 || // a..f + 0x41 <= ch && ch <= 0x46; // A..F } function isOctalDigit(ch) { - return ch >= 0x30 && ch <= 0x37; // 0..7 + return ch >= 0x30 && ch <= 0x37; // 0..7 } // 7.2 White Space - NON_ASCII_WHITESPACES = [ - 0x1680, 0x180E, - 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, - 0x202F, 0x205F, - 0x3000, - 0xFEFF - ]; + NON_ASCII_WHITESPACES = [0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF]; function isWhiteSpace(ch) { - return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 || - ch >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(ch) >= 0; + return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 || ch >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(ch) >= 0; } // 7.3 Line Terminators function isLineTerminator(ch) { - return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029; + return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029; } // 7.6 Identifier Names and Identifiers function fromCodePoint(cp) { - if (cp <= 0xFFFF) { return String.fromCharCode(cp); } - var cu1 = String.fromCharCode(Math.floor((cp - 0x10000) / 0x400) + 0xD800); - var cu2 = String.fromCharCode(((cp - 0x10000) % 0x400) + 0xDC00); - return cu1 + cu2; + if (cp <= 0xFFFF) { + return String.fromCharCode(cp); + } + var cu1 = String.fromCharCode(Math.floor((cp - 0x10000) / 0x400) + 0xD800); + var cu2 = String.fromCharCode((cp - 0x10000) % 0x400 + 0xDC00); + return cu1 + cu2; } IDENTIFIER_START = new Array(0x80); - for(ch = 0; ch < 0x80; ++ch) { - IDENTIFIER_START[ch] = - ch >= 0x61 && ch <= 0x7A || // a..z - ch >= 0x41 && ch <= 0x5A || // A..Z - ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) + for (ch = 0; ch < 0x80; ++ch) { + IDENTIFIER_START[ch] = ch >= 0x61 && ch <= 0x7A || // a..z + ch >= 0x41 && ch <= 0x5A || // A..Z + ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) } IDENTIFIER_PART = new Array(0x80); - for(ch = 0; ch < 0x80; ++ch) { - IDENTIFIER_PART[ch] = - ch >= 0x61 && ch <= 0x7A || // a..z - ch >= 0x41 && ch <= 0x5A || // A..Z - ch >= 0x30 && ch <= 0x39 || // 0..9 - ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) + for (ch = 0; ch < 0x80; ++ch) { + IDENTIFIER_PART[ch] = ch >= 0x61 && ch <= 0x7A || // a..z + ch >= 0x41 && ch <= 0x5A || // A..Z + ch >= 0x30 && ch <= 0x39 || // 0..9 + ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) } function isIdentifierStartES5(ch) { - return ch < 0x80 ? IDENTIFIER_START[ch] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); + return ch < 0x80 ? IDENTIFIER_START[ch] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); } function isIdentifierPartES5(ch) { - return ch < 0x80 ? IDENTIFIER_PART[ch] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); + return ch < 0x80 ? IDENTIFIER_PART[ch] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); } function isIdentifierStartES6(ch) { - return ch < 0x80 ? IDENTIFIER_START[ch] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); + return ch < 0x80 ? IDENTIFIER_START[ch] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); } function isIdentifierPartES6(ch) { - return ch < 0x80 ? IDENTIFIER_PART[ch] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); + return ch < 0x80 ? IDENTIFIER_PART[ch] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); } module.exports = { - isDecimalDigit: isDecimalDigit, - isHexDigit: isHexDigit, - isOctalDigit: isOctalDigit, - isWhiteSpace: isWhiteSpace, - isLineTerminator: isLineTerminator, - isIdentifierStartES5: isIdentifierStartES5, - isIdentifierPartES5: isIdentifierPartES5, - isIdentifierStartES6: isIdentifierStartES6, - isIdentifierPartES6: isIdentifierPartES6 + isDecimalDigit: isDecimalDigit, + isHexDigit: isHexDigit, + isOctalDigit: isOctalDigit, + isWhiteSpace: isWhiteSpace, + isLineTerminator: isLineTerminator, + isIdentifierStartES5: isIdentifierStartES5, + isIdentifierPartES5: isIdentifierPartES5, + isIdentifierStartES6: isIdentifierStartES6, + isIdentifierPartES6: isIdentifierPartES6 }; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ + })(); + /* vim: set sw=4 ts=4 et tw=80 : */ }); var keyword = createCommonjsModule(function (module) { -/* - Copyright (C) 2013 Yusuke Suzuki + /* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function () { + (function () { 'use strict'; var code$$1 = code; function isStrictModeReservedWordES6(id) { - switch (id) { + switch (id) { case 'implements': case 'interface': case 'package': @@ -2476,173 +2083,174 @@ var keyword = createCommonjsModule(function (module) { case 'public': case 'static': case 'let': - return true; + return true; default: - return false; - } + return false; + } } function isKeywordES5(id, strict) { - // yield should not be treated as keyword under non-strict mode. - if (!strict && id === 'yield') { - return false; - } - return isKeywordES6(id, strict); + // yield should not be treated as keyword under non-strict mode. + if (!strict && id === 'yield') { + return false; + } + return isKeywordES6(id, strict); } function isKeywordES6(id, strict) { - if (strict && isStrictModeReservedWordES6(id)) { - return true; - } + if (strict && isStrictModeReservedWordES6(id)) { + return true; + } - switch (id.length) { + switch (id.length) { case 2: - return (id === 'if') || (id === 'in') || (id === 'do'); + return id === 'if' || id === 'in' || id === 'do'; case 3: - return (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try'); + return id === 'var' || id === 'for' || id === 'new' || id === 'try'; case 4: - return (id === 'this') || (id === 'else') || (id === 'case') || - (id === 'void') || (id === 'with') || (id === 'enum'); + return id === 'this' || id === 'else' || id === 'case' || id === 'void' || id === 'with' || id === 'enum'; case 5: - return (id === 'while') || (id === 'break') || (id === 'catch') || - (id === 'throw') || (id === 'const') || (id === 'yield') || - (id === 'class') || (id === 'super'); + return id === 'while' || id === 'break' || id === 'catch' || id === 'throw' || id === 'const' || id === 'yield' || id === 'class' || id === 'super'; case 6: - return (id === 'return') || (id === 'typeof') || (id === 'delete') || - (id === 'switch') || (id === 'export') || (id === 'import'); + return id === 'return' || id === 'typeof' || id === 'delete' || id === 'switch' || id === 'export' || id === 'import'; case 7: - return (id === 'default') || (id === 'finally') || (id === 'extends'); + return id === 'default' || id === 'finally' || id === 'extends'; case 8: - return (id === 'function') || (id === 'continue') || (id === 'debugger'); + return id === 'function' || id === 'continue' || id === 'debugger'; case 10: - return (id === 'instanceof'); + return id === 'instanceof'; default: - return false; - } + return false; + } } function isReservedWordES5(id, strict) { - return id === 'null' || id === 'true' || id === 'false' || isKeywordES5(id, strict); + return id === 'null' || id === 'true' || id === 'false' || isKeywordES5(id, strict); } function isReservedWordES6(id, strict) { - return id === 'null' || id === 'true' || id === 'false' || isKeywordES6(id, strict); + return id === 'null' || id === 'true' || id === 'false' || isKeywordES6(id, strict); } function isRestrictedWord(id) { - return id === 'eval' || id === 'arguments'; + return id === 'eval' || id === 'arguments'; } function isIdentifierNameES5(id) { - var i, iz, ch; + var i, iz, ch; - if (id.length === 0) { return false; } + if (id.length === 0) { + return false; + } - ch = id.charCodeAt(0); - if (!code$$1.isIdentifierStartES5(ch)) { - return false; + ch = id.charCodeAt(0); + if (!code$$1.isIdentifierStartES5(ch)) { + return false; + } + + for (i = 1, iz = id.length; i < iz; ++i) { + ch = id.charCodeAt(i); + if (!code$$1.isIdentifierPartES5(ch)) { + return false; } - - for (i = 1, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (!code$$1.isIdentifierPartES5(ch)) { - return false; - } - } - return true; + } + return true; } function decodeUtf16(lead, trail) { - return (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000; + return (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000; } function isIdentifierNameES6(id) { - var i, iz, ch, lowCh, check; + var i, iz, ch, lowCh, check; - if (id.length === 0) { return false; } + if (id.length === 0) { + return false; + } - check = code$$1.isIdentifierStartES6; - for (i = 0, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (0xD800 <= ch && ch <= 0xDBFF) { - ++i; - if (i >= iz) { return false; } - lowCh = id.charCodeAt(i); - if (!(0xDC00 <= lowCh && lowCh <= 0xDFFF)) { - return false; - } - ch = decodeUtf16(ch, lowCh); - } - if (!check(ch)) { - return false; - } - check = code$$1.isIdentifierPartES6; + check = code$$1.isIdentifierStartES6; + for (i = 0, iz = id.length; i < iz; ++i) { + ch = id.charCodeAt(i); + if (0xD800 <= ch && ch <= 0xDBFF) { + ++i; + if (i >= iz) { + return false; + } + lowCh = id.charCodeAt(i); + if (!(0xDC00 <= lowCh && lowCh <= 0xDFFF)) { + return false; + } + ch = decodeUtf16(ch, lowCh); } - return true; + if (!check(ch)) { + return false; + } + check = code$$1.isIdentifierPartES6; + } + return true; } function isIdentifierES5(id, strict) { - return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); + return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); } function isIdentifierES6(id, strict) { - return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); + return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); } module.exports = { - isKeywordES5: isKeywordES5, - isKeywordES6: isKeywordES6, - isReservedWordES5: isReservedWordES5, - isReservedWordES6: isReservedWordES6, - isRestrictedWord: isRestrictedWord, - isIdentifierNameES5: isIdentifierNameES5, - isIdentifierNameES6: isIdentifierNameES6, - isIdentifierES5: isIdentifierES5, - isIdentifierES6: isIdentifierES6 + isKeywordES5: isKeywordES5, + isKeywordES6: isKeywordES6, + isReservedWordES5: isReservedWordES5, + isReservedWordES6: isReservedWordES6, + isRestrictedWord: isRestrictedWord, + isIdentifierNameES5: isIdentifierNameES5, + isIdentifierNameES6: isIdentifierNameES6, + isIdentifierES5: isIdentifierES5, + isIdentifierES6: isIdentifierES6 }; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ + })(); + /* vim: set sw=4 ts=4 et tw=80 : */ }); var utils = createCommonjsModule(function (module, exports) { -/* - Copyright (C) 2013 Yusuke Suzuki + /* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -(function () { + (function () { 'use strict'; exports.ast = ast; exports.code = code; exports.keyword = keyword; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ + })(); + /* vim: set sw=4 ts=4 et tw=80 : */ }); function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { function traverseDocRec(doc) { - let shouldRecurse = true; + var shouldRecurse = true; if (onEnter) { if (onEnter(doc) === false) { shouldRecurse = false; @@ -2651,7 +2259,7 @@ function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { if (shouldRecurse) { if (doc.type === "concat" || doc.type === "fill") { - for (let i = 0; i < doc.parts.length; i++) { + for (var i = 0; i < doc.parts.length; i++) { traverseDocRec(doc.parts[i]); } } else if (doc.type === "if-break") { @@ -2685,7 +2293,9 @@ function mapDoc(doc, func) { if (doc.type === "concat" || doc.type === "fill") { return Object.assign({}, doc, { - parts: doc.parts.map(d => mapDoc(d, func)) + parts: doc.parts.map(function (d) { + return mapDoc(d, func); + }) }); } else if (doc.type === "if-break") { return Object.assign({}, doc, { @@ -2694,16 +2304,15 @@ function mapDoc(doc, func) { }); } else if (doc.contents) { return Object.assign({}, doc, { contents: mapDoc(doc.contents, func) }); - } else { - return doc; } + return doc; } function findInDoc(doc, fn, defaultValue) { - let result = defaultValue; - let hasStopped = false; - traverseDoc(doc, doc => { - const maybeResult = fn(doc); + var result = defaultValue; + var hasStopped = false; + traverseDoc(doc, function (doc) { + var maybeResult = fn(doc); if (maybeResult !== undefined) { hasStopped = true; result = maybeResult; @@ -2720,41 +2329,33 @@ function isEmpty$1(n) { } function isLineNext$1(doc) { - return findInDoc( - doc, - doc => { - if (typeof doc === "string") { - return false; - } - if (doc.type === "line") { - return true; - } - }, - false - ); + return findInDoc(doc, function (doc) { + if (typeof doc === "string") { + return false; + } + if (doc.type === "line") { + return true; + } + }, false); } function willBreak$1(doc) { - return findInDoc( - doc, - doc => { - if (doc.type === "group" && doc.break) { - return true; - } - if (doc.type === "line" && doc.hard) { - return true; - } - if (doc.type === "break-parent") { - return true; - } - }, - false - ); + return findInDoc(doc, function (doc) { + if (doc.type === "group" && doc.break) { + return true; + } + if (doc.type === "line" && doc.hard) { + return true; + } + if (doc.type === "break-parent") { + return true; + } + }, false); } function breakParentGroup(groupStack) { if (groupStack.length > 0) { - const parentGroup = groupStack[groupStack.length - 1]; + var parentGroup = groupStack[groupStack.length - 1]; // Breaks are not propagated through conditional groups because // the user is expected to manually handle what breaks. if (!parentGroup.expandedStates) { @@ -2765,70 +2366,430 @@ function breakParentGroup(groupStack) { } function propagateBreaks(doc) { - const alreadyVisited = new Map(); - const groupStack = []; - traverseDoc( - doc, - doc => { - if (doc.type === "break-parent") { + var alreadyVisited = new Map(); + var groupStack = []; + traverseDoc(doc, function (doc) { + if (doc.type === "break-parent") { + breakParentGroup(groupStack); + } + if (doc.type === "group") { + groupStack.push(doc); + if (alreadyVisited.has(doc)) { + return false; + } + alreadyVisited.set(doc, true); + } + }, function (doc) { + if (doc.type === "group") { + var _group = groupStack.pop(); + if (_group.break) { breakParentGroup(groupStack); } - if (doc.type === "group") { - groupStack.push(doc); - if (alreadyVisited.has(doc)) { - return false; - } - alreadyVisited.set(doc, true); - } - }, - doc => { - if (doc.type === "group") { - const group = groupStack.pop(); - if (group.break) { - breakParentGroup(groupStack); - } - } - }, - /* shouldTraverseConditionalGroups */ true - ); + } + }, + /* shouldTraverseConditionalGroups */true); } var docUtils$1 = { isEmpty: isEmpty$1, willBreak: willBreak$1, isLineNext: isLineNext$1, - traverseDoc, - mapDoc, - propagateBreaks + traverseDoc: traverseDoc, + mapDoc: mapDoc, + propagateBreaks: propagateBreaks }; -const assert$1 = require$$0; -const comments$3 = comments$1; -const FastPath = fastPath; -const util$4 = util$2; -const isIdentifierName = utils.keyword.isIdentifierNameES6; +var docBuilders$4 = docBuilders$1; +var concat$3 = docBuilders$4.concat; +var join$3 = docBuilders$4.join; +var hardline$3 = docBuilders$4.hardline; +var softline$2 = docBuilders$4.softline; +var group$2 = docBuilders$4.group; +var indent$3 = docBuilders$4.indent; +var ifBreak$2 = docBuilders$4.ifBreak; -const docBuilders$3 = docBuilders$1; -const concat$2 = docBuilders$3.concat; -const join$2 = docBuilders$3.join; -const line$1 = docBuilders$3.line; -const hardline$2 = docBuilders$3.hardline; -const softline$1 = docBuilders$3.softline; -const literalline$1 = docBuilders$3.literalline; -const group$1 = docBuilders$3.group; -const indent$2 = docBuilders$3.indent; -const align$1 = docBuilders$3.align; -const conditionalGroup$1 = docBuilders$3.conditionalGroup; -const fill$1 = docBuilders$3.fill; -const ifBreak$1 = docBuilders$3.ifBreak; -const breakParent$2 = docBuilders$3.breakParent; -const lineSuffixBoundary$1 = docBuilders$3.lineSuffixBoundary; -const addAlignmentToDoc$1 = docBuilders$3.addAlignmentToDoc; +function genericPrint$1(path, options, print) { + var n = path.getValue(); + if (!n) { + return ""; + } -const docUtils = docUtils$1; -const willBreak = docUtils.willBreak; -const isLineNext = docUtils.isLineNext; -const isEmpty = docUtils.isEmpty; + if (typeof n === "string") { + return n; + } + + switch (n.kind) { + case "Document": + { + return join$3(concat$3([hardline$3, hardline$3]), path.map(print, "definitions")); + } + case "OperationDefinition": + { + return concat$3([n.name === null ? "" : concat$3([n.operation, " "]), path.call(print, "name"), n.variableDefinitions && n.variableDefinitions.length ? group$2(concat$3(["(", indent$3(concat$3([softline$2, join$3(concat$3([",", ifBreak$2("", " "), softline$2]), path.map(print, "variableDefinitions"))])), softline$2, ") "])) : n.name ? " " : "", path.call(print, "selectionSet")]); + } + case "SelectionSet": + { + return concat$3(["{", indent$3(concat$3([hardline$3, join$3(hardline$3, path.map(print, "selections"))])), hardline$3, "}"]); + } + case "Field": + { + return group$2(concat$3([path.call(print, "name"), n.arguments.length > 0 ? group$2(concat$3(["(", indent$3(concat$3([softline$2, join$3(concat$3([",", ifBreak$2("", " "), softline$2]), path.map(print, "arguments"))])), softline$2, ")"])) : "", n.selectionSet ? " " : "", path.call(print, "selectionSet")])); + } + case "Name": + { + return n.value; + } + case "StringValue": + { + return concat$3(['"', n.value, '"']); + } + case "IntValue": + case "FloatValue": + case "EnumValue": + { + return n.value; + } + case "BooleanValue": + { + return n.value ? "true" : "false"; + } + case "Variable": + { + return concat$3(["$", path.call(print, "name")]); + } + case "ListValue": + { + return group$2(concat$3(["[", indent$3(concat$3([softline$2, join$3(concat$3([",", ifBreak$2("", " "), softline$2]), path.map(print, "values"))])), softline$2, "]"])); + } + case "Argument": + { + return concat$3([path.call(print, "name"), ": ", path.call(print, "value")]); + } + + case "NamedType": + { + return path.call(print, "name"); + } + + case "VariableDefinition": + { + return concat$3([path.call(print, "variable"), ": ", path.call(print, "type"), n.defaultValue ? concat$3([" = ", path.call(print, "defaultValue")]) : ""]); + } + + default: + throw new Error("unknown graphql type: " + JSON.stringify(n.kind)); + } +} + +var printerGraphql = genericPrint$1; + +var util$6 = util$2; +var docBuilders$5 = docBuilders$1; +var concat$4 = docBuilders$5.concat; +var join$4 = docBuilders$5.join; +var line$2 = docBuilders$5.line; +var hardline$4 = docBuilders$5.hardline; +var softline$3 = docBuilders$5.softline; +var group$3 = docBuilders$5.group; +var indent$4 = docBuilders$5.indent; + +function genericPrint$2(path, options, print) { + var n = path.getValue(); + + if (!n) { + return ""; + } + + if (typeof n === "string") { + return n; + } + + switch (n.type) { + case "css-root": + { + return concat$4([printNodeSequence(path, options, print), hardline$4]); + } + case "css-comment": + { + if (n.raws.content) { + return n.raws.content; + } + var text = options.originalText.slice(util$6.locStart(n), util$6.locEnd(n)); + var rawText = n.raws.text || n.text; + // Workaround a bug where the location is off. + // https://github.com/postcss/postcss-scss/issues/63 + if (text.indexOf(rawText) === -1) { + if (n.raws.inline) { + return concat$4(["// ", rawText]); + } + return concat$4(["/* ", rawText, " */"]); + } + return text; + } + case "css-rule": + { + return concat$4([path.call(print, "selector"), n.important ? " !important" : "", n.nodes ? concat$4([" {", n.nodes.length > 0 ? indent$4(concat$4([hardline$4, printNodeSequence(path, options, print)])) : "", hardline$4, "}"]) : ";"]); + } + case "css-decl": + { + return concat$4([n.raws.before.replace(/[\s;]/g, ""), n.prop, ": ", path.call(print, "value"), n.important ? " !important" : "", n.nodes ? concat$4([" {", indent$4(concat$4([softline$3, printNodeSequence(path, options, print)])), softline$3, "}"]) : ";"]); + } + case "css-atrule": + { + var hasParams = n.params && !(n.params.type === "media-query-list" && n.params.value === ""); + return concat$4(["@", n.name, hasParams ? concat$4([" ", path.call(print, "params")]) : "", n.nodes ? concat$4([" {", indent$4(concat$4([n.nodes.length > 0 ? softline$3 : "", printNodeSequence(path, options, print)])), softline$3, "}"]) : ";"]); + } + case "css-import": + { + return concat$4(["@", n.name, " ", n.directives ? concat$4([n.directives, " "]) : "", n.importPath, ";"]); + } + // postcss-media-query-parser + case "media-query-list": + { + var parts = []; + path.each(function (childPath) { + var node = childPath.getValue(); + if (node.type === "media-query" && node.value === "") { + return; + } + parts.push(childPath.call(print)); + }, "nodes"); + return join$4(", ", parts); + } + case "media-query": + { + return join$4(" ", path.map(print, "nodes")); + } + case "media-type": + { + return n.value; + } + case "media-feature-expression": + { + if (!n.nodes) { + return n.value; + } + return concat$4(["(", concat$4(path.map(print, "nodes")), ")"]); + } + case "media-feature": + { + return n.value.replace(/ +/g, " "); + } + case "media-colon": + { + return concat$4([n.value, " "]); + } + case "media-value": + { + return n.value; + } + case "media-keyword": + { + return n.value; + } + case "media-url": + { + return n.value; + } + case "media-unknown": + { + return n.value; + } + // postcss-selector-parser + case "selector-root": + { + return group$3(join$4(concat$4([",", line$2]), path.map(print, "nodes"))); + } + case "selector-comment": + { + return n.value; + } + case "selector-string": + { + return n.value; + } + case "selector-tag": + { + return n.value; + } + case "selector-id": + { + return concat$4(["#", n.value]); + } + case "selector-class": + { + return concat$4([".", n.value]); + } + case "selector-attribute": + { + return concat$4(["[", n.attribute, n.operator ? n.operator : "", n.value ? n.value : "", n.insensitive ? " i" : "", "]"]); + } + case "selector-combinator": + { + if (n.value === "+" || n.value === ">" || n.value === "~") { + var parent = path.getParentNode(); + var leading = parent.type === "selector-selector" && parent.nodes[0] === n ? "" : line$2; + return concat$4([leading, n.value, " "]); + } + return n.value; + } + case "selector-universal": + { + return n.value; + } + case "selector-selector": + { + return group$3(indent$4(concat$4(path.map(print, "nodes")))); + } + case "selector-pseudo": + { + return concat$4([n.value, n.nodes && n.nodes.length > 0 ? concat$4(["(", join$4(", ", path.map(print, "nodes")), ")"]) : ""]); + } + case "selector-nesting": + { + return printValue(n.value); + } + // postcss-values-parser + case "value-root": + { + return path.call(print, "group"); + } + case "value-comma_group": + { + var printed = path.map(print, "groups"); + var _parts = []; + for (var i = 0; i < n.groups.length; ++i) { + _parts.push(printed[i]); + if (i !== n.groups.length - 1 && n.groups[i + 1].raws && n.groups[i + 1].raws.before !== "") { + if (n.groups[i + 1].type === "value-operator" && ["+", "-", "/", "*", "%"].indexOf(n.groups[i + 1].value) !== -1) { + _parts.push(" "); + } else { + _parts.push(line$2); + } + } + } + + return group$3(indent$4(concat$4(_parts))); + } + case "value-paren_group": + { + var _parent2 = path.getParentNode(); + var isURLCall = _parent2 && _parent2.type === "value-func" && _parent2.value === "url"; + + if (isURLCall && (n.groups.length === 1 || n.groups.length > 0 && n.groups[0].type === "value-comma_group" && n.groups[0].groups.length > 0 && n.groups[0].groups[0].type === "value-word" && n.groups[0].groups[0].value === "data")) { + return concat$4([n.open ? path.call(print, "open") : "", join$4(",", path.map(print, "groups")), n.close ? path.call(print, "close") : ""]); + } + + if (!n.open) { + return group$3(indent$4(join$4(concat$4([",", line$2]), path.map(print, "groups")))); + } + + return group$3(concat$4([n.open ? path.call(print, "open") : "", indent$4(concat$4([softline$3, join$4(concat$4([",", line$2]), path.map(print, "groups"))])), softline$3, n.close ? path.call(print, "close") : ""])); + } + case "value-value": + { + return path.call(print, "group"); + } + case "value-func": + { + return concat$4([n.value, path.call(print, "group")]); + } + case "value-paren": + { + if (n.raws.before !== "") { + return concat$4([line$2, n.value]); + } + return n.value; + } + case "value-number": + { + return concat$4([n.value, n.unit]); + } + case "value-operator": + { + return n.value; + } + case "value-word": + { + return n.value; + } + case "value-colon": + { + return n.value; + } + case "value-comma": + { + return concat$4([n.value, " "]); + } + case "value-string": + { + return concat$4([n.quoted ? n.raws.quote : "", n.value, n.quoted ? n.raws.quote : ""]); + } + case "value-atword": + { + return concat$4(["@", n.value]); + } + + default: + throw new Error("unknown postcss type: " + JSON.stringify(n.type)); + } +} + +function printNodeSequence(path, options, print) { + var node = path.getValue(); + var parts = []; + var i = 0; + path.map(function (pathChild) { + parts.push(pathChild.call(print)); + if (i !== node.nodes.length - 1) { + if (node.nodes[i + 1].type === "css-comment" && !util$6.hasNewline(options.originalText, util$6.locStart(node.nodes[i + 1]), { backwards: true })) { + parts.push(" "); + } else { + parts.push(hardline$4); + if (util$6.isNextLineEmpty(options.originalText, pathChild.getValue())) { + parts.push(hardline$4); + } + } + } + i++; + }, "nodes"); + + return concat$4(parts); +} + +function printValue(value) { + return value; +} + +var printerPostcss = genericPrint$2; + +var assert$1 = require$$0; +var comments$3 = comments$1; +var FastPath = fastPath; +var util$4 = util$2; +var isIdentifierName = utils.keyword.isIdentifierNameES6; + +var docBuilders$3 = docBuilders$1; +var concat$2 = docBuilders$3.concat; +var join$2 = docBuilders$3.join; +var line$1 = docBuilders$3.line; +var hardline$2 = docBuilders$3.hardline; +var softline$1 = docBuilders$3.softline; +var literalline$1 = docBuilders$3.literalline; +var group$1 = docBuilders$3.group; +var indent$2 = docBuilders$3.indent; +var align$1 = docBuilders$3.align; +var conditionalGroup$1 = docBuilders$3.conditionalGroup; +var fill$1 = docBuilders$3.fill; +var ifBreak$1 = docBuilders$3.ifBreak; +var breakParent$2 = docBuilders$3.breakParent; +var lineSuffixBoundary$1 = docBuilders$3.lineSuffixBoundary; +var addAlignmentToDoc$1 = docBuilders$3.addAlignmentToDoc; + +var docUtils = docUtils$1; +var willBreak = docUtils.willBreak; +var isLineNext = docUtils.isLineNext; +var isEmpty = docUtils.isEmpty; function shouldPrintComma(options, level) { level = level || "es5"; @@ -2850,89 +2811,65 @@ function shouldPrintComma(options, level) { } } +function getPrintFunction(options) { + switch (options.parser) { + case "graphql": + return printerGraphql; + case "postcss": + return printerPostcss; + default: + return genericPrintNoParens; + } +} + function genericPrint(path, options, printPath, args) { assert$1.ok(path instanceof FastPath); - const node = path.getValue(); + var node = path.getValue(); // Escape hatch - if ( - node && - node.comments && - node.comments.length > 0 && - node.comments.some(comment => comment.value.trim() === "prettier-ignore") - ) { + if (node && node.comments && node.comments.length > 0 && node.comments.some(function (comment) { + return comment.value.trim() === "prettier-ignore"; + })) { return options.originalText.slice(util$4.locStart(node), util$4.locEnd(node)); } - const parts = []; - let needsParens = false; - const linesWithoutParens = genericPrintNoParens( - path, - options, - printPath, - args - ); + var parts = []; + var needsParens = false; + var linesWithoutParens = getPrintFunction(options)(path, options, printPath, args); if (!node || isEmpty(linesWithoutParens)) { return linesWithoutParens; } - if ( - node.decorators && - node.decorators.length > 0 && - // If the parent node is an export declaration, it will be - // responsible for printing node.decorators. - !util$4.getParentExportDeclaration(path) - ) { - let separator = hardline$2; - path.each(decoratorPath => { - let prefix = "@"; - let decorator = decoratorPath.getValue(); + if (node.decorators && node.decorators.length > 0 && + // If the parent node is an export declaration, it will be + // responsible for printing node.decorators. + !util$4.getParentExportDeclaration(path)) { + var separator = hardline$2; + path.each(function (decoratorPath) { + var prefix = "@"; + var decorator = decoratorPath.getValue(); if (decorator.expression) { decorator = decorator.expression; prefix = ""; } // #1817 - if ( - node.decorators.length === 1 && - node.type !== "ClassDeclaration" && - node.type !== "MethodDefinition" && - node.type !== "ClassMethod" && - (decorator.type === "Identifier" || - decorator.type === "MemberExpression" || - (decorator.type === "CallExpression" && - (decorator.arguments.length === 0 || - (decorator.arguments.length === 1 && - (isStringLiteral(decorator.arguments[0]) || - decorator.arguments[0].type === "Identifier" || - decorator.arguments[0].type === "MemberExpression"))))) - ) { + if (node.decorators.length === 1 && node.type !== "ClassDeclaration" && node.type !== "MethodDefinition" && node.type !== "ClassMethod" && (decorator.type === "Identifier" || decorator.type === "MemberExpression" || decorator.type === "CallExpression" && (decorator.arguments.length === 0 || decorator.arguments.length === 1 && (isStringLiteral(decorator.arguments[0]) || decorator.arguments[0].type === "Identifier" || decorator.arguments[0].type === "MemberExpression")))) { separator = " "; } parts.push(prefix, printPath(decoratorPath), separator); }, "decorators"); - } else if ( - util$4.isExportDeclaration(node) && - node.declaration && - node.declaration.decorators - ) { + } else if (util$4.isExportDeclaration(node) && node.declaration && node.declaration.decorators) { // Export declarations are responsible for printing any decorators // that logically apply to node.declaration. - path.each( - decoratorPath => { - const decorator = decoratorPath.getValue(); - const prefix = decorator.type === "Decorator" || - decorator.type === "TSDecorator" - ? "" - : "@"; - parts.push(prefix, printPath(decoratorPath), line$1); - }, - "declaration", - "decorators" - ); + path.each(function (decoratorPath) { + var decorator = decoratorPath.getValue(); + var prefix = decorator.type === "Decorator" || decorator.type === "TSDecorator" ? "" : "@"; + parts.push(prefix, printPath(decoratorPath), line$1); + }, "declaration", "decorators"); } else { // Nodes with decorators can't have parentheses, so we can avoid // computing path.needsParens() except in this case. @@ -2961,8 +2898,8 @@ function genericPrint(path, options, printPath, args) { } function genericPrintNoParens(path, options, print, args) { - const n = path.getValue(); - const semi = options.semi ? ";" : ""; + var n = path.getValue(); + var semi = options.semi ? ";" : ""; if (!n) { return ""; @@ -2972,32 +2909,26 @@ function genericPrintNoParens(path, options, print, args) { return n; } - let parts = []; + var parts = []; switch (n.type) { case "File": return path.call(print, "program"); case "Program": // Babel 6 if (n.directives) { - path.each(childPath => { + path.each(function (childPath) { parts.push(print(childPath), semi, hardline$2); - if ( - util$4.isNextLineEmpty(options.originalText, childPath.getValue()) - ) { + if (util$4.isNextLineEmpty(options.originalText, childPath.getValue())) { parts.push(hardline$2); } }, "directives"); } - parts.push( - path.call(bodyPath => { - return printStatementSequence(bodyPath, options, print); - }, "body") - ); + parts.push(path.call(function (bodyPath) { + return printStatementSequence(bodyPath, options, print); + }, "body")); - parts.push( - comments$3.printDanglingComments(path, options, /* sameIndent */ true) - ); + parts.push(comments$3.printDanglingComments(path, options, /* sameIndent */true)); // Only force a trailing newline if there were any contents. if (n.body.length || n.comments) { @@ -3018,130 +2949,68 @@ function genericPrintNoParens(path, options, print, args) { case "ParenthesizedExpression": return concat$2(["(", path.call(print, "expression"), ")"]); case "AssignmentExpression": - return printAssignment( - n.left, - path.call(print, "left"), - concat$2([" ", n.operator]), - n.right, - path.call(print, "right"), - options - ); + return printAssignment(n.left, path.call(print, "left"), concat$2([" ", n.operator]), n.right, path.call(print, "right"), options); case "BinaryExpression": - case "LogicalExpression": { - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - const isInsideParenthesis = - n !== parent.body && - (parent.type === "IfStatement" || - parent.type === "WhileStatement" || - parent.type === "DoStatement"); + case "LogicalExpression": + { + var parent = path.getParentNode(); + var parentParent = path.getParentNode(1); + var isInsideParenthesis = n !== parent.body && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "DoStatement"); - const parts = printBinaryishExpressions( - path, - print, - options, - /* isNested */ false, - isInsideParenthesis - ); + var _parts2 = printBinaryishExpressions(path, print, options, + /* isNested */false, isInsideParenthesis); - // if ( - // this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft - // ) { - // - // looks super weird, we want to break the children if the parent breaks - // - // if ( - // this.hasPlugin("dynamicImports") && - // this.lookahead().type === tt.parenLeft - // ) { - if (isInsideParenthesis) { - return concat$2(parts); + // if ( + // this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft + // ) { + // + // looks super weird, we want to break the children if the parent breaks + // + // if ( + // this.hasPlugin("dynamicImports") && + // this.lookahead().type === tt.parenLeft + // ) { + if (isInsideParenthesis) { + return concat$2(_parts2); + } + + if (parent.type === "UnaryExpression") { + return group$1(concat$2([indent$2(concat$2([softline$1, concat$2(_parts2)])), softline$1])); + } + + // Avoid indenting sub-expressions in assignment/return/etc statements. + if (parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || shouldInlineLogicalExpression(n) || parent.type === "ReturnStatement" || parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" || n === parent.body && parent.type === "ArrowFunctionExpression" || n !== parent.body && parent.type === "ForStatement") { + return group$1(concat$2(_parts2)); + } + + var rest = concat$2(_parts2.slice(1)); + + return group$1(concat$2([ + // Don't include the initial expression in the indentation + // level. The first item is guaranteed to be the first + // left-most expression. + _parts2.length > 0 ? _parts2[0] : "", indent$2(rest)])); } - - if (parent.type === "UnaryExpression") { - return group$1( - concat$2([indent$2(concat$2([softline$1, concat$2(parts)])), softline$1]) - ); - } - - // Avoid indenting sub-expressions in assignment/return/etc statements. - if ( - parent.type === "AssignmentExpression" || - parent.type === "VariableDeclarator" || - shouldInlineLogicalExpression(n) || - parent.type === "ReturnStatement" || - (parent.type === "JSXExpressionContainer" && - parentParent.type === "JSXAttribute") || - (n === parent.body && parent.type === "ArrowFunctionExpression") || - (n !== parent.body && parent.type === "ForStatement") - ) { - return group$1(concat$2(parts)); - } - - const rest = concat$2(parts.slice(1)); - - return group$1( - concat$2([ - // Don't include the initial expression in the indentation - // level. The first item is guaranteed to be the first - // left-most expression. - parts.length > 0 ? parts[0] : "", - indent$2(rest) - ]) - ); - } case "AssignmentPattern": - return concat$2([ - path.call(print, "left"), - " = ", - path.call(print, "right") - ]); + return concat$2([path.call(print, "left"), " = ", path.call(print, "right")]); case "TSTypeAssertionExpression": - return concat$2([ - "<", - path.call(print, "typeAnnotation"), - ">", - path.call(print, "expression") - ]); - case "MemberExpression": { - const parent = path.getParentNode(); - let firstNonMemberParent; - let i = 0; - do { - firstNonMemberParent = path.getParentNode(i); - i++; - } while ( - firstNonMemberParent && firstNonMemberParent.type === "MemberExpression" - ); + return concat$2(["<", path.call(print, "typeAnnotation"), ">", path.call(print, "expression")]); + case "MemberExpression": + { + var _parent3 = path.getParentNode(); + var firstNonMemberParent = void 0; + var i = 0; + do { + firstNonMemberParent = path.getParentNode(i); + i++; + } while (firstNonMemberParent && firstNonMemberParent.type === "MemberExpression"); - const shouldInline = - (firstNonMemberParent && - ((firstNonMemberParent.type === "VariableDeclarator" && - firstNonMemberParent.id.type !== "Identifier") || - (firstNonMemberParent.type === "AssignmentExpression" && - firstNonMemberParent.left.type !== "Identifier"))) || - n.computed || - (n.object.type === "Identifier" && - n.property.type === "Identifier" && - parent.type !== "MemberExpression"); + var shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "VariableDeclarator" && firstNonMemberParent.id.type !== "Identifier" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || n.computed || n.object.type === "Identifier" && n.property.type === "Identifier" && _parent3.type !== "MemberExpression"; - return concat$2([ - path.call(print, "object"), - shouldInline - ? printMemberLookup(path, options, print) - : group$1( - indent$2( - concat$2([softline$1, printMemberLookup(path, options, print)]) - ) - ) - ]); - } + return concat$2([path.call(print, "object"), shouldInline ? printMemberLookup(path, options, print) : group$1(indent$2(concat$2([softline$1, printMemberLookup(path, options, print)])))]); + } case "MetaProperty": - return concat$2([ - path.call(print, "meta"), - ".", - path.call(print, "property") - ]); + return concat$2([path.call(print, "meta"), ".", path.call(print, "property")]); case "BindExpression": if (n.object) { parts.push(path.call(print, "object")); @@ -3152,18 +3021,13 @@ function genericPrintNoParens(path, options, print, args) { return concat$2(parts); case "Path": return join$2(".", n.body); - case "Identifier": { - const parentNode = path.getParentNode(); - const isFunctionDeclarationIdentifier = - parentNode.type === "DeclareFunction" && parentNode.id === n; + case "Identifier": + { + var parentNode = path.getParentNode(); + var isFunctionDeclarationIdentifier = parentNode.type === "DeclareFunction" && parentNode.id === n; - return concat$2([ - n.name, - n.optional ? "?" : "", - n.typeAnnotation && !isFunctionDeclarationIdentifier ? ": " : "", - path.call(print, "typeAnnotation") - ]); - } + return concat$2([n.name, n.optional ? "?" : "", n.typeAnnotation && !isFunctionDeclarationIdentifier ? ": " : "", path.call(print, "typeAnnotation")]); + } case "SpreadElement": case "SpreadElementPattern": case "RestProperty": @@ -3173,12 +3037,7 @@ function genericPrintNoParens(path, options, print, args) { case "SpreadPropertyPattern": case "RestElement": case "ObjectTypeSpreadProperty": - return concat$2([ - "...", - path.call(print, "argument"), - n.typeAnnotation ? ": " : "", - path.call(print, "typeAnnotation") - ]); + return concat$2(["...", path.call(print, "argument"), n.typeAnnotation ? ": " : "", path.call(print, "typeAnnotation")]); case "FunctionDeclaration": case "FunctionExpression": case "TSNamespaceFunctionDeclaration": @@ -3190,89 +3049,46 @@ function genericPrintNoParens(path, options, print, args) { parts.push(semi); } return concat$2(parts); - case "ArrowFunctionExpression": { - if (n.async) { - parts.push("async "); + case "ArrowFunctionExpression": + { + if (n.async) { + parts.push("async "); + } + + parts.push(printFunctionTypeParameters(path, options, print)); + + if (canPrintParamsWithoutParens(n)) { + parts.push(path.call(print, "params", 0)); + } else { + parts.push(group$1(concat$2([printFunctionParams(path, print, options, args && (args.expandLastArg || args.expandFirstArg)), printReturnType(path, print)]))); + } + + parts.push(" =>"); + + var body = path.call(function (bodyPath) { + return print(bodyPath, args); + }, "body"); + var collapsed = concat$2([concat$2(parts), " ", body]); + + // We want to always keep these types of nodes on the same line + // as the arrow. + if (!hasLeadingOwnLineComment(options.originalText, n.body) && (n.body.type === "ArrayExpression" || n.body.type === "ObjectExpression" || n.body.type === "BlockStatement" || n.body.type === "SequenceExpression" || isTemplateOnItsOwnLine(n.body, options.originalText) || n.body.type === "ArrowFunctionExpression")) { + return group$1(collapsed); + } + + // if the arrow function is expanded as last argument, we are adding a + // level of indentation and need to add a softline to align the closing ) + // with the opening (. + var shouldAddSoftLine = args && args.expandLastArg; + + // In order to avoid confusion between + // a => a ? a : a + // a <= a ? a : a + var shouldAddParens = n.body.type === "ConditionalExpression" && !util$4.startsWithNoLookaheadToken(n.body, + /* forbidFunctionAndClass */false); + + return group$1(concat$2([concat$2(parts), group$1(concat$2([indent$2(concat$2([line$1, shouldAddParens ? ifBreak$1("", "(") : "", body, shouldAddParens ? ifBreak$1("", ")") : ""])), shouldAddSoftLine ? concat$2([ifBreak$1(shouldPrintComma(options, "all") ? "," : ""), softline$1]) : ""]))])); } - - parts.push(printFunctionTypeParameters(path, options, print)); - - if (canPrintParamsWithoutParens(n)) { - parts.push(path.call(print, "params", 0)); - } else { - parts.push( - group$1( - concat$2([ - printFunctionParams( - path, - print, - options, - args && (args.expandLastArg || args.expandFirstArg) - ), - printReturnType(path, print) - ]) - ) - ); - } - - parts.push(" =>"); - - const body = path.call(bodyPath => print(bodyPath, args), "body"); - const collapsed = concat$2([concat$2(parts), " ", body]); - - // We want to always keep these types of nodes on the same line - // as the arrow. - if ( - !hasLeadingOwnLineComment(options.originalText, n.body) && - (n.body.type === "ArrayExpression" || - n.body.type === "ObjectExpression" || - n.body.type === "BlockStatement" || - n.body.type === "SequenceExpression" || - isTemplateOnItsOwnLine(n.body, options.originalText) || - n.body.type === "ArrowFunctionExpression") - ) { - return group$1(collapsed); - } - - // if the arrow function is expanded as last argument, we are adding a - // level of indentation and need to add a softline to align the closing ) - // with the opening (. - const shouldAddSoftLine = args && args.expandLastArg; - - // In order to avoid confusion between - // a => a ? a : a - // a <= a ? a : a - const shouldAddParens = - n.body.type === "ConditionalExpression" && - !util$4.startsWithNoLookaheadToken( - n.body, - /* forbidFunctionAndClass */ false - ); - - return group$1( - concat$2([ - concat$2(parts), - group$1( - concat$2([ - indent$2( - concat$2([ - line$1, - shouldAddParens ? ifBreak$1("", "(") : "", - body, - shouldAddParens ? ifBreak$1("", ")") : "" - ]) - ), - shouldAddSoftLine - ? concat$2([ - ifBreak$1(shouldPrintComma(options, "all") ? "," : ""), - softline$1 - ]) - : "" - ]) - ) - ]) - ); - } case "MethodDefinition": case "TSAbstractMethodDefinition": if (n.accessibility) { @@ -3393,218 +3209,132 @@ function genericPrintNoParens(path, options, print, args) { case "ExportNamespaceSpecifier": case "ExportDefaultSpecifier": return path.call(print, "exported"); - case "ImportDeclaration": { - parts.push("import "); + case "ImportDeclaration": + { + parts.push("import "); - if (n.importKind && n.importKind !== "value") { - parts.push(n.importKind + " "); - } + if (n.importKind && n.importKind !== "value") { + parts.push(n.importKind + " "); + } - const standalones = []; - const grouped = []; - if (n.specifiers && n.specifiers.length > 0) { - path.each(specifierPath => { - const value = specifierPath.getValue(); - if ( - value.type === "ImportDefaultSpecifier" || - value.type === "ImportNamespaceSpecifier" - ) { - standalones.push(print(specifierPath)); - } else { - grouped.push(print(specifierPath)); + var standalones = []; + var grouped = []; + if (n.specifiers && n.specifiers.length > 0) { + path.each(function (specifierPath) { + var value = specifierPath.getValue(); + if (value.type === "ImportDefaultSpecifier" || value.type === "ImportNamespaceSpecifier") { + standalones.push(print(specifierPath)); + } else { + grouped.push(print(specifierPath)); + } + }, "specifiers"); + + if (standalones.length > 0) { + parts.push(join$2(", ", standalones)); } - }, "specifiers"); - if (standalones.length > 0) { - parts.push(join$2(", ", standalones)); + if (standalones.length > 0 && grouped.length > 0) { + parts.push(", "); + } + + if (grouped.length === 1 && n.specifiers && !n.specifiers.some(function (node) { + return node.comments; + })) { + parts.push(concat$2(["{", options.bracketSpacing ? " " : "", concat$2(grouped), options.bracketSpacing ? " " : "", "}"])); + } else if (grouped.length >= 1) { + parts.push(group$1(concat$2(["{", indent$2(concat$2([options.bracketSpacing ? line$1 : softline$1, join$2(concat$2([",", line$1]), grouped)])), ifBreak$1(shouldPrintComma(options) ? "," : ""), options.bracketSpacing ? line$1 : softline$1, "}"]))); + } + + parts.push(" ", "from "); + } else if (n.importKind && n.importKind === "type") { + parts.push("{} from "); } - if (standalones.length > 0 && grouped.length > 0) { - parts.push(", "); - } + parts.push(path.call(print, "source"), semi); - if ( - grouped.length === 1 && - n.specifiers && - !n.specifiers.some(node => node.comments) - ) { - parts.push( - concat$2([ - "{", - options.bracketSpacing ? " " : "", - concat$2(grouped), - options.bracketSpacing ? " " : "", - "}" - ]) - ); - } else if (grouped.length >= 1) { - parts.push( - group$1( - concat$2([ - "{", - indent$2( - concat$2([ - options.bracketSpacing ? line$1 : softline$1, - join$2(concat$2([",", line$1]), grouped) - ]) - ), - ifBreak$1(shouldPrintComma(options) ? "," : ""), - options.bracketSpacing ? line$1 : softline$1, - "}" - ]) - ) - ); - } - - parts.push(" ", "from "); - } else if (n.importKind && n.importKind === "type") { - parts.push("{} from "); + return concat$2(parts); } - parts.push(path.call(print, "source"), semi); - - return concat$2(parts); - } - case "Import": return "import"; - case "BlockStatement": { - const naked = path.call(bodyPath => { - return printStatementSequence(bodyPath, options, print); - }, "body"); + case "BlockStatement": + { + var naked = path.call(function (bodyPath) { + return printStatementSequence(bodyPath, options, print); + }, "body"); - const hasContent = n.body.find(node => node.type !== "EmptyStatement"); - const hasDirectives = n.directives && n.directives.length > 0; + var hasContent = n.body.find(function (node) { + return node.type !== "EmptyStatement"; + }); + var hasDirectives = n.directives && n.directives.length > 0; - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - if ( - !hasContent && - !hasDirectives && - !n.comments && - (parent.type === "ArrowFunctionExpression" || - parent.type === "FunctionExpression" || - parent.type === "FunctionDeclaration" || - parent.type === "ObjectMethod" || - parent.type === "ClassMethod" || - parent.type === "ForStatement" || - parent.type === "WhileStatement" || - parent.type === "DoWhileStatement" || - (parent.type === "CatchClause" && !parentParent.finalizer)) - ) { - return "{}"; + var _parent4 = path.getParentNode(); + var _parentParent = path.getParentNode(1); + if (!hasContent && !hasDirectives && !n.comments && (_parent4.type === "ArrowFunctionExpression" || _parent4.type === "FunctionExpression" || _parent4.type === "FunctionDeclaration" || _parent4.type === "ObjectMethod" || _parent4.type === "ClassMethod" || _parent4.type === "ForStatement" || _parent4.type === "WhileStatement" || _parent4.type === "DoWhileStatement" || _parent4.type === "CatchClause" && !_parentParent.finalizer)) { + return "{}"; + } + + parts.push("{"); + + // Babel 6 + if (hasDirectives) { + path.each(function (childPath) { + parts.push(indent$2(concat$2([hardline$2, print(childPath), semi]))); + }, "directives"); + } + + if (hasContent) { + parts.push(indent$2(concat$2([hardline$2, naked]))); + } + + parts.push(comments$3.printDanglingComments(path, options)); + parts.push(hardline$2, "}"); + + return concat$2(parts); } - - parts.push("{"); - - // Babel 6 - if (hasDirectives) { - path.each(childPath => { - parts.push(indent$2(concat$2([hardline$2, print(childPath), semi]))); - }, "directives"); - } - - if (hasContent) { - parts.push(indent$2(concat$2([hardline$2, naked]))); - } - - parts.push(comments$3.printDanglingComments(path, options)); - parts.push(hardline$2, "}"); - - return concat$2(parts); - } case "ReturnStatement": parts.push("return"); if (n.argument) { if (returnArgumentHasLeadingComment(options, n.argument)) { - parts.push( - concat$2([ - " (", - indent$2(concat$2([softline$1, path.call(print, "argument")])), - line$1, - ")" - ]) - ); - } else if ( - n.argument.type === "LogicalExpression" || - n.argument.type === "BinaryExpression" - ) { - parts.push( - group$1( - concat$2([ - ifBreak$1(" (", " "), - indent$2(concat$2([softline$1, path.call(print, "argument")])), - softline$1, - ifBreak$1(")") - ]) - ) - ); + parts.push(concat$2([" (", indent$2(concat$2([softline$1, path.call(print, "argument")])), line$1, ")"])); + } else if (n.argument.type === "LogicalExpression" || n.argument.type === "BinaryExpression") { + parts.push(group$1(concat$2([ifBreak$1(" (", " "), indent$2(concat$2([softline$1, path.call(print, "argument")])), softline$1, ifBreak$1(")")]))); } else { parts.push(" ", path.call(print, "argument")); } } if (hasDanglingComments(n)) { - parts.push( - " ", - comments$3.printDanglingComments(path, options, /* sameIndent */ true) - ); + parts.push(" ", comments$3.printDanglingComments(path, options, /* sameIndent */true)); } parts.push(semi); return concat$2(parts); - case "CallExpression": { - if ( + case "CallExpression": + { + if ( // We want to keep require calls as a unit - (n.callee.type === "Identifier" && n.callee.name === "require") || + n.callee.type === "Identifier" && n.callee.name === "require" || // Template literals as single arguments - (n.arguments.length === 1 && - isTemplateOnItsOwnLine(n.arguments[0], options.originalText)) || + n.arguments.length === 1 && isTemplateOnItsOwnLine(n.arguments[0], options.originalText) || // Keep test declarations on a single line // e.g. `it('long name', () => {` - (n.callee.type === "Identifier" && - (n.callee.name === "it" || - n.callee.name === "test" || - n.callee.name === "describe") && - n.arguments.length === 2 && - (n.arguments[0].type === "StringLiteral" || - n.arguments[0].type === "TemplateLiteral" || - (n.arguments[0].type === "Literal" && - typeof n.arguments[0].value === "string")) && - (n.arguments[1].type === "FunctionExpression" || - n.arguments[1].type === "ArrowFunctionExpression") && - n.arguments[1].params.length <= 1) - ) { - return concat$2([ - path.call(print, "callee"), - path.call(print, "typeParameters"), - concat$2(["(", join$2(", ", path.map(print, "arguments")), ")"]) - ]); - } + n.callee.type === "Identifier" && (n.callee.name === "it" || n.callee.name === "test" || n.callee.name === "describe") && n.arguments.length === 2 && (n.arguments[0].type === "StringLiteral" || n.arguments[0].type === "TemplateLiteral" || n.arguments[0].type === "Literal" && typeof n.arguments[0].value === "string") && (n.arguments[1].type === "FunctionExpression" || n.arguments[1].type === "ArrowFunctionExpression") && n.arguments[1].params.length <= 1) { + return concat$2([path.call(print, "callee"), path.call(print, "typeParameters"), concat$2(["(", join$2(", ", path.map(print, "arguments")), ")"])]); + } - // We detect calls on member lookups and possibly print them in a - // special chain format. See `printMemberChain` for more info. - if (n.callee.type === "MemberExpression") { - return printMemberChain(path, options, print); - } + // We detect calls on member lookups and possibly print them in a + // special chain format. See `printMemberChain` for more info. + if (n.callee.type === "MemberExpression") { + return printMemberChain(path, options, print); + } - return concat$2([ - path.call(print, "callee"), - printFunctionTypeParameters(path, options, print), - printArgumentsList(path, options, print) - ]); - } + return concat$2([path.call(print, "callee"), printFunctionTypeParameters(path, options, print), printArgumentsList(path, options, print)]); + } case "TSInterfaceDeclaration": - parts.push( - n.abstract ? "abstract " : "", - printTypeScriptModifiers(path, options, print), - "interface ", - path.call(print, "id"), - n.typeParameters ? path.call(print, "typeParameters") : "", - " " - ); + parts.push(n.abstract ? "abstract " : "", printTypeScriptModifiers(path, options, print), "interface ", path.call(print, "id"), n.typeParameters ? path.call(print, "typeParameters") : "", " "); if (n.heritage.length) { parts.push("extends ", join$2(", ", path.map(print, "heritage")), " "); @@ -3617,128 +3347,85 @@ function genericPrintNoParens(path, options, print, args) { case "ObjectPattern": case "ObjectTypeAnnotation": case "TSInterfaceBody": - case "TSTypeLiteral": { - const isTypeAnnotation = n.type === "ObjectTypeAnnotation"; - const shouldBreak = - n.type !== "ObjectPattern" && - util$4.hasNewlineInRange( - options.originalText, - util$4.locStart(n), - util$4.locEnd(n) - ); - const separator = n.type === "TSInterfaceBody" || - n.type === "TSTypeLiteral" - ? shouldBreak ? semi : ";" - : ","; - const fields = []; - const leftBrace = n.exact ? "{|" : "{"; - const rightBrace = n.exact ? "|}" : "}"; - const parent = path.getParentNode(0); + case "TSTypeLiteral": + { + var isTypeAnnotation = n.type === "ObjectTypeAnnotation"; + var shouldBreak = n.type !== "ObjectPattern" && util$4.hasNewlineInRange(options.originalText, util$4.locStart(n), util$4.locEnd(n)); + var separator = n.type === "TSInterfaceBody" || n.type === "TSTypeLiteral" ? shouldBreak ? semi : ";" : ","; + var fields = []; + var leftBrace = n.exact ? "{|" : "{"; + var rightBrace = n.exact ? "|}" : "}"; + var _parent5 = path.getParentNode(0); - let propertiesField; + var propertiesField = void 0; - if (n.type === "TSTypeLiteral") { - propertiesField = "members"; - } else if (n.type === "TSInterfaceBody") { - propertiesField = "body"; - } else { - propertiesField = "properties"; - } - - if (isTypeAnnotation) { - fields.push("indexers", "callProperties"); - } - fields.push(propertiesField); - - // Unfortunately, things are grouped together in the ast can be - // interleaved in the source code. So we need to reorder them before - // printing them. - const propsAndLoc = []; - fields.forEach(field => { - path.each(childPath => { - const node = childPath.getValue(); - propsAndLoc.push({ - node: node, - printed: print(childPath), - loc: util$4.locStart(node) - }); - }, field); - }); - - let separatorParts = []; - const props = propsAndLoc.sort((a, b) => a.loc - b.loc).map(prop => { - const result = concat$2(separatorParts.concat(group$1(prop.printed))); - separatorParts = [separator, line$1]; - if (util$4.isNextLineEmpty(options.originalText, prop.node)) { - separatorParts.push(hardline$2); - } - return result; - }); - - const lastElem = util$4.getLast(n[propertiesField]); - - const canHaveTrailingSeparator = !( - lastElem && - (lastElem.type === "RestProperty" || lastElem.type === "RestElement") - ); - - let content; - if (props.length === 0 && !n.typeAnnotation) { - if (!hasDanglingComments(n)) { - return concat$2([leftBrace, rightBrace]); + if (n.type === "TSTypeLiteral") { + propertiesField = "members"; + } else if (n.type === "TSInterfaceBody") { + propertiesField = "body"; + } else { + propertiesField = "properties"; } - content = group$1( - concat$2([ - leftBrace, - comments$3.printDanglingComments(path, options), - softline$1, - rightBrace - ]) - ); - } else { - content = concat$2([ - leftBrace, - indent$2( - concat$2([options.bracketSpacing ? line$1 : softline$1, concat$2(props)]) - ), - ifBreak$1( - canHaveTrailingSeparator && - (separator !== "," || shouldPrintComma(options)) - ? separator - : "" - ), - concat$2([options.bracketSpacing ? line$1 : softline$1, rightBrace]), - n.typeAnnotation ? ": " : "", - path.call(print, "typeAnnotation") - ]); - } + if (isTypeAnnotation) { + fields.push("indexers", "callProperties"); + } + fields.push(propertiesField); - // If we inline the object as first argument of the parent, we don't want - // to create another group so that the object breaks before the return - // type - const parentParentParent = path.getParentNode(2); - if ( - (n.type === "ObjectPattern" && - parent && - shouldHugArguments(parent) && - parent.params[0] === n) || - (shouldHugType(n) && - parentParentParent && - shouldHugArguments(parentParentParent) && - parentParentParent.params[0].typeAnnotation.typeAnnotation === n) - ) { - return content; - } + // Unfortunately, things are grouped together in the ast can be + // interleaved in the source code. So we need to reorder them before + // printing them. + var propsAndLoc = []; + fields.forEach(function (field) { + path.each(function (childPath) { + var node = childPath.getValue(); + propsAndLoc.push({ + node: node, + printed: print(childPath), + loc: util$4.locStart(node) + }); + }, field); + }); - return group$1(content, { shouldBreak }); - } + var separatorParts = []; + var props = propsAndLoc.sort(function (a, b) { + return a.loc - b.loc; + }).map(function (prop) { + var result = concat$2(separatorParts.concat(group$1(prop.printed))); + separatorParts = [separator, line$1]; + if (util$4.isNextLineEmpty(options.originalText, prop.node)) { + separatorParts.push(hardline$2); + } + return result; + }); + + var lastElem = util$4.getLast(n[propertiesField]); + + var canHaveTrailingSeparator = !(lastElem && (lastElem.type === "RestProperty" || lastElem.type === "RestElement")); + + var content = void 0; + if (props.length === 0 && !n.typeAnnotation) { + if (!hasDanglingComments(n)) { + return concat$2([leftBrace, rightBrace]); + } + + content = group$1(concat$2([leftBrace, comments$3.printDanglingComments(path, options), softline$1, rightBrace])); + } else { + content = concat$2([leftBrace, indent$2(concat$2([options.bracketSpacing ? line$1 : softline$1, concat$2(props)])), ifBreak$1(canHaveTrailingSeparator && (separator !== "," || shouldPrintComma(options)) ? separator : ""), concat$2([options.bracketSpacing ? line$1 : softline$1, rightBrace]), n.typeAnnotation ? ": " : "", path.call(print, "typeAnnotation")]); + } + + // If we inline the object as first argument of the parent, we don't want + // to create another group so that the object breaks before the return + // type + var parentParentParent = path.getParentNode(2); + if (n.type === "ObjectPattern" && _parent5 && shouldHugArguments(_parent5) && _parent5.params[0] === n || shouldHugType(n) && parentParentParent && shouldHugArguments(parentParentParent) && parentParentParent.params[0].typeAnnotation.typeAnnotation === n) { + return content; + } + + return group$1(content, { shouldBreak: shouldBreak }); + } case "PropertyPattern": - return concat$2([ - path.call(print, "key"), - ": ", - path.call(print, "pattern") - ]); + return concat$2([path.call(print, "key"), ": ", path.call(print, "pattern")]); // Babel 6 case "ObjectProperty": // Non-standard AST node type. case "Property": @@ -3749,22 +3436,13 @@ function genericPrintNoParens(path, options, print, args) { if (n.shorthand) { parts.push(path.call(print, "value")); } else { - let printedLeft; + var printedLeft = void 0; if (n.computed) { printedLeft = concat$2(["[", path.call(print, "key"), "]"]); } else { printedLeft = printPropertyKey(path, options, print); } - parts.push( - printAssignment( - n.key, - printedLeft, - ":", - n.value, - path.call(print, "value"), - options - ) - ); + parts.push(printAssignment(n.key, printedLeft, ":", n.value, path.call(print, "value"), options)); } return concat$2(parts); // Babel 6 @@ -3787,22 +3465,11 @@ function genericPrintNoParens(path, options, print, args) { if (!hasDanglingComments(n)) { parts.push("[]"); } else { - parts.push( - group$1( - concat$2([ - "[", - comments$3.printDanglingComments(path, options), - softline$1, - "]" - ]) - ) - ); + parts.push(group$1(concat$2(["[", comments$3.printDanglingComments(path, options), softline$1, "]"]))); } } else { - const lastElem = util$4.getLast(n.elements); - const canHaveTrailingComma = !( - lastElem && lastElem.type === "RestElement" - ); + var _lastElem = util$4.getLast(n.elements); + var canHaveTrailingComma = !(_lastElem && _lastElem.type === "RestElement"); // JavaScript allows you to have empty elements in an array which // changes its length based on the number of commas. The algorithm @@ -3814,37 +3481,10 @@ function genericPrintNoParens(path, options, print, args) { // // Note that util.getLast returns null if the array is empty, but // we already check for an empty array just above so we are safe - const needsForcedTrailingComma = - canHaveTrailingComma && lastElem === null; + var needsForcedTrailingComma = canHaveTrailingComma && _lastElem === null; - parts.push( - group$1( - concat$2([ - "[", - indent$2( - concat$2([ - softline$1, - printArrayItems(path, options, "elements", print) - ]) - ), - needsForcedTrailingComma ? "," : "", - ifBreak$1( - canHaveTrailingComma && - !needsForcedTrailingComma && - shouldPrintComma(options) - ? "," - : "" - ), - comments$3.printDanglingComments( - path, - options, - /* sameIndent */ true - ), - softline$1, - "]" - ]) - ) - ); + parts.push(group$1(concat$2(["[", indent$2(concat$2([softline$1, printArrayItems(path, options, "elements", print)])), needsForcedTrailingComma ? "," : "", ifBreak$1(canHaveTrailingComma && !needsForcedTrailingComma && shouldPrintComma(options) ? "," : ""), comments$3.printDanglingComments(path, options, + /* sameIndent */true), softline$1, "]"]))); } if (n.typeAnnotation) { @@ -3852,37 +3492,28 @@ function genericPrintNoParens(path, options, print, args) { } return concat$2(parts); - case "SequenceExpression": { - const parent = path.getParentNode(); - const shouldInline = - parent.type === "ReturnStatement" || - parent.type === "ForStatement" || - parent.type === "ExpressionStatement"; + case "SequenceExpression": + { + var _parent6 = path.getParentNode(); + var _shouldInline = _parent6.type === "ReturnStatement" || _parent6.type === "ForStatement" || _parent6.type === "ExpressionStatement"; - if (shouldInline) { - return join$2(", ", path.map(print, "expressions")); + if (_shouldInline) { + return join$2(", ", path.map(print, "expressions")); + } + return group$1(concat$2([indent$2(concat$2([softline$1, join$2(concat$2([",", line$1]), path.map(print, "expressions"))])), softline$1])); } - return group$1( - concat$2([ - indent$2( - concat$2([ - softline$1, - join$2(concat$2([",", line$1]), path.map(print, "expressions")) - ]) - ), - softline$1 - ]) - ); - } case "ThisExpression": return "this"; case "Super": return "super"; - case "NullLiteral": // Babel 6 Literal split + case "NullLiteral": + // Babel 6 Literal split return "null"; - case "RegExpLiteral": // Babel 6 Literal split + case "RegExpLiteral": + // Babel 6 Literal split return printRegex(n); - case "NumericLiteral": // Babel 6 Literal split + case "NumericLiteral": + // Babel 6 Literal split return printNumber(n.extra.raw); case "BooleanLiteral": // Babel 6 Literal split case "StringLiteral": // Babel 6 Literal split @@ -3927,245 +3558,121 @@ function genericPrintNoParens(path, options, print, args) { } return concat$2(parts); - case "ConditionalExpression": { - const parent = path.getParentNode(); - const printed = concat$2([ - line$1, - "? ", - n.consequent.type === "ConditionalExpression" ? ifBreak$1("", "(") : "", - align$1(2, path.call(print, "consequent")), - n.consequent.type === "ConditionalExpression" ? ifBreak$1("", ")") : "", - line$1, - ": ", - align$1(2, path.call(print, "alternate")) - ]); + case "ConditionalExpression": + { + var _parent7 = path.getParentNode(); + var printed = concat$2([line$1, "? ", n.consequent.type === "ConditionalExpression" ? ifBreak$1("", "(") : "", align$1(2, path.call(print, "consequent")), n.consequent.type === "ConditionalExpression" ? ifBreak$1("", ")") : "", line$1, ": ", align$1(2, path.call(print, "alternate"))]); - return group$1( - concat$2([ - path.call(print, "test"), - parent.type === "ConditionalExpression" ? printed : indent$2(printed) - ]) - ); - } + return group$1(concat$2([path.call(print, "test"), _parent7.type === "ConditionalExpression" ? printed : indent$2(printed)])); + } case "NewExpression": - parts.push( - "new ", - path.call(print, "callee"), - printFunctionTypeParameters(path, options, print) - ); + parts.push("new ", path.call(print, "callee"), printFunctionTypeParameters(path, options, print)); if (n.arguments) { parts.push(printArgumentsList(path, options, print)); } return concat$2(parts); - case "VariableDeclaration": { - const printed = path.map(childPath => { - return print(childPath); - }, "declarations"); + case "VariableDeclaration": + { + var _printed = path.map(function (childPath) { + return print(childPath); + }, "declarations"); - // We generally want to terminate all variable declarations with a - // semicolon, except when they in the () part of for loops. - const parentNode = path.getParentNode(); + // We generally want to terminate all variable declarations with a + // semicolon, except when they in the () part of for loops. + var _parentNode = path.getParentNode(); - const isParentForLoop = - parentNode.type === "ForStatement" || - parentNode.type === "ForInStatement" || - parentNode.type === "ForOfStatement" || - parentNode.type === "ForAwaitStatement"; + var isParentForLoop = _parentNode.type === "ForStatement" || _parentNode.type === "ForInStatement" || _parentNode.type === "ForOfStatement" || _parentNode.type === "ForAwaitStatement"; - const hasValue = n.declarations.some(decl => decl.init); + var hasValue = n.declarations.some(function (decl) { + return decl.init; + }); - parts = [ - isNodeStartingWithDeclare(n, options) ? "declare " : "", - n.kind, - printed.length ? concat$2([" ", printed[0]]) : "", - indent$2( - concat$2( - printed - .slice(1) - .map(p => - concat$2([",", hasValue && !isParentForLoop ? hardline$2 : line$1, p]) - ) - ) - ) - ]; + parts = [isNodeStartingWithDeclare(n, options) ? "declare " : "", n.kind, _printed.length ? concat$2([" ", _printed[0]]) : "", indent$2(concat$2(_printed.slice(1).map(function (p) { + return concat$2([",", hasValue && !isParentForLoop ? hardline$2 : line$1, p]); + })))]; - if (!(isParentForLoop && parentNode.body !== n)) { - parts.push(semi); - } - - return group$1(concat$2(parts)); - } - case "VariableDeclarator": - return printAssignment( - n.id, - concat$2([path.call(print, "id"), path.call(print, "typeParameters")]), - " =", - n.init, - n.init && path.call(print, "init"), - options - ); - case "WithStatement": - return group$1( - concat$2([ - "with (", - path.call(print, "object"), - ")", - adjustClause(n.body, path.call(print, "body")) - ]) - ); - case "IfStatement": { - const con = adjustClause(n.consequent, path.call(print, "consequent")); - const opening = group$1( - concat$2([ - "if (", - group$1( - concat$2([ - indent$2(concat$2([softline$1, path.call(print, "test")])), - softline$1 - ]) - ), - ")", - con - ]) - ); - - parts.push(opening); - - if (n.alternate) { - if (n.consequent.type === "BlockStatement") { - parts.push(" else"); - } else { - parts.push(hardline$2, "else"); + if (!(isParentForLoop && _parentNode.body !== n)) { + parts.push(semi); } - parts.push( - group$1( - adjustClause( - n.alternate, - path.call(print, "alternate"), - n.alternate.type === "IfStatement" - ) - ) - ); + return group$1(concat$2(parts)); } + case "VariableDeclarator": + return printAssignment(n.id, concat$2([path.call(print, "id"), path.call(print, "typeParameters")]), " =", n.init, n.init && path.call(print, "init"), options); + case "WithStatement": + return group$1(concat$2(["with (", path.call(print, "object"), ")", adjustClause(n.body, path.call(print, "body"))])); + case "IfStatement": + { + var con = adjustClause(n.consequent, path.call(print, "consequent")); + var opening = group$1(concat$2(["if (", group$1(concat$2([indent$2(concat$2([softline$1, path.call(print, "test")])), softline$1])), ")", con])); - return concat$2(parts); - } - case "ForStatement": { - const body = adjustClause(n.body, path.call(print, "body")); + parts.push(opening); - // We want to keep dangling comments above the loop to stay consistent. - // Any comment positioned between the for statement and the parentheses - // is going to be printed before the statement. - const dangling = comments$3.printDanglingComments( - path, - options, - /* sameLine */ true - ); - const printedComments = dangling ? concat$2([dangling, softline$1]) : ""; + if (n.alternate) { + if (n.consequent.type === "BlockStatement") { + parts.push(" else"); + } else { + parts.push(hardline$2, "else"); + } - if (!n.init && !n.test && !n.update) { - return concat$2([printedComments, group$1(concat$2(["for (;;)", body]))]); + parts.push(group$1(adjustClause(n.alternate, path.call(print, "alternate"), n.alternate.type === "IfStatement"))); + } + + return concat$2(parts); } + case "ForStatement": + { + var _body = adjustClause(n.body, path.call(print, "body")); - return concat$2([ - printedComments, - group$1( - concat$2([ - "for (", - group$1( - concat$2([ - indent$2( - concat$2([ - softline$1, - path.call(print, "init"), - ";", - line$1, - path.call(print, "test"), - ";", - line$1, - path.call(print, "update") - ]) - ), - softline$1 - ]) - ), - ")", - body - ]) - ) - ]); - } + // We want to keep dangling comments above the loop to stay consistent. + // Any comment positioned between the for statement and the parentheses + // is going to be printed before the statement. + var dangling = comments$3.printDanglingComments(path, options, + /* sameLine */true); + var printedComments = dangling ? concat$2([dangling, softline$1]) : ""; + + if (!n.init && !n.test && !n.update) { + return concat$2([printedComments, group$1(concat$2(["for (;;)", _body]))]); + } + + return concat$2([printedComments, group$1(concat$2(["for (", group$1(concat$2([indent$2(concat$2([softline$1, path.call(print, "init"), ";", line$1, path.call(print, "test"), ";", line$1, path.call(print, "update")])), softline$1])), ")", _body]))]); + } case "WhileStatement": - return group$1( - concat$2([ - "while (", - group$1( - concat$2([ - indent$2(concat$2([softline$1, path.call(print, "test")])), - softline$1 - ]) - ), - ")", - adjustClause(n.body, path.call(print, "body")) - ]) - ); + return group$1(concat$2(["while (", group$1(concat$2([indent$2(concat$2([softline$1, path.call(print, "test")])), softline$1])), ")", adjustClause(n.body, path.call(print, "body"))])); case "ForInStatement": // Note: esprima can't actually parse "for each (". - return group$1( - concat$2([ - n.each ? "for each (" : "for (", - path.call(print, "left"), - " in ", - path.call(print, "right"), - ")", - adjustClause(n.body, path.call(print, "body")) - ]) - ); + return group$1(concat$2([n.each ? "for each (" : "for (", path.call(print, "left"), " in ", path.call(print, "right"), ")", adjustClause(n.body, path.call(print, "body"))])); case "ForOfStatement": - case "ForAwaitStatement": { - // Babylon 7 removed ForAwaitStatement in favor of ForOfStatement - // with `"await": true`: - // https://github.com/estree/estree/pull/138 - const isAwait = n.type === "ForAwaitStatement" || n.await; + case "ForAwaitStatement": + { + // Babylon 7 removed ForAwaitStatement in favor of ForOfStatement + // with `"await": true`: + // https://github.com/estree/estree/pull/138 + var isAwait = n.type === "ForAwaitStatement" || n.await; - return group$1( - concat$2([ - "for", - isAwait ? " await" : "", - " (", - path.call(print, "left"), - " of ", - path.call(print, "right"), - ")", - adjustClause(n.body, path.call(print, "body")) - ]) - ); - } - - case "DoWhileStatement": { - const clause = adjustClause(n.body, path.call(print, "body")); - const doBody = group$1(concat$2(["do", clause])); - parts = [doBody]; - - if (n.body.type === "BlockStatement") { - parts.push(" "); - } else { - parts.push(hardline$2); + return group$1(concat$2(["for", isAwait ? " await" : "", " (", path.call(print, "left"), " of ", path.call(print, "right"), ")", adjustClause(n.body, path.call(print, "body"))])); } - parts.push("while ("); - parts.push( - group$1(concat$2([indent$2(softline$1), path.call(print, "test"), softline$1])), - ")", - semi - ); + case "DoWhileStatement": + { + var clause = adjustClause(n.body, path.call(print, "body")); + var doBody = group$1(concat$2(["do", clause])); + parts = [doBody]; - return concat$2(parts); - } + if (n.body.type === "BlockStatement") { + parts.push(" "); + } else { + parts.push(hardline$2); + } + parts.push("while ("); + + parts.push(group$1(concat$2([indent$2(softline$1), path.call(print, "test"), softline$1])), ")", semi); + + return concat$2(parts); + } case "DoExpression": return concat$2(["do ", path.call(print, "body")]); case "BreakStatement": @@ -4193,18 +3700,14 @@ function genericPrintNoParens(path, options, print, args) { return concat$2([path.call(print, "label"), ":;"]); } - return concat$2([ - path.call(print, "label"), - ": ", - path.call(print, "body") - ]); + return concat$2([path.call(print, "label"), ": ", path.call(print, "body")]); case "TryStatement": parts.push("try ", path.call(print, "block")); if (n.handler) { parts.push(" ", path.call(print, "handler")); } else if (n.handlers) { - path.each(handlerPath => { + path.each(function (handlerPath) { parts.push(" ", print(handlerPath)); }, "handlers"); } @@ -4229,71 +3732,40 @@ function genericPrintNoParens(path, options, print, args) { return concat$2(["throw ", path.call(print, "argument"), semi]); // Note: ignoring n.lexical because it has no printing consequences. case "SwitchStatement": - return concat$2([ - "switch (", - path.call(print, "discriminant"), - ") {", - n.cases.length > 0 - ? indent$2( - concat$2([ - hardline$2, - join$2( - hardline$2, - path.map(casePath => { - const caseNode = casePath.getValue(); - return concat$2([ - casePath.call(print), - n.cases.indexOf(caseNode) !== n.cases.length - 1 && - util$4.isNextLineEmpty(options.originalText, caseNode) - ? hardline$2 - : "" - ]); - }, "cases") - ) - ]) - ) - : "", - hardline$2, - "}" - ]); - case "SwitchCase": { - if (n.test) { - parts.push("case ", path.call(print, "test"), ":"); - } else { - parts.push("default:"); + return concat$2(["switch (", path.call(print, "discriminant"), ") {", n.cases.length > 0 ? indent$2(concat$2([hardline$2, join$2(hardline$2, path.map(function (casePath) { + var caseNode = casePath.getValue(); + return concat$2([casePath.call(print), n.cases.indexOf(caseNode) !== n.cases.length - 1 && util$4.isNextLineEmpty(options.originalText, caseNode) ? hardline$2 : ""]); + }, "cases"))])) : "", hardline$2, "}"]); + case "SwitchCase": + { + if (n.test) { + parts.push("case ", path.call(print, "test"), ":"); + } else { + parts.push("default:"); + } + + var consequent = n.consequent.filter(function (node) { + return node.type !== "EmptyStatement"; + }); + + if (consequent.length > 0) { + var cons = path.call(function (consequentPath) { + return join$2(hardline$2, consequentPath.map(function (p, i) { + if (n.consequent[i].type === "EmptyStatement") { + return null; + } + var shouldAddLine = i !== n.consequent.length - 1 && util$4.isNextLineEmpty(options.originalText, p.getValue()); + return concat$2([print(p), shouldAddLine ? hardline$2 : ""]); + }).filter(function (e) { + return e !== null; + })); + }, "consequent"); + + parts.push(consequent.length === 1 && consequent[0].type === "BlockStatement" ? concat$2([" ", cons]) : indent$2(concat$2([hardline$2, cons]))); + } + + return concat$2(parts); } - - const consequent = n.consequent.filter( - node => node.type !== "EmptyStatement" - ); - - if (consequent.length > 0) { - const cons = path.call(consequentPath => { - return join$2( - hardline$2, - consequentPath - .map((p, i) => { - if (n.consequent[i].type === "EmptyStatement") { - return null; - } - const shouldAddLine = - i !== n.consequent.length - 1 && - util$4.isNextLineEmpty(options.originalText, p.getValue()); - return concat$2([print(p), shouldAddLine ? hardline$2 : ""]); - }) - .filter(e => e !== null) - ); - }, "consequent"); - - parts.push( - consequent.length === 1 && consequent[0].type === "BlockStatement" - ? concat$2([" ", cons]) - : indent$2(concat$2([hardline$2, cons])) - ); - } - - return concat$2(parts); - } // JSX extensions below. case "DebuggerStatement": return concat$2(["debugger", semi]); @@ -4301,9 +3773,9 @@ function genericPrintNoParens(path, options, print, args) { parts.push(path.call(print, "name")); if (n.value) { - let res; + var res = void 0; if (isStringLiteral(n.value)) { - const value = n.value.extra ? n.value.extra.raw : n.value.raw; + var value = n.value.extra ? n.value.extra.raw : n.value.raw; res = '"' + value.slice(1, -1).replace(/"/g, """) + '"'; } else { res = path.call(print, "value"); @@ -4320,191 +3792,110 @@ function genericPrintNoParens(path, options, print, args) { } return "" + n.name; case "JSXNamespacedName": - return join$2(":", [ - path.call(print, "namespace"), - path.call(print, "name") - ]); + return join$2(":", [path.call(print, "namespace"), path.call(print, "name")]); case "JSXMemberExpression": - return join$2(".", [ - path.call(print, "object"), - path.call(print, "property") - ]); + return join$2(".", [path.call(print, "object"), path.call(print, "property")]); case "TSQualifiedName": return join$2(".", [path.call(print, "left"), path.call(print, "right")]); case "JSXSpreadAttribute": return concat$2(["{...", path.call(print, "argument"), "}"]); - case "JSXExpressionContainer": { - const parent = path.getParentNode(0); + case "JSXExpressionContainer": + { + var _parent8 = path.getParentNode(0); - const shouldInline = - n.expression.type === "ArrayExpression" || - n.expression.type === "ObjectExpression" || - n.expression.type === "ArrowFunctionExpression" || - n.expression.type === "CallExpression" || - n.expression.type === "FunctionExpression" || - n.expression.type === "JSXEmptyExpression" || - n.expression.type === "TemplateLiteral" || - n.expression.type === "TaggedTemplateExpression" || - (parent.type === "JSXElement" && - (n.expression.type === "ConditionalExpression" || - isBinaryish(n.expression))); + var _shouldInline2 = n.expression.type === "ArrayExpression" || n.expression.type === "ObjectExpression" || n.expression.type === "ArrowFunctionExpression" || n.expression.type === "CallExpression" || n.expression.type === "FunctionExpression" || n.expression.type === "JSXEmptyExpression" || n.expression.type === "TemplateLiteral" || n.expression.type === "TaggedTemplateExpression" || _parent8.type === "JSXElement" && (n.expression.type === "ConditionalExpression" || isBinaryish(n.expression)); - if (shouldInline) { - return group$1( - concat$2(["{", path.call(print, "expression"), lineSuffixBoundary$1, "}"]) - ); + if (_shouldInline2) { + return group$1(concat$2(["{", path.call(print, "expression"), lineSuffixBoundary$1, "}"])); + } + + return group$1(concat$2(["{", indent$2(concat$2([softline$1, path.call(print, "expression")])), softline$1, lineSuffixBoundary$1, "}"])); } - - return group$1( - concat$2([ - "{", - indent$2(concat$2([softline$1, path.call(print, "expression")])), - softline$1, - lineSuffixBoundary$1, - "}" - ]) - ); - } - case "JSXElement": { - const elem = comments$3.printComments( - path, - () => printJSXElement(path, options, print), - options - ); - return maybeWrapJSXElementInParens(path, elem); - } - case "JSXOpeningElement": { - const n = path.getValue(); - - // don't break up opening elements with a single long text attribute - if ( - n.attributes.length === 1 && - n.attributes[0].value && - isStringLiteral(n.attributes[0].value) - ) { - return group$1( - concat$2([ - "<", - path.call(print, "name"), - " ", - concat$2(path.map(print, "attributes")), - n.selfClosing ? " />" : ">" - ]) - ); + case "JSXElement": + { + var elem = comments$3.printComments(path, function () { + return printJSXElement(path, options, print); + }, options); + return maybeWrapJSXElementInParens(path, elem); } + case "JSXOpeningElement": + { + var _n2 = path.getValue(); - return group$1( - concat$2([ - "<", - path.call(print, "name"), - concat$2([ - indent$2( - concat$2( - path.map(attr => concat$2([line$1, print(attr)]), "attributes") - ) - ), - n.selfClosing ? line$1 : options.jsxBracketSameLine ? ">" : softline$1 - ]), - n.selfClosing ? "/>" : options.jsxBracketSameLine ? "" : ">" - ]) - ); - } + // don't break up opening elements with a single long text attribute + if (_n2.attributes.length === 1 && _n2.attributes[0].value && isStringLiteral(_n2.attributes[0].value)) { + return group$1(concat$2(["<", path.call(print, "name"), " ", concat$2(path.map(print, "attributes")), _n2.selfClosing ? " />" : ">"])); + } + + return group$1(concat$2(["<", path.call(print, "name"), concat$2([indent$2(concat$2(path.map(function (attr) { + return concat$2([line$1, print(attr)]); + }, "attributes"))), _n2.selfClosing ? line$1 : options.jsxBracketSameLine ? ">" : softline$1]), _n2.selfClosing ? "/>" : options.jsxBracketSameLine ? "" : ">"])); + } case "JSXClosingElement": return concat$2([""]); case "JSXText": throw new Error("JSXTest should be handled by JSXElement"); - case "JSXEmptyExpression": { - const requiresHardline = - n.comments && !n.comments.every(util$4.isBlockComment); + case "JSXEmptyExpression": + { + var requiresHardline = n.comments && !n.comments.every(util$4.isBlockComment); - return concat$2([ - comments$3.printDanglingComments( - path, - options, - /* sameIndent */ !requiresHardline - ), - requiresHardline ? hardline$2 : "" - ]); - } + return concat$2([comments$3.printDanglingComments(path, options, + /* sameIndent */!requiresHardline), requiresHardline ? hardline$2 : ""]); + } case "TypeAnnotatedIdentifier": - return concat$2([ - path.call(print, "annotation"), - " ", - path.call(print, "identifier") - ]); + return concat$2([path.call(print, "annotation"), " ", path.call(print, "identifier")]); case "ClassBody": if (!n.comments && n.body.length === 0) { return "{}"; } - return concat$2([ - "{", - n.body.length > 0 - ? indent$2( - concat$2([ - hardline$2, - path.call(bodyPath => { - return printStatementSequence(bodyPath, options, print); - }, "body") - ]) - ) - : comments$3.printDanglingComments(path, options), - hardline$2, - "}" - ]); + return concat$2(["{", n.body.length > 0 ? indent$2(concat$2([hardline$2, path.call(function (bodyPath) { + return printStatementSequence(bodyPath, options, print); + }, "body")])) : comments$3.printDanglingComments(path, options), hardline$2, "}"]); case "ClassPropertyDefinition": parts.push("static ", path.call(print, "definition")); - if ( - n.definition.type !== "MethodDefinition" && - n.definition.type !== "TSAbstractMethodDefinition" - ) { + if (n.definition.type !== "MethodDefinition" && n.definition.type !== "TSAbstractMethodDefinition") { parts.push(semi); } return concat$2(parts); case "ClassProperty": - case "TSAbstractClassProperty": { - const variance = getFlowVariance(n); - if (variance) { - parts.push(variance); - } - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - if (n.static) { - parts.push("static "); - } - if (n.type === "TSAbstractClassProperty") { - parts.push("abstract "); - } - if (n.readonly) { - parts.push("readonly "); - } - if (n.computed) { - parts.push("[", path.call(print, "key"), "]"); - } else { - parts.push(printPropertyKey(path, options, print)); - } - if (n.typeAnnotation) { - parts.push(": ", path.call(print, "typeAnnotation")); - } - if (n.value) { - parts.push( - " =", - printAssignmentRight( - n.value, - path.call(print, "value"), - false, // canBreak - options - ) - ); - } + case "TSAbstractClassProperty": + { + var variance = getFlowVariance(n); + if (variance) { + parts.push(variance); + } + if (n.accessibility) { + parts.push(n.accessibility + " "); + } + if (n.static) { + parts.push("static "); + } + if (n.type === "TSAbstractClassProperty") { + parts.push("abstract "); + } + if (n.readonly) { + parts.push("readonly "); + } + if (n.computed) { + parts.push("[", path.call(print, "key"), "]"); + } else { + parts.push(printPropertyKey(path, options, print)); + } + if (n.typeAnnotation) { + parts.push(": ", path.call(print, "typeAnnotation")); + } + if (n.value) { + parts.push(" =", printAssignmentRight(n.value, path.call(print, "value"), false, // canBreak + options)); + } - parts.push(semi); + parts.push(semi); - return concat$2(parts); - } + return concat$2(parts); + } case "ClassDeclaration": case "ClassExpression": case "TSAbstractClassDeclaration": @@ -4524,56 +3915,78 @@ function genericPrintNoParens(path, options, print, args) { case "TSHeritageClause": return join$2(", ", path.map(print, "types")); case "TSExpressionWithTypeArguments": - return concat$2([ - path.call(print, "expression"), - printTypeParameters(path, options, print, "typeArguments") - ]); + return concat$2([path.call(print, "expression"), printTypeParameters(path, options, print, "typeArguments")]); case "TemplateElement": return join$2(literalline$1, n.value.raw.split(/\r?\n/g)); - case "TemplateLiteral": { - const expressions = path.map(print, "expressions"); + case "TemplateLiteral": + { + var _parent9 = path.getParentNode(); + var _parentParent2 = path.getParentNode(1); + var isCSS = n.quasis && n.quasis.length === 1 && _parent9.type === "JSXExpressionContainer" && _parentParent2.type === "JSXElement" && _parentParent2.openingElement.name.name === "style" && _parentParent2.openingElement.attributes.some(function (attribute) { + return attribute.name.name === "jsx"; + }); - parts.push("`"); + if (isCSS) { + var parseCss = eval("require")("./parser-postcss"); + var newOptions = Object.assign({}, options, { parser: "postcss" }); + var text = n.quasis[0].value.raw; + try { + var _ast = parseCss(text, newOptions); + var subtree = printAstToDoc$1(_ast, newOptions); - path.each(childPath => { - const i = childPath.getName(); + // HACK remove ending hardline + assert$1.ok(subtree.type === "concat" && subtree.parts[0].type === "concat" && subtree.parts[0].parts.length === 2 && subtree.parts[0].parts[1] === hardline$2); + subtree = subtree.parts[0].parts[0]; - parts.push(print(childPath)); - - if (i < expressions.length) { - // For a template literal of the following form: - // `someQuery { - // ${call({ - // a, - // b, - // })} - // }` - // the expression is on its own line (there is a \n in the previous - // quasi literal), therefore we want to indent the JavaScript - // expression inside at the beginning of ${ instead of the beginning - // of the `. - let size = 0; - const value = childPath.getValue().value.raw; - const index = value.lastIndexOf("\n"); - const tabWidth = options.tabWidth; - if (index !== -1) { - size = util$4.getAlignmentSize( - // All the leading whitespaces - value.slice(index + 1).match(/^[ \t]*/)[0], - tabWidth - ); + parts.push("`", indent$2(concat$2([line$1, subtree])), line$1, "`"); + return group$1(concat$2(parts)); + } catch (error) { + // If CSS parsing (or printing) failed + // we give up and just print the TemplateElement as usual } - - const aligned = addAlignmentToDoc$1(expressions[i], size, tabWidth); - - parts.push("${", aligned, lineSuffixBoundary$1, "}"); } - }, "quasis"); - parts.push("`"); + var expressions = path.map(print, "expressions"); - return concat$2(parts); - } + parts.push("`"); + + path.each(function (childPath) { + var i = childPath.getName(); + + parts.push(print(childPath)); + + if (i < expressions.length) { + // For a template literal of the following form: + // `someQuery { + // ${call({ + // a, + // b, + // })} + // }` + // the expression is on its own line (there is a \n in the previous + // quasi literal), therefore we want to indent the JavaScript + // expression inside at the beginning of ${ instead of the beginning + // of the `. + var size = 0; + var _value = childPath.getValue().value.raw; + var _index = _value.lastIndexOf("\n"); + var tabWidth = options.tabWidth; + if (_index !== -1) { + size = util$4.getAlignmentSize( + // All the leading whitespaces + _value.slice(_index + 1).match(/^[ \t]*/)[0], tabWidth); + } + + var aligned = addAlignmentToDoc$1(expressions[i], size, tabWidth); + + parts.push("${", aligned, lineSuffixBoundary$1, "}"); + } + }, "quasis"); + + parts.push("`"); + + return concat$2(parts); + } // These types are unprintable because they serve as abstract // supertypes for other (printable) types. case "TaggedTemplateExpression": @@ -4602,27 +4015,13 @@ function genericPrintNoParens(path, options, print, args) { return ""; case "TSTupleType": - case "TupleTypeAnnotation": { - const typesField = n.type === "TSTupleType" ? "elementTypes" : "types"; - return group$1( - concat$2([ - "[", - indent$2( - concat$2([ - softline$1, - printArrayItems(path, options, typesField, print) - ]) - ), - // TypeScript doesn't support trailing commas in tuple types - n.type === "TSTupleType" - ? "" - : ifBreak$1(shouldPrintComma(options) ? "," : ""), - comments$3.printDanglingComments(path, options, /* sameIndent */ true), - softline$1, - "]" - ]) - ); - } + case "TupleTypeAnnotation": + { + var typesField = n.type === "TSTupleType" ? "elementTypes" : "types"; + return group$1(concat$2(["[", indent$2(concat$2([softline$1, printArrayItems(path, options, typesField, print)])), + // TypeScript doesn't support trailing commas in tuple types + n.type === "TSTupleType" ? "" : ifBreak$1(shouldPrintComma(options) ? "," : ""), comments$3.printDanglingComments(path, options, /* sameIndent */true), softline$1, "]"])); + } case "ExistsTypeAnnotation": return "*"; @@ -4644,32 +4043,13 @@ function genericPrintNoParens(path, options, print, args) { // For TypeScript the DeclareFunction node shares the AST // structure with FunctionDeclaration if (n.params) { - return concat$2([ - "declare ", - printFunctionDeclaration(path, print, options) - ]); + return concat$2(["declare ", printFunctionDeclaration(path, print, options)]); } - return printFlowDeclaration(path, [ - "function ", - path.call(print, "id"), - n.predicate ? " " : "", - path.call(print, "predicate"), - semi - ]); + return printFlowDeclaration(path, ["function ", path.call(print, "id"), n.predicate ? " " : "", path.call(print, "predicate"), semi]); case "DeclareModule": - return printFlowDeclaration(path, [ - "module ", - path.call(print, "id"), - " ", - path.call(print, "body") - ]); + return printFlowDeclaration(path, ["module ", path.call(print, "id"), " ", path.call(print, "body")]); case "DeclareModuleExports": - return printFlowDeclaration(path, [ - "module.exports", - ": ", - path.call(print, "typeAnnotation"), - semi - ]); + return printFlowDeclaration(path, ["module.exports", ": ", path.call(print, "typeAnnotation"), semi]); case "DeclareVariable": return printFlowDeclaration(path, ["var ", path.call(print, "id"), semi]); case "DeclareExportAllDeclaration": @@ -4677,181 +4057,131 @@ function genericPrintNoParens(path, options, print, args) { case "DeclareExportDeclaration": return concat$2(["declare ", printExportDeclaration(path, options, print)]); case "FunctionTypeAnnotation": - case "TSFunctionType": { - // FunctionTypeAnnotation is ambiguous: - // declare function foo(a: B): void; OR - // var A: (a: B) => void; - const parent = path.getParentNode(0); - const parentParent = path.getParentNode(1); - const parentParentParent = path.getParentNode(2); - let isArrowFunctionTypeAnnotation = - n.type === "TSFunctionType" || - !( - (parent.type === "ObjectTypeProperty" && - !getFlowVariance(parent) && - !parent.optional && - util$4.locStart(parent) === util$4.locStart(n)) || - parent.type === "ObjectTypeCallProperty" || - (parentParentParent && parentParentParent.type === "DeclareFunction") - ); + case "TSFunctionType": + { + // FunctionTypeAnnotation is ambiguous: + // declare function foo(a: B): void; OR + // var A: (a: B) => void; + var _parent10 = path.getParentNode(0); + var _parentParent3 = path.getParentNode(1); + var _parentParentParent = path.getParentNode(2); + var isArrowFunctionTypeAnnotation = n.type === "TSFunctionType" || !(_parent10.type === "ObjectTypeProperty" && !getFlowVariance(_parent10) && !_parent10.optional && util$4.locStart(_parent10) === util$4.locStart(n) || _parent10.type === "ObjectTypeCallProperty" || _parentParentParent && _parentParentParent.type === "DeclareFunction"); - let needsColon = - isArrowFunctionTypeAnnotation && parent.type === "TypeAnnotation"; + var needsColon = isArrowFunctionTypeAnnotation && _parent10.type === "TypeAnnotation"; - // Sadly we can't put it inside of FastPath::needsColon because we are - // printing ":" as part of the expression and it would put parenthesis - // around :( - const needsParens = - needsColon && - isArrowFunctionTypeAnnotation && - parent.type === "TypeAnnotation" && - parentParent.type === "ArrowFunctionExpression"; + // Sadly we can't put it inside of FastPath::needsColon because we are + // printing ":" as part of the expression and it would put parenthesis + // around :( + var needsParens = needsColon && isArrowFunctionTypeAnnotation && _parent10.type === "TypeAnnotation" && _parentParent3.type === "ArrowFunctionExpression"; - if (isObjectTypePropertyAFunction(parent)) { - isArrowFunctionTypeAnnotation = true; - needsColon = true; + if (isObjectTypePropertyAFunction(_parent10)) { + isArrowFunctionTypeAnnotation = true; + needsColon = true; + } + + if (needsParens) { + parts.push("("); + } + + parts.push(printFunctionTypeParameters(path, options, print), printFunctionParams(path, print, options)); + + // The returnType is not wrapped in a TypeAnnotation, so the colon + // needs to be added separately. + if (n.returnType || n.predicate || n.typeAnnotation) { + parts.push(isArrowFunctionTypeAnnotation ? " => " : ": ", path.call(print, "returnType"), path.call(print, "predicate"), path.call(print, "typeAnnotation")); + } + if (needsParens) { + parts.push(")"); + } + + return group$1(concat$2(parts)); } - - if (needsParens) { - parts.push("("); - } - - parts.push( - printFunctionTypeParameters(path, options, print), - printFunctionParams(path, print, options) - ); - - // The returnType is not wrapped in a TypeAnnotation, so the colon - // needs to be added separately. - if (n.returnType || n.predicate || n.typeAnnotation) { - parts.push( - isArrowFunctionTypeAnnotation ? " => " : ": ", - path.call(print, "returnType"), - path.call(print, "predicate"), - path.call(print, "typeAnnotation") - ); - } - if (needsParens) { - parts.push(")"); - } - - return group$1(concat$2(parts)); - } case "FunctionTypeParam": - return concat$2([ - path.call(print, "name"), - n.optional ? "?" : "", - n.name ? ": " : "", - path.call(print, "typeAnnotation") - ]); + return concat$2([path.call(print, "name"), n.optional ? "?" : "", n.name ? ": " : "", path.call(print, "typeAnnotation")]); case "GenericTypeAnnotation": - return concat$2([ - path.call(print, "id"), - path.call(print, "typeParameters") - ]); + return concat$2([path.call(print, "id"), path.call(print, "typeParameters")]); case "DeclareInterface": - case "InterfaceDeclaration": { - if ( - n.type === "DeclareInterface" || - isNodeStartingWithDeclare(n, options) - ) { - parts.push("declare "); + case "InterfaceDeclaration": + { + if (n.type === "DeclareInterface" || isNodeStartingWithDeclare(n, options)) { + parts.push("declare "); + } + + parts.push("interface ", path.call(print, "id"), path.call(print, "typeParameters")); + + if (n["extends"].length > 0) { + parts.push(group$1(indent$2(concat$2([line$1, "extends ", join$2(", ", path.map(print, "extends"))])))); + } + + parts.push(" "); + parts.push(path.call(print, "body")); + + return group$1(concat$2(parts)); } - - parts.push( - "interface ", - path.call(print, "id"), - path.call(print, "typeParameters") - ); - - if (n["extends"].length > 0) { - parts.push( - group$1( - indent$2( - concat$2([line$1, "extends ", join$2(", ", path.map(print, "extends"))]) - ) - ) - ); - } - - parts.push(" "); - parts.push(path.call(print, "body")); - - return group$1(concat$2(parts)); - } case "ClassImplements": case "InterfaceExtends": - return concat$2([ - path.call(print, "id"), - path.call(print, "typeParameters") - ]); + return concat$2([path.call(print, "id"), path.call(print, "typeParameters")]); case "TSIntersectionType": - case "IntersectionTypeAnnotation": { - const types = path.map(print, "types"); - const result = []; - for (let i = 0; i < types.length; ++i) { - if (i === 0) { - result.push(types[i]); - } else if (!isObjectType(n.types[i - 1]) && !isObjectType(n.types[i])) { - // If no object is involved, go to the next line if it breaks - result.push(indent$2(concat$2([" &", line$1, types[i]]))); - } else { - // If you go from object to non-object or vis-versa, then inline it - result.push(" & ", i > 1 ? indent$2(types[i]) : types[i]); + case "IntersectionTypeAnnotation": + { + var types = path.map(print, "types"); + var result = []; + for (var _i5 = 0; _i5 < types.length; ++_i5) { + if (_i5 === 0) { + result.push(types[_i5]); + } else if (!isObjectType(n.types[_i5 - 1]) && !isObjectType(n.types[_i5])) { + // If no object is involved, go to the next line if it breaks + result.push(indent$2(concat$2([" &", line$1, types[_i5]]))); + } else { + // If you go from object to non-object or vis-versa, then inline it + result.push(" & ", _i5 > 1 ? indent$2(types[_i5]) : types[_i5]); + } } + return group$1(concat$2(result)); } - return group$1(concat$2(result)); - } case "TSUnionType": - case "UnionTypeAnnotation": { - // single-line variation - // A | B | C + case "UnionTypeAnnotation": + { + // single-line variation + // A | B | C - // multi-line variation - // | A - // | B - // | C + // multi-line variation + // | A + // | B + // | C - const parent = path.getParentNode(); - // If there's a leading comment, the parent is doing the indentation - const shouldIndent = - parent.type !== "TypeParameterInstantiation" && - parent.type !== "GenericTypeAnnotation" && - !( - (parent.type === "TypeAlias" || - parent.type === "VariableDeclarator") && - hasLeadingOwnLineComment(options.originalText, n) - ); + var _parent11 = path.getParentNode(); + // If there's a leading comment, the parent is doing the indentation + var shouldIndent = _parent11.type !== "TypeParameterInstantiation" && _parent11.type !== "GenericTypeAnnotation" && !((_parent11.type === "TypeAlias" || _parent11.type === "VariableDeclarator") && hasLeadingOwnLineComment(options.originalText, n)); - // { - // a: string - // } | null | void - // should be inlined and not be printed in the multi-line variant - const shouldHug = shouldHugType(n); + // { + // a: string + // } | null | void + // should be inlined and not be printed in the multi-line variant + var shouldHug = shouldHugType(n); - // We want to align the children but without its comment, so it looks like - // | child1 - // // comment - // | child2 - const printed = path.map(typePath => { - let printedType = typePath.call(print); - if (!shouldHug && shouldIndent) { - printedType = align$1(2, printedType); + // We want to align the children but without its comment, so it looks like + // | child1 + // // comment + // | child2 + var _printed2 = path.map(function (typePath) { + var printedType = typePath.call(print); + if (!shouldHug && shouldIndent) { + printedType = align$1(2, printedType); + } + return comments$3.printComments(typePath, function () { + return printedType; + }, options); + }, "types"); + + if (shouldHug) { + return join$2(" | ", _printed2); } - return comments$3.printComments(typePath, () => printedType, options); - }, "types"); - if (shouldHug) { - return join$2(" | ", printed); + var _code = concat$2([ifBreak$1(concat$2([shouldIndent ? line$1 : "", "| "])), join$2(concat$2([line$1, "| "]), _printed2)]); + + return group$1(shouldIndent ? indent$2(_code) : _code); } - - const code = concat$2([ - ifBreak$1(concat$2([shouldIndent ? line$1 : "", "| "])), - join$2(concat$2([line$1, "| "]), printed) - ]); - - return group$1(shouldIndent ? indent$2(code) : code); - } case "NullableTypeAnnotation": return concat$2(["?", path.call(print, "typeAnnotation")]); case "NullLiteralTypeAnnotation": @@ -4868,113 +4198,76 @@ function genericPrintNoParens(path, options, print, args) { parts.push(path.call(print, "value")); return concat$2(parts); - case "ObjectTypeIndexer": { - const variance = getFlowVariance(n); - return concat$2([ - variance || "", - "[", - path.call(print, "id"), - n.id ? ": " : "", - path.call(print, "key"), - "]: ", - path.call(print, "value") - ]); - } - case "ObjectTypeProperty": { - const variance = getFlowVariance(n); + case "ObjectTypeIndexer": + { + var _variance = getFlowVariance(n); + return concat$2([_variance || "", "[", path.call(print, "id"), n.id ? ": " : "", path.call(print, "key"), "]: ", path.call(print, "value")]); + } + case "ObjectTypeProperty": + { + var _variance2 = getFlowVariance(n); - return concat$2([ - n.static ? "static " : "", - isGetterOrSetter(n) ? n.kind + " " : "", - variance || "", - path.call(print, "key"), - n.optional ? "?" : "", - isFunctionNotation(n) ? "" : ": ", - path.call(print, "value") - ]); - } + return concat$2([n.static ? "static " : "", isGetterOrSetter(n) ? n.kind + " " : "", _variance2 || "", path.call(print, "key"), n.optional ? "?" : "", isFunctionNotation(n) ? "" : ": ", path.call(print, "value")]); + } case "QualifiedTypeIdentifier": - return concat$2([ - path.call(print, "qualification"), - ".", - path.call(print, "id") - ]); + return concat$2([path.call(print, "qualification"), ".", path.call(print, "id")]); case "StringLiteralTypeAnnotation": return nodeStr(n, options); case "NumberLiteralTypeAnnotation": - assert$1.strictEqual(typeof n.value, "number"); + assert$1.strictEqual(_typeof(n.value), "number"); if (n.extra != null) { return printNumber(n.extra.raw); - } else { - return printNumber(n.raw); } + return printNumber(n.raw); + case "StringTypeAnnotation": return "string"; case "DeclareTypeAlias": - case "TypeAlias": { - if ( - n.type === "DeclareTypeAlias" || - isNodeStartingWithDeclare(n, options) - ) { - parts.push("declare "); + case "TypeAlias": + { + if (n.type === "DeclareTypeAlias" || isNodeStartingWithDeclare(n, options)) { + parts.push("declare "); + } + + var canBreak = n.right.type === "StringLiteralTypeAnnotation"; + + var _printed3 = printAssignmentRight(n.right, path.call(print, "right"), canBreak, options); + + parts.push("type ", path.call(print, "id"), path.call(print, "typeParameters"), " =", _printed3, semi); + + return group$1(concat$2(parts)); } - - const canBreak = n.right.type === "StringLiteralTypeAnnotation"; - - const printed = printAssignmentRight( - n.right, - path.call(print, "right"), - canBreak, - options - ); - - parts.push( - "type ", - path.call(print, "id"), - path.call(print, "typeParameters"), - " =", - printed, - semi - ); - - return group$1(concat$2(parts)); - } case "TypeCastExpression": - return concat$2([ - "(", - path.call(print, "expression"), - ": ", - path.call(print, "typeAnnotation"), - ")" - ]); + return concat$2(["(", path.call(print, "expression"), ": ", path.call(print, "typeAnnotation"), ")"]); case "TypeParameterDeclaration": case "TypeParameterInstantiation": return printTypeParameters(path, options, print, "params"); - case "TypeParameter": { - const variance = getFlowVariance(n); + case "TypeParameter": + { + var _variance3 = getFlowVariance(n); - if (variance) { - parts.push(variance); + if (_variance3) { + parts.push(_variance3); + } + + parts.push(path.call(print, "name")); + + if (n.bound) { + parts.push(": "); + parts.push(path.call(print, "bound")); + } + + if (n.constraint) { + parts.push(" extends ", path.call(print, "constraint")); + } + + if (n["default"]) { + parts.push(" = ", path.call(print, "default")); + } + + return concat$2(parts); } - - parts.push(path.call(print, "name")); - - if (n.bound) { - parts.push(": "); - parts.push(path.call(print, "bound")); - } - - if (n.constraint) { - parts.push(" extends ", path.call(print, "constraint")); - } - - if (n["default"]) { - parts.push(" = ", path.call(print, "default")); - } - - return concat$2(parts); - } case "TypeofTypeAnnotation": return concat$2(["typeof ", path.call(print, "argument")]); case "VoidTypeAnnotation": @@ -5027,54 +4320,51 @@ function genericPrintNoParens(path, options, print, args) { case "TSVoidKeyword": return "void"; case "TSAsExpression": - return concat$2([ - path.call(print, "expression"), - " as ", - path.call(print, "typeAnnotation") - ]); + return concat$2([path.call(print, "expression"), " as ", path.call(print, "typeAnnotation")]); case "TSArrayType": return concat$2([path.call(print, "elementType"), "[]"]); - case "TSPropertySignature": { - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - if (n.export) { - parts.push("export "); - } - if (n.static) { - parts.push("static "); - } + case "TSPropertySignature": + { + if (n.accessibility) { + parts.push(n.accessibility + " "); + } + if (n.export) { + parts.push("export "); + } + if (n.static) { + parts.push("static "); + } - if (n.readonly) { - parts.push("readonly "); + if (n.readonly) { + parts.push("readonly "); + } + + if (n.computed) { + parts.push("["); + } + + parts.push(path.call(print, "key")); + + if (n.computed) { + parts.push("]"); + } + + if (n.optional) { + parts.push("?"); + } + + if (n.typeAnnotation) { + parts.push(": "); + parts.push(path.call(print, "typeAnnotation")); + } + + // This isn't valid semantically, but it's in the AST so we can print it. + if (n.initializer) { + parts.push(" = ", path.call(print, "initializer")); + } + + return concat$2(parts); } - - if (n.computed) { - parts.push("["); - } - - parts.push(path.call(print, "key")); - - if (n.computed) { - parts.push("]"); - } - - if (n.optional) { - parts.push("?"); - } - - if (n.typeAnnotation) { - parts.push(": "); - parts.push(path.call(print, "typeAnnotation")); - } - - // This isn't valid semantically, but it's in the AST so we can print it. - if (n.initializer) { - parts.push(" = ", path.call(print, "initializer")); - } - - return concat$2(parts); - } case "TSParameterProperty": if (n.accessibility) { parts.push(n.accessibility + " "); @@ -5093,43 +4383,29 @@ function genericPrintNoParens(path, options, print, args) { return concat$2(parts); case "TSTypeReference": - return concat$2([ - path.call(print, "typeName"), - printTypeParameters(path, options, print, "typeParameters") - ]); + return concat$2([path.call(print, "typeName"), printTypeParameters(path, options, print, "typeParameters")]); case "TSTypeQuery": return concat$2(["typeof ", path.call(print, "exprName")]); case "TSParenthesizedType": return concat$2(["(", path.call(print, "typeAnnotation"), ")"]); - case "TSIndexSignature": { - let printedParams = []; - if (n.params) { - printedParams = path.map(print, "params"); - } - if (n.parameters) { - printedParams = path.map(print, "parameters"); - } + case "TSIndexSignature": + { + var _parent12 = path.getParentNode(); + var printedParams = []; + if (n.params) { + printedParams = path.map(print, "params"); + } + if (n.parameters) { + printedParams = path.map(print, "parameters"); + } - return concat$2([ - n.accessibility ? concat$2([n.accessibility, " "]) : "", - n.export ? "export " : "", - n.static ? "static " : "", - n.readonly ? "readonly " : "", - "[", - path.call(print, "index"), + return concat$2([n.accessibility ? concat$2([n.accessibility, " "]) : "", n.export ? "export " : "", n.static ? "static " : "", n.readonly ? "readonly " : "", "[", path.call(print, "index"), // This should only contain a single element, however TypeScript parses // it using parseDelimitedList that uses commas as delimiter. - join$2(", ", printedParams), - "]: ", - path.call(print, "typeAnnotation") - ]); - } + join$2(", ", printedParams), "]: ", path.call(print, "typeAnnotation"), _parent12.type === "ClassBody" ? semi : ""]); + } case "TSTypePredicate": - return concat$2([ - path.call(print, "parameterName"), - " is ", - path.call(print, "typeAnnotation") - ]); + return concat$2([path.call(print, "parameterName"), " is ", path.call(print, "typeAnnotation")]); case "TSNonNullExpression": return concat$2([path.call(print, "expression"), "!"]); case "TSThisType": @@ -5137,59 +4413,31 @@ function genericPrintNoParens(path, options, print, args) { case "TSLastTypeNode": return path.call(print, "literal"); case "TSIndexedAccessType": - return concat$2([ - path.call(print, "objectType"), - "[", - path.call(print, "indexType"), - "]" - ]); + return concat$2([path.call(print, "objectType"), "[", path.call(print, "indexType"), "]"]); case "TSConstructSignature": case "TSConstructorType": - case "TSCallSignature": { - if (n.type !== "TSCallSignature") { - parts.push("new "); - } - const isType = n.type === "TSConstructorType"; + case "TSCallSignature": + { + if (n.type !== "TSCallSignature") { + parts.push("new "); + } + var isType = n.type === "TSConstructorType"; - if (n.typeParameters) { - parts.push(printTypeParameters(path, options, print, "typeParameters")); - } + if (n.typeParameters) { + parts.push(printTypeParameters(path, options, print, "typeParameters")); + } - const params = n.params - ? path.map(print, "params") - : path.map(print, "parameters"); - parts.push("(", join$2(", ", params), ")"); - if (n.typeAnnotation) { - parts.push(isType ? " => " : ": ", path.call(print, "typeAnnotation")); + var params = n.params ? path.map(print, "params") : path.map(print, "parameters"); + parts.push("(", join$2(", ", params), ")"); + if (n.typeAnnotation) { + parts.push(isType ? " => " : ": ", path.call(print, "typeAnnotation")); + } + return concat$2(parts); } - return concat$2(parts); - } case "TSTypeOperator": return concat$2(["keyof ", path.call(print, "typeAnnotation")]); case "TSMappedType": - return group$1( - concat$2([ - "{", - indent$2( - concat$2([ - options.bracketSpacing ? line$1 : softline$1, - n.readonlyToken - ? concat$2([path.call(print, "readonlyToken"), " "]) - : "", - printTypeScriptModifiers(path, options, print), - "[", - path.call(print, "typeParameter"), - "]", - n.questionToken ? "?" : "", - ": ", - path.call(print, "typeAnnotation") - ]) - ), - comments$3.printDanglingComments(path, options, /* sameIndent */ true), - options.bracketSpacing ? line$1 : softline$1, - "}" - ]) - ); + return group$1(concat$2(["{", indent$2(concat$2([options.bracketSpacing ? line$1 : softline$1, n.readonlyToken ? concat$2([path.call(print, "readonlyToken"), " "]) : "", printTypeScriptModifiers(path, options, print), "[", path.call(print, "typeParameter"), "]", n.questionToken ? "?" : "", ": ", path.call(print, "typeAnnotation")])), comments$3.printDanglingComments(path, options, /* sameIndent */true), options.bracketSpacing ? line$1 : softline$1, "}"])); case "TSTypeParameter": parts.push(path.call(print, "name")); @@ -5199,18 +4447,7 @@ function genericPrintNoParens(path, options, print, args) { return concat$2(parts); case "TSMethodSignature": - parts.push( - n.accessibility ? concat$2([n.accessibility, " "]) : "", - n.export ? "export " : "", - n.static ? "static " : "", - n.readonly ? "readonly " : "", - n.computed ? "[" : "", - path.call(print, "key"), - n.computed ? "]" : "", - n.optional ? "?" : "", - printFunctionTypeParameters(path, options, print), - printFunctionParams(path, print, options) - ); + parts.push(n.accessibility ? concat$2([n.accessibility, " "]) : "", n.export ? "export " : "", n.static ? "static " : "", n.readonly ? "readonly " : "", n.computed ? "[" : "", path.call(print, "key"), n.computed ? "]" : "", n.optional ? "?" : "", printFunctionTypeParameters(path, options, print), printFunctionParams(path, print, options)); if (n.typeAnnotation) { parts.push(": ", path.call(print, "typeAnnotation")); @@ -5219,14 +4456,8 @@ function genericPrintNoParens(path, options, print, args) { case "TSNamespaceExportDeclaration": if (n.declaration) { // Temporary fix until https://github.com/eslint/typescript-eslint-parser/issues/263 - const isDefault = options.originalText - .slice(util$4.locStart(n), util$4.locStart(n.declaration)) - .match(/\bdefault\b/); - parts.push( - "export ", - isDefault ? "default " : "", - path.call(print, "declaration") - ); + var isDefault = options.originalText.slice(util$4.locStart(n), util$4.locStart(n.declaration)).match(/\bdefault\b/); + parts.push("export ", isDefault ? "default " : "", path.call(print, "declaration")); } else { parts.push("export as namespace ", path.call(print, "name")); @@ -5244,38 +4475,10 @@ function genericPrintNoParens(path, options, print, args) { parts.push("enum ", path.call(print, "name"), " "); if (n.members.length === 0) { - parts.push( - group$1( - concat$2([ - "{", - comments$3.printDanglingComments(path, options), - softline$1, - "}" - ]) - ) - ); + parts.push(group$1(concat$2(["{", comments$3.printDanglingComments(path, options), softline$1, "}"]))); } else { - parts.push( - group$1( - concat$2([ - "{", - indent$2( - concat$2([ - hardline$2, - printArrayItems(path, options, "members", print), - shouldPrintComma(options, "es5") ? "," : "" - ]) - ), - comments$3.printDanglingComments( - path, - options, - /* sameIndent */ true - ), - hardline$2, - "}" - ]) - ) - ); + parts.push(group$1(concat$2(["{", indent$2(concat$2([hardline$2, printArrayItems(path, options, "members", print), shouldPrintComma(options, "es5") ? "," : ""])), comments$3.printDanglingComments(path, options, + /* sameIndent */true), hardline$2, "}"]))); } return concat$2(parts); @@ -5286,13 +4489,7 @@ function genericPrintNoParens(path, options, print, args) { } return concat$2(parts); case "TSImportEqualsDeclaration": - parts.push( - printTypeScriptModifiers(path, options, print), - "import ", - path.call(print, "name"), - " = ", - path.call(print, "moduleReference") - ); + parts.push(printTypeScriptModifiers(path, options, print), "import ", path.call(print, "name"), " = ", path.call(print, "moduleReference")); if (options.semi) { parts.push(";"); @@ -5301,402 +4498,61 @@ function genericPrintNoParens(path, options, print, args) { return group$1(concat$2(parts)); case "TSExternalModuleReference": return concat$2(["require(", path.call(print, "expression"), ")"]); - case "TSModuleDeclaration": { - const parent = path.getParentNode(); - const isExternalModule = isLiteral(n.name); - const parentIsDeclaration = parent.type === "TSModuleDeclaration"; - const bodyIsDeclaration = n.body && n.body.type === "TSModuleDeclaration"; + case "TSModuleDeclaration": + { + var _parent13 = path.getParentNode(); + var isExternalModule = isLiteral(n.name); + var parentIsDeclaration = _parent13.type === "TSModuleDeclaration"; + var bodyIsDeclaration = n.body && n.body.type === "TSModuleDeclaration"; - if (parentIsDeclaration) { - parts.push("."); - } else { - parts.push(printTypeScriptModifiers(path, options, print)); + if (parentIsDeclaration) { + parts.push("."); + } else { + parts.push(printTypeScriptModifiers(path, options, print)); - // Global declaration looks like this: - // declare global { ... } - const isGlobalDeclaration = - n.name.type === "Identifier" && - n.name.name === "global" && - n.modifiers && - n.modifiers.some(modifier => modifier.type === "TSDeclareKeyword"); + // Global declaration looks like this: + // declare global { ... } + var isGlobalDeclaration = n.name.type === "Identifier" && n.name.name === "global" && n.modifiers && n.modifiers.some(function (modifier) { + return modifier.type === "TSDeclareKeyword"; + }); - if (!isGlobalDeclaration) { - parts.push(isExternalModule ? "module " : "namespace "); - } - } - - parts.push(path.call(print, "name")); - - if (bodyIsDeclaration) { - parts.push(path.call(print, "body")); - } else if (n.body) { - parts.push( - " {", - indent$2( - concat$2([ - line$1, - path.call( - bodyPath => - comments$3.printDanglingComments(bodyPath, options, true), - "body" - ), - group$1(path.call(print, "body")) - ]) - ), - line$1, - "}" - ); - } else { - parts.push(semi); - } - - return concat$2(parts); - } - case "TSModuleBlock": - return path.call(bodyPath => { - return printStatementSequence(bodyPath, options, print); - }, "body"); - // postcss - case "css-root": { - return concat$2([printNodeSequence(path, options, print), hardline$2]); - } - case "css-comment": { - if (n.raws.content) { - return n.raws.content; - } - const text = options.originalText.slice(util$4.locStart(n), util$4.locEnd(n)); - const rawText = n.raws.text || n.text; - // Workaround a bug where the location is off. - // https://github.com/postcss/postcss-scss/issues/63 - if (text.indexOf(rawText) === -1) { - if (n.raws.inline) { - return concat$2(["// ", rawText]); - } - return concat$2(["/* ", rawText, " */"]); - } - return text; - } - case "css-rule": { - return concat$2([ - path.call(print, "selector"), - n.important ? " !important" : "", - n.nodes - ? concat$2([ - " {", - n.nodes.length > 0 - ? indent$2( - concat$2([hardline$2, printNodeSequence(path, options, print)]) - ) - : "", - hardline$2, - "}" - ]) - : ";" - ]); - } - case "css-decl": { - return concat$2([ - n.raws.before.replace(/[\s;]/g, ""), - n.prop, - ": ", - path.call(print, "value"), - n.important ? " !important" : "", - n.nodes - ? concat$2([ - " {", - indent$2( - concat$2([softline$1, printNodeSequence(path, options, print)]) - ), - softline$1, - "}" - ]) - : ";" - ]); - } - case "css-atrule": { - const hasParams = - n.params && - !(n.params.type === "media-query-list" && n.params.value === ""); - return concat$2([ - "@", - n.name, - hasParams ? concat$2([" ", path.call(print, "params")]) : "", - n.nodes - ? concat$2([ - " {", - indent$2( - concat$2([ - n.nodes.length > 0 ? softline$1 : "", - printNodeSequence(path, options, print) - ]) - ), - softline$1, - "}" - ]) - : ";" - ]); - } - case "css-import": { - return concat$2([ - "@", - n.name, - " ", - n.directives ? concat$2([n.directives, " "]) : "", - n.importPath, - ";" - ]); - } - // postcss-media-query-parser - case "media-query-list": { - const parts = []; - path.each(childPath => { - const node = childPath.getValue(); - if (node.type === "media-query" && node.value === "") { - return; - } - parts.push(childPath.call(print)); - }, "nodes"); - return join$2(", ", parts); - } - case "media-query": { - return join$2(" ", path.map(print, "nodes")); - } - case "media-type": { - return n.value; - } - case "media-feature-expression": { - if (!n.nodes) { - return n.value; - } - return concat$2(["(", concat$2(path.map(print, "nodes")), ")"]); - } - case "media-feature": { - return n.value.replace(/ +/g, " "); - } - case "media-colon": { - return concat$2([n.value, " "]); - } - case "media-value": { - return n.value; - } - case "media-keyword": { - return n.value; - } - case "media-url": { - return n.value; - } - case "media-unknown": { - return n.value; - } - // postcss-selector-parser - case "selector-root": { - return group$1(join$2(concat$2([",", line$1]), path.map(print, "nodes"))); - } - case "selector-comment": { - return n.value; - } - case "selector-string": { - return n.value; - } - case "selector-tag": { - return n.value; - } - case "selector-id": { - return concat$2(["#", n.value]); - } - case "selector-class": { - return concat$2([".", n.value]); - } - case "selector-attribute": { - return concat$2([ - "[", - n.attribute, - n.operator ? n.operator : "", - n.value ? n.value : "", - n.insensitive ? " i" : "", - "]" - ]); - } - case "selector-combinator": { - if (n.value === "+" || n.value === ">" || n.value === "~") { - const parent = path.getParentNode(); - const leading = parent.type === "selector-selector" && - parent.nodes[0] === n - ? "" - : line$1; - return concat$2([leading, n.value, " "]); - } - return n.value; - } - case "selector-universal": { - return n.value; - } - case "selector-selector": { - return group$1(indent$2(concat$2(path.map(print, "nodes")))); - } - case "selector-pseudo": { - return concat$2([ - n.value, - n.nodes && n.nodes.length > 0 - ? concat$2(["(", join$2(", ", path.map(print, "nodes")), ")"]) - : "" - ]); - } - case "selector-nesting": { - return printValue(n.value); - } - // postcss-values-parser - case "value-root": { - return path.call(print, "group"); - } - case "value-comma_group": { - const printed = path.map(print, "groups"); - const parts = []; - for (let i = 0; i < n.groups.length; ++i) { - parts.push(printed[i]); - if ( - i !== n.groups.length - 1 && - n.groups[i + 1].raws && - n.groups[i + 1].raws.before !== "" - ) { - if ( - n.groups[i + 1].type === "value-operator" && - ["+", "-", "/", "*", "%"].indexOf(n.groups[i + 1].value) !== -1 - ) { - parts.push(" "); - } else { - parts.push(line$1); + if (!isGlobalDeclaration) { + parts.push(isExternalModule ? "module " : "namespace "); } } - } - return group$1(indent$2(concat$2(parts))); - } - case "value-paren_group": { - const parent = path.getParentNode(); - const isURLCall = - parent && parent.type === "value-func" && parent.value === "url"; + parts.push(path.call(print, "name")); - if ( - isURLCall && - (n.groups.length === 1 || - (n.groups.length > 0 && - n.groups[0].type === "value-comma_group" && - n.groups[0].groups.length > 0 && - n.groups[0].groups[0].type === "value-word" && - n.groups[0].groups[0].value === "data")) - ) { - return concat$2([ - n.open ? path.call(print, "open") : "", - join$2(",", path.map(print, "groups")), - n.close ? path.call(print, "close") : "" - ]); - } + if (bodyIsDeclaration) { + parts.push(path.call(print, "body")); + } else if (n.body) { + parts.push(" {", indent$2(concat$2([line$1, path.call(function (bodyPath) { + return comments$3.printDanglingComments(bodyPath, options, true); + }, "body"), group$1(path.call(print, "body"))])), line$1, "}"); + } else { + parts.push(semi); + } - if (!n.open) { - return group$1( - indent$2(join$2(concat$2([",", line$1]), path.map(print, "groups"))) - ); + return concat$2(parts); } - - return group$1( - concat$2([ - n.open ? path.call(print, "open") : "", - indent$2( - concat$2([ - softline$1, - join$2(concat$2([",", line$1]), path.map(print, "groups")) - ]) - ), - softline$1, - n.close ? path.call(print, "close") : "" - ]) - ); - } - case "value-value": { - return path.call(print, "group"); - } - case "value-func": { - return concat$2([n.value, path.call(print, "group")]); - } - case "value-paren": { - if (n.raws.before !== "") { - return concat$2([line$1, n.value]); - } - return n.value; - } - case "value-number": { - return concat$2([n.value, n.unit]); - } - case "value-operator": { - return n.value; - } - case "value-word": { - return n.value; - } - case "value-colon": { - return n.value; - } - case "value-comma": { - return concat$2([n.value, " "]); - } - case "value-string": { - return concat$2([ - n.quoted ? n.raws.quote : "", - n.value, - n.quoted ? n.raws.quote : "" - ]); - } - case "value-atword": { - return concat$2(["@", n.value]); - } + case "TSModuleBlock": + return path.call(function (bodyPath) { + return printStatementSequence(bodyPath, options, print); + }, "body"); default: throw new Error("unknown type: " + JSON.stringify(n.type)); } } -function printValue(value) { - return value; -} - -function printNodeSequence(path, options, print) { - const node = path.getValue(); - const parts = []; - let i = 0; - path.map(pathChild => { - parts.push(pathChild.call(print)); - if (i !== node.nodes.length - 1) { - if ( - node.nodes[i + 1].type === "css-comment" && - !util$4.hasNewline( - options.originalText, - util$4.locStart(node.nodes[i + 1]), - { backwards: true } - ) - ) { - parts.push(" "); - } else { - parts.push(hardline$2); - if (util$4.isNextLineEmpty(options.originalText, pathChild.getValue())) { - parts.push(hardline$2); - } - } - } - i++; - }, "nodes"); - - return concat$2(parts); -} - function printStatementSequence(path, options, print) { - const printed = []; + var printed = []; - const bodyNode = path.getNode(); - const isClass = bodyNode.type === "ClassBody"; + var bodyNode = path.getNode(); + var isClass = bodyNode.type === "ClassBody"; - path.map((stmtPath, i) => { - const stmt = stmtPath.getValue(); + path.map(function (stmtPath, i) { + var stmt = stmtPath.getValue(); // Just in case the AST has been modified to contain falsy // "statements," it's safer simply to skip them. @@ -5710,13 +4566,15 @@ function printStatementSequence(path, options, print) { return; } - const stmtPrinted = print(stmtPath); - const text = options.originalText; - const parts = []; + var stmtPrinted = print(stmtPath); + var text = options.originalText; + var parts = []; // in no-semi mode, prepend statement with semicolon if it might break ASI if (!options.semi && !isClass && stmtNeedsASIProtection(stmtPath)) { - if (stmt.comments && stmt.comments.some(comment => comment.leading)) { + if (stmt.comments && stmt.comments.some(function (comment) { + return comment.leading; + })) { // Note: stmtNeedsASIProtection requires stmtPath to already be printed // as it reads needsParens which is mutated on the instance parts.push(print(stmtPath, { needsSemi: true })); @@ -5731,7 +4589,7 @@ function printStatementSequence(path, options, print) { if (classPropMayCauseASIProblems(stmtPath)) { parts.push(";"); } else if (stmt.type === "ClassProperty") { - const nextChild = bodyNode.body[i + 1]; + var nextChild = bodyNode.body[i + 1]; if (classChildNeedsASIProtection(nextChild)) { parts.push(";"); } @@ -5749,24 +4607,25 @@ function printStatementSequence(path, options, print) { } function printPropertyKey(path, options, print) { - const node = path.getNode(); - const key = node.key; + var node = path.getNode(); + var key = node.key; if (isStringLiteral(key) && isIdentifierName(key.value) && !node.computed) { // 'a' -> a - return path.call( - keyPath => comments$3.printComments(keyPath, () => key.value, options), - "key" - ); + return path.call(function (keyPath) { + return comments$3.printComments(keyPath, function () { + return key.value; + }, options); + }, "key"); } return path.call(print, "key"); } function printMethod(path, options, print) { - const node = path.getNode(); - const semi = options.semi ? ";" : ""; - const kind = node.kind; - const parts = []; + var node = path.getNode(); + var semi = options.semi ? ";" : ""; + var kind = node.kind; + var parts = []; if (node.type === "ObjectMethod" || node.type === "ClassMethod") { node.value = node; @@ -5786,29 +4645,15 @@ function printMethod(path, options, print) { parts.push(kind, " "); } - let key = printPropertyKey(path, options, print); + var key = printPropertyKey(path, options, print); if (node.computed) { key = concat$2(["[", key, "]"]); } - parts.push( - key, - concat$2( - path.call( - valuePath => [ - printFunctionTypeParameters(valuePath, options, print), - group$1( - concat$2([ - printFunctionParams(valuePath, print, options), - printReturnType(valuePath, print) - ]) - ) - ], - "value" - ) - ) - ); + parts.push(key, concat$2(path.call(function (valuePath) { + return [printFunctionTypeParameters(valuePath, options, print), group$1(concat$2([printFunctionParams(valuePath, print, options), printReturnType(valuePath, print)]))]; + }, "value"))); if (!node.value.body || node.value.body.length === 0) { parts.push(semi); @@ -5820,30 +4665,16 @@ function printMethod(path, options, print) { } function couldGroupArg(arg) { - return ( - (arg.type === "ObjectExpression" && arg.properties.length > 0) || - (arg.type === "ArrayExpression" && arg.elements.length > 0) || - arg.type === "FunctionExpression" || - (arg.type === "ArrowFunctionExpression" && - (arg.body.type === "BlockStatement" || - arg.body.type === "ArrowFunctionExpression" || - arg.body.type === "ObjectExpression" || - arg.body.type === "ArrayExpression" || - arg.body.type === "CallExpression" || - arg.body.type === "JSXElement")) - ); + return arg.type === "ObjectExpression" && arg.properties.length > 0 || arg.type === "ArrayExpression" && arg.elements.length > 0 || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" || arg.body.type === "ObjectExpression" || arg.body.type === "ArrayExpression" || arg.body.type === "CallExpression" || arg.body.type === "JSXElement"); } function shouldGroupLastArg(args) { - const lastArg = util$4.getLast(args); - const penultimateArg = util$4.getPenultimate(args); - return ( - (!lastArg.comments || !lastArg.comments.length) && - couldGroupArg(lastArg) && - // If the last two arguments are of the same type, - // disable last element expansion. - (!penultimateArg || penultimateArg.type !== lastArg.type) - ); + var lastArg = util$4.getLast(args); + var penultimateArg = util$4.getPenultimate(args); + return (!lastArg.comments || !lastArg.comments.length) && couldGroupArg(lastArg) && ( + // If the last two arguments are of the same type, + // disable last element expansion. + !penultimateArg || penultimateArg.type !== lastArg.type); } function shouldGroupFirstArg(args) { @@ -5851,135 +4682,79 @@ function shouldGroupFirstArg(args) { return false; } - const firstArg = args[0]; - const secondArg = args[1]; - return ( - (!firstArg.comments || !firstArg.comments.length) && - (firstArg.type === "FunctionExpression" || - (firstArg.type === "ArrowFunctionExpression" && - firstArg.body.type === "BlockStatement")) && - !couldGroupArg(secondArg) - ); + var firstArg = args[0]; + var secondArg = args[1]; + return (!firstArg.comments || !firstArg.comments.length) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && !couldGroupArg(secondArg); } function printArgumentsList(path, options, print) { - const printed = path.map(print, "arguments"); + var printed = path.map(print, "arguments"); if (printed.length === 0) { - return concat$2([ - "(", - comments$3.printDanglingComments(path, options, /* sameIndent */ true), - ")" - ]); + return concat$2(["(", comments$3.printDanglingComments(path, options, /* sameIndent */true), ")"]); } - const args = path.getValue().arguments; + var args = path.getValue().arguments; // This is just an optimization; I think we could return the // conditional group for all function calls, but it's more expensive // so only do it for specific forms. - const shouldGroupFirst = shouldGroupFirstArg(args); - const shouldGroupLast = shouldGroupLastArg(args); + var shouldGroupFirst = shouldGroupFirstArg(args); + var shouldGroupLast = shouldGroupLastArg(args); if (shouldGroupFirst || shouldGroupLast) { - const shouldBreak = shouldGroupFirst - ? printed.slice(1).some(willBreak) - : printed.slice(0, -1).some(willBreak); + var shouldBreak = shouldGroupFirst ? printed.slice(1).some(willBreak) : printed.slice(0, -1).some(willBreak); // We want to print the last argument with a special flag - let printedExpanded; - let i = 0; - path.each(argPath => { + var printedExpanded = void 0; + var i = 0; + path.each(function (argPath) { if (shouldGroupFirst && i === 0) { - printedExpanded = [ - argPath.call(p => print(p, { expandFirstArg: true })) - ].concat(printed.slice(1)); + printedExpanded = [argPath.call(function (p) { + return print(p, { expandFirstArg: true }); + })].concat(printed.slice(1)); } if (shouldGroupLast && i === args.length - 1) { - printedExpanded = printed - .slice(0, -1) - .concat(argPath.call(p => print(p, { expandLastArg: true }))); + printedExpanded = printed.slice(0, -1).concat(argPath.call(function (p) { + return print(p, { expandLastArg: true }); + })); } i++; }, "arguments"); - return concat$2([ - printed.some(willBreak) ? breakParent$2 : "", - conditionalGroup$1( - [ - concat$2(["(", join$2(concat$2([", "]), printedExpanded), ")"]), - shouldGroupFirst - ? concat$2([ - "(", - group$1(printedExpanded[0], { shouldBreak: true }), - printed.length > 1 ? ", " : "", - join$2(concat$2([",", line$1]), printed.slice(1)), - ")" - ]) - : concat$2([ - "(", - join$2(concat$2([",", line$1]), printed.slice(0, -1)), - printed.length > 1 ? ", " : "", - group$1(util$4.getLast(printedExpanded), { - shouldBreak: true - }), - ")" - ]), - group$1( - concat$2([ - "(", - indent$2(concat$2([line$1, join$2(concat$2([",", line$1]), printed)])), - shouldPrintComma(options, "all") ? "," : "", - line$1, - ")" - ]), - { shouldBreak: true } - ) - ], - { shouldBreak } - ) - ]); + return concat$2([printed.some(willBreak) ? breakParent$2 : "", conditionalGroup$1([concat$2(["(", join$2(concat$2([", "]), printedExpanded), ")"]), shouldGroupFirst ? concat$2(["(", group$1(printedExpanded[0], { shouldBreak: true }), printed.length > 1 ? ", " : "", join$2(concat$2([",", line$1]), printed.slice(1)), ")"]) : concat$2(["(", join$2(concat$2([",", line$1]), printed.slice(0, -1)), printed.length > 1 ? ", " : "", group$1(util$4.getLast(printedExpanded), { + shouldBreak: true + }), ")"]), group$1(concat$2(["(", indent$2(concat$2([line$1, join$2(concat$2([",", line$1]), printed)])), shouldPrintComma(options, "all") ? "," : "", line$1, ")"]), { shouldBreak: true })], { shouldBreak: shouldBreak })]); } - return group$1( - concat$2([ - "(", - indent$2(concat$2([softline$1, join$2(concat$2([",", line$1]), printed)])), - ifBreak$1(shouldPrintComma(options, "all") ? "," : ""), - softline$1, - ")" - ]), - { shouldBreak: printed.some(willBreak) } - ); + return group$1(concat$2(["(", indent$2(concat$2([softline$1, join$2(concat$2([",", line$1]), printed)])), ifBreak$1(shouldPrintComma(options, "all") ? "," : ""), softline$1, ")"]), { shouldBreak: printed.some(willBreak) }); } function printFunctionTypeParameters(path, options, print) { - const fun = path.getValue(); - const paramsFieldIsArray = Array.isArray(fun["typeParameters"]); + var fun = path.getValue(); + var paramsFieldIsArray = Array.isArray(fun["typeParameters"]); if (fun.typeParameters) { // for TSFunctionType typeParameters is an array // for FunctionTypeAnnotation it's a single node if (paramsFieldIsArray) { return concat$2("<", join$2(", ", path.map(print, "typeParameters")), ">"); - } else { - return path.call(print, "typeParameters"); } - } else { - return ""; + return path.call(print, "typeParameters"); } + return ""; } function printFunctionParams(path, print, options, expandArg) { - const fun = path.getValue(); - const paramsField = fun.parameters ? "parameters" : "params"; + var fun = path.getValue(); + var paramsField = fun.parameters ? "parameters" : "params"; - let printed = []; + var printed = []; if (fun[paramsField]) { printed = path.map(print, paramsField); } if (fun.defaults) { - path.each(defExprPath => { - const i = defExprPath.getName(); - const p = printed[i]; + path.each(function (defExprPath) { + var i = defExprPath.getName(); + var p = printed[i]; if (p && defExprPath.getValue()) { printed[i] = concat$2([p, " = ", print(defExprPath)]); @@ -5992,14 +4767,10 @@ function printFunctionParams(path, print, options, expandArg) { } if (printed.length === 0) { - return concat$2([ - "(", - comments$3.printDanglingComments(path, options, /* sameIndent */ true), - ")" - ]); + return concat$2(["(", comments$3.printDanglingComments(path, options, /* sameIndent */true), ")"]); } - const lastParam = util$4.getLast(fun[paramsField]); + var lastParam = util$4.getLast(fun[paramsField]); // If the parent is a call with the first/last argument expansion and this is the // params of the first/last argument, we dont want the arguments to break and instead @@ -6026,77 +4797,28 @@ function printFunctionParams(path, print, options, expandArg) { return concat$2(["(", join$2(", ", printed), ")"]); } - const parent = path.getParentNode(); + var parent = path.getParentNode(); - const flowTypeAnnotations = [ - "AnyTypeAnnotation", - "NullLiteralTypeAnnotation", - "GenericTypeAnnotation", - "ThisTypeAnnotation", - "NumberTypeAnnotation", - "VoidTypeAnnotation", - "NullTypeAnnotation", - "EmptyTypeAnnotation", - "MixedTypeAnnotation", - "BooleanTypeAnnotation", - "BooleanLiteralTypeAnnotation", - "StringTypeAnnotation" - ]; + var flowTypeAnnotations = ["AnyTypeAnnotation", "NullLiteralTypeAnnotation", "GenericTypeAnnotation", "ThisTypeAnnotation", "NumberTypeAnnotation", "VoidTypeAnnotation", "NullTypeAnnotation", "EmptyTypeAnnotation", "MixedTypeAnnotation", "BooleanTypeAnnotation", "BooleanLiteralTypeAnnotation", "StringTypeAnnotation"]; - const isFlowShorthandWithOneArg = - (isObjectTypePropertyAFunction(parent) || - isTypeAnnotationAFunction(parent) || - parent.type === "TypeAlias" || - parent.type === "UnionTypeAnnotation" || - parent.type === "TSUnionType" || - parent.type === "IntersectionTypeAnnotation" || - (parent.type === "FunctionTypeAnnotation" && - parent.returnType === fun)) && - fun[paramsField].length === 1 && - fun[paramsField][0].name === null && - fun[paramsField][0].typeAnnotation && - flowTypeAnnotations.indexOf(fun[paramsField][0].typeAnnotation.type) !== - -1 && - !( - fun[paramsField][0].typeAnnotation.type === "GenericTypeAnnotation" && - fun[paramsField][0].typeAnnotation.typeParameters - ) && - !fun.rest; + var isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction(parent) || isTypeAnnotationAFunction(parent) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === fun) && fun[paramsField].length === 1 && fun[paramsField][0].name === null && fun[paramsField][0].typeAnnotation && flowTypeAnnotations.indexOf(fun[paramsField][0].typeAnnotation.type) !== -1 && !(fun[paramsField][0].typeAnnotation.type === "GenericTypeAnnotation" && fun[paramsField][0].typeAnnotation.typeParameters) && !fun.rest; if (isFlowShorthandWithOneArg) { return concat$2(printed); } - const canHaveTrailingComma = - !(lastParam && lastParam.type === "RestElement") && !fun.rest; + var canHaveTrailingComma = !(lastParam && lastParam.type === "RestElement") && !fun.rest; - return concat$2([ - "(", - indent$2(concat$2([softline$1, join$2(concat$2([",", line$1]), printed)])), - ifBreak$1( - canHaveTrailingComma && shouldPrintComma(options, "all") ? "," : "" - ), - softline$1, - ")" - ]); + return concat$2(["(", indent$2(concat$2([softline$1, join$2(concat$2([",", line$1]), printed)])), ifBreak$1(canHaveTrailingComma && shouldPrintComma(options, "all") ? "," : ""), softline$1, ")"]); } function canPrintParamsWithoutParens(node) { - return ( - node.params.length === 1 && - !node.rest && - node.params[0].type === "Identifier" && - !node.params[0].typeAnnotation && - !util$4.hasBlockComments(node.params[0]) && - !node.params[0].optional && - !node.predicate && - !node.returnType - ); + return node.params.length === 1 && !node.rest && node.params[0].type === "Identifier" && !node.params[0].typeAnnotation && !util$4.hasBlockComments(node.params[0]) && !node.params[0].optional && !node.predicate && !node.returnType; } function printFunctionDeclaration(path, print, options) { - const n = path.getValue(); - const parts = []; + var n = path.getValue(); + var parts = []; if (n.async) { parts.push("async "); @@ -6111,24 +4833,14 @@ function printFunctionDeclaration(path, print, options) { parts.push(" ", path.call(print, "id")); } - parts.push( - printFunctionTypeParameters(path, options, print), - group$1( - concat$2([ - printFunctionParams(path, print, options), - printReturnType(path, print) - ]) - ), - n.body ? " " : "", - path.call(print, "body") - ); + parts.push(printFunctionTypeParameters(path, options, print), group$1(concat$2([printFunctionParams(path, print, options), printReturnType(path, print)])), n.body ? " " : "", path.call(print, "body")); return concat$2(parts); } function printObjectMethod(path, options, print) { - const objMethod = path.getValue(); - const parts = []; + var objMethod = path.getValue(); + var parts = []; if (objMethod.async) { parts.push("async "); @@ -6136,15 +4848,11 @@ function printObjectMethod(path, options, print) { if (objMethod.generator) { parts.push("*"); } - if ( - objMethod.method || - objMethod.kind === "get" || - objMethod.kind === "set" - ) { + if (objMethod.method || objMethod.kind === "get" || objMethod.kind === "set") { return printMethod(path, options, print); } - const key = printPropertyKey(path, options, print); + var key = printPropertyKey(path, options, print); if (objMethod.computed) { parts.push("[", key, "]"); @@ -6152,24 +4860,14 @@ function printObjectMethod(path, options, print) { parts.push(key); } - parts.push( - printFunctionTypeParameters(path, options, print), - group$1( - concat$2([ - printFunctionParams(path, print, options), - printReturnType(path, print) - ]) - ), - " ", - path.call(print, "body") - ); + parts.push(printFunctionTypeParameters(path, options, print), group$1(concat$2([printFunctionParams(path, print, options), printReturnType(path, print)])), " ", path.call(print, "body")); return concat$2(parts); } function printReturnType(path, print) { - const n = path.getValue(); - const parts = [path.call(print, "returnType")]; + var n = path.getValue(); + var parts = [path.call(print, "returnType")]; // prepend colon to TypeScript type annotation if (n.returnType && n.returnType.typeAnnotation) { @@ -6186,56 +4884,38 @@ function printReturnType(path, print) { } function printExportDeclaration(path, options, print) { - const decl = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = ["export "]; + var decl = path.getValue(); + var semi = options.semi ? ";" : ""; + var parts = ["export "]; if (decl["default"] || decl.type === "ExportDefaultDeclaration") { // Temp fix, delete after https://github.com/eslint/typescript-eslint-parser/issues/304 - if ( - decl.declaration && - /=/.test( - options.originalText.slice( - util$4.locStart(decl), - util$4.locStart(decl.declaration) - ) - ) - ) { + if (decl.declaration && /=/.test(options.originalText.slice(util$4.locStart(decl), util$4.locStart(decl.declaration)))) { parts.push("= "); } else { parts.push("default "); } } - parts.push( - comments$3.printDanglingComments(path, options, /* sameIndent */ true) - ); + parts.push(comments$3.printDanglingComments(path, options, /* sameIndent */true)); if (decl.declaration) { parts.push(path.call(print, "declaration")); - if ( - decl.type === "ExportDefaultDeclaration" && - (decl.declaration.type !== "ClassDeclaration" && - decl.declaration.type !== "FunctionDeclaration" && - decl.declaration.type !== "TSAbstractClassDeclaration") - ) { + if (decl.type === "ExportDefaultDeclaration" && decl.declaration.type !== "ClassDeclaration" && decl.declaration.type !== "FunctionDeclaration" && decl.declaration.type !== "TSAbstractClassDeclaration") { parts.push(semi); } } else { if (decl.specifiers && decl.specifiers.length > 0) { - if ( - decl.specifiers.length === 1 && - decl.specifiers[0].type === "ExportBatchSpecifier" - ) { + if (decl.specifiers.length === 1 && decl.specifiers[0].type === "ExportBatchSpecifier") { parts.push("*"); } else { - const specifiers = []; - const defaultSpecifiers = []; - const namespaceSpecifiers = []; + var specifiers = []; + var defaultSpecifiers = []; + var namespaceSpecifiers = []; - path.map(specifierPath => { - const specifierType = path.getValue().type; + path.map(function (specifierPath) { + var specifierType = path.getValue().type; if (specifierType === "ExportSpecifier") { specifiers.push(print(specifierPath)); } else if (specifierType === "ExportDefaultSpecifier") { @@ -6245,35 +4925,10 @@ function printExportDeclaration(path, options, print) { } }, "specifiers"); - const isNamespaceFollowed = - namespaceSpecifiers.length !== 0 && - (specifiers.length !== 0 || defaultSpecifiers.length !== 0); - const isDefaultFollowed = - defaultSpecifiers.length !== 0 && specifiers.length !== 0; + var isNamespaceFollowed = namespaceSpecifiers.length !== 0 && (specifiers.length !== 0 || defaultSpecifiers.length !== 0); + var isDefaultFollowed = defaultSpecifiers.length !== 0 && specifiers.length !== 0; - parts.push( - decl.exportKind === "type" ? "type " : "", - concat$2(namespaceSpecifiers), - concat$2([isNamespaceFollowed ? ", " : ""]), - concat$2(defaultSpecifiers), - concat$2([isDefaultFollowed ? ", " : ""]), - specifiers.length !== 0 - ? group$1( - concat$2([ - "{", - indent$2( - concat$2([ - options.bracketSpacing ? line$1 : softline$1, - join$2(concat$2([",", line$1]), specifiers) - ]) - ), - ifBreak$1(shouldPrintComma(options) ? "," : ""), - options.bracketSpacing ? line$1 : softline$1, - "}" - ]) - ) - : "" - ); + parts.push(decl.exportKind === "type" ? "type " : "", concat$2(namespaceSpecifiers), concat$2([isNamespaceFollowed ? ", " : ""]), concat$2(defaultSpecifiers), concat$2([isDefaultFollowed ? ", " : ""]), specifiers.length !== 0 ? group$1(concat$2(["{", indent$2(concat$2([options.bracketSpacing ? line$1 : softline$1, join$2(concat$2([",", line$1]), specifiers)])), ifBreak$1(shouldPrintComma(options) ? "," : ""), options.bracketSpacing ? line$1 : softline$1, "}"])) : ""); } } else { parts.push("{}"); @@ -6290,7 +4945,7 @@ function printExportDeclaration(path, options, print) { } function printFlowDeclaration(path, parts) { - const parentExportDecl = util$4.getParentExportDeclaration(path); + var parentExportDecl = util$4.getParentExportDeclaration(path); if (parentExportDecl) { assert$1.strictEqual(parentExportDecl.type, "DeclareExportDeclaration"); @@ -6312,7 +4967,7 @@ function getFlowVariance(path) { // Babylon 7.0 currently uses variance node type, and flow should // follow suit soon: // https://github.com/babel/babel/issues/4722 - const variance = path.variance.kind || path.variance; + var variance = path.variance.kind || path.variance; switch (variance) { case "plus": @@ -6327,7 +4982,7 @@ function getFlowVariance(path) { } function printTypeScriptModifiers(path, options, print) { - const n = path.getValue(); + var n = path.getValue(); if (!n.modifiers || !n.modifiers.length) { return ""; } @@ -6335,7 +4990,7 @@ function printTypeScriptModifiers(path, options, print) { } function printTypeParameters(path, options, print, paramsKey) { - const n = path.getValue(); + var n = path.getValue(); if (!n[paramsKey]) { return ""; @@ -6346,40 +5001,18 @@ function printTypeParameters(path, options, print, paramsKey) { return path.call(print, paramsKey); } - const shouldInline = - n[paramsKey].length === 1 && - (shouldHugType(n[paramsKey][0]) || - (n[paramsKey][0].type === "GenericTypeAnnotation" && - shouldHugType(n[paramsKey][0].id)) || - n[paramsKey][0].type === "NullableTypeAnnotation"); + var shouldInline = n[paramsKey].length === 1 && (shouldHugType(n[paramsKey][0]) || n[paramsKey][0].type === "GenericTypeAnnotation" && shouldHugType(n[paramsKey][0].id) || n[paramsKey][0].type === "NullableTypeAnnotation"); if (shouldInline) { return concat$2(["<", join$2(", ", path.map(print, paramsKey)), ">"]); } - return group$1( - concat$2([ - "<", - indent$2( - concat$2([ - softline$1, - join$2(concat$2([",", line$1]), path.map(print, paramsKey)) - ]) - ), - ifBreak$1( - options.parser !== "typescript" && shouldPrintComma(options, "all") - ? "," - : "" - ), - softline$1, - ">" - ]) - ); + return group$1(concat$2(["<", indent$2(concat$2([softline$1, join$2(concat$2([",", line$1]), path.map(print, paramsKey))])), ifBreak$1(options.parser !== "typescript" && shouldPrintComma(options, "all") ? "," : ""), softline$1, ">"])); } function printClass(path, options, print) { - const n = path.getValue(); - const parts = []; + var n = path.getValue(); + var parts = []; if (n.accessibility) { parts.push(n.accessibility + " "); @@ -6396,23 +5029,15 @@ function printClass(path, options, print) { parts.push(path.call(print, "typeParameters")); - const partsGroup = []; + var partsGroup = []; if (n.superClass) { - parts.push( - " extends ", - path.call(print, "superClass"), - path.call(print, "superTypeParameters") - ); + parts.push(" extends ", path.call(print, "superClass"), path.call(print, "superTypeParameters")); } else if (n.extends && n.extends.length > 0) { parts.push(" extends ", join$2(", ", path.map(print, "extends"))); } if (n["implements"] && n["implements"].length > 0) { - partsGroup.push( - line$1, - "implements ", - group$1(indent$2(join$2(concat$2([",", line$1]), path.map(print, "implements")))) - ); + partsGroup.push(line$1, "implements ", group$1(indent$2(join$2(concat$2([",", line$1]), path.map(print, "implements"))))); } if (partsGroup.length > 0) { @@ -6425,24 +5050,18 @@ function printClass(path, options, print) { } function printMemberLookup(path, options, print) { - const property = path.call(print, "property"); - const n = path.getValue(); + var property = path.call(print, "property"); + var n = path.getValue(); if (!n.computed) { return concat$2([".", property]); } - if ( - !n.property || - (n.property.type === "Literal" && typeof n.property.value === "number") || - n.property.type === "NumericLiteral" - ) { + if (!n.property || n.property.type === "Literal" && typeof n.property.value === "number" || n.property.type === "NumericLiteral") { return concat$2(["[", property, "]"]); } - return group$1( - concat$2(["[", indent$2(concat$2([softline$1, property])), softline$1, "]"]) - ); + return group$1(concat$2(["[", indent$2(concat$2([softline$1, property])), softline$1, "]"])); } // We detect calls on member expressions specially to format a @@ -6464,34 +5083,30 @@ function printMemberChain(path, options, print) { // CallExpression(MemberExpression(CallExpression(Identifier))) // and we transform it into // [Identifier, CallExpression, MemberExpression, CallExpression] - const printedNodes = []; + var printedNodes = []; function rec(path) { - const node = path.getValue(); + var node = path.getValue(); if (node.type === "CallExpression") { printedNodes.unshift({ node: node, - printed: comments$3.printComments( - path, - () => - concat$2([ - printFunctionTypeParameters(path, options, print), - printArgumentsList(path, options, print) - ]), - options - ) + printed: comments$3.printComments(path, function () { + return concat$2([printFunctionTypeParameters(path, options, print), printArgumentsList(path, options, print)]); + }, options) }); - path.call(callee => rec(callee), "callee"); + path.call(function (callee) { + return rec(callee); + }, "callee"); } else if (node.type === "MemberExpression") { printedNodes.unshift({ node: node, - printed: comments$3.printComments( - path, - () => printMemberLookup(path, options, print), - options - ) + printed: comments$3.printComments(path, function () { + return printMemberLookup(path, options, print); + }, options) }); - path.call(object => rec(object), "object"); + path.call(function (object) { + return rec(object); + }, "object"); } else { printedNodes.unshift({ node: node, @@ -6504,12 +5119,11 @@ function printMemberChain(path, options, print) { // if handled inside of the recursive call. printedNodes.unshift({ node: path.getValue(), - printed: concat$2([ - printFunctionTypeParameters(path, options, print), - printArgumentsList(path, options, print) - ]) + printed: concat$2([printFunctionTypeParameters(path, options, print), printArgumentsList(path, options, print)]) }); - path.call(callee => rec(callee), "callee"); + path.call(function (callee) { + return rec(callee); + }, "callee"); // Once we have a linear list of printed nodes, we want to create groups out // of it. @@ -6533,9 +5147,9 @@ function printMemberChain(path, options, print) { // < fn()()() >.something() // - then, as many MemberExpression as possible but the last one // < this.items >.something() - const groups = []; - let currentGroup = [printedNodes[0]]; - let i = 1; + var groups = []; + var currentGroup = [printedNodes[0]]; + var i = 1; for (; i < printedNodes.length; ++i) { if (printedNodes[i].node.type === "CallExpression") { currentGroup.push(printedNodes[i]); @@ -6544,10 +5158,7 @@ function printMemberChain(path, options, print) { } } for (; i + 1 < printedNodes.length; ++i) { - if ( - printedNodes[i].node.type === "MemberExpression" && - printedNodes[i + 1].node.type === "MemberExpression" - ) { + if (printedNodes[i].node.type === "MemberExpression" && printedNodes[i + 1].node.type === "MemberExpression") { currentGroup.push(printedNodes[i]); } else { break; @@ -6560,12 +5171,9 @@ function printMemberChain(path, options, print) { // a sequence of CallExpression. To compute it, we keep adding things to the // group until we has seen a CallExpression in the past and reach a // MemberExpression - let hasSeenCallExpression = false; + var hasSeenCallExpression = false; for (; i < printedNodes.length; ++i) { - if ( - hasSeenCallExpression && - printedNodes[i].node.type === "MemberExpression" - ) { + if (hasSeenCallExpression && printedNodes[i].node.type === "MemberExpression") { // [0] should be appended at the end of the group instead of the // beginning of the next one if (printedNodes[i].node.computed) { @@ -6583,10 +5191,9 @@ function printMemberChain(path, options, print) { } currentGroup.push(printedNodes[i]); - if ( - printedNodes[i].node.comments && - printedNodes[i].node.comments.some(comment => comment.trailing) - ) { + if (printedNodes[i].node.comments && printedNodes[i].node.comments.some(function (comment) { + return comment.trailing; + })) { groups.push(currentGroup); currentGroup = []; hasSeenCallExpression = false; @@ -6608,54 +5215,43 @@ function printMemberChain(path, options, print) { // node is just an identifier with the name starting with a capital // letter, just a sequence of _$ or this. The rationale is that they are // likely to be factories. - const shouldMerge = - groups.length >= 2 && - !groups[1][0].node.comments && - groups[0].length === 1 && - (groups[0][0].node.type === "ThisExpression" || - (groups[0][0].node.type === "Identifier" && - groups[0][0].node.name.match(/(^[A-Z])|^[_$]+$/))); + var shouldMerge = groups.length >= 2 && !groups[1][0].node.comments && groups[0].length === 1 && (groups[0][0].node.type === "ThisExpression" || groups[0][0].node.type === "Identifier" && groups[0][0].node.name.match(/(^[A-Z])|^[_$]+$/)); function printGroup(printedGroup) { - return concat$2(printedGroup.map(tuple => tuple.printed)); + return concat$2(printedGroup.map(function (tuple) { + return tuple.printed; + })); } function printIndentedGroup(groups) { if (groups.length === 0) { return ""; } - return indent$2( - group$1(concat$2([hardline$2, join$2(hardline$2, groups.map(printGroup))])) - ); + return indent$2(group$1(concat$2([hardline$2, join$2(hardline$2, groups.map(printGroup))]))); } - const printedGroups = groups.map(printGroup); - const oneLine = concat$2(printedGroups); + var printedGroups = groups.map(printGroup); + var oneLine = concat$2(printedGroups); - const flatGroups = groups - .slice(0, shouldMerge ? 3 : 2) - .reduce((res, group) => res.concat(group), []); + var flatGroups = groups.slice(0, shouldMerge ? 3 : 2).reduce(function (res, group) { + return res.concat(group); + }, []); - const hasComment = - flatGroups.slice(1, -1).some(node => hasLeadingComment(node.node)) || - flatGroups.slice(0, -1).some(node => hasTrailingComment(node.node)); + var hasComment = flatGroups.slice(1, -1).some(function (node) { + return hasLeadingComment(node.node); + }) || flatGroups.slice(0, -1).some(function (node) { + return hasTrailingComment(node.node); + }); // If we only have a single `.`, we shouldn't do anything fancy and just // render everything concatenated together. - if ( - groups.length <= (shouldMerge ? 3 : 2) && - !hasComment && - // (a || b).map() should be break before .map() instead of || - groups[0][0].node.type !== "LogicalExpression" - ) { + if (groups.length <= (shouldMerge ? 3 : 2) && !hasComment && + // (a || b).map() should be break before .map() instead of || + groups[0][0].node.type !== "LogicalExpression") { return group$1(oneLine); } - const expanded = concat$2([ - printGroup(groups[0]), - shouldMerge ? concat$2(groups.slice(1, 2).map(printGroup)) : "", - printIndentedGroup(groups.slice(shouldMerge ? 2 : 1)) - ]); + var expanded = concat$2([printGroup(groups[0]), shouldMerge ? concat$2(groups.slice(1, 2).map(printGroup)) : "", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]); // If there's a comment, we don't want to print in one line. if (hasComment) { @@ -6669,12 +5265,10 @@ function printMemberChain(path, options, print) { } return concat$2([ - // We only need to check `oneLine` because if `expanded` is chosen - // that means that the parent group has already been broken - // naturally - willBreak(oneLine) ? breakParent$2 : "", - conditionalGroup$1([oneLine, expanded]) - ]); + // We only need to check `oneLine` because if `expanded` is chosen + // that means that the parent group has already been broken + // naturally + willBreak(oneLine) ? breakParent$2 : "", conditionalGroup$1([oneLine, expanded])]); } function isEmptyJSXElement(node) { @@ -6686,12 +5280,11 @@ function isEmptyJSXElement(node) { } // if there is one child but it's just a newline, treat as empty - const value = node.children[0].value; + var value = node.children[0].value; if (!/\S/.test(value) && /\n/.test(value)) { return true; - } else { - return false; } + return false; } // JSX Children are strange, mostly for two reasons: @@ -6710,20 +5303,20 @@ function isEmptyJSXElement(node) { // content and whitespace elements. // To ensure this we add dummy `""` content elements as needed. function printJSXChildren(path, options, print, jsxWhitespace) { - const n = path.getValue(); - const children = []; + var n = path.getValue(); + var children = []; // using `map` instead of `each` because it provides `i` - path.map((childPath, i) => { - const child = childPath.getValue(); + path.map(function (childPath, i) { + var child = childPath.getValue(); if (isLiteral(child) && typeof child.value === "string") { - const value = child.raw || child.extra.raw; + var value = child.raw || child.extra.raw; // Contains a non-whitespace character if (/[^ \n\r\t]/.test(value)) { // treat each line of text as its own entity - value.split(/(\r?\n\s*)/).forEach(textLine => { - const newlines = textLine.match(/\n/g); + value.split(/(\r?\n\s*)/).forEach(function (textLine) { + var newlines = textLine.match(/\n/g); if (newlines) { children.push(""); children.push(hardline$2); @@ -6740,16 +5333,16 @@ function printJSXChildren(path, options, print, jsxWhitespace) { return; } - const beginSpace = /^[ \n\r\t]+/.test(textLine); + var beginSpace = /^[ \n\r\t]+/.test(textLine); if (beginSpace) { children.push(""); children.push(jsxWhitespace); } - const stripped = textLine.replace(/^[ \n\r\t]+|[ \n\r\t]+$/g, ""); + var stripped = textLine.replace(/^[ \n\r\t]+|[ \n\r\t]+$/g, ""); // Split text into words separated by "line"s. - stripped.split(/([ \n\r\t]+)/).forEach(word => { - const space = /[ \n\r\t]+/.test(word); + stripped.split(/([ \n\r\t]+)/).forEach(function (word) { + var space = /[ \n\r\t]+/.test(word); if (space) { children.push(line$1); } else { @@ -6757,7 +5350,7 @@ function printJSXChildren(path, options, print, jsxWhitespace) { } }); - const endSpace = /[ \n\r\t]+$/.test(textLine); + var endSpace = /[ \n\r\t]+$/.test(textLine); if (endSpace) { children.push(jsxWhitespace); } else { @@ -6785,7 +5378,7 @@ function printJSXChildren(path, options, print, jsxWhitespace) { } else if (/[ \n\r\t]/.test(value)) { // whitespace(s)-only without newlines, // eg; one or more spaces separating two elements - for (let i = 0; i < value.length; ++i) { + for (var _i6 = 0; _i6 < value.length; ++_i6) { // Because fill expects alternating content and whitespace parts // we need to include an empty content part before each JSX // whitespace. @@ -6796,9 +5389,11 @@ function printJSXChildren(path, options, print, jsxWhitespace) { } else { children.push(print(childPath)); - const next = n.children[i + 1]; - const followedByJSXElement = next && !isLiteral(next); - if (followedByJSXElement) { + var next = n.children[i + 1]; + var followedByJSXElement = next && !isLiteral(next); + var followedByJSXWhitespace = next && next.type === "JSXExpressionContainer" && isLiteral(next.expression) && next.expression.value === " "; + + if (followedByJSXElement && !followedByJSXWhitespace) { children.push(softline$1); } else { // Ideally this would be a softline as well. @@ -6828,7 +5423,7 @@ function printJSXChildren(path, options, print, jsxWhitespace) { // To support that case properly, all leading and trailing spaces // are stripped from the list of children, and replaced with a single hardline. function printJSXElement(path, options, print) { - const n = path.getValue(); + var n = path.getValue(); // Turn
into
if (isEmptyJSXElement(n)) { @@ -6836,20 +5431,11 @@ function printJSXElement(path, options, print) { delete n.closingElement; } - const openingLines = path.call(print, "openingElement"); - const closingLines = path.call(print, "closingElement"); + var openingLines = path.call(print, "openingElement"); + var closingLines = path.call(print, "closingElement"); - if ( - n.children.length === 1 && - n.children[0].type === "JSXExpressionContainer" && - (n.children[0].expression.type === "TemplateLiteral" || - n.children[0].expression.type === "TaggedTemplateExpression") - ) { - return concat$2([ - openingLines, - concat$2(path.map(print, "children")), - closingLines - ]); + if (n.children.length === 1 && n.children[0].type === "JSXExpressionContainer" && (n.children[0].expression.type === "TemplateLiteral" || n.children[0].expression.type === "TaggedTemplateExpression")) { + return concat$2([openingLines, concat$2(path.map(print, "children")), closingLines]); } // If no children, just print the opening element @@ -6858,27 +5444,24 @@ function printJSXElement(path, options, print) { return openingLines; } // Record any breaks. Should never go from true to false, only false to true. - let forcedBreak = willBreak(openingLines); + var forcedBreak = willBreak(openingLines); - const rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; - const jsxWhitespace = ifBreak$1(concat$2([softline$1, rawJsxWhitespace]), " "); + var rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; + var jsxWhitespace = ifBreak$1(concat$2([rawJsxWhitespace, softline$1]), " "); - const children = printJSXChildren(path, options, print, jsxWhitespace); + var children = printJSXChildren(path, options, print, jsxWhitespace); // Remove multiple filler empty strings // These can occur when a text element is followed by a newline. - for (let i = children.length - 2; i >= 0; i--) { + for (var i = children.length - 2; i >= 0; i--) { if (children[i] === "" && children[i + 1] === "") { children.splice(i, 2); } } // Trim trailing lines (or empty strings), recording if there was a hardline - let numTrailingHard = 0; - while ( - children.length && - (isLineNext(util$4.getLast(children)) || isEmpty(util$4.getLast(children))) - ) { + var numTrailingHard = 0; + while (children.length && (isLineNext(util$4.getLast(children)) || isEmpty(util$4.getLast(children)))) { if (willBreak(util$4.getLast(children))) { ++numTrailingHard; forcedBreak = true; @@ -6892,12 +5475,8 @@ function printJSXElement(path, options, print) { } // Trim leading lines (or empty strings), recording if there was a hardline - let numLeadingHard = 0; - while ( - children.length && - (isLineNext(children[0]) || isEmpty(children[0])) && - (isLineNext(children[1]) || isEmpty(children[1])) - ) { + var numLeadingHard = 0; + while (children.length && (isLineNext(children[0]) || isEmpty(children[0])) && (isLineNext(children[1]) || isEmpty(children[1]))) { if (willBreak(children[0]) || willBreak(children[1])) { ++numLeadingHard; forcedBreak = true; @@ -6913,8 +5492,8 @@ function printJSXElement(path, options, print) { // Tweak how we format children if outputting this element over multiple lines. // Also detect whether we will force this element to output over multiple lines. - const multilineChildren = []; - children.forEach((child, i) => { + var multilineChildren = []; + children.forEach(function (child, i) { // Ensure that we display leading, trailing, and solitary whitespace as // `{" "}` when outputting this element over multiple lines. if (child === jsxWhitespace) { @@ -6922,14 +5501,7 @@ function printJSXElement(path, options, print) { multilineChildren.push(rawJsxWhitespace); return; } else if (i === children.length - 1) { - multilineChildren.push(concat$2([hardline$2, rawJsxWhitespace])); - return; - } else if (willBreak(children[i - 1]) || willBreak(children[i + 1])) { - // If we come before or after a JSX element that is multiline - // ensure the JSX whitespace appears on a line by itself. - // NOTE: Currently this only detects elements that are already - // multiline before formatting! - multilineChildren.push(concat$2([hardline$2, rawJsxWhitespace, hardline$2])); + multilineChildren.push(rawJsxWhitespace); return; } } @@ -6941,32 +5513,22 @@ function printJSXElement(path, options, print) { } }); - const multiLineElem = group$1( - concat$2([ - openingLines, - indent$2(concat$2([hardline$2, fill$1(multilineChildren)])), - hardline$2, - closingLines - ]) - ); + var multiLineElem = group$1(concat$2([openingLines, indent$2(concat$2([hardline$2, fill$1(multilineChildren)])), hardline$2, closingLines])); if (forcedBreak) { return multiLineElem; } - return conditionalGroup$1([ - group$1(concat$2([openingLines, fill$1(children), closingLines])), - multiLineElem - ]); + return conditionalGroup$1([group$1(concat$2([openingLines, fill$1(children), closingLines])), multiLineElem]); } function maybeWrapJSXElementInParens(path, elem) { - const parent = path.getParentNode(); + var parent = path.getParentNode(); if (!parent) { return elem; } - const NO_WRAP_PARENTS = { + var NO_WRAP_PARENTS = { ArrayExpression: true, JSXElement: true, JSXExpressionContainer: true, @@ -6980,14 +5542,7 @@ function maybeWrapJSXElementInParens(path, elem) { return elem; } - return group$1( - concat$2([ - ifBreak$1("("), - indent$2(concat$2([softline$1, elem])), - softline$1, - ifBreak$1(")") - ]) - ); + return group$1(concat$2([ifBreak$1("("), indent$2(concat$2([softline$1, elem])), softline$1, ifBreak$1(")")])); } function isBinaryish(node) { @@ -6999,17 +5554,11 @@ function shouldInlineLogicalExpression(node) { return false; } - if ( - node.right.type === "ObjectExpression" && - node.right.properties.length !== 0 - ) { + if (node.right.type === "ObjectExpression" && node.right.properties.length !== 0) { return true; } - if ( - node.right.type === "ArrayExpression" && - node.right.elements.length !== 0 - ) { + if (node.right.type === "ArrayExpression" && node.right.elements.length !== 0) { return true; } @@ -7024,15 +5573,9 @@ function shouldInlineLogicalExpression(node) { // precedence level and the AST is structured based on precedence // level, things are naturally broken up correctly, i.e. `&&` is // broken before `+`. -function printBinaryishExpressions( - path, - print, - options, - isNested, - isInsideParenthesis -) { - let parts = []; - const node = path.getValue(); +function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) { + var parts = []; + var node = path.getValue(); // We treat BinaryExpression and LogicalExpression nodes the same. if (isBinaryish(node)) { @@ -7045,43 +5588,22 @@ function printBinaryishExpressions( // precedence level and should be treated as a separate group, so // print them normally. (This doesn't hold for the `**` operator, // which is unique in that it is right-associative.) - if ( - util$4.getPrecedence(node.left.operator) === - util$4.getPrecedence(node.operator) && - node.operator !== "**" - ) { + if (util$4.getPrecedence(node.left.operator) === util$4.getPrecedence(node.operator) && node.operator !== "**") { // Flatten them out by recursively calling this function. - parts = parts.concat( - path.call( - left => - printBinaryishExpressions( - left, - print, - options, - /* isNested */ true, - isInsideParenthesis - ), - "left" - ) - ); + parts = parts.concat(path.call(function (left) { + return printBinaryishExpressions(left, print, options, + /* isNested */true, isInsideParenthesis); + }, "left")); } else { parts.push(path.call(print, "left")); } - const right = concat$2([ - node.operator, - shouldInlineLogicalExpression(node) ? " " : line$1, - path.call(print, "right") - ]); + var right = concat$2([node.operator, shouldInlineLogicalExpression(node) ? " " : line$1, path.call(print, "right")]); // If there's only a single binary expression, we want to create a group // in order to avoid having a small right part like -1 be on its own line. - const parent = path.getParentNode(); - const shouldGroup = - !(isInsideParenthesis && node.type === "LogicalExpression") && - parent.type !== node.type && - node.left.type !== node.type && - node.right.type !== node.type; + var parent = path.getParentNode(); + var shouldGroup = !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; parts.push(" ", shouldGroup ? group$1(right) : right); @@ -7089,7 +5611,9 @@ function printBinaryishExpressions( // the other ones since we don't call the normal print on BinaryExpression, // only for the left and right parts if (isNested && node.comments) { - parts = comments$3.printComments(path, () => concat$2(parts), options); + parts = comments$3.printComments(path, function () { + return concat$2(parts); + }, options); } } else { // Our stopping case. Simply print the node normally. @@ -7111,31 +5635,14 @@ function printAssignmentRight(rightNode, printedRight, canBreak, options) { return concat$2([" ", printedRight]); } -function printAssignment( - leftNode, - printedLeft, - operator, - rightNode, - printedRight, - options -) { +function printAssignment(leftNode, printedLeft, operator, rightNode, printedRight, options) { if (!rightNode) { return printedLeft; } - const canBreak = - (isBinaryish(rightNode) && !shouldInlineLogicalExpression(rightNode)) || - ((leftNode.type === "Identifier" || - isStringLiteral(leftNode) || - leftNode.type === "MemberExpression") && - (isStringLiteral(rightNode) || isMemberExpressionChain(rightNode))); + var canBreak = isBinaryish(rightNode) && !shouldInlineLogicalExpression(rightNode) || (leftNode.type === "Identifier" || isStringLiteral(leftNode) || leftNode.type === "MemberExpression") && (isStringLiteral(rightNode) || isMemberExpressionChain(rightNode)); - const printed = printAssignmentRight( - rightNode, - printedRight, - canBreak, - options - ); + var printed = printAssignmentRight(rightNode, printedRight, canBreak, options); return group$1(concat$2([printedLeft, operator, printed])); } @@ -7153,42 +5660,36 @@ function adjustClause(node, clause, forceSpace) { } function nodeStr(node, options, isFlowDirectiveLiteral) { - const raw = node.extra ? node.extra.raw : node.raw; + var raw = node.extra ? node.extra.raw : node.raw; // `rawContent` is the string exactly like it appeared in the input source // code, with its enclosing quote. - const rawContent = raw.slice(1, -1); + var rawContent = raw.slice(1, -1); - const double = { quote: '"', regex: /"/g }; - const single = { quote: "'", regex: /'/g }; + var double = { quote: '"', regex: /"/g }; + var single = { quote: "'", regex: /'/g }; - const preferred = options.singleQuote ? single : double; - const alternate = preferred === single ? double : single; + var preferred = options.singleQuote ? single : double; + var alternate = preferred === single ? double : single; - let shouldUseAlternateQuote = false; - const isDirectiveLiteral = - isFlowDirectiveLiteral || node.type === "DirectiveLiteral"; - let canChangeDirectiveQuotes = false; + var shouldUseAlternateQuote = false; + var isDirectiveLiteral = isFlowDirectiveLiteral || node.type === "DirectiveLiteral"; + var canChangeDirectiveQuotes = false; // If `rawContent` contains at least one of the quote preferred for enclosing // the string, we might want to enclose with the alternate quote instead, to // minimize the number of escaped quotes. // Also check for the alternate quote, to determine if we're allowed to swap // the quotes on a DirectiveLiteral. - if ( - rawContent.includes(preferred.quote) || - rawContent.includes(alternate.quote) - ) { - const numPreferredQuotes = (rawContent.match(preferred.regex) || []).length; - const numAlternateQuotes = (rawContent.match(alternate.regex) || []).length; + if (rawContent.includes(preferred.quote) || rawContent.includes(alternate.quote)) { + var numPreferredQuotes = (rawContent.match(preferred.regex) || []).length; + var numAlternateQuotes = (rawContent.match(alternate.regex) || []).length; shouldUseAlternateQuote = numPreferredQuotes > numAlternateQuotes; } else { canChangeDirectiveQuotes = true; } - const enclosingQuote = shouldUseAlternateQuote - ? alternate.quote - : preferred.quote; + var enclosingQuote = shouldUseAlternateQuote ? alternate.quote : preferred.quote; // Directives are exact code unit sequences, which means that you can't // change the escape sequences they use. @@ -7197,9 +5698,8 @@ function nodeStr(node, options, isFlowDirectiveLiteral) { if (isDirectiveLiteral) { if (canChangeDirectiveQuotes) { return enclosingQuote + rawContent + enclosingQuote; - } else { - return raw; } + return raw; } // It might sound unnecessary to use `makeString` even if `node.raw` already @@ -7210,14 +5710,14 @@ function nodeStr(node, options, isFlowDirectiveLiteral) { } function makeString(rawContent, enclosingQuote) { - const otherQuote = enclosingQuote === '"' ? "'" : '"'; + var otherQuote = enclosingQuote === '"' ? "'" : '"'; // Matches _any_ escape and unescaped quotes (both single and double). - const regex = /\\([\s\S])|(['"])/g; + var regex = /\\([\s\S])|(['"])/g; // Escape and unescape single and double quotes as needed to be able to // enclose `rawContent` with `enclosingQuote`. - const newContent = rawContent.replace(regex, (match, escaped, quote) => { + var newContent = rawContent.replace(regex, function (match, escaped, quote) { // If we matched an escape, and the escaped character is a quote of the // other type than we intend to enclose the string with, there's no need for // it to be escaped, so return it _without_ the backslash. @@ -7238,52 +5738,54 @@ function makeString(rawContent, enclosingQuote) { // Unescape any unnecessarily escaped character. // Adapted from https://github.com/eslint/eslint/blob/de0b4ad7bd820ade41b1f606008bea68683dc11a/lib/rules/no-useless-escape.js#L27 - return /^[^\\nrvtbfux\r\n\u2028\u2029"'0-7]$/.test(escaped) - ? escaped - : "\\" + escaped; + return (/^[^\\nrvtbfux\r\n\u2028\u2029"'0-7]$/.test(escaped) ? escaped : "\\" + escaped + ); }); return enclosingQuote + newContent + enclosingQuote; } function printRegex(node) { - const flags = node.flags.split("").sort().join(""); - return `/${node.pattern}/${flags}`; + var flags = node.flags.split("").sort().join(""); + return '/' + node.pattern + '/' + flags; } function printNumber(rawNumber) { - return ( - rawNumber - .toLowerCase() - // Remove unnecessary plus and zeroes from scientific notation. - .replace(/^([\d.]+e)(?:\+|(-))?0*(\d)/, "$1$2$3") - // Remove unnecessary scientific notation (1e0). - .replace(/^([\d.]+)e[+-]?0+$/, "$1") - // Make sure numbers always start with a digit. - .replace(/^\./, "0.") - // Remove extraneous trailing decimal zeroes. - .replace(/(\.\d+?)0+(?=e|$)/, "$1") - // Remove trailing dot. - .replace(/\.(?=e|$)/, "") - ); + return rawNumber.toLowerCase() + // Remove unnecessary plus and zeroes from scientific notation. + .replace(/^([\d.]+e)(?:\+|(-))?0*(\d)/, "$1$2$3") + // Remove unnecessary scientific notation (1e0). + .replace(/^([\d.]+)e[+-]?0+$/, "$1") + // Make sure numbers always start with a digit. + .replace(/^\./, "0.") + // Remove extraneous trailing decimal zeroes. + .replace(/(\.\d+?)0+(?=e|$)/, "$1") + // Remove trailing dot. + .replace(/\.(?=e|$)/, ""); } function isLastStatement(path) { - const parent = path.getParentNode(); + var parent = path.getParentNode(); if (!parent) { return true; } - const node = path.getValue(); - const body = parent.body.filter(stmt => stmt.type !== "EmptyStatement"); + var node = path.getValue(); + var body = parent.body.filter(function (stmt) { + return stmt.type !== "EmptyStatement"; + }); return body && body[body.length - 1] === node; } function hasLeadingComment(node) { - return node.comments && node.comments.some(comment => comment.leading); + return node.comments && node.comments.some(function (comment) { + return comment.leading; + }); } function hasTrailingComment(node) { - return node.comments && node.comments.some(comment => comment.trailing); + return node.comments && node.comments.some(function (comment) { + return comment.trailing; + }); } function hasLeadingOwnLineComment(text, node) { @@ -7291,64 +5793,27 @@ function hasLeadingOwnLineComment(text, node) { return false; } - const res = - node.comments && - node.comments.some( - comment => comment.leading && util$4.hasNewline(text, util$4.locEnd(comment)) - ); + var res = node.comments && node.comments.some(function (comment) { + return comment.leading && util$4.hasNewline(text, util$4.locEnd(comment)); + }); return res; } function hasNakedLeftSide(node) { - return ( - node.type === "AssignmentExpression" || - node.type === "BinaryExpression" || - node.type === "LogicalExpression" || - node.type === "ConditionalExpression" || - node.type === "CallExpression" || - node.type === "MemberExpression" || - node.type === "SequenceExpression" || - node.type === "TaggedTemplateExpression" || - (node.type === "UpdateExpression" && !node.prefix) - ); + return node.type === "AssignmentExpression" || node.type === "BinaryExpression" || node.type === "LogicalExpression" || node.type === "ConditionalExpression" || node.type === "CallExpression" || node.type === "MemberExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UpdateExpression" && !node.prefix; } function getLeftSide(node) { if (node.expressions) { return node.expressions[0]; } - return ( - node.left || - node.test || - node.callee || - node.object || - node.tag || - node.argument || - node.expression - ); + return node.left || node.test || node.callee || node.object || node.tag || node.argument || node.expression; } function exprNeedsASIProtection(node) { // HACK: node.needsParens is added in `genericPrint()` for the sole purpose // of being used here. It'd be preferable to find a cleaner way to do this. - const maybeASIProblem = - node.needsParens || - node.type === "ParenthesizedExpression" || - node.type === "TypeCastExpression" || - (node.type === "ArrowFunctionExpression" && - !canPrintParamsWithoutParens(node)) || - node.type === "ArrayExpression" || - node.type === "ArrayPattern" || - (node.type === "UnaryExpression" && - node.prefix && - (node.operator === "+" || node.operator === "-")) || - node.type === "TemplateLiteral" || - node.type === "TemplateElement" || - node.type === "JSXElement" || - node.type === "BindExpression" || - node.type === "RegExpLiteral" || - (node.type === "Literal" && node.pattern) || - (node.type === "Literal" && node.regex); + var maybeASIProblem = node.needsParens || node.type === "ParenthesizedExpression" || node.type === "TypeCastExpression" || node.type === "ArrowFunctionExpression" && !canPrintParamsWithoutParens(node) || node.type === "ArrayExpression" || node.type === "ArrayPattern" || node.type === "UnaryExpression" && node.prefix && (node.operator === "+" || node.operator === "-") || node.type === "TemplateLiteral" || node.type === "TemplateElement" || node.type === "JSXElement" || node.type === "BindExpression" || node.type === "RegExpLiteral" || node.type === "Literal" && node.pattern || node.type === "Literal" && node.regex; if (maybeASIProblem) { return true; @@ -7365,7 +5830,7 @@ function stmtNeedsASIProtection(path) { if (!path) { return false; } - const node = path.getNode(); + var node = path.getNode(); if (node.type !== "ExpressionStatement") { return false; @@ -7375,13 +5840,13 @@ function stmtNeedsASIProtection(path) { } function classPropMayCauseASIProblems(path) { - const node = path.getNode(); + var node = path.getNode(); if (node.type !== "ClassProperty") { return false; } - const name = node.key && node.key.name; + var name = node.key && node.key.name; if (!name) { return false; } @@ -7399,8 +5864,8 @@ function classChildNeedsASIProtection(node) { } if (!node.computed) { - const name = node.key && node.key.name; - if (name === "in" || name === "instanceof") { + var _name4 = node.key && node.key.name; + if (_name4 === "in" || _name4 === "instanceof") { return true; } } @@ -7410,23 +5875,19 @@ function classChildNeedsASIProtection(node) { return node.computed; case "MethodDefinition": // Flow case "TSAbstractMethodDefinition": // TypeScript - case "ClassMethod": { - // Babylon - const isAsync = node.value ? node.value.async : node.async; - const isGenerator = node.value ? node.value.generator : node.generator; - if ( - isAsync || - node.static || - node.kind === "get" || - node.kind === "set" - ) { + case "ClassMethod": + { + // Babylon + var isAsync = node.value ? node.value.async : node.async; + var isGenerator = node.value ? node.value.generator : node.generator; + if (isAsync || node.static || node.kind === "get" || node.kind === "set") { + return false; + } + if (node.computed || isGenerator) { + return true; + } return false; } - if (node.computed || isGenerator) { - return true; - } - return false; - } default: return false; @@ -7442,9 +5903,9 @@ function returnArgumentHasLeadingComment(options, argument) { } if (hasNakedLeftSide(argument)) { - let leftMost = argument; - let newLeftMost; - while ((newLeftMost = getLeftSide(leftMost))) { + var leftMost = argument; + var newLeftMost = void 0; + while (newLeftMost = getLeftSide(leftMost)) { leftMost = newLeftMost; if (hasLeadingOwnLineComment(options.originalText, leftMost)) { @@ -7470,12 +5931,7 @@ function isMemberExpressionChain(node) { // type T = { method: () => void }; // type T = { method(): void }; function isObjectTypePropertyAFunction(node) { - return ( - node.type === "ObjectTypeProperty" && - node.value.type === "FunctionTypeAnnotation" && - !node.static && - !isFunctionNotation(node) - ); + return node.type === "ObjectTypeProperty" && node.value.type === "FunctionTypeAnnotation" && !node.static && !isFunctionNotation(node); } // TODO: This is a bad hack and we need a better way to distinguish between @@ -7496,24 +5952,14 @@ function sameLocStart(nodeA, nodeB) { // declare function f(a): void; // var f: (a) => void; function isTypeAnnotationAFunction(node) { - return ( - node.type === "TypeAnnotation" && - node.typeAnnotation.type === "FunctionTypeAnnotation" && - !node.static && - !sameLocStart(node, node.typeAnnotation) - ); + return node.type === "TypeAnnotation" && node.typeAnnotation.type === "FunctionTypeAnnotation" && !node.static && !sameLocStart(node, node.typeAnnotation); } function isNodeStartingWithDeclare(node, options) { if (!(options.parser === "flow" || options.parser === "typescript")) { return false; } - return ( - options.originalText.slice(0, util$4.locStart(node)).match(/declare\s*$/) || - options.originalText - .slice(node.range[0], node.range[1]) - .startsWith("declare ") - ); + return options.originalText.slice(0, util$4.locStart(node)).match(/declare\s*$/) || options.originalText.slice(node.range[0], node.range[1]).startsWith("declare "); } function shouldHugType(node) { @@ -7522,13 +5968,9 @@ function shouldHugType(node) { } if (node.type === "UnionTypeAnnotation" || node.type === "TSUnionType") { - const count = node.types.filter( - n => - n.type === "VoidTypeAnnotation" || - n.type === "TSVoidKeyword" || - n.type === "NullLiteralTypeAnnotation" || - (n.type === "Literal" && n.value === null) - ).length; + var count = node.types.filter(function (n) { + return n.type === "VoidTypeAnnotation" || n.type === "TSVoidKeyword" || n.type === "NullLiteralTypeAnnotation" || n.type === "Literal" && n.value === null; + }).length; if (node.types.length - 1 === count) { return true; @@ -7538,48 +5980,29 @@ function shouldHugType(node) { } function shouldHugArguments(fun) { - return ( - fun && - fun.params && - fun.params.length === 1 && - !fun.params[0].comments && - (fun.params[0].type === "ObjectPattern" || - (fun.params[0].type === "Identifier" && - fun.params[0].typeAnnotation && - fun.params[0].typeAnnotation.type === "TypeAnnotation" && - shouldHugType(fun.params[0].typeAnnotation.typeAnnotation)) || - (fun.params[0].type === "FunctionTypeParam" && - shouldHugType(fun.params[0].typeAnnotation))) && - !fun.rest - ); + return fun && fun.params && fun.params.length === 1 && !fun.params[0].comments && (fun.params[0].type === "ObjectPattern" || fun.params[0].type === "Identifier" && fun.params[0].typeAnnotation && fun.params[0].typeAnnotation.type === "TypeAnnotation" && shouldHugType(fun.params[0].typeAnnotation.typeAnnotation) || fun.params[0].type === "FunctionTypeParam" && shouldHugType(fun.params[0].typeAnnotation)) && !fun.rest; } function templateLiteralHasNewLines(template) { - return template.quasis.some(quasi => quasi.value.raw.includes("\n")); + return template.quasis.some(function (quasi) { + return quasi.value.raw.includes("\n"); + }); } function isTemplateOnItsOwnLine(n, text) { - return ( - ((n.type === "TemplateLiteral" && templateLiteralHasNewLines(n)) || - (n.type === "TaggedTemplateExpression" && - templateLiteralHasNewLines(n.quasi))) && - !util$4.hasNewline(text, util$4.locStart(n), { backwards: true }) - ); + return (n.type === "TemplateLiteral" && templateLiteralHasNewLines(n) || n.type === "TaggedTemplateExpression" && templateLiteralHasNewLines(n.quasi)) && !util$4.hasNewline(text, util$4.locStart(n), { backwards: true }); } function printArrayItems(path, options, printPath, print) { - const printedElements = []; - let separatorParts = []; + var printedElements = []; + var separatorParts = []; - path.each(childPath => { + path.each(function (childPath) { printedElements.push(concat$2(separatorParts)); printedElements.push(group$1(print(childPath))); separatorParts = [",", line$1]; - if ( - childPath.getValue() && - util$4.isNextLineEmpty(options.originalText, childPath.getValue()) - ) { + if (childPath.getValue() && util$4.isNextLineEmpty(options.originalText, childPath.getValue())) { separatorParts.push(softline$1); } }, printPath); @@ -7588,32 +6011,17 @@ function printArrayItems(path, options, printPath, print) { } function hasDanglingComments(node) { - return ( - node.comments && - node.comments.some(comment => !comment.leading && !comment.trailing) - ); + return node.comments && node.comments.some(function (comment) { + return !comment.leading && !comment.trailing; + }); } function isLiteral(node) { - return ( - node.type === "BooleanLiteral" || - node.type === "DirectiveLiteral" || - node.type === "Literal" || - node.type === "NullLiteral" || - node.type === "NumericLiteral" || - node.type === "RegExpLiteral" || - node.type === "StringLiteral" || - node.type === "TemplateLiteral" || - node.type === "TSTypeLiteral" || - node.type === "JSXText" - ); + return node.type === "BooleanLiteral" || node.type === "DirectiveLiteral" || node.type === "Literal" || node.type === "NullLiteral" || node.type === "NumericLiteral" || node.type === "RegExpLiteral" || node.type === "StringLiteral" || node.type === "TemplateLiteral" || node.type === "TSTypeLiteral" || node.type === "JSXText"; } function isStringLiteral(node) { - return ( - node.type === "StringLiteral" || - (node.type === "Literal" && typeof node.value === "string") - ); + return node.type === "StringLiteral" || node.type === "Literal" && typeof node.value === "string"; } function removeLines(doc) { @@ -7621,7 +6029,7 @@ function removeLines(doc) { // lines into spaces (or soft lines into nothing). Hard lines // should still output because there's too great of a chance // of breaking existing assumptions otherwise. - return docUtils.mapDoc(doc, d => { + return docUtils.mapDoc(doc, function (d) { if (d.type === "line" && !d.hard) { return d.soft ? "" : " "; } else if (d.type === "if-break") { @@ -7639,36 +6047,24 @@ function printAstToDoc$1(ast, options, addAlignmentSize) { addAlignmentSize = addAlignmentSize || 0; function printGenerically(path, args) { - const node = path.getValue(); - const parent = path.getParentNode(0); + var node = path.getValue(); + var parent = path.getParentNode(0); // We let JSXElement print its comments itself because it adds () around // UnionTypeAnnotation has to align the child without the comments - if ( - (node && node.type === "JSXElement") || - (parent && - (parent.type === "UnionTypeAnnotation" || - parent.type === "TSUnionType")) - ) { + if (node && node.type === "JSXElement" || parent && (parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType")) { return genericPrint(path, options, printGenerically, args); } - return comments$3.printComments( - path, - p => genericPrint(p, options, printGenerically, args), - options, - args && args.needsSemi - ); + return comments$3.printComments(path, function (p) { + return genericPrint(p, options, printGenerically, args); + }, options, args && args.needsSemi); } - let doc = printGenerically(new FastPath(ast)); + var doc = printGenerically(new FastPath(ast)); if (addAlignmentSize > 0) { // Add a hardline to make the indents take effect // It should be removed in index.js format() - doc = addAlignmentToDoc$1( - removeLines(concat$2([hardline$2, doc])), - addAlignmentSize, - options.tabWidth - ); + doc = addAlignmentToDoc$1(removeLines(concat$2([hardline$2, doc])), addAlignmentSize, options.tabWidth); } docUtils.propagateBreaks(doc); return doc; @@ -7676,13 +6072,13 @@ function printAstToDoc$1(ast, options, addAlignmentSize) { var printer = { printAstToDoc: printAstToDoc$1 }; -const docBuilders$4 = docBuilders$1; -const concat$3 = docBuilders$4.concat; -const fill$2 = docBuilders$4.fill; -const cursor$2 = docBuilders$4.cursor; +var docBuilders$6 = docBuilders$1; +var concat$5 = docBuilders$6.concat; +var fill$2 = docBuilders$6.fill; +var cursor$2 = docBuilders$6.cursor; -const MODE_BREAK = 1; -const MODE_FLAT = 2; +var MODE_BREAK = 1; +var MODE_FLAT = 2; function rootIndent() { return { @@ -7722,32 +6118,31 @@ function makeAlign(ind, n) { } function fits(next, restCommands, width, mustBeFlat) { - let restIdx = restCommands.length; - const cmds = [next]; + var restIdx = restCommands.length; + var cmds = [next]; while (width >= 0) { if (cmds.length === 0) { if (restIdx === 0) { return true; - } else { - cmds.push(restCommands[restIdx - 1]); - - restIdx--; - - continue; } + cmds.push(restCommands[restIdx - 1]); + + restIdx--; + + continue; } - const x = cmds.pop(); - const ind = x[0]; - const mode = x[1]; - const doc = x[2]; + var x = cmds.pop(); + var ind = x[0]; + var mode = x[1]; + var doc = x[2]; if (typeof doc === "string") { width -= doc.length; } else { switch (doc.type) { case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { + for (var i = doc.parts.length - 1; i >= 0; i--) { cmds.push([ind, mode, doc.parts[i]]); } @@ -7768,8 +6163,8 @@ function fits(next, restCommands, width, mustBeFlat) { break; case "fill": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); + for (var _i7 = doc.parts.length - 1; _i7 >= 0; _i7--) { + cmds.push([ind, mode, doc.parts[_i7]]); } break; @@ -7810,110 +6205,106 @@ function fits(next, restCommands, width, mustBeFlat) { } function printDocToString$1(doc, options) { - const width = options.printWidth; - const newLine = options.newLine || "\n"; - let pos = 0; + var width = options.printWidth; + var newLine = options.newLine || "\n"; + var pos = 0; // cmds is basically a stack. We've turned a recursive call into a // while loop which is much faster. The while loop below adds new // cmds to the array instead of recursively calling `print`. - const cmds = [[rootIndent(), MODE_BREAK, doc]]; - const out = []; - let shouldRemeasure = false; - let lineSuffix = []; + var cmds = [[rootIndent(), MODE_BREAK, doc]]; + var out = []; + var shouldRemeasure = false; + var lineSuffix = []; while (cmds.length !== 0) { - const x = cmds.pop(); - const ind = x[0]; - const mode = x[1]; - const doc = x[2]; + var x = cmds.pop(); + var ind = x[0]; + var mode = x[1]; + var _doc = x[2]; - if (typeof doc === "string") { - out.push(doc); + if (typeof _doc === "string") { + out.push(_doc); - pos += doc.length; + pos += _doc.length; } else { - switch (doc.type) { + switch (_doc.type) { case "cursor": out.push(cursor$2.placeholder); break; case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); + for (var i = _doc.parts.length - 1; i >= 0; i--) { + cmds.push([ind, mode, _doc.parts[i]]); } break; case "indent": - cmds.push([makeIndent(ind), mode, doc.contents]); + cmds.push([makeIndent(ind), mode, _doc.contents]); break; case "align": - cmds.push([makeAlign(ind, doc.n), mode, doc.contents]); + cmds.push([makeAlign(ind, _doc.n), mode, _doc.contents]); break; case "group": switch (mode) { case MODE_FLAT: if (!shouldRemeasure) { - cmds.push([ - ind, - doc.break ? MODE_BREAK : MODE_FLAT, - doc.contents - ]); + cmds.push([ind, _doc.break ? MODE_BREAK : MODE_FLAT, _doc.contents]); break; } // fallthrough - case MODE_BREAK: { - shouldRemeasure = false; + case MODE_BREAK: + { + shouldRemeasure = false; - const next = [ind, MODE_FLAT, doc.contents]; - const rem = width - pos; + var next = [ind, MODE_FLAT, _doc.contents]; + var rem = width - pos; - if (!doc.break && fits(next, cmds, rem)) { - cmds.push(next); - } else { - // Expanded states are a rare case where a document - // can manually provide multiple representations of - // itself. It provides an array of documents - // going from the least expanded (most flattened) - // representation first to the most expanded. If a - // group has these, we need to manually go through - // these states and find the first one that fits. - if (doc.expandedStates) { - const mostExpanded = - doc.expandedStates[doc.expandedStates.length - 1]; + if (!_doc.break && fits(next, cmds, rem)) { + cmds.push(next); + } else { + // Expanded states are a rare case where a document + // can manually provide multiple representations of + // itself. It provides an array of documents + // going from the least expanded (most flattened) + // representation first to the most expanded. If a + // group has these, we need to manually go through + // these states and find the first one that fits. + if (_doc.expandedStates) { + var mostExpanded = _doc.expandedStates[_doc.expandedStates.length - 1]; - if (doc.break) { - cmds.push([ind, MODE_BREAK, mostExpanded]); + if (_doc.break) { + cmds.push([ind, MODE_BREAK, mostExpanded]); - break; - } else { - for (let i = 1; i < doc.expandedStates.length + 1; i++) { - if (i >= doc.expandedStates.length) { - cmds.push([ind, MODE_BREAK, mostExpanded]); - - break; - } else { - const state = doc.expandedStates[i]; - const cmd = [ind, MODE_FLAT, state]; - - if (fits(cmd, cmds, rem)) { - cmds.push(cmd); + break; + } else { + for (var _i8 = 1; _i8 < _doc.expandedStates.length + 1; _i8++) { + if (_i8 >= _doc.expandedStates.length) { + cmds.push([ind, MODE_BREAK, mostExpanded]); break; + } else { + var state = _doc.expandedStates[_i8]; + var cmd = [ind, MODE_FLAT, state]; + + if (fits(cmd, cmds, rem)) { + cmds.push(cmd); + + break; + } } } } + } else { + cmds.push([ind, MODE_BREAK, _doc.contents]); } - } else { - cmds.push([ind, MODE_BREAK, doc.contents]); } - } - break; - } + break; + } } break; // Fills each line with as much code as possible before moving to a new @@ -7936,89 +6327,81 @@ function printDocToString$1(doc, options) { // "break". // * Neither content item fits on the line without breaking // -> output the first content item and the whitespace with "break". - case "fill": { - const rem = width - pos; + case "fill": + { + var _rem = width - pos; - const parts = doc.parts; - if (parts.length === 0) { - break; - } - - const content = parts[0]; - const contentFlatCmd = [ind, MODE_FLAT, content]; - const contentBreakCmd = [ind, MODE_BREAK, content]; - const contentFits = fits(contentFlatCmd, [], width - rem, true); - - if (parts.length === 1) { - if (contentFits) { - cmds.push(contentFlatCmd); - } else { - cmds.push(contentBreakCmd); + var parts = _doc.parts; + if (parts.length === 0) { + break; } - break; - } - const whitespace = parts[1]; - const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; - const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; + var content = parts[0]; + var contentFlatCmd = [ind, MODE_FLAT, content]; + var contentBreakCmd = [ind, MODE_BREAK, content]; + var contentFits = fits(contentFlatCmd, [], width - _rem, true); - if (parts.length === 2) { - if (contentFits) { + if (parts.length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); + } + break; + } + + var whitespace = parts[1]; + var whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; + var whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; + + if (parts.length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd); + cmds.push(contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd); + cmds.push(contentBreakCmd); + } + break; + } + + var remaining = parts.slice(2); + var remainingCmd = [ind, mode, fill$2(remaining)]; + + var secondContent = parts[2]; + var firstAndSecondContentFlatCmd = [ind, MODE_FLAT, concat$5([content, whitespace, secondContent])]; + var firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], _rem, true); + + if (firstAndSecondContentFits) { + cmds.push(remainingCmd); cmds.push(whitespaceFlatCmd); cmds.push(contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd); + cmds.push(whitespaceBreakCmd); + cmds.push(contentFlatCmd); } else { + cmds.push(remainingCmd); cmds.push(whitespaceBreakCmd); cmds.push(contentBreakCmd); } break; } - - const remaining = parts.slice(2); - const remainingCmd = [ind, mode, fill$2(remaining)]; - - const secondContent = parts[2]; - const firstAndSecondContentFlatCmd = [ - ind, - MODE_FLAT, - concat$3([content, whitespace, secondContent]) - ]; - const firstAndSecondContentFits = fits( - firstAndSecondContentFlatCmd, - [], - rem, - true - ); - - if (firstAndSecondContentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceFlatCmd); - cmds.push(contentFlatCmd); - } else if (contentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentFlatCmd); - } else { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentBreakCmd); - } - break; - } case "if-break": if (mode === MODE_BREAK) { - if (doc.breakContents) { - cmds.push([ind, mode, doc.breakContents]); + if (_doc.breakContents) { + cmds.push([ind, mode, _doc.breakContents]); } } if (mode === MODE_FLAT) { - if (doc.flatContents) { - cmds.push([ind, mode, doc.flatContents]); + if (_doc.flatContents) { + cmds.push([ind, mode, _doc.flatContents]); } } break; case "line-suffix": - lineSuffix.push([ind, mode, doc.contents]); + lineSuffix.push([ind, mode, _doc.contents]); break; case "line-suffix-boundary": if (lineSuffix.length > 0) { @@ -8028,8 +6411,8 @@ function printDocToString$1(doc, options) { case "line": switch (mode) { case MODE_FLAT: - if (!doc.hard) { - if (!doc.soft) { + if (!_doc.hard) { + if (!_doc.soft) { out.push(" "); pos += 1; @@ -8049,37 +6432,29 @@ function printDocToString$1(doc, options) { case MODE_BREAK: if (lineSuffix.length) { - cmds.push([ind, mode, doc]); + cmds.push([ind, mode, _doc]); [].push.apply(cmds, lineSuffix.reverse()); lineSuffix = []; break; } - if (doc.literal) { + if (_doc.literal) { out.push(newLine); pos = 0; } else { if (out.length > 0) { // Trim whitespace at the end of line - while ( - out.length > 0 && - out[out.length - 1].match(/^[^\S\n]*$/) - ) { + while (out.length > 0 && out[out.length - 1].match(/^[^\S\n]*$/)) { out.pop(); } if (out.length) { - out[out.length - 1] = out[out.length - 1].replace( - /[^\S\n]*$/, - "" - ); + out[out.length - 1] = out[out.length - 1].replace(/[^\S\n]*$/, ""); } } - const length = ind.indent * options.tabWidth + ind.align.spaces; - const indentString = options.useTabs - ? "\t".repeat(ind.indent + ind.align.tabs) - : " ".repeat(length); + var length = ind.indent * options.tabWidth + ind.align.spaces; + var indentString = options.useTabs ? "\t".repeat(ind.indent + ind.align.tabs) : " ".repeat(length); out.push(newLine + indentString); pos = length; } @@ -8091,10 +6466,10 @@ function printDocToString$1(doc, options) { } } - const cursorPlaceholderIndex = out.indexOf(cursor$2.placeholder); + var cursorPlaceholderIndex = out.indexOf(cursor$2.placeholder); if (cursorPlaceholderIndex !== -1) { - const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); - const afterCursor = out.slice(cursorPlaceholderIndex + 1).join(""); + var beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); + var afterCursor = out.slice(cursorPlaceholderIndex + 1).join(""); return { formatted: beforeCursor + afterCursor, @@ -8109,90 +6484,91 @@ var docPrinter = { printDocToString: printDocToString$1 }; var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; -var index$6 = function (str) { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } +var index$6 = function index$6(str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } - return str.replace(matchOperatorsRe, '\\$&'); + return str.replace(matchOperatorsRe, '\\$&'); }; var index$8 = createCommonjsModule(function (module) { -'use strict'; + 'use strict'; -function assembleStyles () { - var styles = { - modifiers: { - reset: [0, 0], - bold: [1, 22], // 21 isn't widely supported and 22 does the same thing - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - colors: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39] - }, - bgColors: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49] - } - }; + function assembleStyles() { + var styles = { + modifiers: { + reset: [0, 0], + bold: [1, 22], // 21 isn't widely supported and 22 does the same thing + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + colors: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39] + }, + bgColors: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49] + } + }; - // fix humans - styles.colors.grey = styles.colors.gray; + // fix humans + styles.colors.grey = styles.colors.gray; - Object.keys(styles).forEach(function (groupName) { - var group = styles[groupName]; + Object.keys(styles).forEach(function (groupName) { + var group = styles[groupName]; - Object.keys(group).forEach(function (styleName) { - var style = group[styleName]; + Object.keys(group).forEach(function (styleName) { + var style = group[styleName]; - styles[styleName] = group[styleName] = { - open: '\u001b[' + style[0] + 'm', - close: '\u001b[' + style[1] + 'm' - }; - }); + styles[styleName] = group[styleName] = { + open: '\x1B[' + style[0] + 'm', + close: '\x1B[' + style[1] + 'm' + }; + }); - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - }); + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + }); - return styles; -} + return styles; + } -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); + Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles + }); }); -var index$12 = function () { - return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g; +var index$12 = function index$12() { + return (/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g + ); }; var ansiRegex = index$12(); -var index$10 = function (str) { - return typeof str === 'string' ? str.replace(ansiRegex, '') : str; +var index$10 = function index$10(str) { + return typeof str === 'string' ? str.replace(ansiRegex, '') : str; }; var ansiRegex$1 = index$12; @@ -8202,52 +6578,47 @@ var index$14 = re.test.bind(re); var argv = process.argv; var terminator = argv.indexOf('--'); -var hasFlag = function (flag) { - flag = '--' + flag; - var pos = argv.indexOf(flag); - return pos !== -1 && (terminator !== -1 ? pos < terminator : true); +var hasFlag = function hasFlag(flag) { + flag = '--' + flag; + var pos = argv.indexOf(flag); + return pos !== -1 && (terminator !== -1 ? pos < terminator : true); }; -var index$16 = (function () { - if ('FORCE_COLOR' in process.env) { - return true; - } +var index$16 = function () { + if ('FORCE_COLOR' in process.env) { + return true; + } - if (hasFlag('no-color') || - hasFlag('no-colors') || - hasFlag('color=false')) { - return false; - } + if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) { + return false; + } - if (hasFlag('color') || - hasFlag('colors') || - hasFlag('color=true') || - hasFlag('color=always')) { - return true; - } + if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) { + return true; + } - if (process.stdout && !process.stdout.isTTY) { - return false; - } + if (process.stdout && !process.stdout.isTTY) { + return false; + } - if (process.platform === 'win32') { - return true; - } + if (process.platform === 'win32') { + return true; + } - if ('COLORTERM' in process.env) { - return true; - } + if ('COLORTERM' in process.env) { + return true; + } - if (process.env.TERM === 'dumb') { - return false; - } + if (process.env.TERM === 'dumb') { + return false; + } - if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { - return true; - } + if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { + return true; + } - return false; -})(); + return false; +}(); var escapeStringRegexp = index$6; var ansiStyles = index$8; @@ -8258,103 +6629,103 @@ var defineProps = Object.defineProperties; var isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM); function Chalk(options) { - // detect mode if not set manually - this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled; + // detect mode if not set manually + this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled; } // use bright blue on Windows as the normal blue color is illegible if (isSimpleWindowsTerm) { - ansiStyles.blue.open = '\u001b[94m'; + ansiStyles.blue.open = '\x1B[94m'; } -var styles = (function () { - var ret = {}; +var styles = function () { + var ret = {}; - Object.keys(ansiStyles).forEach(function (key) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + Object.keys(ansiStyles).forEach(function (key) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - ret[key] = { - get: function () { - return build.call(this, this._styles.concat(key)); - } - }; - }); + ret[key] = { + get: function get() { + return build.call(this, this._styles.concat(key)); + } + }; + }); - return ret; -})(); + return ret; +}(); var proto = defineProps(function chalk() {}, styles); function build(_styles) { - var builder = function () { - return applyStyle.apply(builder, arguments); - }; + var builder = function builder() { + return applyStyle.apply(builder, arguments); + }; - builder._styles = _styles; - builder.enabled = this.enabled; - // __proto__ is used because we must return a function, but there is - // no way to create a function with a different prototype. - /* eslint-disable no-proto */ - builder.__proto__ = proto; + builder._styles = _styles; + builder.enabled = this.enabled; + // __proto__ is used because we must return a function, but there is + // no way to create a function with a different prototype. + /* eslint-disable no-proto */ + builder.__proto__ = proto; - return builder; + return builder; } function applyStyle() { - // support varags, but simply cast to string in case there's only one arg - var args = arguments; - var argsLen = args.length; - var str = argsLen !== 0 && String(arguments[0]); + // support varags, but simply cast to string in case there's only one arg + var args = arguments; + var argsLen = args.length; + var str = argsLen !== 0 && String(arguments[0]); - if (argsLen > 1) { - // don't slice `arguments`, it prevents v8 optimizations - for (var a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } + if (argsLen > 1) { + // don't slice `arguments`, it prevents v8 optimizations + for (var a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } - if (!this.enabled || !str) { - return str; - } + if (!this.enabled || !str) { + return str; + } - var nestedStyles = this._styles; - var i = nestedStyles.length; + var nestedStyles = this._styles; + var i = nestedStyles.length; - // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - var originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) { - ansiStyles.dim.open = ''; - } + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + var originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) { + ansiStyles.dim.open = ''; + } - while (i--) { - var code = ansiStyles[nestedStyles[i]]; + while (i--) { + var code = ansiStyles[nestedStyles[i]]; - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; - } + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; + } - // Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue. - ansiStyles.dim.open = originalDim; + // Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue. + ansiStyles.dim.open = originalDim; - return str; + return str; } function init() { - var ret = {}; + var ret = {}; - Object.keys(styles).forEach(function (name) { - ret[name] = { - get: function () { - return build.call(this, [name]); - } - }; - }); + Object.keys(styles).forEach(function (name) { + ret[name] = { + get: function get() { + return build.call(this, [name]); + } + }; + }); - return ret; + return ret; } defineProps(Chalk.prototype, init()); @@ -8370,1019 +6741,1000 @@ index$4.hasColor = hasColor; index$4.stripColor = stripColor; index$4.supportsColor = supportsColor_1; -var index$26 = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] +var index$26 = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] }; var conversions$1 = createCommonjsModule(function (module) { -/* MIT license */ -var cssKeywords = index$26; - -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - -var reverseKeywords = {}; -for (var key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } -} - -var convert = module.exports = { - rgb: {channels: 3, labels: 'rgb'}, - hsl: {channels: 3, labels: 'hsl'}, - hsv: {channels: 3, labels: 'hsv'}, - hwb: {channels: 3, labels: 'hwb'}, - cmyk: {channels: 4, labels: 'cmyk'}, - xyz: {channels: 3, labels: 'xyz'}, - lab: {channels: 3, labels: 'lab'}, - lch: {channels: 3, labels: 'lch'}, - hex: {channels: 1, labels: ['hex']}, - keyword: {channels: 1, labels: ['keyword']}, - ansi16: {channels: 1, labels: ['ansi16']}, - ansi256: {channels: 1, labels: ['ansi256']}, - hcg: {channels: 3, labels: ['h', 'c', 'g']}, - apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, - gray: {channels: 1, labels: ['gray']} -}; - -// hide .channels and .labels properties -for (var model in convert) { - if (convert.hasOwnProperty(model)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - var channels = convert[model].channels; - var labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); - } -} - -convert.rgb.hsl = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert.rgb.hsv = function (rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var v; - - if (max === 0) { - s = 0; - } else { - s = (delta / max * 1000) / 10; - } - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - v = ((max / 255) * 1000) / 10; - - return [h, s, v]; -}; - -convert.rgb.hwb = function (rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - - return [h, w * 100, b * 100]; -}; - -convert.rgb.cmyk = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - - return [c * 100, m * 100, y * 100, k * 100]; -}; - -/** - * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - * */ -function comparativeDistance(x, y) { - return ( - Math.pow(x[0] - y[0], 2) + - Math.pow(x[1] - y[1], 2) + - Math.pow(x[2] - y[2], 2) - ); -} - -convert.rgb.keyword = function (rgb) { - var reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - - var currentClosestDistance = Infinity; - var currentClosestKeyword; - - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; - - // Compute comparative distance - var distance = comparativeDistance(rgb, value); - - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - - return currentClosestKeyword; -}; - -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; -}; - -convert.rgb.xyz = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - - // assume sRGB - r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); - g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); - b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); - - var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); - - return [x * 100, y * 100, z * 100]; -}; - -convert.rgb.lab = function (rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); - - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.hsl.rgb = function (hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - t1 = 2 * l - t2; - - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert.hsl.hsv = function (hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - - l *= 2; - s *= (l <= 1) ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); - - return [h, sv * 100, v * 100]; -}; - -convert.hsv.rgb = function (hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - (s * f)); - var t = 255 * v * (1 - (s * (1 - f))); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } -}; - -convert.hsv.hsl = function (hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= (lmin <= 1) ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - - return [h, sl * 100, l * 100]; -}; - -// http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - - // wh + bl cant be > 1 - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - n = wh + f * (v - wh); // linear interpolation - - var r; - var g; - var b; - switch (i) { - default: - case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; - } - - return [r * 255, g * 255, b * 255]; -}; - -convert.cmyk.rgb = function (cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.rgb = function (xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - - r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); - g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); - b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); - - // assume sRGB - r = r > 0.0031308 - ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) - : r * 12.92; - - g = g > 0.0031308 - ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) - : g * 12.92; - - b = b > 0.0031308 - ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) - : b * 12.92; - - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.lab = function (xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); - - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.lab.xyz = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - - x *= 95.047; - y *= 100; - z *= 108.883; - - return [x, y, z]; -}; - -convert.lab.lch = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - c = Math.sqrt(a * a + b * b); - - return [l, c, h]; -}; - -convert.lch.lab = function (lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - - return [l, a, b]; -}; - -convert.rgb.ansi16 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - var ansi = 30 - + ((Math.round(b / 255) << 2) - | (Math.round(g / 255) << 1) - | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert.hsv.ansi16 = function (args) { - // optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - - // we use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round(((r - 8) / 247) * 24) + 232; - } - - var ansi = 16 - + (36 * Math.round(r / 255 * 5)) - + (6 * Math.round(g / 255 * 5)) - + Math.round(b / 255 * 5); - - return ansi; -}; - -convert.ansi16.rgb = function (args) { - var color = args % 10; - - // handle greyscale - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - - return [color, color, color]; - } - - var mult = (~~(args > 50) + 1) * 0.5; - var r = ((color & 1) * mult) * 255; - var g = (((color >> 1) & 1) * mult) * 255; - var b = (((color >> 2) & 1) * mult) * 255; - - return [r, g, b]; -}; - -convert.ansi256.rgb = function (args) { - // handle greyscale - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = (rem % 6) / 5 * 255; - - return [r, g, b]; -}; - -convert.rgb.hex = function (args) { - var integer = ((Math.round(args[0]) & 0xFF) << 16) - + ((Math.round(args[1]) & 0xFF) << 8) - + (Math.round(args[2]) & 0xFF); - - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.hex.rgb = function (args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - - var colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(function (char) { - return char + char; - }).join(''); - } - - var integer = parseInt(colorString, 16); - var r = (integer >> 16) & 0xFF; - var g = (integer >> 8) & 0xFF; - var b = integer & 0xFF; - - return [r, g, b]; -}; - -convert.rgb.hcg = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = (max - min); - var grayscale; - var hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else - if (max === r) { - hue = ((g - b) / chroma) % 6; - } else - if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - - hue /= 6; - hue %= 1; - - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert.hsl.hcg = function (hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - - if (l < 0.5) { - c = 2.0 * s * l; - } else { - c = 2.0 * s * (1.0 - l); - } - - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert.hsv.hcg = function (hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - - var c = s * v; - var f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert.hcg.rgb = function (hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - var pure = [0, 0, 0]; - var hi = (h % 1) * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; pure[1] = v; pure[2] = 0; break; - case 1: - pure[0] = w; pure[1] = 1; pure[2] = 0; break; - case 2: - pure[0] = 0; pure[1] = 1; pure[2] = v; break; - case 3: - pure[0] = 0; pure[1] = w; pure[2] = 1; break; - case 4: - pure[0] = v; pure[1] = 0; pure[2] = 1; break; - default: - pure[0] = 1; pure[1] = 0; pure[2] = w; - } - - mg = (1.0 - c) * g; - - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; -}; - -convert.hcg.hsv = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - var v = c + g * (1.0 - c); - var f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert.hcg.hsl = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - var l = g * (1.0 - c) + 0.5 * c; - var s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else - if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert.hcg.hwb = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert.hwb.hcg = function (hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert.apple.rgb = function (apple) { - return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; -}; - -convert.rgb.apple = function (rgb) { - return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; -}; - -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert.gray.hsl = convert.gray.hsv = function (args) { - return [0, 0, args[0]]; -}; - -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert.gray.hex = function (gray) { - var val = Math.round(gray[0] / 100 * 255) & 0xFF; - var integer = (val << 16) + (val << 8) + val; - - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.rgb.gray = function (rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; + /* MIT license */ + var cssKeywords = index$26; + + // NOTE: conversions should only return primitive values (i.e. arrays, or + // values that give correct `typeof` results). + // do not use box values types (i.e. Number(), String(), etc.) + + var reverseKeywords = {}; + for (var key in cssKeywords) { + if (cssKeywords.hasOwnProperty(key)) { + reverseKeywords[cssKeywords[key]] = key; + } + } + + var convert = module.exports = { + rgb: { channels: 3, labels: 'rgb' }, + hsl: { channels: 3, labels: 'hsl' }, + hsv: { channels: 3, labels: 'hsv' }, + hwb: { channels: 3, labels: 'hwb' }, + cmyk: { channels: 4, labels: 'cmyk' }, + xyz: { channels: 3, labels: 'xyz' }, + lab: { channels: 3, labels: 'lab' }, + lch: { channels: 3, labels: 'lch' }, + hex: { channels: 1, labels: ['hex'] }, + keyword: { channels: 1, labels: ['keyword'] }, + ansi16: { channels: 1, labels: ['ansi16'] }, + ansi256: { channels: 1, labels: ['ansi256'] }, + hcg: { channels: 3, labels: ['h', 'c', 'g'] }, + apple: { channels: 3, labels: ['r16', 'g16', 'b16'] }, + gray: { channels: 1, labels: ['gray'] } + }; + + // hide .channels and .labels properties + for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', { value: channels }); + Object.defineProperty(convert[model], 'labels', { value: labels }); + } + } + + convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; + }; + + convert.rgb.hsv = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var v; + + if (max === 0) { + s = 0; + } else { + s = delta / max * 1000 / 10; + } + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + v = max / 255 * 1000 / 10; + + return [h, s, v]; + }; + + convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + + return [h, w * 100, b * 100]; + }; + + convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + + return [c * 100, m * 100, y * 100, k * 100]; + }; + + /** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ + function comparativeDistance(x, y) { + return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); + } + + convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + + var currentClosestDistance = Infinity; + var currentClosestKeyword; + + for (var keyword in cssKeywords) { + if (cssKeywords.hasOwnProperty(keyword)) { + var value = cssKeywords[keyword]; + + // Compute comparative distance + var distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } + + return currentClosestKeyword; + }; + + convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; + }; + + convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + + // assume sRGB + r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; + g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; + b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; + + var x = r * 0.4124 + g * 0.3576 + b * 0.1805; + var y = r * 0.2126 + g * 0.7152 + b * 0.0722; + var z = r * 0.0193 + g * 0.1192 + b * 0.9505; + + return [x * 100, y * 100, z * 100]; + }; + + convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; + }; + + convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + t1 = 2 * l - t2; + + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; + }; + + convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + + return [h, sv * 100, v * 100]; + }; + + convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - s * f); + var t = 255 * v * (1 - s * (1 - f)); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } + }; + + convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; + }; + + // http://dev.w3.org/csswg/css-color/#hwb-to-rgb + convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; + + // wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + n = wh + f * (v - wh); // linear interpolation + + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: + r = v;g = n;b = wh;break; + case 1: + r = n;g = v;b = wh;break; + case 2: + r = wh;g = v;b = n;break; + case 3: + r = wh;g = n;b = v;break; + case 4: + r = n;g = wh;b = v;break; + case 5: + r = v;g = wh;b = n;break; + } + + return [r * 255, g * 255, b * 255]; + }; + + convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + + return [r * 255, g * 255, b * 255]; + }; + + convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + + r = x * 3.2406 + y * -1.5372 + z * -0.4986; + g = x * -0.9689 + y * 1.8758 + z * 0.0415; + b = x * 0.0557 + y * -0.2040 + z * 1.0570; + + // assume sRGB + r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92; + + g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92; + + b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92; + + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + + return [r * 255, g * 255, b * 255]; + }; + + convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; + }; + + convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + + x *= 95.047; + y *= 100; + z *= 108.883; + + return [x, y, z]; + }; + + convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + c = Math.sqrt(a * a + b * b); + + return [l, c, h]; + }; + + convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + + return [l, a, b]; + }; + + convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; + }; + + convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); + }; + + convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + + // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round((r - 8) / 247 * 24) + 232; + } + + var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + + return ansi; + }; + + convert.ansi16.rgb = function (args) { + var color = args % 10; + + // handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + + return [color, color, color]; + } + + var mult = (~~(args > 50) + 1) * 0.5; + var r = (color & 1) * mult * 255; + var g = (color >> 1 & 1) * mult * 255; + var b = (color >> 2 & 1) * mult * 255; + + return [r, g, b]; + }; + + convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = rem % 6 / 5 * 255; + + return [r, g, b]; + }; + + convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; + }; + + convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + + var colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); + } + + var integer = parseInt(colorString, 16); + var r = integer >> 16 & 0xFF; + var g = integer >> 8 & 0xFF; + var b = integer & 0xFF; + + return [r, g, b]; + }; + + convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = max - min; + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + + hue /= 6; + hue %= 1; + + return [hue * 360, chroma * 100, grayscale * 100]; + }; + + convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; + }; + + convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + + var c = s * v; + var f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; + }; + + convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + var pure = [0, 0, 0]; + var hi = h % 1 * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1;pure[1] = v;pure[2] = 0;break; + case 1: + pure[0] = w;pure[1] = 1;pure[2] = 0;break; + case 2: + pure[0] = 0;pure[1] = 1;pure[2] = v;break; + case 3: + pure[0] = 0;pure[1] = w;pure[2] = 1;break; + case 4: + pure[0] = v;pure[1] = 0;pure[2] = 1;break; + default: + pure[0] = 1;pure[1] = 0;pure[2] = w; + } + + mg = (1.0 - c) * g; + + return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; + }; + + convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var v = c + g * (1.0 - c); + var f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; + }; + + convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; + }; + + convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; + }; + + convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; + }; + + convert.apple.rgb = function (apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; + }; + + convert.rgb.apple = function (rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; + }; + + convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; + }; + + convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; + }; + + convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; + }; + + convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; + }; + + convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; + }; + + convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; + }; + + convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; + }; }); var conversions$3 = conversions$1; @@ -9402,85 +7754,85 @@ var conversions$3 = conversions$1; var models$1 = Object.keys(conversions$3); function buildGraph() { - var graph = {}; + var graph = {}; - for (var len = models$1.length, i = 0; i < len; i++) { - graph[models$1[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } + for (var len = models$1.length, i = 0; i < len; i++) { + graph[models$1[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } - return graph; + return graph; } // https://en.wikipedia.org/wiki/Breadth-first_search function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; // unshift -> queue -> pop + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop - graph[fromModel].distance = 0; + graph[fromModel].distance = 0; - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions$3[current]); + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions$3[current]); - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } - return graph; + return graph; } function link(from, to) { - return function (args) { - return to(from(args)); - }; + return function (args) { + return to(from(args)); + }; } function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions$3[graph[toModel].parent][toModel]; + var path = [graph[toModel].parent, toModel]; + var fn = conversions$3[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions$3[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions$3[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } - fn.conversion = path; - return fn; + fn.conversion = path; + return fn; } -var route$1 = function (fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; +var route$1 = function route$1(fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; - if (node.parent === null) { - // no possible conversion, or this node is the source model. - continue; - } + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } - conversion[toModel] = wrapConversion(toModel, graph); - } + conversion[toModel] = wrapConversion(toModel, graph); + } - return conversion; + return conversion; }; var conversions = conversions$1; @@ -9491,229 +7843,276 @@ var convert = {}; var models = Object.keys(conversions); function wrapRaw(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } + var wrappedFn = function wrappedFn(args) { + if (args === undefined || args === null) { + return args; + } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } - return fn(args); - }; + return fn(args); + }; - // preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } - return wrappedFn; + return wrappedFn; } function wrapRounded(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } + var wrappedFn = function wrappedFn(args) { + if (args === undefined || args === null) { + return args; + } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } - var result = fn(args); + var result = fn(args); - // we're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - if (typeof result === 'object') { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } + // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if ((typeof result === 'undefined' ? 'undefined' : _typeof(result)) === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } - return result; - }; + return result; + }; - // preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } - return wrappedFn; + return wrappedFn; } models.forEach(function (fromModel) { - convert[fromModel] = {}; + convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); - Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + Object.defineProperty(convert[fromModel], 'channels', { value: conversions[fromModel].channels }); + Object.defineProperty(convert[fromModel], 'labels', { value: conversions[fromModel].labels }); - var routes = route(fromModel); - var routeModels = Object.keys(routes); + var routes = route(fromModel); + var routeModels = Object.keys(routes); - routeModels.forEach(function (toModel) { - var fn = routes[toModel]; + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); }); var index$24 = convert; var index$22 = createCommonjsModule(function (module) { -'use strict'; -const colorConvert = index$24; + 'use strict'; -const wrapAnsi16 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${code + offset}m`; -}; + var colorConvert = index$24; -const wrapAnsi256 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};5;${code}m`; -}; + var wrapAnsi16 = function wrapAnsi16(fn, offset) { + return function () { + var code = fn.apply(colorConvert, arguments); + return '\x1B[' + (code + offset) + 'm'; + }; + }; -const wrapAnsi16m = (fn, offset) => function () { - const rgb = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; -}; + var wrapAnsi256 = function wrapAnsi256(fn, offset) { + return function () { + var code = fn.apply(colorConvert, arguments); + return '\x1B[' + (38 + offset) + ';5;' + code + 'm'; + }; + }; -function assembleStyles() { - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49] - } - }; + var wrapAnsi16m = function wrapAnsi16m(fn, offset) { + return function () { + var rgb = fn.apply(colorConvert, arguments); + return '\x1B[' + (38 + offset) + ';2;' + rgb[0] + ';' + rgb[1] + ';' + rgb[2] + 'm'; + }; + }; - // fix humans - styles.color.grey = styles.color.gray; + function assembleStyles() { + var styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49] + } + }; - Object.keys(styles).forEach(groupName => { - const group = styles[groupName]; + // fix humans + styles.color.grey = styles.color.gray; - Object.keys(group).forEach(styleName => { - const style = group[styleName]; + Object.keys(styles).forEach(function (groupName) { + var group = styles[groupName]; - styles[styleName] = group[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; - }); + Object.keys(group).forEach(function (styleName) { + var style = group[styleName]; - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - }); + styles[styleName] = group[styleName] = { + open: '\x1B[' + style[0] + 'm', + close: '\x1B[' + style[1] + 'm' + }; + }); - const rgb2rgb = (r, g, b) => [r, g, b]; + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + }); - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; + var rgb2rgb = function rgb2rgb(r, g, b) { + return [r, g, b]; + }; - styles.color.ansi = {}; - styles.color.ansi256 = {}; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; + styles.color.close = '\x1B[39m'; + styles.bgColor.close = '\x1B[49m'; - styles.bgColor.ansi = {}; - styles.bgColor.ansi256 = {}; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; + styles.color.ansi = {}; + styles.color.ansi256 = {}; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; - for (const key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== 'object') { - continue; - } + styles.bgColor.ansi = {}; + styles.bgColor.ansi256 = {}; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; - const suite = colorConvert[key]; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; - if ('ansi16' in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } + try { + for (var _iterator = Object.keys(colorConvert)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; - if ('ansi256' in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } + if (_typeof(colorConvert[key]) !== 'object') { + continue; + } - if ('rgb' in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } - } + var suite = colorConvert[key]; - return styles; -} + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return styles; + } + + Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles + }); }); -const asymmetricMatcher = Symbol.for('jest.asymmetricMatcher'); /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const SPACE = ' ';class ArrayContaining extends Array {}class ObjectContaining extends Object {}const print$1 = (val, print, -indent, -opts, -colors) => -{ - const stringedValue = val.toString(); +var asymmetricMatcher = Symbol.for('jest.asymmetricMatcher'); /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var SPACE = ' '; +var ArrayContaining = function (_Array) { + _inherits(ArrayContaining, _Array); + + function ArrayContaining() { + _classCallCheck(this, ArrayContaining); + + return _possibleConstructorReturn(this, (ArrayContaining.__proto__ || Object.getPrototypeOf(ArrayContaining)).apply(this, arguments)); + } + + return ArrayContaining; +}(Array); + +var ObjectContaining = function (_Object) { + _inherits(ObjectContaining, _Object); + + function ObjectContaining() { + _classCallCheck(this, ObjectContaining); + + return _possibleConstructorReturn(this, (ObjectContaining.__proto__ || Object.getPrototypeOf(ObjectContaining)).apply(this, arguments)); + } + + return ObjectContaining; +}(Object); + +var print$1 = function print$1(val, print, indent, opts, colors) { + var stringedValue = val.toString(); if (stringedValue === 'ArrayContaining') { - const array = ArrayContaining.from(val.sample); - return opts.spacing === SPACE ? - stringedValue + SPACE + print(array) : - print(array); + var array = ArrayContaining.from(val.sample); + return opts.spacing === SPACE ? stringedValue + SPACE + print(array) : print(array); } if (stringedValue === 'ObjectContaining') { - const object = Object.assign(new ObjectContaining(), val.sample); - return opts.spacing === SPACE ? - stringedValue + SPACE + print(object) : - print(object); + var object = Object.assign(new ObjectContaining(), val.sample); + return opts.spacing === SPACE ? stringedValue + SPACE + print(object) : print(object); } if (stringedValue === 'StringMatching') { @@ -9727,19 +8126,23 @@ colors) => return val.toAsymmetricMatcher(); }; -const test = object => object && object.$$typeof === asymmetricMatcher; +var test = function test(object) { + return object && object.$$typeof === asymmetricMatcher; +}; -var AsymmetricMatcher$1 = { print: print$1, test }; +var AsymmetricMatcher$1 = { print: print$1, test: test }; -const ansiRegex$2 = index$12; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const toHumanReadableAnsi = text => {const style = index$22;return text.replace(ansiRegex$2(), (match, offset, string) => {switch (match) {case style.red.close:case style.green.close:case style.reset.open: +var ansiRegex$2 = index$12; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var toHumanReadableAnsi = function toHumanReadableAnsi(text) { + var style = index$22;return text.replace(ansiRegex$2(), function (match, offset, string) { + switch (match) {case style.red.close:case style.green.close:case style.reset.open: case style.reset.close: return ''; case style.red.open: @@ -9752,20 +8155,16 @@ const ansiRegex$2 = index$12; /** return ''; default: return '';} - }); }; -const test$1 = value => -typeof value === 'string' && value.match(ansiRegex$2()); +var test$1 = function test$1(value) { + return typeof value === 'string' && value.match(ansiRegex$2()); +}; -const print$2 = ( -val, -print, -indent, -opts, -colors) => -print(toHumanReadableAnsi(val)); +var print$2 = function print$2(val, print, indent, opts, colors) { + return print(toHumanReadableAnsi(val)); +}; var ConvertAnsi = { print: print$2, test: test$1 }; @@ -9775,131 +8174,75 @@ function escapeHTML$1(str) { var escapeHTML_1 = escapeHTML$1; -const escapeHTML = escapeHTML_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ +var escapeHTML = escapeHTML_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ - - - - - - - - - - - - - - -const HTML_ELEMENT_REGEXP = /(HTML\w*?Element)|Text|Comment/; -const test$2 = isHTMLElement; +var HTML_ELEMENT_REGEXP = /(HTML\w*?Element)|Text|Comment/; +var test$2 = isHTMLElement; function isHTMLElement(value) { - return ( - value !== undefined && - value !== null && ( - value.nodeType === 1 || value.nodeType === 3 || value.nodeType === 8) && - value.constructor !== undefined && - value.constructor.name !== undefined && - HTML_ELEMENT_REGEXP.test(value.constructor.name)); - + return value !== undefined && value !== null && (value.nodeType === 1 || value.nodeType === 3 || value.nodeType === 8) && value.constructor !== undefined && value.constructor.name !== undefined && HTML_ELEMENT_REGEXP.test(value.constructor.name); } function printChildren(flatChildren, print, indent, colors, opts) { - return flatChildren. - map(node => { - if (typeof node === 'object') { + return flatChildren.map(function (node) { + if ((typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object') { return print(node, print, indent, colors, opts); } else if (typeof node === 'string') { return colors.content.open + escapeHTML(node) + colors.content.close; } else { return print(node); } - }). - filter(value => value.trim().length). - join(opts.edgeSpacing); + }).filter(function (value) { + return value.trim().length; + }).join(opts.edgeSpacing); } function printAttributes(attributes, indent, colors, opts) { - return attributes. - sort(). - map(attribute => { - return ( - opts.spacing + - indent(colors.prop.open + attribute.name + colors.prop.close + '=') + - colors.value.open + - `"${attribute.value}"` + - colors.value.close); - - }). - join(''); + return attributes.sort().map(function (attribute) { + return opts.spacing + indent(colors.prop.open + attribute.name + colors.prop.close + '=') + colors.value.open + ('"' + attribute.value + '"') + colors.value.close; + }).join(''); } -const print$3 = ( -element, -print, -indent, -opts, -colors) => -{ +var print$3 = function print$3(element, print, indent, opts, colors) { if (element.nodeType === 3) { - return element.data. - split('\n'). - map(text => text.trimLeft()). - filter(text => text.length). - join(' '); + return element.data.split('\n').map(function (text) { + return text.trimLeft(); + }).filter(function (text) { + return text.length; + }).join(' '); } else if (element.nodeType === 8) { - return ( - colors.comment.open + - '' + - colors.comment.close); - + return colors.comment.open + '' + colors.comment.close; } - let result = colors.tag.open + '<'; - const elementName = element.tagName.toLowerCase(); + var result = colors.tag.open + '<'; + var elementName = element.tagName.toLowerCase(); result += elementName + colors.tag.close; - const hasAttributes = element.attributes && element.attributes.length; + var hasAttributes = element.attributes && element.attributes.length; if (hasAttributes) { - const attributes = Array.prototype.slice.call(element.attributes); + var attributes = Array.prototype.slice.call(element.attributes); result += printAttributes(attributes, indent, colors, opts); } - const flatChildren = Array.prototype.slice.call(element.childNodes); + var flatChildren = Array.prototype.slice.call(element.childNodes); if (!flatChildren.length && element.textContent) { flatChildren.push(element.textContent); } - const closeInNewLine = hasAttributes && !opts.min; + var closeInNewLine = hasAttributes && !opts.min; if (flatChildren.length) { - const children = printChildren(flatChildren, print, indent, colors, opts); - result += - colors.tag.open + ( - closeInNewLine ? '\n' : '') + - '>' + - colors.tag.close + - opts.edgeSpacing + - indent(children) + - opts.edgeSpacing + - colors.tag.open + - '' + - colors.tag.close; + var children = printChildren(flatChildren, print, indent, colors, opts); + result += colors.tag.open + (closeInNewLine ? '\n' : '') + '>' + colors.tag.close + opts.edgeSpacing + indent(children) + opts.edgeSpacing + colors.tag.open + '' + colors.tag.close; } else { - result += - colors.tag.open + (closeInNewLine ? '\n' : ' ') + '/>' + colors.tag.close; + result += colors.tag.open + (closeInNewLine ? '\n' : ' ') + '/>' + colors.tag.close; } return result; @@ -9907,238 +8250,217 @@ colors) => var HTMLElement$1 = { print: print$3, test: test$2 }; -var _slicedToArray = function () {function sliceIterator(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"]) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}return function (arr, i) {if (Array.isArray(arr)) {return arr;} else if (Symbol.iterator in Object(arr)) {return sliceIterator(arr, i);} else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}(); - - - - - - - - - - - -const IMMUTABLE_NAMESPACE = 'Immutable.'; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const SPACE$1 = ' ';const addKey = (isMap, key) => isMap ? key + ': ' : '';const addFinalEdgeSpacing = (length, edgeSpacing) => length > 0 ? edgeSpacing : '';const printImmutable$1 = ( -val, -print, -indent, -opts, -colors, -immutableDataStructureName, -isMap) => -{var _ref = - isMap ? ['{', '}'] : ['[', ']'],_ref2 = _slicedToArray(_ref, 2);const openTag = _ref2[0],closeTag = _ref2[1]; - let result = - IMMUTABLE_NAMESPACE + - immutableDataStructureName + - SPACE$1 + - openTag + - opts.edgeSpacing; - - const immutableArray = []; - val.forEach((item, key) => - immutableArray.push( - indent(addKey(isMap, key) + print(item, print, indent, opts, colors)))); +var _slicedToArray = function () { + function sliceIterator(arr, i) { + var _arr = [];var _n = true;var _d = false;var _e = undefined;try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value);if (i && _arr.length === i) break; + } + } catch (err) { + _d = true;_e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + }return _arr; + }return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; +}(); +var IMMUTABLE_NAMESPACE = 'Immutable.'; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var SPACE$1 = ' ';var addKey = function addKey(isMap, key) { + return isMap ? key + ': ' : ''; +};var addFinalEdgeSpacing = function addFinalEdgeSpacing(length, edgeSpacing) { + return length > 0 ? edgeSpacing : ''; +};var printImmutable$1 = function printImmutable$1(val, print, indent, opts, colors, immutableDataStructureName, isMap) { + var _ref = isMap ? ['{', '}'] : ['[', ']'], + _ref2 = _slicedToArray(_ref, 2);var openTag = _ref2[0], + closeTag = _ref2[1]; + var result = IMMUTABLE_NAMESPACE + immutableDataStructureName + SPACE$1 + openTag + opts.edgeSpacing; + var immutableArray = []; + val.forEach(function (item, key) { + return immutableArray.push(indent(addKey(isMap, key) + print(item, print, indent, opts, colors))); + }); result += immutableArray.join(',' + opts.spacing); if (!opts.min && immutableArray.length > 0) { result += ','; } - return ( - result + - addFinalEdgeSpacing(immutableArray.length, opts.edgeSpacing) + - closeTag); - + return result + addFinalEdgeSpacing(immutableArray.length, opts.edgeSpacing) + closeTag; }; var printImmutable_1 = printImmutable$1; -const printImmutable = printImmutable_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const IS_LIST = '@@__IMMUTABLE_LIST__@@';const test$3 = maybeList => !!(maybeList && maybeList[IS_LIST]);const print$4 = (val, print, indent, -opts, -colors) => -printImmutable(val, print, indent, opts, colors, 'List', false); +var printImmutable = printImmutable_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var IS_LIST = '@@__IMMUTABLE_LIST__@@';var test$3 = function test$3(maybeList) { + return !!(maybeList && maybeList[IS_LIST]); +};var print$4 = function print$4(val, print, indent, opts, colors) { + return printImmutable(val, print, indent, opts, colors, 'List', false); +}; var ImmutableList = { print: print$4, test: test$3 }; -const printImmutable$2 = printImmutable_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const IS_SET = '@@__IMMUTABLE_SET__@@';const IS_ORDERED = '@@__IMMUTABLE_ORDERED__@@';const test$4 = maybeSet => !!(maybeSet && maybeSet[IS_SET] && !maybeSet[IS_ORDERED]);const print$5 = (val, -print, -indent, -opts, -colors) => -printImmutable$2(val, print, indent, opts, colors, 'Set', false); +var printImmutable$2 = printImmutable_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var IS_SET = '@@__IMMUTABLE_SET__@@';var IS_ORDERED = '@@__IMMUTABLE_ORDERED__@@';var test$4 = function test$4(maybeSet) { + return !!(maybeSet && maybeSet[IS_SET] && !maybeSet[IS_ORDERED]); +};var print$5 = function print$5(val, print, indent, opts, colors) { + return printImmutable$2(val, print, indent, opts, colors, 'Set', false); +}; var ImmutableSet = { print: print$5, test: test$4 }; -const printImmutable$3 = printImmutable_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const IS_MAP = '@@__IMMUTABLE_MAP__@@';const IS_ORDERED$1 = '@@__IMMUTABLE_ORDERED__@@';const test$5 = maybeMap => !!(maybeMap && maybeMap[IS_MAP] && !maybeMap[IS_ORDERED$1]);const print$6 = (val, -print, -indent, -opts, -colors) => -printImmutable$3(val, print, indent, opts, colors, 'Map', true); +var printImmutable$3 = printImmutable_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var IS_MAP = '@@__IMMUTABLE_MAP__@@';var IS_ORDERED$1 = '@@__IMMUTABLE_ORDERED__@@';var test$5 = function test$5(maybeMap) { + return !!(maybeMap && maybeMap[IS_MAP] && !maybeMap[IS_ORDERED$1]); +};var print$6 = function print$6(val, print, indent, opts, colors) { + return printImmutable$3(val, print, indent, opts, colors, 'Map', true); +}; var ImmutableMap = { print: print$6, test: test$5 }; -const printImmutable$4 = printImmutable_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const IS_STACK = '@@__IMMUTABLE_STACK__@@';const test$6 = maybeStack => !!(maybeStack && maybeStack[IS_STACK]);const print$7 = (val, print, indent, -opts, -colors) => -printImmutable$4(val, print, indent, opts, colors, 'Stack', false); +var printImmutable$4 = printImmutable_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var IS_STACK = '@@__IMMUTABLE_STACK__@@';var test$6 = function test$6(maybeStack) { + return !!(maybeStack && maybeStack[IS_STACK]); +};var print$7 = function print$7(val, print, indent, opts, colors) { + return printImmutable$4(val, print, indent, opts, colors, 'Stack', false); +}; var ImmutableStack = { print: print$7, test: test$6 }; -const printImmutable$5 = printImmutable_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const IS_SET$1 = '@@__IMMUTABLE_SET__@@';const IS_ORDERED$2 = '@@__IMMUTABLE_ORDERED__@@';const test$7 = maybeOrderedSet => maybeOrderedSet && maybeOrderedSet[IS_SET$1] && maybeOrderedSet[IS_ORDERED$2];const print$8 = (val, -print, -indent, -opts, -colors) => -printImmutable$5(val, print, indent, opts, colors, 'OrderedSet', false); +var printImmutable$5 = printImmutable_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var IS_SET$1 = '@@__IMMUTABLE_SET__@@';var IS_ORDERED$2 = '@@__IMMUTABLE_ORDERED__@@';var test$7 = function test$7(maybeOrderedSet) { + return maybeOrderedSet && maybeOrderedSet[IS_SET$1] && maybeOrderedSet[IS_ORDERED$2]; +};var print$8 = function print$8(val, print, indent, opts, colors) { + return printImmutable$5(val, print, indent, opts, colors, 'OrderedSet', false); +}; var ImmutableOrderedSet = { print: print$8, test: test$7 }; -const printImmutable$6 = printImmutable_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const IS_MAP$1 = '@@__IMMUTABLE_MAP__@@';const IS_ORDERED$3 = '@@__IMMUTABLE_ORDERED__@@';const test$8 = maybeOrderedMap => maybeOrderedMap && maybeOrderedMap[IS_MAP$1] && maybeOrderedMap[IS_ORDERED$3];const print$9 = (val, -print, -indent, -opts, -colors) => -printImmutable$6(val, print, indent, opts, colors, 'OrderedMap', true); +var printImmutable$6 = printImmutable_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var IS_MAP$1 = '@@__IMMUTABLE_MAP__@@';var IS_ORDERED$3 = '@@__IMMUTABLE_ORDERED__@@';var test$8 = function test$8(maybeOrderedMap) { + return maybeOrderedMap && maybeOrderedMap[IS_MAP$1] && maybeOrderedMap[IS_ORDERED$3]; +};var print$9 = function print$9(val, print, indent, opts, colors) { + return printImmutable$6(val, print, indent, opts, colors, 'OrderedMap', true); +}; var ImmutableOrderedMap = { print: print$9, test: test$8 }; -var ImmutablePlugins = [ -ImmutableList, -ImmutableSet, -ImmutableMap, -ImmutableStack, -ImmutableOrderedSet, -ImmutableOrderedMap]; +var ImmutablePlugins = [ImmutableList, ImmutableSet, ImmutableMap, ImmutableStack, ImmutableOrderedSet, ImmutableOrderedMap]; -const escapeHTML$2 = escapeHTML_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const reactElement = Symbol.for('react.element');function traverseChildren(opaqueChildren, cb) {if (Array.isArray(opaqueChildren)) {opaqueChildren.forEach(child => traverseChildren(child, cb));} else if (opaqueChildren != null && opaqueChildren !== false) {cb(opaqueChildren); +var escapeHTML$2 = escapeHTML_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var reactElement = Symbol.for('react.element');function traverseChildren(opaqueChildren, cb) { + if (Array.isArray(opaqueChildren)) { + opaqueChildren.forEach(function (child) { + return traverseChildren(child, cb); + }); + } else if (opaqueChildren != null && opaqueChildren !== false) { + cb(opaqueChildren); } } function printChildren$1(flatChildren, print, indent, colors, opts) { - return flatChildren. - map(node => { - if (typeof node === 'object') { + return flatChildren.map(function (node) { + if ((typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object') { return print(node, print, indent, colors, opts); } else if (typeof node === 'string') { return colors.content.open + escapeHTML$2(node) + colors.content.close; } else { return print(node); } - }). - join(opts.edgeSpacing); + }).join(opts.edgeSpacing); } function printProps(props, print, indent, colors, opts) { - return Object.keys(props). - sort(). - map(name => { + return Object.keys(props).sort().map(function (name) { if (name === 'children') { return ''; } - const prop = props[name]; - let printed = print(prop); + var prop = props[name]; + var printed = print(prop); if (typeof prop !== 'string') { if (printed.indexOf('\n') !== -1) { - printed = - '{' + - opts.edgeSpacing + - indent(indent(printed) + opts.edgeSpacing + '}'); + printed = '{' + opts.edgeSpacing + indent(indent(printed) + opts.edgeSpacing + '}'); } else { printed = '{' + printed + '}'; } } - return ( - opts.spacing + - indent(colors.prop.open + name + colors.prop.close + '=') + - colors.value.open + - printed + - colors.value.close); - - }). - join(''); + return opts.spacing + indent(colors.prop.open + name + colors.prop.close + '=') + colors.value.open + printed + colors.value.close; + }).join(''); } -const print$10 = ( -element, -print, -indent, -opts, -colors) => -{ - let result = colors.tag.open + '<'; - let elementName; +var print$10 = function print$10(element, print, indent, opts, colors) { + var result = colors.tag.open + '<'; + var elementName = void 0; if (typeof element.type === 'string') { elementName = element.type; } else if (typeof element.type === 'function') { @@ -10149,86 +8471,61 @@ colors) => result += elementName + colors.tag.close; result += printProps(element.props, print, indent, colors, opts); - const opaqueChildren = element.props.children; - const hasProps = !!Object.keys(element.props).filter( - propName => propName !== 'children'). - length; - const closeInNewLine = hasProps && !opts.min; + var opaqueChildren = element.props.children; + var hasProps = !!Object.keys(element.props).filter(function (propName) { + return propName !== 'children'; + }).length; + var closeInNewLine = hasProps && !opts.min; if (opaqueChildren) { - const flatChildren = []; - traverseChildren(opaqueChildren, child => { + var flatChildren = []; + traverseChildren(opaqueChildren, function (child) { flatChildren.push(child); }); - const children = printChildren$1(flatChildren, print, indent, colors, opts); - result += - colors.tag.open + ( - closeInNewLine ? '\n' : '') + - '>' + - colors.tag.close + - opts.edgeSpacing + - indent(children) + - opts.edgeSpacing + - colors.tag.open + - '' + - colors.tag.close; + var children = printChildren$1(flatChildren, print, indent, colors, opts); + result += colors.tag.open + (closeInNewLine ? '\n' : '') + '>' + colors.tag.close + opts.edgeSpacing + indent(children) + opts.edgeSpacing + colors.tag.open + '' + colors.tag.close; } else { - result += - colors.tag.open + (closeInNewLine ? '\n' : ' ') + '/>' + colors.tag.close; + result += colors.tag.open + (closeInNewLine ? '\n' : ' ') + '/>' + colors.tag.close; } return result; }; -const test$9 = object => object && object.$$typeof === reactElement; +var test$9 = function test$9(object) { + return object && object.$$typeof === reactElement; +}; var ReactElement$1 = { print: print$10, test: test$9 }; -const escapeHTML$3 = escapeHTML_1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const reactTestInstance = Symbol.for('react.test.json');function printChildren$2(children, print, indent, colors, -opts) -{ - return children. - map(child => printInstance(child, print, indent, colors, opts)). - join(opts.edgeSpacing); +var escapeHTML$3 = escapeHTML_1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var reactTestInstance = Symbol.for('react.test.json');function printChildren$2(children, print, indent, colors, opts) { + return children.map(function (child) { + return printInstance(child, print, indent, colors, opts); + }).join(opts.edgeSpacing); } function printProps$1(props, print, indent, colors, opts) { - return Object.keys(props). - sort(). - map(name => { - const prop = props[name]; - let printed = print(prop); + return Object.keys(props).sort().map(function (name) { + var prop = props[name]; + var printed = print(prop); if (typeof prop !== 'string') { if (printed.indexOf('\n') !== -1) { - printed = - '{' + - opts.edgeSpacing + - indent(indent(printed) + opts.edgeSpacing + '}'); + printed = '{' + opts.edgeSpacing + indent(indent(printed) + opts.edgeSpacing + '}'); } else { printed = '{' + printed + '}'; } } - return ( - opts.spacing + - indent(colors.prop.open + name + colors.prop.close + '=') + - colors.value.open + - printed + - colors.value.close); - - }). - join(''); + return opts.spacing + indent(colors.prop.open + name + colors.prop.close + '=') + colors.value.open + printed + colors.value.close; + }).join(''); } function printInstance(instance, print, indent, colors, opts) { @@ -10238,8 +8535,8 @@ function printInstance(instance, print, indent, colors, opts) { return colors.content.open + escapeHTML$3(instance) + colors.content.close; } - let closeInNewLine = false; - let result = colors.tag.open + '<' + instance.type + colors.tag.close; + var closeInNewLine = false; + var result = colors.tag.open + '<' + instance.type + colors.tag.close; if (instance.props) { closeInNewLine = !!Object.keys(instance.props).length && !opts.min; @@ -10247,104 +8544,58 @@ function printInstance(instance, print, indent, colors, opts) { } if (instance.children) { - const children = printChildren$2( - instance.children, - print, - indent, - colors, - opts); + var children = printChildren$2(instance.children, print, indent, colors, opts); - result += - colors.tag.open + ( - closeInNewLine ? '\n' : '') + - '>' + - colors.tag.close + - opts.edgeSpacing + - indent(children) + - opts.edgeSpacing + - colors.tag.open + - '' + - colors.tag.close; + result += colors.tag.open + (closeInNewLine ? '\n' : '') + '>' + colors.tag.close + opts.edgeSpacing + indent(children) + opts.edgeSpacing + colors.tag.open + '' + colors.tag.close; } else { - result += - colors.tag.open + (closeInNewLine ? '\n' : ' ') + '/>' + colors.tag.close; + result += colors.tag.open + (closeInNewLine ? '\n' : ' ') + '/>' + colors.tag.close; } return result; } -const print$11 = ( -val, -print, -indent, -opts, -colors) => -printInstance(val, print, indent, colors, opts); +var print$11 = function print$11(val, print, indent, opts, colors) { + return printInstance(val, print, indent, colors, opts); +}; -const test$10 = object => -object && object.$$typeof === reactTestInstance; +var test$10 = function test$10(object) { + return object && object.$$typeof === reactTestInstance; +}; var ReactTestComponent = { print: print$11, test: test$10 }; -const style = index$22; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ +var style = index$22; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ +var toString = Object.prototype.toString; +var toISOString = Date.prototype.toISOString; +var errorToString = Error.prototype.toString; +var regExpToString = RegExp.prototype.toString; +var symbolToString = Symbol.prototype.toString; +var SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/; +var NEWLINE_REGEXP = /\n/gi; - - - - - - - - - - - - -const toString = Object.prototype.toString; -const toISOString = Date.prototype.toISOString; -const errorToString = Error.prototype.toString; -const regExpToString = RegExp.prototype.toString; -const symbolToString = Symbol.prototype.toString; - -const SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/; -const NEWLINE_REGEXP = /\n/gi; - -const getSymbols = Object.getOwnPropertySymbols || (obj => []); +var getSymbols = Object.getOwnPropertySymbols || function (obj) { + return []; +}; function isToStringedArrayType(toStringed) { - return ( - toStringed === '[object Array]' || - toStringed === '[object ArrayBuffer]' || - toStringed === '[object DataView]' || - toStringed === '[object Float32Array]' || - toStringed === '[object Float64Array]' || - toStringed === '[object Int8Array]' || - toStringed === '[object Int16Array]' || - toStringed === '[object Int32Array]' || - toStringed === '[object Uint8Array]' || - toStringed === '[object Uint8ClampedArray]' || - toStringed === '[object Uint16Array]' || - toStringed === '[object Uint32Array]'); - + return toStringed === '[object Array]' || toStringed === '[object ArrayBuffer]' || toStringed === '[object DataView]' || toStringed === '[object Float32Array]' || toStringed === '[object Float64Array]' || toStringed === '[object Int8Array]' || toStringed === '[object Int16Array]' || toStringed === '[object Int32Array]' || toStringed === '[object Uint8Array]' || toStringed === '[object Uint8ClampedArray]' || toStringed === '[object Uint16Array]' || toStringed === '[object Uint32Array]'; } function printNumber$1(val) { if (val != +val) { return 'NaN'; } - const isNegativeZero = val === 0 && 1 / val < 0; + var isNegativeZero = val === 0 && 1 / val < 0; return isNegativeZero ? '-0' : '' + val; } @@ -10366,11 +8617,7 @@ function printError(val) { return '[' + errorToString.call(val) + ']'; } -function printBasicValue( -val, -printFunctionName, -escapeRegex) -{ +function printBasicValue(val, printFunctionName, escapeRegex) { if (val === true || val === false) { return '' + val; } @@ -10381,7 +8628,7 @@ escapeRegex) return 'null'; } - const typeOf = typeof val; + var typeOf = typeof val === 'undefined' ? 'undefined' : _typeof(val); if (typeOf === 'number') { return printNumber$1(val); @@ -10396,7 +8643,7 @@ escapeRegex) return printSymbol(val); } - const toStringed = toString.call(val); + var toStringed = toString.call(val); if (toStringed === '[object WeakMap]') { return 'WeakMap {}'; @@ -10404,10 +8651,7 @@ escapeRegex) if (toStringed === '[object WeakSet]') { return 'WeakSet {}'; } - if ( - toStringed === '[object Function]' || - toStringed === '[object GeneratorFunction]') - { + if (toStringed === '[object Function]' || toStringed === '[object GeneratorFunction]') { return printFunction(val, printFunctionName); } if (toStringed === '[object Symbol]') { @@ -10440,48 +8684,16 @@ escapeRegex) return null; } -function printList( -list, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - let body = ''; +function printList(list, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + var body = ''; if (list.length) { body += edgeSpacing; - const innerIndent = prevIndent + indent; - - for (let i = 0; i < list.length; i++) { - body += - innerIndent + - print( - list[i], - indent, - innerIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); + var innerIndent = prevIndent + indent; + for (var i = 0; i < list.length; i++) { + body += innerIndent + print(list[i], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); if (i < list.length - 1) { body += ',' + spacing; @@ -10494,138 +8706,28 @@ colors) return '[' + body + ']'; } -function printArguments( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - return ( - (min ? '' : 'Arguments ') + - printList( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors)); - - +function printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + return (min ? '' : 'Arguments ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } -function printArray( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - return ( - (min ? '' : val.constructor.name + ' ') + - printList( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors)); - - +function printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + return (min ? '' : val.constructor.name + ' ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } -function printMap( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - let result = 'Map {'; - const iterator = val.entries(); - let current = iterator.next(); +function printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + var result = 'Map {'; + var iterator = val.entries(); + var current = iterator.next(); if (!current.done) { result += edgeSpacing; - const innerIndent = prevIndent + indent; + var innerIndent = prevIndent + indent; while (!current.done) { - const key = print( - current.value[0], - indent, - innerIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - - const value = print( - current.value[1], - indent, - innerIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); + var key = print(current.value[0], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); + var value = print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); result += innerIndent + key + ' => ' + value; @@ -10642,81 +8744,33 @@ colors) return result + '}'; } -function printObject( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - const constructor = min ? - '' : - val.constructor ? val.constructor.name + ' ' : 'Object '; - let result = constructor + '{'; - let keys = Object.keys(val).sort(); - const symbols = getSymbols(val); +function printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + var constructor = min ? '' : val.constructor ? val.constructor.name + ' ' : 'Object '; + var result = constructor + '{'; + var keys = Object.keys(val).sort(); + var symbols = getSymbols(val); if (symbols.length) { - keys = keys. - filter( - key => - // $FlowFixMe string literal `symbol`. This value is not a valid `typeof` return value - !(typeof key === 'symbol' || - toString.call(key) === '[object Symbol]')). - - concat(symbols); + keys = keys.filter(function (key) { + return ( + // $FlowFixMe string literal `symbol`. This value is not a valid `typeof` return value + !((typeof key === 'undefined' ? 'undefined' : _typeof(key)) === 'symbol' || toString.call(key) === '[object Symbol]') + ); + }).concat(symbols); } if (keys.length) { result += edgeSpacing; - const innerIndent = prevIndent + indent; + var innerIndent = prevIndent + indent; - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const name = print( - key, - indent, - innerIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var _name5 = print(key, indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); - const value = print( - val[key], - indent, - innerIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); + var value = print(val[key], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); - - result += innerIndent + name + ': ' + value; + result += innerIndent + _name5 + ': ' + value; if (i < keys.length - 1) { result += ',' + spacing; @@ -10729,50 +8783,18 @@ colors) return result + '}'; } -function printSet( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - let result = 'Set {'; - const iterator = val.entries(); - let current = iterator.next(); +function printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + var result = 'Set {'; + var iterator = val.entries(); + var current = iterator.next(); if (!current.done) { result += edgeSpacing; - const innerIndent = prevIndent + indent; + var innerIndent = prevIndent + indent; while (!current.done) { - result += - innerIndent + - print( - current.value[1], - indent, - innerIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + result += innerIndent + print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); current = iterator.next(); @@ -10787,22 +8809,7 @@ colors) return result + '}'; } -function printComplexValue( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ +function printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { refs = refs.slice(); if (refs.indexOf(val) > -1) { return '[Circular]'; @@ -10812,150 +8819,30 @@ colors) currentDepth++; - const hitMaxDepth = currentDepth > maxDepth; - - if ( - callToJSON && - !hitMaxDepth && - val.toJSON && - typeof val.toJSON === 'function') - { - return print( - val.toJSON(), - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); + var hitMaxDepth = currentDepth > maxDepth; + if (callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === 'function') { + return print(val.toJSON(), indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } - const toStringed = toString.call(val); + var toStringed = toString.call(val); if (toStringed === '[object Arguments]') { - return hitMaxDepth ? - '[Arguments]' : - printArguments( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + return hitMaxDepth ? '[Arguments]' : printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } else if (isToStringedArrayType(toStringed)) { - return hitMaxDepth ? - '[Array]' : - printArray( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + return hitMaxDepth ? '[Array]' : printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } else if (toStringed === '[object Map]') { - return hitMaxDepth ? - '[Map]' : - printMap( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + return hitMaxDepth ? '[Map]' : printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } else if (toStringed === '[object Set]') { - return hitMaxDepth ? - '[Set]' : - printSet( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + return hitMaxDepth ? '[Set]' : printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } - return hitMaxDepth ? - '[Object]' : - printObject( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + return hitMaxDepth ? '[Object]' : printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } -function printPlugin( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - let plugin; +function printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + var plugin = void 0; - for (let p = 0; p < plugins.length; p++) { + for (var p = 0; p < plugins.length; p++) { if (plugins[p].test(val)) { plugin = plugins[p]; break; @@ -10967,97 +8854,38 @@ colors) } function boundPrint(val) { - return print( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + return print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } function boundIndent(str) { - const indentation = prevIndent + indent; + var indentation = prevIndent + indent; return indentation + str.replace(NEWLINE_REGEXP, '\n' + indentation); } - const opts = { - edgeSpacing, - min, - spacing }; + var opts = { + edgeSpacing: edgeSpacing, + min: min, + spacing: spacing }; return plugin.print(val, boundPrint, boundIndent, opts, colors); } -function print( -val, -indent, -prevIndent, -spacing, -edgeSpacing, -refs, -maxDepth, -currentDepth, -plugins, -min, -callToJSON, -printFunctionName, -escapeRegex, -colors) -{ - const pluginsResult = printPlugin( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); +function print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors) { + var pluginsResult = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); if (typeof pluginsResult === 'string') { return pluginsResult; } - const basicResult = printBasicValue(val, printFunctionName, escapeRegex); + var basicResult = printBasicValue(val, printFunctionName, escapeRegex); if (basicResult !== null) { return basicResult; } - return printComplexValue( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - maxDepth, - currentDepth, - plugins, - min, - callToJSON, - printFunctionName, - escapeRegex, - colors); - + return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min, callToJSON, printFunctionName, escapeRegex, colors); } -const DEFAULTS = { +var DEFAULTS = { callToJSON: true, edgeSpacing: '\n', escapeRegex: false, @@ -11075,31 +8903,24 @@ const DEFAULTS = { tag: 'cyan', value: 'green' } }; - - function validateOptions(opts) { - Object.keys(opts).forEach(key => { + Object.keys(opts).forEach(function (key) { if (!DEFAULTS.hasOwnProperty(key)) { - throw new Error(`pretty-format: Unknown option "${key}".`); + throw new Error('pretty-format: Unknown option "' + key + '".'); } }); if (opts.min && opts.indent !== undefined && opts.indent !== 0) { - throw new Error( - 'pretty-format: Options "min" and "indent" cannot be used together.'); - + throw new Error('pretty-format: Options "min" and "indent" cannot be used together.'); } } function normalizeOptions$1(opts) { - const result = {}; - - Object.keys(DEFAULTS).forEach( - key => - result[key] = opts.hasOwnProperty(key) ? - key === 'theme' ? normalizeTheme(opts.theme) : opts[key] : - DEFAULTS[key]); + var result = {}; + Object.keys(DEFAULTS).forEach(function (key) { + return result[key] = opts.hasOwnProperty(key) ? key === 'theme' ? normalizeTheme(opts.theme) : opts[key] : DEFAULTS[key]; + }); if (result.min) { result.indent = 0; @@ -11111,22 +8932,18 @@ function normalizeOptions$1(opts) { function normalizeTheme(themeOption) { if (!themeOption) { - throw new Error(`pretty-format: Option "theme" must not be null.`); + throw new Error('pretty-format: Option "theme" must not be null.'); } - if (typeof themeOption !== 'object') { - throw new Error( - `pretty-format: Option "theme" must be of type "object" but instead received "${typeof themeOption}".`); - + if ((typeof themeOption === 'undefined' ? 'undefined' : _typeof(themeOption)) !== 'object') { + throw new Error('pretty-format: Option "theme" must be of type "object" but instead received "' + (typeof themeOption === 'undefined' ? 'undefined' : _typeof(themeOption)) + '".'); } // Silently ignore any keys in `theme` that are not in defaults. - const themeRefined = themeOption; - const themeDefaults = DEFAULTS.theme; - return Object.keys(themeDefaults).reduce((theme, key) => { - theme[key] = Object.prototype.hasOwnProperty.call(themeOption, key) ? - themeRefined[key] : - themeDefaults[key]; + var themeRefined = themeOption; + var themeDefaults = DEFAULTS.theme; + return Object.keys(themeDefaults).reduce(function (theme, key) { + theme[key] = Object.prototype.hasOwnProperty.call(themeOption, key) ? themeRefined[key] : themeDefaults[key]; return theme; }, {}); } @@ -11136,7 +8953,7 @@ function createIndent(indent) { } function prettyFormat$1(val, initialOptions) { - let opts; + var opts = void 0; if (!initialOptions) { opts = DEFAULTS; } else { @@ -11144,63 +8961,40 @@ function prettyFormat$1(val, initialOptions) { opts = normalizeOptions$1(initialOptions); } - const colors = { + var colors = { comment: { close: '', open: '' }, content: { close: '', open: '' }, prop: { close: '', open: '' }, tag: { close: '', open: '' }, value: { close: '', open: '' } }; - Object.keys(opts.theme).forEach(key => { + Object.keys(opts.theme).forEach(function (key) { if (opts.highlight) { - const color = colors[key] = style[opts.theme[key]]; - if ( - !color || - typeof color.close !== 'string' || - typeof color.open !== 'string') - { - throw new Error( - `pretty-format: Option "theme" has a key "${key}" whose value "${opts.theme[key]}" is undefined in ansi-styles.`); - + var color = colors[key] = style[opts.theme[key]]; + if (!color || typeof color.close !== 'string' || typeof color.open !== 'string') { + throw new Error('pretty-format: Option "theme" has a key "' + key + '" whose value "' + opts.theme[key] + '" is undefined in ansi-styles.'); } } }); - let indent; - let refs; - const prevIndent = ''; - const currentDepth = 0; - const spacing = opts.min ? ' ' : '\n'; - const edgeSpacing = opts.min ? '' : '\n'; + var indent = void 0; + var refs = void 0; + var prevIndent = ''; + var currentDepth = 0; + var spacing = opts.min ? ' ' : '\n'; + var edgeSpacing = opts.min ? '' : '\n'; if (opts && opts.plugins.length) { indent = createIndent(opts.indent); refs = []; - const pluginsResult = printPlugin( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - opts.maxDepth, - currentDepth, - opts.plugins, - opts.min, - opts.callToJSON, - opts.printFunctionName, - opts.escapeRegex, - colors); + var pluginsResult = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min, opts.callToJSON, opts.printFunctionName, opts.escapeRegex, colors); if (typeof pluginsResult === 'string') { return pluginsResult; } } - const basicResult = printBasicValue( - val, - opts.printFunctionName, - opts.escapeRegex); + var basicResult = printBasicValue(val, opts.printFunctionName, opts.escapeRegex); if (basicResult !== null) { return basicResult; @@ -11212,22 +9006,7 @@ function prettyFormat$1(val, initialOptions) { if (!refs) { refs = []; } - return printComplexValue( - val, - indent, - prevIndent, - spacing, - edgeSpacing, - refs, - opts.maxDepth, - currentDepth, - opts.plugins, - opts.min, - opts.callToJSON, - opts.printFunctionName, - opts.escapeRegex, - colors); - + return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min, opts.callToJSON, opts.printFunctionName, opts.escapeRegex, colors); } prettyFormat$1.plugins = { @@ -11238,61 +9017,23 @@ prettyFormat$1.plugins = { ReactElement: ReactElement$1, ReactTestComponent: ReactTestComponent }; - var index$20 = prettyFormat$1; -const chalk$1 = index$4; -const prettyFormat = index$20;var _require$plugins = +var chalk$1 = index$4; +var prettyFormat = index$20;var _require$plugins = index$20.plugins;var AsymmetricMatcher = _require$plugins.AsymmetricMatcher;var ReactElement = _require$plugins.ReactElement;var HTMLElement = _require$plugins.HTMLElement;var Immutable = _require$plugins.Immutable; +var PLUGINS = [AsymmetricMatcher, ReactElement, HTMLElement].concat(Immutable); +var EXPECTED_COLOR = chalk$1.green; +var EXPECTED_BG = chalk$1.bgGreen; +var RECEIVED_COLOR = chalk$1.red; +var RECEIVED_BG = chalk$1.bgRed; - - -index$20.plugins;const AsymmetricMatcher = _require$plugins.AsymmetricMatcher; const ReactElement = _require$plugins.ReactElement; const HTMLElement = _require$plugins.HTMLElement; const Immutable = _require$plugins.Immutable; - -const PLUGINS = [AsymmetricMatcher, ReactElement, HTMLElement].concat( -Immutable); - - - - - - - - - - - - - - - - -const EXPECTED_COLOR = chalk$1.green; -const EXPECTED_BG = chalk$1.bgGreen; -const RECEIVED_COLOR = chalk$1.red; -const RECEIVED_BG = chalk$1.bgRed; - -const NUMBERS = [ -'zero', -'one', -'two', -'three', -'four', -'five', -'six', -'seven', -'eight', -'nine', -'ten', -'eleven', -'twelve', -'thirteen']; - +var NUMBERS = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen']; // get the type of a value with handling the edge cases like `typeof []` // and `typeof null` -const getType$1 = value => { +var getType$1 = function getType$1(value) { if (typeof value === 'undefined') { return 'undefined'; } else if (value === null) { @@ -11307,7 +9048,7 @@ const getType$1 = value => { return 'number'; } else if (typeof value === 'string') { return 'string'; - } else if (typeof value === 'object') { + } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') { if (value.constructor === RegExp) { return 'regexp'; } else if (value.constructor === Map) { @@ -11317,340 +9058,276 @@ const getType$1 = value => { } return 'object'; // $FlowFixMe https://github.com/facebook/flow/issues/1015 - } else if (typeof value === 'symbol') { + } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'symbol') { return 'symbol'; } - throw new Error(`value of unknown type: ${value}`); + throw new Error('value of unknown type: ' + value); }; -const stringify = function (object) {let maxDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10; - const MAX_LENGTH = 10000; - let result; +var stringify = function stringify(object) { + var maxDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10; + var MAX_LENGTH = 10000; + var result = void 0; try { result = prettyFormat(object, { - maxDepth, + maxDepth: maxDepth, min: true, plugins: PLUGINS }); - } catch (e) { result = prettyFormat(object, { callToJSON: false, - maxDepth, + maxDepth: maxDepth, min: true, plugins: PLUGINS }); - } - return result.length >= MAX_LENGTH && maxDepth > 1 ? - stringify(object, Math.floor(maxDepth / 2)) : - result; + return result.length >= MAX_LENGTH && maxDepth > 1 ? stringify(object, Math.floor(maxDepth / 2)) : result; }; -const highlightTrailingWhitespace = (text, bgColor) => -text.replace(/\s+$/gm, bgColor('$&')); - -const printReceived = object => -highlightTrailingWhitespace(RECEIVED_COLOR(stringify(object)), RECEIVED_BG); -const printExpected = value => -highlightTrailingWhitespace(EXPECTED_COLOR(stringify(value)), EXPECTED_BG); - -const printWithType = ( -name, -received, -print) => -{ - const type = getType$1(received); - return ( - name + - ':' + ( - type !== 'null' && type !== 'undefined' ? '\n ' + type + ': ' : ' ') + - print(received)); - +var highlightTrailingWhitespace = function highlightTrailingWhitespace(text, bgColor) { + return text.replace(/\s+$/gm, bgColor('$&')); }; -const ensureNoExpected = (expected, matcherName) => { +var printReceived = function printReceived(object) { + return highlightTrailingWhitespace(RECEIVED_COLOR(stringify(object)), RECEIVED_BG); +}; +var printExpected = function printExpected(value) { + return highlightTrailingWhitespace(EXPECTED_COLOR(stringify(value)), EXPECTED_BG); +}; + +var printWithType = function printWithType(name, received, print) { + var type = getType$1(received); + return name + ':' + (type !== 'null' && type !== 'undefined' ? '\n ' + type + ': ' : ' ') + print(received); +}; + +var ensureNoExpected = function ensureNoExpected(expected, matcherName) { matcherName || (matcherName = 'This'); if (typeof expected !== 'undefined') { - throw new Error( - matcherHint('[.not]' + matcherName, undefined, '') + - '\n\n' + - 'Matcher does not accept any arguments.\n' + - printWithType('Got', expected, printExpected)); - + throw new Error(matcherHint('[.not]' + matcherName, undefined, '') + '\n\n' + 'Matcher does not accept any arguments.\n' + printWithType('Got', expected, printExpected)); } }; -const ensureActualIsNumber = (actual, matcherName) => { +var ensureActualIsNumber = function ensureActualIsNumber(actual, matcherName) { matcherName || (matcherName = 'This matcher'); if (typeof actual !== 'number') { - throw new Error( - matcherHint('[.not]' + matcherName) + - '\n\n' + - `Received value must be a number.\n` + - printWithType('Received', actual, printReceived)); - + throw new Error(matcherHint('[.not]' + matcherName) + '\n\n' + 'Received value must be a number.\n' + printWithType('Received', actual, printReceived)); } }; -const ensureExpectedIsNumber = (expected, matcherName) => { +var ensureExpectedIsNumber = function ensureExpectedIsNumber(expected, matcherName) { matcherName || (matcherName = 'This matcher'); if (typeof expected !== 'number') { - throw new Error( - matcherHint('[.not]' + matcherName) + - '\n\n' + - `Expected value must be a number.\n` + - printWithType('Got', expected, printExpected)); - + throw new Error(matcherHint('[.not]' + matcherName) + '\n\n' + 'Expected value must be a number.\n' + printWithType('Got', expected, printExpected)); } }; -const ensureNumbers = (actual, expected, matcherName) => { +var ensureNumbers = function ensureNumbers(actual, expected, matcherName) { ensureActualIsNumber(actual, matcherName); ensureExpectedIsNumber(expected, matcherName); }; -const pluralize = (word, count) => -(NUMBERS[count] || count) + ' ' + word + (count === 1 ? '' : 's'); - -const matcherHint = function ( -matcherName) - - - - - - -{let received = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'received';let expected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'expected';let options = arguments[3]; - const secondArgument = options && options.secondArgument; - const isDirectExpectCall = options && options.isDirectExpectCall; - return ( - chalk$1.dim('expect' + (isDirectExpectCall ? '' : '(')) + - RECEIVED_COLOR(received) + - chalk$1.dim((isDirectExpectCall ? '' : ')') + matcherName + '(') + - EXPECTED_COLOR(expected) + ( - secondArgument ? `, ${EXPECTED_COLOR(secondArgument)}` : '') + - chalk$1.dim(')')); +var pluralize = function pluralize(word, count) { + return (NUMBERS[count] || count) + ' ' + word + (count === 1 ? '' : 's'); +}; +var matcherHint = function matcherHint(matcherName) { + var received = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'received';var expected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'expected';var options = arguments[3]; + var secondArgument = options && options.secondArgument; + var isDirectExpectCall = options && options.isDirectExpectCall; + return chalk$1.dim('expect' + (isDirectExpectCall ? '' : '(')) + RECEIVED_COLOR(received) + chalk$1.dim((isDirectExpectCall ? '' : ')') + matcherName + '(') + EXPECTED_COLOR(expected) + (secondArgument ? ', ' + EXPECTED_COLOR(secondArgument) : '') + chalk$1.dim(')'); }; var index$18 = { - EXPECTED_BG, - EXPECTED_COLOR, - RECEIVED_BG, - RECEIVED_COLOR, - ensureActualIsNumber, - ensureExpectedIsNumber, - ensureNoExpected, - ensureNumbers, + EXPECTED_BG: EXPECTED_BG, + EXPECTED_COLOR: EXPECTED_COLOR, + RECEIVED_BG: RECEIVED_BG, + RECEIVED_COLOR: RECEIVED_COLOR, + ensureActualIsNumber: ensureActualIsNumber, + ensureExpectedIsNumber: ensureExpectedIsNumber, + ensureNoExpected: ensureNoExpected, + ensureNumbers: ensureNumbers, getType: getType$1, - highlightTrailingWhitespace, - matcherHint, - pluralize, - printExpected, - printReceived, - printWithType, - stringify }; + highlightTrailingWhitespace: highlightTrailingWhitespace, + matcherHint: matcherHint, + pluralize: pluralize, + printExpected: printExpected, + printReceived: printReceived, + printWithType: printWithType, + stringify: stringify }; /* eslint-disable no-nested-ternary */ var arr = []; var charCodeCache = []; -var index$28 = function (a, b) { - if (a === b) { - return 0; - } +var index$28 = function index$28(a, b) { + if (a === b) { + return 0; + } - var swap = a; + var swap = a; - // Swapping the strings if `a` is longer than `b` so we know which one is the - // shortest & which one is the longest - if (a.length > b.length) { - a = b; - b = swap; - } + // Swapping the strings if `a` is longer than `b` so we know which one is the + // shortest & which one is the longest + if (a.length > b.length) { + a = b; + b = swap; + } - var aLen = a.length; - var bLen = b.length; + var aLen = a.length; + var bLen = b.length; - if (aLen === 0) { - return bLen; - } + if (aLen === 0) { + return bLen; + } - if (bLen === 0) { - return aLen; - } + if (bLen === 0) { + return aLen; + } - // Performing suffix trimming: - // We can linearly drop suffix common to both strings since they - // don't increase distance at all - // Note: `~-` is the bitwise way to perform a `- 1` operation - while (aLen > 0 && (a.charCodeAt(~-aLen) === b.charCodeAt(~-bLen))) { - aLen--; - bLen--; - } + // Performing suffix trimming: + // We can linearly drop suffix common to both strings since they + // don't increase distance at all + // Note: `~-` is the bitwise way to perform a `- 1` operation + while (aLen > 0 && a.charCodeAt(~-aLen) === b.charCodeAt(~-bLen)) { + aLen--; + bLen--; + } - if (aLen === 0) { - return bLen; - } + if (aLen === 0) { + return bLen; + } - // Performing prefix trimming - // We can linearly drop prefix common to both strings since they - // don't increase distance at all - var start = 0; + // Performing prefix trimming + // We can linearly drop prefix common to both strings since they + // don't increase distance at all + var start = 0; - while (start < aLen && (a.charCodeAt(start) === b.charCodeAt(start))) { - start++; - } + while (start < aLen && a.charCodeAt(start) === b.charCodeAt(start)) { + start++; + } - aLen -= start; - bLen -= start; + aLen -= start; + bLen -= start; - if (aLen === 0) { - return bLen; - } + if (aLen === 0) { + return bLen; + } - var bCharCode; - var ret; - var tmp; - var tmp2; - var i = 0; - var j = 0; + var bCharCode; + var ret; + var tmp; + var tmp2; + var i = 0; + var j = 0; - while (i < aLen) { - charCodeCache[start + i] = a.charCodeAt(start + i); - arr[i] = ++i; - } + while (i < aLen) { + charCodeCache[start + i] = a.charCodeAt(start + i); + arr[i] = ++i; + } - while (j < bLen) { - bCharCode = b.charCodeAt(start + j); - tmp = j++; - ret = j; + while (j < bLen) { + bCharCode = b.charCodeAt(start + j); + tmp = j++; + ret = j; - for (i = 0; i < aLen; i++) { - tmp2 = bCharCode === charCodeCache[start + i] ? tmp : tmp + 1; - tmp = arr[i]; - ret = arr[i] = tmp > ret ? tmp2 > ret ? ret + 1 : tmp2 : tmp2 > tmp ? tmp + 1 : tmp2; - } - } + for (i = 0; i < aLen; i++) { + tmp2 = bCharCode === charCodeCache[start + i] ? tmp : tmp + 1; + tmp = arr[i]; + ret = arr[i] = tmp > ret ? tmp2 > ret ? ret + 1 : tmp2 : tmp2 > tmp ? tmp + 1 : tmp2; + } + } - return ret; + return ret; }; -const chalk$2 = index$4; -const BULLET = chalk$2.bold('\u25cf'); -const DEPRECATION = `${BULLET} Deprecation Warning`; -const ERROR$1 = `${BULLET} Validation Error`; -const WARNING = `${BULLET} Validation Warning`; +var chalk$2 = index$4; +var BULLET = chalk$2.bold('\u25CF'); +var DEPRECATION = BULLET + ' Deprecation Warning'; +var ERROR$1 = BULLET + ' Validation Error'; +var WARNING = BULLET + ' Validation Warning'; -const format$2 = value => -typeof value === 'function' ? -value.toString() : -index$20(value, { min: true }); +var format$2 = function format$2(value) { + return typeof value === 'function' ? value.toString() : index$20(value, { min: true }); +}; -class ValidationError$1 extends Error { +var ValidationError$1 = function (_Error) { + _inherits(ValidationError$1, _Error); + function ValidationError$1(name, message, comment) { + _classCallCheck(this, ValidationError$1); + var _this4 = _possibleConstructorReturn(this, (ValidationError$1.__proto__ || Object.getPrototypeOf(ValidationError$1)).call(this)); - constructor(name, message, comment) { - super(); comment = comment ? '\n\n' + comment : '\n'; - this.name = ''; - this.stack = ''; - this.message = chalk$2.red(chalk$2.bold(name) + ':\n\n' + message + comment); - Error.captureStackTrace(this, () => {}); - }} + _this4.name = ''; + _this4.stack = ''; + _this4.message = chalk$2.red(chalk$2.bold(name) + ':\n\n' + message + comment); + Error.captureStackTrace(_this4, function () {}); + return _this4; + } + return ValidationError$1; +}(Error); -const logValidationWarning = ( -name, -message, -comment) => -{ +var logValidationWarning = function logValidationWarning(name, message, comment) { comment = comment ? '\n\n' + comment : '\n'; console.warn(chalk$2.yellow(chalk$2.bold(name) + ':\n\n' + message + comment)); }; -const createDidYouMeanMessage = ( -unrecognized, -allowedOptions) => -{ - const leven = index$28; - const suggestion = allowedOptions.find(option => { - const steps = leven(option, unrecognized); +var createDidYouMeanMessage = function createDidYouMeanMessage(unrecognized, allowedOptions) { + var leven = index$28; + var suggestion = allowedOptions.find(function (option) { + var steps = leven(option, unrecognized); return steps < 3; }); - return suggestion ? `Did you mean ${chalk$2.bold(format$2(suggestion))}?` : ''; + return suggestion ? 'Did you mean ' + chalk$2.bold(format$2(suggestion)) + '?' : ''; }; var utils$2 = { - DEPRECATION, + DEPRECATION: DEPRECATION, ERROR: ERROR$1, ValidationError: ValidationError$1, - WARNING, - createDidYouMeanMessage, + WARNING: WARNING, + createDidYouMeanMessage: createDidYouMeanMessage, format: format$2, - logValidationWarning }; + logValidationWarning: logValidationWarning }; -const chalk = index$4; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */var _require = index$18;const getType = _require.getType;var _require2 = utils$2;const format$1 = _require2.format; const ValidationError = _require2.ValidationError; const ERROR = _require2.ERROR;const errorMessage = (option, received, defaultValue, options) => -{ - const message = ` Option ${chalk.bold(`"${option}"`)} must be of type: - ${chalk.bold.green(getType(defaultValue))} - but instead received: - ${chalk.bold.red(getType(received))} +var chalk = index$4; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var _require = index$18;var getType = _require.getType;var _require2 = utils$2;var format$1 = _require2.format;var ValidationError = _require2.ValidationError;var ERROR = _require2.ERROR;var errorMessage = function errorMessage(option, received, defaultValue, options) { + var message = ' Option ' + chalk.bold('"' + option + '"') + ' must be of type:\n ' + chalk.bold.green(getType(defaultValue)) + '\n but instead received:\n ' + chalk.bold.red(getType(received)) + '\n\n Example:\n {\n ' + chalk.bold('"' + option + '"') + ': ' + chalk.bold(format$1(defaultValue)) + '\n }'; - Example: - { - ${chalk.bold(`"${option}"`)}: ${chalk.bold(format$1(defaultValue))} - }`; - - const comment = options.comment; - const name = options.title && options.title.error || ERROR; + var comment = options.comment; + var name = options.title && options.title.error || ERROR; throw new ValidationError(name, message, comment); }; var errors = { - ValidationError, - errorMessage }; + ValidationError: ValidationError, + errorMessage: errorMessage }; -var _require$2 = - - - - - - - - - - - -utils$2;const logValidationWarning$1 = _require$2.logValidationWarning; const DEPRECATION$2 = _require$2.DEPRECATION; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const deprecationMessage = (message, options) => {const comment = options.comment;const name = options.title && options.title.deprecation || DEPRECATION$2;logValidationWarning$1(name, message, comment);}; -const deprecationWarning$1 = ( -config, -option, -deprecatedOptions, -options) => -{ +var _require$2 = utils$2;var logValidationWarning$1 = _require$2.logValidationWarning;var DEPRECATION$2 = _require$2.DEPRECATION; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var deprecationMessage = function deprecationMessage(message, options) { + var comment = options.comment;var name = options.title && options.title.deprecation || DEPRECATION$2;logValidationWarning$1(name, message, comment); +}; +var deprecationWarning$1 = function deprecationWarning$1(config, option, deprecatedOptions, options) { if (option in deprecatedOptions) { deprecationMessage(deprecatedOptions[option](config), options); @@ -11663,31 +9340,21 @@ options) => var deprecated = { deprecationWarning: deprecationWarning$1 }; -const chalk$3 = index$4; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */var _require$3 = utils$2;const format$3 = _require$3.format; const logValidationWarning$2 = _require$3.logValidationWarning; const createDidYouMeanMessage$1 = _require$3.createDidYouMeanMessage; const WARNING$2 = _require$3.WARNING;const unknownOptionWarning$1 = ( -config, -exampleConfig, -option, -options) => -{ - const didYouMean = createDidYouMeanMessage$1( - option, - Object.keys(exampleConfig)); +var chalk$3 = index$4; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var _require$3 = utils$2;var format$3 = _require$3.format;var logValidationWarning$2 = _require$3.logValidationWarning;var createDidYouMeanMessage$1 = _require$3.createDidYouMeanMessage;var WARNING$2 = _require$3.WARNING;var unknownOptionWarning$1 = function unknownOptionWarning$1(config, exampleConfig, option, options) { + var didYouMean = createDidYouMeanMessage$1(option, Object.keys(exampleConfig)); - const message = - ` Unknown option ${chalk$3.bold(`"${option}"`)} with value ${chalk$3.bold(format$3(config[option]))} was found.` + ( - didYouMean && ` ${didYouMean}`) + - `\n This is probably a typing mistake. Fixing it will remove this message.`; + var message = ' Unknown option ' + chalk$3.bold('"' + option + '"') + ' with value ' + chalk$3.bold(format$3(config[option])) + ' was found.' + (didYouMean && ' ' + didYouMean) + '\n This is probably a typing mistake. Fixing it will remove this message.'; - const comment = options.comment; - const name = options.title && options.title.warning || WARNING$2; + var comment = options.comment; + var name = options.title && options.title.warning || WARNING$2; logValidationWarning$2(name, message, comment); }; @@ -11695,63 +9362,51 @@ options) => var warnings = { unknownOptionWarning: unknownOptionWarning$1 }; -const config = { +var config = { comment: ' A comment', - condition: (option, validOption) => true, - deprecate: (config, option, deprecatedOptions, options) => false, + condition: function condition(option, validOption) { + return true; + }, + deprecate: function deprecate(config, option, deprecatedOptions, options) { + return false; + }, deprecatedConfig: { - key: config => {} }, + key: function key(config) {} }, - error: (option, received, defaultValue, options) => {}, + error: function error(option, received, defaultValue, options) {}, exampleConfig: { key: 'value', test: 'case' }, title: { deprecation: 'Deprecation Warning', error: 'Validation Error', warning: 'Validation Warning' }, - unknown: (config, option, options) => {} }; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */var exampleConfig$2 = config; + unknown: function unknown(config, option, options) {} }; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var exampleConfig$2 = config; -const toString$1 = Object.prototype.toString; - -const validationCondition$1 = (option, validOption) => { - return ( - option === null || - option === undefined || - toString$1.call(option) === toString$1.call(validOption)); +var toString$1 = Object.prototype.toString; +var validationCondition$1 = function validationCondition$1(option, validOption) { + return option === null || option === undefined || toString$1.call(option) === toString$1.call(validOption); }; var condition = validationCondition$1; -var _require$1 = - - - - - - - - - - - -deprecated;const deprecationWarning = _require$1.deprecationWarning; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */var _require2$1 = warnings;const unknownOptionWarning = _require2$1.unknownOptionWarning;var _require3 = errors;const errorMessage$1 = _require3.errorMessage;const exampleConfig$1 = exampleConfig$2;const validationCondition = condition;var _require4 = utils$2;const ERROR$2 = _require4.ERROR; const DEPRECATION$1 = _require4.DEPRECATION; const WARNING$1 = _require4.WARNING;var defaultConfig$1 = { comment: '', +var _require$1 = deprecated;var deprecationWarning = _require$1.deprecationWarning; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var _require2$1 = warnings;var unknownOptionWarning = _require2$1.unknownOptionWarning;var _require3 = errors;var errorMessage$1 = _require3.errorMessage;var exampleConfig$1 = exampleConfig$2;var validationCondition = condition;var _require4 = utils$2;var ERROR$2 = _require4.ERROR;var DEPRECATION$1 = _require4.DEPRECATION;var WARNING$1 = _require4.WARNING;var defaultConfig$1 = { comment: '', condition: validationCondition, deprecate: deprecationWarning, deprecatedConfig: {}, @@ -11764,58 +9419,40 @@ deprecated;const deprecationWarning = _require$1.deprecationWarning; /** unknown: unknownOptionWarning }; -const defaultConfig = defaultConfig$1; /** - * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */const _validate = (config, options) => {let hasDeprecationWarnings = false;for (const key in config) {if (options.deprecatedConfig && key in options.deprecatedConfig && - typeof options.deprecate === 'function') - { - const isDeprecatedKey = options.deprecate( - config, - key, - options.deprecatedConfig, - options); - +var defaultConfig = defaultConfig$1; /** + * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */var _validate = function _validate(config, options) { + var hasDeprecationWarnings = false;for (var key in config) { + if (options.deprecatedConfig && key in options.deprecatedConfig && typeof options.deprecate === 'function') { + var isDeprecatedKey = options.deprecate(config, key, options.deprecatedConfig, options); hasDeprecationWarnings = hasDeprecationWarnings || isDeprecatedKey; } else if (hasOwnProperty.call(options.exampleConfig, key)) { - if ( - typeof options.condition === 'function' && - typeof options.error === 'function' && - !options.condition(config[key], options.exampleConfig[key])) - { + if (typeof options.condition === 'function' && typeof options.error === 'function' && !options.condition(config[key], options.exampleConfig[key])) { options.error(key, config[key], options.exampleConfig[key], options); } } else { - options.unknown && - options.unknown(config, options.exampleConfig, key, options); + options.unknown && options.unknown(config, options.exampleConfig, key, options); } } - return { hasDeprecationWarnings }; + return { hasDeprecationWarnings: hasDeprecationWarnings }; }; -const validate$1 = (config, options) => { +var validate$1 = function validate$1(config, options) { _validate(options, defaultConfig); // validate against jest-validate config - const defaultedOptions = Object.assign( - {}, - defaultConfig, - options, - { title: Object.assign({}, defaultConfig.title, options.title) });var _validate2 = - - - _validate(config, defaultedOptions);const hasDeprecationWarnings = _validate2.hasDeprecationWarnings; + var defaultedOptions = Object.assign({}, defaultConfig, options, { title: Object.assign({}, defaultConfig.title, options.title) });var _validate2 = _validate(config, defaultedOptions);var hasDeprecationWarnings = _validate2.hasDeprecationWarnings; return { - hasDeprecationWarnings, + hasDeprecationWarnings: hasDeprecationWarnings, isValid: true }; - }; var validate_1 = validate$1; @@ -11827,22 +9464,18 @@ var index$2 = { logValidationWarning: utils$2.logValidationWarning, validate: validate_1 }; -const deprecated$2 = { - useFlowParser: config => - ` The ${'"useFlowParser"'} option is deprecated. Use ${'"parser"'} instead. - - Prettier now treats your configuration as: - { - ${'"parser"'}: ${config.useFlowParser ? '"flow"' : '"babylon"'} - }` +var deprecated$2 = { + useFlowParser: function useFlowParser(config) { + return ' The ' + '"useFlowParser"' + ' option is deprecated. Use ' + '"parser"' + ' instead.\n\n Prettier now treats your configuration as:\n {\n ' + '"parser"' + ': ' + (config.useFlowParser ? '"flow"' : '"babylon"') + '\n }'; + } }; var deprecated_1 = deprecated$2; -const validate = index$2.validate; -const deprecatedConfig = deprecated_1; +var validate = index$2.validate; +var deprecatedConfig = deprecated_1; -const defaults = { +var defaults = { cursorOffset: -1, rangeStart: 0, rangeEnd: Infinity, @@ -11857,7 +9490,7 @@ const defaults = { semi: true }; -const exampleConfig = Object.assign({}, defaults, { +var exampleConfig = Object.assign({}, defaults, { filepath: "path/to/Filename", printWidth: 80, originalText: "text" @@ -11865,8 +9498,8 @@ const exampleConfig = Object.assign({}, defaults, { // Copy options and fill in default values. function normalize(options) { - const normalized = Object.assign({}, options || {}); - const filepath = normalized.filepath; + var normalized = Object.assign({}, options || {}); + var filepath = normalized.filepath; if (/\.(css|less|scss)$/.test(filepath)) { normalized.parser = "postcss"; @@ -11879,13 +9512,10 @@ function normalize(options) { // for a few versions. This code can be removed later. normalized.trailingComma = "es5"; - console.warn( - "Warning: `trailingComma` without any argument is deprecated. " + - 'Specify "none", "es5", or "all".' - ); + console.warn("Warning: `trailingComma` without any argument is deprecated. " + 'Specify "none", "es5", or "all".'); } - validate(normalized, { exampleConfig, deprecatedConfig }); + validate(normalized, { exampleConfig: exampleConfig, deprecatedConfig: deprecatedConfig }); // For backward compatibility. Deprecated in 0.0.10 if ("useFlowParser" in normalized) { @@ -11893,7 +9523,7 @@ function normalize(options) { delete normalized.useFlowParser; } - Object.keys(defaults).forEach(k => { + Object.keys(defaults).forEach(function (k) { if (normalized[k] == null) { normalized[k] = defaults[k]; } @@ -11902,261 +9532,258 @@ function normalize(options) { return normalized; } -var options = { normalize }; +var options = { normalize: normalize }; var index$32 = createCommonjsModule(function (module, exports) { -// Copyright 2014, 2015, 2016, 2017 Simon Lydell -// License: MIT. (See LICENSE.) + // Copyright 2014, 2015, 2016, 2017 Simon Lydell + // License: MIT. (See LICENSE.) -Object.defineProperty(exports, "__esModule", { - value: true -}); + Object.defineProperty(exports, "__esModule", { + value: true + }); -// This regex comes from regex.coffee, and is inserted here by generate-index.js -// (run `npm run build`). -exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; + // This regex comes from regex.coffee, and is inserted here by generate-index.js + // (run `npm run build`). + exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; -exports.matchToToken = function(match) { - var token = {type: "invalid", value: match[0]}; - if (match[ 1]) token.type = "string" , token.closed = !!(match[3] || match[4]); - else if (match[ 5]) token.type = "comment"; - else if (match[ 6]) token.type = "comment", token.closed = !!match[7]; - else if (match[ 8]) token.type = "regex"; - else if (match[ 9]) token.type = "number"; - else if (match[10]) token.type = "name"; - else if (match[11]) token.type = "punctuator"; - else if (match[12]) token.type = "whitespace"; - return token -}; + exports.matchToToken = function (match) { + var token = { type: "invalid", value: match[0] }; + if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace"; + return token; + }; }); var index$30 = createCommonjsModule(function (module, exports) { -"use strict"; + "use strict"; -exports.__esModule = true; -exports.codeFrameColumns = codeFrameColumns; + exports.__esModule = true; + exports.codeFrameColumns = codeFrameColumns; -exports.default = function (rawLines, lineNumber, colNumber) { - var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + exports.default = function (rawLines, lineNumber, colNumber) { + var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - if (!deprecationWarningShown) { - deprecationWarningShown = true; + if (!deprecationWarningShown) { + deprecationWarningShown = true; - var deprecationError = new Error("Passing lineNumber and colNumber is deprecated to babel-code-frame. Please use `codeFrameColumns`."); - deprecationError.name = "DeprecationWarning"; + var deprecationError = new Error("Passing lineNumber and colNumber is deprecated to babel-code-frame. Please use `codeFrameColumns`."); + deprecationError.name = "DeprecationWarning"; - if (process.emitWarning) { - process.emitWarning(deprecationError); - } else { - console.warn(deprecationError); - } - } - - colNumber = Math.max(colNumber, 0); - - var location = { start: { column: colNumber, line: lineNumber } }; - - return codeFrameColumns(rawLines, location, opts); -}; - -var _jsTokens = index$32; - -var _jsTokens2 = _interopRequireDefault(_jsTokens); - -var _esutils = utils; - -var _esutils2 = _interopRequireDefault(_esutils); - -var _chalk = index$4; - -var _chalk2 = _interopRequireDefault(_chalk); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var deprecationWarningShown = false; - -function getDefs(chalk) { - return { - keyword: chalk.cyan, - capitalized: chalk.yellow, - jsx_tag: chalk.yellow, - punctuator: chalk.yellow, - - number: chalk.magenta, - string: chalk.green, - regex: chalk.magenta, - comment: chalk.grey, - invalid: chalk.white.bgRed.bold, - gutter: chalk.grey, - marker: chalk.red.bold - }; -} - -var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - -var JSX_TAG = /^[a-z][\w-]*$/i; - -var BRACKET = /^[()\[\]{}]$/; - -function getTokenType(match) { - var _match$slice = match.slice(-2), - offset = _match$slice[0], - text = _match$slice[1]; - - var token = (0, _jsTokens.matchToToken)(match); - - if (token.type === "name") { - if (_esutils2.default.keyword.isReservedWordES6(token.value)) { - return "keyword"; - } - - if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " 2 && arguments[2] !== undefined ? arguments[2] : {}; + var location = { start: { column: colNumber, line: lineNumber } }; - var highlighted = opts.highlightCode && _chalk2.default.supportsColor || opts.forceColor; - var chalk = _chalk2.default; - if (opts.forceColor) { - chalk = new _chalk2.default.constructor({ enabled: true }); - } - var maybeHighlight = function maybeHighlight(chalkFn, string) { - return highlighted ? chalkFn(string) : string; + return codeFrameColumns(rawLines, location, opts); }; - var defs = getDefs(chalk); - if (highlighted) rawLines = highlight(defs, rawLines); - var lines = rawLines.split(NEWLINE); + var _jsTokens = index$32; - var _getMarkerLines = getMarkerLines(loc, lines, opts), - start = _getMarkerLines.start, - end = _getMarkerLines.end, - markerLines = _getMarkerLines.markerLines; + var _jsTokens2 = _interopRequireDefault(_jsTokens); - var numberMaxWidth = String(end).length; + var _esutils = utils; - var frame = lines.slice(start, end).map(function (line, index) { - var number = start + 1 + index; - var paddedNumber = (" " + number).slice(-numberMaxWidth); - var gutter = " " + paddedNumber + " | "; - var hasMarker = markerLines[number]; - if (hasMarker) { - var markerLine = ""; - if (Array.isArray(hasMarker)) { - var markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); - var numberOfMarkers = hasMarker[1] || 1; + var _esutils2 = _interopRequireDefault(_esutils); - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); - } - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); - } else { - return " " + maybeHighlight(defs.gutter, gutter) + line; - } - }).join("\n"); + var _chalk = index$4; - if (highlighted) { - return chalk.reset(frame); - } else { - return frame; + var _chalk2 = _interopRequireDefault(_chalk); + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + + var deprecationWarningShown = false; + + function getDefs(chalk) { + return { + keyword: chalk.cyan, + capitalized: chalk.yellow, + jsx_tag: chalk.yellow, + punctuator: chalk.yellow, + + number: chalk.magenta, + string: chalk.green, + regex: chalk.magenta, + comment: chalk.grey, + invalid: chalk.white.bgRed.bold, + gutter: chalk.grey, + marker: chalk.red.bold + }; + } + + var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + + var JSX_TAG = /^[a-z][\w-]*$/i; + + var BRACKET = /^[()\[\]{}]$/; + + function getTokenType(match) { + var _match$slice = match.slice(-2), + offset = _match$slice[0], + text = _match$slice[1]; + + var token = (0, _jsTokens.matchToToken)(match); + + if (token.type === "name") { + if (_esutils2.default.keyword.isReservedWordES6(token.value)) { + return "keyword"; + } + + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " 2 && arguments[2] !== undefined ? arguments[2] : {}; + + var highlighted = opts.highlightCode && _chalk2.default.supportsColor || opts.forceColor; + var chalk = _chalk2.default; + if (opts.forceColor) { + chalk = new _chalk2.default.constructor({ enabled: true }); + } + var maybeHighlight = function maybeHighlight(chalkFn, string) { + return highlighted ? chalkFn(string) : string; + }; + var defs = getDefs(chalk); + if (highlighted) rawLines = highlight(defs, rawLines); + + var lines = rawLines.split(NEWLINE); + + var _getMarkerLines = getMarkerLines(loc, lines, opts), + start = _getMarkerLines.start, + end = _getMarkerLines.end, + markerLines = _getMarkerLines.markerLines; + + var numberMaxWidth = String(end).length; + + var frame = lines.slice(start, end).map(function (line, index) { + var number = start + 1 + index; + var paddedNumber = (" " + number).slice(-numberMaxWidth); + var gutter = " " + paddedNumber + " | "; + var hasMarker = markerLines[number]; + if (hasMarker) { + var markerLine = ""; + if (Array.isArray(hasMarker)) { + var markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + var numberOfMarkers = hasMarker[1] || 1; + + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + } + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); + } else { + return " " + maybeHighlight(defs.gutter, gutter) + line; + } + }).join("\n"); + + if (highlighted) { + return chalk.reset(frame); + } else { + return frame; + } } -} }); function parse(text, opts) { - let parseFunction; + var parseFunction = void 0; if (opts.parser === "flow") { parseFunction = eval("require")("./src/parser-flow"); + } else if (opts.parser === "graphql") { + parseFunction = eval("require")("./src/parser-graphql"); } else if (opts.parser === "typescript") { parseFunction = eval("require")("./src/parser-typescript"); } else if (opts.parser === "postcss") { @@ -12168,10 +9795,10 @@ function parse(text, opts) { try { return parseFunction(text); } catch (error) { - const loc = error.loc; + var loc = error.loc; if (loc) { - const codeFrame = index$30; + var codeFrame = index$30; error.codeFrame = codeFrame.codeFrameColumns(text, loc, { highlightCode: true }); @@ -12183,18 +9810,18 @@ function parse(text, opts) { } } -var parser$1 = { parse }; +var parser$1 = { parse: parse }; function flattenDoc(doc) { if (doc.type === "concat") { - const res = []; + var res = []; - for (let i = 0; i < doc.parts.length; ++i) { - const doc2 = doc.parts[i]; + for (var i = 0; i < doc.parts.length; ++i) { + var doc2 = doc.parts[i]; if (typeof doc2 !== "string" && doc2.type === "concat") { [].push.apply(res, flattenDoc(doc2).parts); } else { - const flattened = flattenDoc(doc2); + var flattened = flattenDoc(doc2); if (flattened !== "") { res.push(flattened); } @@ -12204,25 +9831,18 @@ function flattenDoc(doc) { return Object.assign({}, doc, { parts: res }); } else if (doc.type === "if-break") { return Object.assign({}, doc, { - breakContents: doc.breakContents != null - ? flattenDoc(doc.breakContents) - : null, - flatContents: doc.flatContents != null - ? flattenDoc(doc.flatContents) - : null + breakContents: doc.breakContents != null ? flattenDoc(doc.breakContents) : null, + flatContents: doc.flatContents != null ? flattenDoc(doc.flatContents) : null }); } else if (doc.type === "group") { return Object.assign({}, doc, { contents: flattenDoc(doc.contents), - expandedStates: doc.expandedStates - ? doc.expandedStates.map(flattenDoc) - : doc.expandedStates + expandedStates: doc.expandedStates ? doc.expandedStates.map(flattenDoc) : doc.expandedStates }); } else if (doc.contents) { return Object.assign({}, doc, { contents: flattenDoc(doc.contents) }); - } else { - return doc; } + return doc; } function printDoc(doc) { @@ -12260,30 +9880,15 @@ function printDoc(doc) { } if (doc.type === "if-break") { - return ( - "ifBreak(" + - printDoc(doc.breakContents) + - (doc.flatContents ? ", " + printDoc(doc.flatContents) : "") + - ")" - ); + return "ifBreak(" + printDoc(doc.breakContents) + (doc.flatContents ? ", " + printDoc(doc.flatContents) : "") + ")"; } if (doc.type === "group") { if (doc.expandedStates) { - return ( - "conditionalGroup(" + - "[" + - doc.expandedStates.map(printDoc).join(",") + - "])" - ); + return "conditionalGroup(" + "[" + doc.expandedStates.map(printDoc).join(",") + "])"; } - return ( - (doc.break ? "wrappedGroup" : "group") + - "(" + - printDoc(doc.contents) + - ")" - ); + return (doc.break ? "wrappedGroup" : "group") + "(" + printDoc(doc.contents) + ")"; } if (doc.type === "fill") { @@ -12302,24 +9907,24 @@ function printDoc(doc) { } var docDebug = { - printDocToDebug: function(doc) { + printDocToDebug: function printDocToDebug(doc) { return printDoc(flattenDoc(doc)); } }; -var require$$1$13 = ( _package$1 && _package$1['default'] ) || _package$1; +var require$$1$12 = _package$1 && _package$1['default'] || _package$1; -const comments = comments$1; -const version = require$$1$13.version; -const printAstToDoc = printer.printAstToDoc; -const util = util$2; -const printDocToString = docPrinter.printDocToString; -const normalizeOptions = options.normalize; -const parser = parser$1; -const printDocToDebug = docDebug.printDocToDebug; +var comments = comments$1; +var version = require$$1$12.version; +var printAstToDoc = printer.printAstToDoc; +var util = util$2; +var _printDocToString = docPrinter.printDocToString; +var normalizeOptions = options.normalize; +var parser = parser$1; +var printDocToDebug = docDebug.printDocToDebug; function guessLineEnding(text) { - const index = text.indexOf("\n"); + var index = text.indexOf("\n"); if (index >= 0 && text.charAt(index - 1) === "\r") { return "\r\n"; } @@ -12327,7 +9932,7 @@ function guessLineEnding(text) { } function attachComments(text, ast, opts) { - const astComments = ast.comments; + var astComments = ast.comments; if (astComments) { delete ast.comments; comments.attach(astComments, ast, text, opts); @@ -12342,7 +9947,7 @@ function ensureAllCommentsPrinted(astComments) { return; } - for (let i = 0; i < astComments.length; ++i) { + for (var i = 0; i < astComments.length; ++i) { if (astComments[i].value.trim() === "prettier-ignore") { // If there's a prettier-ignore, we're not printing that sub-tree so we // don't know if the comments was printed or not. @@ -12350,44 +9955,40 @@ function ensureAllCommentsPrinted(astComments) { } } - astComments.forEach(comment => { + astComments.forEach(function (comment) { if (!comment.printed) { - throw new Error( - 'Comment "' + - comment.value.trim() + - '" was not printed. Please report this error!' - ); + throw new Error('Comment "' + comment.value.trim() + '" was not printed. Please report this error!'); } delete comment.printed; }); } -function formatWithCursor(text, opts, addAlignmentSize) { +function _formatWithCursor(text, opts, addAlignmentSize) { addAlignmentSize = addAlignmentSize || 0; - const ast = parser.parse(text, opts); + var ast = parser.parse(text, opts); - const formattedRangeOnly = formatRange(text, opts, ast); + var formattedRangeOnly = formatRange(text, opts, ast); if (formattedRangeOnly) { return { formatted: formattedRangeOnly }; } - let cursorOffset; + var cursorOffset = void 0; if (opts.cursorOffset >= 0) { - const cursorNodeAndParents = findNodeAtOffset(ast, opts.cursorOffset); - const cursorNode = cursorNodeAndParents.node; + var cursorNodeAndParents = findNodeAtOffset(ast, opts.cursorOffset); + var cursorNode = cursorNodeAndParents.node; if (cursorNode) { cursorOffset = opts.cursorOffset - util.locStart(cursorNode); opts.cursorNode = cursorNode; } } - const astComments = attachComments(text, ast, opts); - const doc = printAstToDoc(ast, opts, addAlignmentSize); + var astComments = attachComments(text, ast, opts); + var doc = printAstToDoc(ast, opts, addAlignmentSize); opts.newLine = guessLineEnding(text); - const toStringResult = printDocToString(doc, opts); - const str = toStringResult.formatted; - const cursorOffsetResult = toStringResult.cursor; + var toStringResult = _printDocToString(doc, opts); + var str = toStringResult.formatted; + var cursorOffsetResult = toStringResult.cursor; ensureAllCommentsPrinted(astComments); // Remove extra leading indentation as well as the added indentation after last newline if (addAlignmentSize > 0) { @@ -12404,27 +10005,69 @@ function formatWithCursor(text, opts, addAlignmentSize) { return { formatted: str }; } -function format(text, opts, addAlignmentSize) { - return formatWithCursor(text, opts, addAlignmentSize).formatted; +function _format(text, opts, addAlignmentSize) { + return _formatWithCursor(text, opts, addAlignmentSize).formatted; } function findSiblingAncestors(startNodeAndParents, endNodeAndParents) { - let resultStartNode = startNodeAndParents.node; - let resultEndNode = endNodeAndParents.node; + var resultStartNode = startNodeAndParents.node; + var resultEndNode = endNodeAndParents.node; - for (const endParent of endNodeAndParents.parentNodes) { - if (util.locStart(endParent) >= util.locStart(startNodeAndParents.node)) { - resultEndNode = endParent; - } else { - break; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = endNodeAndParents.parentNodes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var endParent = _step2.value; + + if (util.locStart(endParent) >= util.locStart(startNodeAndParents.node)) { + resultEndNode = endParent; + } else { + break; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } } } - for (const startParent of startNodeAndParents.parentNodes) { - if (util.locEnd(startParent) <= util.locEnd(endNodeAndParents.node)) { - resultStartNode = startParent; - } else { - break; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = startNodeAndParents.parentNodes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var startParent = _step3.value; + + if (util.locEnd(startParent) <= util.locEnd(endNodeAndParents.node)) { + resultStartNode = startParent; + } else { + break; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } } } @@ -12434,23 +10077,43 @@ function findSiblingAncestors(startNodeAndParents, endNodeAndParents) { }; } -function findNodeAtOffset(node, offset, parentNodes) { +function findNodeAtOffset(node, offset, predicate, parentNodes) { + predicate = predicate || function () { + return true; + }; parentNodes = parentNodes || []; - const start = util.locStart(node); - const end = util.locEnd(node); + var start = util.locStart(node); + var end = util.locEnd(node); if (start <= offset && offset <= end) { - for (const childNode of comments.getSortedChildNodes(node)) { - const childResult = findNodeAtOffset( - childNode, - offset, - [node].concat(parentNodes) - ); - if (childResult) { - return childResult; + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = comments.getSortedChildNodes(node)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var childNode = _step4.value; + + var childResult = findNodeAtOffset(childNode, offset, predicate, [node].concat(parentNodes)); + if (childResult) { + return childResult; + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } } } - if (isSourceElement(node)) { + if (predicate(node)) { return { node: node, parentNodes: parentNodes @@ -12492,32 +10155,22 @@ function isSourceElement(node) { function calculateRange(text, opts, ast) { // Contract the range so that it has non-whitespace characters at its endpoints. // This ensures we can format a range that doesn't end on a node. - const rangeStringOrig = text.slice(opts.rangeStart, opts.rangeEnd); - const startNonWhitespace = Math.max( - opts.rangeStart + rangeStringOrig.search(/\S/), - opts.rangeStart - ); - let endNonWhitespace; - for ( - endNonWhitespace = opts.rangeEnd; - endNonWhitespace > opts.rangeStart; - --endNonWhitespace - ) { + var rangeStringOrig = text.slice(opts.rangeStart, opts.rangeEnd); + var startNonWhitespace = Math.max(opts.rangeStart + rangeStringOrig.search(/\S/), opts.rangeStart); + var endNonWhitespace = void 0; + for (endNonWhitespace = opts.rangeEnd; endNonWhitespace > opts.rangeStart; --endNonWhitespace) { if (text[endNonWhitespace - 1].match(/\S/)) { break; } } - const startNodeAndParents = findNodeAtOffset(ast, startNonWhitespace); - const endNodeAndParents = findNodeAtOffset(ast, endNonWhitespace); - const siblingAncestors = findSiblingAncestors( - startNodeAndParents, - endNodeAndParents - ); - const startNode = siblingAncestors.startNode; - const endNode = siblingAncestors.endNode; - const rangeStart = Math.min(util.locStart(startNode), util.locStart(endNode)); - const rangeEnd = Math.max(util.locEnd(startNode), util.locEnd(endNode)); + var startNodeAndParents = findNodeAtOffset(ast, startNonWhitespace, isSourceElement); + var endNodeAndParents = findNodeAtOffset(ast, endNonWhitespace, isSourceElement); + var siblingAncestors = findSiblingAncestors(startNodeAndParents, endNodeAndParents); + var startNode = siblingAncestors.startNode; + var endNode = siblingAncestors.endNode; + var rangeStart = Math.min(util.locStart(startNode), util.locStart(endNode)); + var rangeEnd = Math.max(util.locEnd(startNode), util.locEnd(endNode)); return { rangeStart: rangeStart, @@ -12527,50 +10180,43 @@ function calculateRange(text, opts, ast) { function formatRange(text, opts, ast) { if (0 < opts.rangeStart || opts.rangeEnd < text.length) { - const range = calculateRange(text, opts, ast); - const rangeStart = range.rangeStart; - const rangeEnd = range.rangeEnd; - const rangeString = text.slice(rangeStart, rangeEnd); + var range = calculateRange(text, opts, ast); + var rangeStart = range.rangeStart; + var rangeEnd = range.rangeEnd; + var rangeString = text.slice(rangeStart, rangeEnd); // Try to extend the range backwards to the beginning of the line. // This is so we can detect indentation correctly and restore it. // Use `Math.min` since `lastIndexOf` returns 0 when `rangeStart` is 0 - const rangeStart2 = Math.min( - rangeStart, - text.lastIndexOf("\n", rangeStart) + 1 - ); - const indentString = text.slice(rangeStart2, rangeStart); + var rangeStart2 = Math.min(rangeStart, text.lastIndexOf("\n", rangeStart) + 1); + var indentString = text.slice(rangeStart2, rangeStart); - const alignmentSize = util.getAlignmentSize(indentString, opts.tabWidth); + var alignmentSize = util.getAlignmentSize(indentString, opts.tabWidth); - const rangeFormatted = format( - rangeString, - Object.assign({}, opts, { - rangeStart: 0, - rangeEnd: Infinity, - printWidth: opts.printWidth - alignmentSize - }), - alignmentSize - ); + var rangeFormatted = _format(rangeString, Object.assign({}, opts, { + rangeStart: 0, + rangeEnd: Infinity, + printWidth: opts.printWidth - alignmentSize + }), alignmentSize); // Since the range contracts to avoid trailing whitespace, // we need to remove the newline that was inserted by the `format` call. - const rangeTrimmed = rangeFormatted.trimRight(); + var rangeTrimmed = rangeFormatted.trimRight(); return text.slice(0, rangeStart) + rangeTrimmed + text.slice(rangeEnd); } } var index = { - formatWithCursor: function(text, opts) { - return formatWithCursor(text, normalizeOptions(opts)); + formatWithCursor: function formatWithCursor(text, opts) { + return _formatWithCursor(text, normalizeOptions(opts)); }, - format: function(text, opts) { - return format(text, normalizeOptions(opts)); + format: function format(text, opts) { + return _format(text, normalizeOptions(opts)); }, - check: function(text, opts) { + check: function check(text, opts) { try { - const formatted = format(text, normalizeOptions(opts)); + var formatted = _format(text, normalizeOptions(opts)); return formatted === text; } catch (e) { return false; @@ -12578,32 +10224,32 @@ var index = { }, version: version, __debug: { - parse: function(text, opts) { + parse: function parse(text, opts) { return parser.parse(text, opts); }, - formatAST: function(ast, opts) { + formatAST: function formatAST(ast, opts) { opts = normalizeOptions(opts); - const doc = printAstToDoc(ast, opts); - const str = printDocToString(doc, opts); + var doc = printAstToDoc(ast, opts); + var str = _printDocToString(doc, opts); return str; }, // Doesn't handle shebang for now - formatDoc: function(doc, opts) { + formatDoc: function formatDoc(doc, opts) { opts = normalizeOptions(opts); - const debug = printDocToDebug(doc); - const str = format(debug, opts); + var debug = printDocToDebug(doc); + var str = _format(debug, opts); return str; }, - printToDoc: function(text, opts) { + printToDoc: function printToDoc(text, opts) { opts = normalizeOptions(opts); - const ast = parser.parse(text, opts); + var ast = parser.parse(text, opts); attachComments(text, ast, opts); - const doc = printAstToDoc(ast, opts); + var doc = printAstToDoc(ast, opts); return doc; }, - printDocToString: function(doc, opts) { + printDocToString: function printDocToString(doc, opts) { opts = normalizeOptions(opts); - const str = printDocToString(doc, opts); + var str = _printDocToString(doc, opts); return str; } } diff --git a/docs/parser-babylon.js b/docs/parser-babylon.js index 66b070eb..9c78af03 100644 --- a/docs/parser-babylon.js +++ b/docs/parser-babylon.js @@ -1,18 +1,1589 @@ -var babylon = (function () { -function unwrapExports (x) { - return x && x.__esModule ? x['default'] : x; -} +"use strict"; -function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; -} +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -var parserBabylon_1 = createCommonjsModule(function (module) { -"use strict";function createError$1(t,e){const s=new SyntaxError(t+" ("+e.start.line+":"+e.start.column+")");return s.loc=e,s}function createCommonjsModule$$1(t,e){return e={exports:{}},t(e,e.exports),e.exports}function parse(t){const e=index,s={sourceType:"module",allowImportExportEverywhere:!1,allowReturnOutsideFunction:!0,plugins:["jsx","flow","doExpressions","objectRestSpread","decorators","classProperties","exportExtensions","asyncGenerators","functionBind","functionSent","dynamicImport"]};let i;try{i=e.parse(t,s);}catch(i){try{return e.parse(t,Object.assign({},s,{strictMode:!1}))}catch(t){throw createError(i.message.replace(/ \(.*\)/,""),{start:{line:i.loc.line,column:i.loc.column+1}})}}return delete i.tokens,i}var parserCreateError=createError$1,index=createCommonjsModule$$1(function(t,e){function s(t){var e={};for(var s in b)e[s]=t&&s in t?t[s]:b[s];return e}function i(t){var e=t.split(" ");return function(t){return e.indexOf(t)>=0}}function r(t,e){for(var s=65536,i=0;it)return!1;if((s+=e[i+1])>=t)return!0}return!1}function a(t){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&j.test(String.fromCharCode(t)):r(t,D)))}function n(t){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&R.test(String.fromCharCode(t)):r(t,D)||r(t,O))))}function o(t){return 10===t||13===t||8232===t||8233===t}function h(t,e){for(var s=1,i=0;;){F.lastIndex=i;var r=F.exec(t);if(!(r&&r.index>10),56320+(t-65536&1023))}function l(t){for(var e={},s=t,i=Array.isArray(s),r=0,s=i?s:s[Symbol.iterator]();;){var a;if(i){if(r>=s.length)break;a=s[r++];}else{if((r=s.next()).done)break;a=r.value;}e[a]=!0;}return e}function u(t){return null!=t&&"Property"===t.type&&"init"===t.kind&&!1===t.method}function d(t){return"DeclareExportAllDeclaration"===t.type||"DeclareExportDeclaration"===t.type&&(!t.declaration||"TypeAlias"!==t.declaration.type&&"InterfaceDeclaration"!==t.declaration.type)}function f(t){if("JSXIdentifier"===t.type)return t.name;if("JSXNamespacedName"===t.type)return t.namespace.name+":"+t.name.name;if("JSXMemberExpression"===t.type)return f(t.object)+"."+f(t.property);throw new Error("Node had unexpected type: "+t.type)}function m(t,e){return x(e,t).parse()}function y(t,e){var s=x(e,t);return s.options.strictMode&&(s.state.strict=!0),s.getExpression()}function x(t,e){return new(t&&t.plugins?v(t.plugins):tt)(t,e)}function v(t){var e=t.filter(function(t){return"estree"===t||"flow"===t||"jsx"===t});e.indexOf("flow")>=0&&(e=e.filter(function(t){return"flow"!==t})).push("flow"),e.indexOf("estree")>=0&&(e=e.filter(function(t){return"estree"!==t})).unshift("estree");var s=e.join("/"),i=pt[s];if(!i){i=tt;for(var r=e,a=Array.isArray(r),n=0,r=a?r:r[Symbol.iterator]();;){var o;if(a){if(n>=r.length)break;o=r[n++];}else{if((n=r.next()).done)break;o=n.value;}i=Z[o](i);}pt[s]=i;}return i}Object.defineProperty(e,"__esModule",{value:!0});var b={sourceType:"script",sourceFilename:void 0,startLine:1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,plugins:[],strictMode:null,ranges:!1},g=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},w=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e);},P=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},A=!0,k=function t(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};g(this,t),this.label=e,this.keyword=s.keyword,this.beforeExpr=!!s.beforeExpr,this.startsExpr=!!s.startsExpr,this.rightAssociative=!!s.rightAssociative,this.isLoop=!!s.isLoop,this.isAssign=!!s.isAssign,this.prefix=!!s.prefix,this.postfix=!!s.postfix,this.binop=s.binop||null,this.updateContext=null;},E=function(t){function e(s){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return g(this,e),i.keyword=s,P(this,t.call(this,s,i))}return w(e,t),e}(k),T=function(t){function e(s,i){return g(this,e),P(this,t.call(this,s,{beforeExpr:A,binop:i}))}return w(e,t),e}(k),C={num:new k("num",{startsExpr:!0}),regexp:new k("regexp",{startsExpr:!0}),string:new k("string",{startsExpr:!0}),name:new k("name",{startsExpr:!0}),eof:new k("eof"),bracketL:new k("[",{beforeExpr:A,startsExpr:!0}),bracketR:new k("]"),braceL:new k("{",{beforeExpr:A,startsExpr:!0}),braceBarL:new k("{|",{beforeExpr:A,startsExpr:!0}),braceR:new k("}"),braceBarR:new k("|}"),parenL:new k("(",{beforeExpr:A,startsExpr:!0}),parenR:new k(")"),comma:new k(",",{beforeExpr:A}),semi:new k(";",{beforeExpr:A}),colon:new k(":",{beforeExpr:A}),doubleColon:new k("::",{beforeExpr:A}),dot:new k("."),question:new k("?",{beforeExpr:A}),arrow:new k("=>",{beforeExpr:A}),template:new k("template"),ellipsis:new k("...",{beforeExpr:A}),backQuote:new k("`",{startsExpr:!0}),dollarBraceL:new k("${",{beforeExpr:A,startsExpr:!0}),at:new k("@"),hash:new k("#"),eq:new k("=",{beforeExpr:A,isAssign:!0}),assign:new k("_=",{beforeExpr:A,isAssign:!0}),incDec:new k("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new k("prefix",{beforeExpr:A,prefix:!0,startsExpr:!0}),logicalOR:new T("||",1),logicalAND:new T("&&",2),bitwiseOR:new T("|",3),bitwiseXOR:new T("^",4),bitwiseAND:new T("&",5),equality:new T("==/!=",6),relational:new T("",7),bitShift:new T("<>",8),plusMin:new k("+/-",{beforeExpr:A,binop:9,prefix:!0,startsExpr:!0}),modulo:new T("%",10),star:new T("*",10),slash:new T("/",10),exponent:new k("**",{beforeExpr:A,binop:11,rightAssociative:!0})},N={break:new E("break"),case:new E("case",{beforeExpr:A}),catch:new E("catch"),continue:new E("continue"),debugger:new E("debugger"),default:new E("default",{beforeExpr:A}),do:new E("do",{isLoop:!0,beforeExpr:A}),else:new E("else",{beforeExpr:A}),finally:new E("finally"),for:new E("for",{isLoop:!0}),function:new E("function",{startsExpr:!0}),if:new E("if"),return:new E("return",{beforeExpr:A}),switch:new E("switch"),throw:new E("throw",{beforeExpr:A}),try:new E("try"),var:new E("var"),let:new E("let"),const:new E("const"),while:new E("while",{isLoop:!0}),with:new E("with"),new:new E("new",{beforeExpr:A,startsExpr:!0}),this:new E("this",{startsExpr:!0}),super:new E("super",{startsExpr:!0}),class:new E("class"),extends:new E("extends",{beforeExpr:A}),export:new E("export"),import:new E("import",{startsExpr:!0}),yield:new E("yield",{beforeExpr:A,startsExpr:!0}),null:new E("null",{startsExpr:!0}),true:new E("true",{startsExpr:!0}),false:new E("false",{startsExpr:!0}),in:new E("in",{beforeExpr:A,binop:7}),instanceof:new E("instanceof",{beforeExpr:A,binop:7}),typeof:new E("typeof",{beforeExpr:A,prefix:!0,startsExpr:!0}),void:new E("void",{beforeExpr:A,prefix:!0,startsExpr:!0}),delete:new E("delete",{beforeExpr:A,prefix:!0,startsExpr:!0})};Object.keys(N).forEach(function(t){C["_"+t]=N[t];});var S={6:i("enum await"),strict:i("implements interface let package private protected public static yield"),strictBind:i("eval arguments")},L=i("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this let const class extends export import yield super"),I="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",_="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",j=new RegExp("["+I+"]"),R=new RegExp("["+I+_+"]");I=_=null;var D=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,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,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,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,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,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,4149,196,60,67,1213,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,42710,42,4148,12,221,3,5761,10591,541],O=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,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,2214,6,110,6,6,9,792487,239],M=/\r\n?|\n|\u2028|\u2029/,F=new RegExp(M.source,"g"),B=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,q=function t(e,s,i,r){g(this,t),this.token=e,this.isExpr=!!s,this.preserveSpace=!!i,this.override=r;},V={braceStatement:new q("{",!1),braceExpression:new q("{",!0),templateQuasi:new q("${",!0),parenStatement:new q("(",!1),parenExpression:new q("(",!0),template:new q("`",!0,!0,function(t){return t.readTmplToken()}),functionExpression:new q("function",!0)};C.parenR.updateContext=C.braceR.updateContext=function(){if(1!==this.state.context.length){var t=this.state.context.pop();t===V.braceStatement&&this.curContext()===V.functionExpression?(this.state.context.pop(),this.state.exprAllowed=!1):t===V.templateQuasi?this.state.exprAllowed=!0:this.state.exprAllowed=!t.isExpr;}else this.state.exprAllowed=!0;},C.name.updateContext=function(t){this.state.exprAllowed=!1,t!==C._let&&t!==C._const&&t!==C._var||M.test(this.input.slice(this.state.end))&&(this.state.exprAllowed=!0);},C.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?V.braceStatement:V.braceExpression),this.state.exprAllowed=!0;},C.dollarBraceL.updateContext=function(){this.state.context.push(V.templateQuasi),this.state.exprAllowed=!0;},C.parenL.updateContext=function(t){var e=t===C._if||t===C._for||t===C._with||t===C._while;this.state.context.push(e?V.parenStatement:V.parenExpression),this.state.exprAllowed=!0;},C.incDec.updateContext=function(){},C._function.updateContext=function(){this.curContext()!==V.braceStatement&&this.state.context.push(V.functionExpression),this.state.exprAllowed=!1;},C.backQuote.updateContext=function(){this.curContext()===V.template?this.state.context.pop():this.state.context.push(V.template),this.state.exprAllowed=!1;};var U=function t(e,s){g(this,t),this.line=e,this.column=s;},X=function t(e,s){g(this,t),this.start=e,this.end=s;},J=function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.raise=function(t,e){var s=h(this.input,t);e+=" ("+s.line+":"+s.column+")";var i=new SyntaxError(e);throw i.pos=t,i.loc=s,i},e}(function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.addComment=function(t){this.filename&&(t.loc.filename=this.filename),this.state.trailingComments.push(t),this.state.leadingComments.push(t);},e.prototype.processComment=function(t){if(!("Program"===t.type&&t.body.length>0)){var e=this.state.commentStack,s=void 0,i=void 0,r=void 0,a=void 0,n=void 0;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(r=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else{var o=p(e);e.length>0&&o.trailingComments&&o.trailingComments[0].start>=t.end&&(r=o.trailingComments,o.trailingComments=null);}for(e.length>0&&p(e).start>=t.start&&(s=e.pop());e.length>0&&p(e).start>=t.start;)i=e.pop();if(!i&&s&&(i=s),s&&("ObjectProperty"===s.type||"CallExpression"===t.type)&&this.state.leadingComments.length>0&&p(this.state.leadingComments).start>=t.start&&this.state.commentPreviousNode){for(n=0;n0&&(s.trailingComments=this.state.leadingComments,this.state.leadingComments=[]);}if(i){if(i.leadingComments)if(i!==t&&p(i.leadingComments).end<=t.start)t.leadingComments=i.leadingComments,i.leadingComments=null;else for(a=i.leadingComments.length-2;a>=0;--a)if(i.leadingComments[a].end<=t.start){t.leadingComments=i.leadingComments.splice(0,a+1);break}}else if(this.state.leadingComments.length>0)if(p(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(n=0;n0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[]);}else{for(a=0;at.start);a++);var h=this.state.leadingComments.slice(0,a);t.leadingComments=0===h.length?null:h,0===(r=this.state.leadingComments.slice(a)).length&&(r=null);}this.state.commentPreviousNode=t,r&&(r.length&&r[0].start>=t.start&&p(r).end<=t.end?t.innerComments=r:t.trailingComments=r),e.push(t);}},e}(function(){function t(){g(this,t);}return t.prototype.isReservedWord=function(t){return"await"===t?this.inModule:S[6](t)},t.prototype.hasPlugin=function(t){return!!this.plugins[t]},t}())),W=function(){function t(){g(this,t);}return t.prototype.init=function(t,e){this.strict=!1!==t.strictMode&&"module"===t.sourceType,this.input=e,this.potentialArrowAt=-1,this.inMethod=this.inFunction=this.inGenerator=this.inAsync=this.inPropertyName=this.inType=this.inClass=this.inClassProperty=this.noAnonFunctionType=!1,this.labels=[],this.decorators=[],this.tokens=[],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.pos=this.lineStart=0,this.curLine=t.startLine,this.type=C.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=[V.braceStatement],this.exprAllowed=!0,this.containsEsc=this.containsOctal=!1,this.octalPosition=null,this.invalidTemplateEscapePosition=null,this.exportedIdentifiers=[];},t.prototype.curPosition=function(){return new U(this.curLine,this.pos-this.lineStart)},t.prototype.clone=function(e){var s=new t;for(var i in this){var r=this[i];e&&"context"!==i||!Array.isArray(r)||(r=r.slice()),s[i]=r;}return s},t}(),G=function t(e){g(this,t),this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,this.loc=new X(e.startLoc,e.endLoc);},K=function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.addExtra=function(t,e,s){t&&((t.extra=t.extra||{})[e]=s);},e.prototype.isRelational=function(t){return this.match(C.relational)&&this.state.value===t},e.prototype.expectRelational=function(t){this.isRelational(t)?this.next():this.unexpected(null,C.relational);},e.prototype.isContextual=function(t){return this.match(C.name)&&this.state.value===t},e.prototype.eatContextual=function(t){return this.state.value===t&&this.eat(C.name)},e.prototype.expectContextual=function(t,e){this.eatContextual(t)||this.unexpected(null,e);},e.prototype.canInsertSemicolon=function(){return this.match(C.eof)||this.match(C.braceR)||M.test(this.input.slice(this.state.lastTokEnd,this.state.start))},e.prototype.isLineTerminator=function(){return this.eat(C.semi)||this.canInsertSemicolon()},e.prototype.semicolon=function(){this.isLineTerminator()||this.unexpected(null,C.semi);},e.prototype.expect=function(t,e){this.eat(t)||this.unexpected(e,t);},e.prototype.unexpected=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Unexpected token";throw"string"!=typeof e&&(e="Unexpected token, expected "+e.label),this.raise(null!=t?t:this.state.start,e)},e}(function(t){function e(s,i){g(this,e);var r=P(this,t.call(this));return r.state=new W,r.state.init(s,i),r}return w(e,t),e.prototype.next=function(){this.isLookahead||this.state.tokens.push(new G(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken();},e.prototype.eat=function(t){return!!this.match(t)&&(this.next(),!0)},e.prototype.match=function(t){return this.state.type===t},e.prototype.isKeyword=function(t){return L(t)},e.prototype.lookahead=function(){var t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;var e=this.state.clone(!0);return this.state=t,e},e.prototype.setStrict=function(t){if(this.state.strict=t,this.match(C.num)||this.match(C.string)){for(this.state.pos=this.state.start;this.state.pos=this.input.length?this.finishToken(C.eof):t.override?t.override(this):this.readToken(this.fullCharCodeAtPos())},e.prototype.readToken=function(t){return a(t)||92===t?this.readWord():this.getTokenFromCode(t)},e.prototype.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.state.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.state.pos+1)-56613888},e.prototype.pushComment=function(t,e,s,i,r,a){var n={type:t?"CommentBlock":"CommentLine",value:e,start:s,end:i,loc:new X(r,a)};this.isLookahead||(this.state.tokens.push(n),this.state.comments.push(n),this.addComment(n));},e.prototype.skipBlockComment=function(){var t=this.state.curPosition(),e=this.state.pos,s=this.input.indexOf("*/",this.state.pos+=2);-1===s&&this.raise(this.state.pos-2,"Unterminated comment"),this.state.pos=s+2,F.lastIndex=e;for(var i=void 0;(i=F.exec(this.input))&&i.index8&&t<14||t>=5760&&B.test(String.fromCharCode(t))))break t;++this.state.pos;}}},e.prototype.finishToken=function(t,e){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();var s=this.state.type;this.state.type=t,this.state.value=e,this.updateContext(s);},e.prototype.readToken_dot=function(){var t=this.input.charCodeAt(this.state.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.state.pos+2);return 46===t&&46===e?(this.state.pos+=3,this.finishToken(C.ellipsis)):(++this.state.pos,this.finishToken(C.dot))},e.prototype.readToken_slash=function(){return this.state.exprAllowed?(++this.state.pos,this.readRegexp()):61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.assign,2):this.finishOp(C.slash,1)},e.prototype.readToken_mult_modulo=function(t){var e=42===t?C.star:C.modulo,s=1,i=this.input.charCodeAt(this.state.pos+1);return 42===i&&(s++,i=this.input.charCodeAt(this.state.pos+2),e=C.exponent),61===i&&(s++,e=C.assign),this.finishOp(e,s)},e.prototype.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.state.pos+1);return e===t?this.finishOp(124===t?C.logicalOR:C.logicalAND,2):61===e?this.finishOp(C.assign,2):124===t&&125===e&&this.hasPlugin("flow")?this.finishOp(C.braceBarR,2):this.finishOp(124===t?C.bitwiseOR:C.bitwiseAND,1)},e.prototype.readToken_caret=function(){return 61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.assign,2):this.finishOp(C.bitwiseXOR,1)},e.prototype.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.state.pos+1);return e===t?45===e&&62===this.input.charCodeAt(this.state.pos+2)&&M.test(this.input.slice(this.state.lastTokEnd,this.state.pos))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(C.incDec,2):61===e?this.finishOp(C.assign,2):this.finishOp(C.plusMin,1)},e.prototype.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.state.pos+1),s=1;return e===t?(s=62===t&&62===this.input.charCodeAt(this.state.pos+2)?3:2,61===this.input.charCodeAt(this.state.pos+s)?this.finishOp(C.assign,s+1):this.finishOp(C.bitShift,s)):33===e&&60===t&&45===this.input.charCodeAt(this.state.pos+2)&&45===this.input.charCodeAt(this.state.pos+3)?(this.inModule&&this.unexpected(),this.skipLineComment(4),this.skipSpace(),this.nextToken()):(61===e&&(s=2),this.finishOp(C.relational,s))},e.prototype.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.state.pos+1);return 61===e?this.finishOp(C.equality,61===this.input.charCodeAt(this.state.pos+2)?3:2):61===t&&62===e?(this.state.pos+=2,this.finishToken(C.arrow)):this.finishOp(61===t?C.eq:C.prefix,1)},e.prototype.getTokenFromCode=function(t){switch(t){case 35:if(this.hasPlugin("classPrivateProperties")&&this.state.inClass)return++this.state.pos,this.finishToken(C.hash);this.raise(this.state.pos,"Unexpected character '"+c(t)+"'");case 46:return this.readToken_dot();case 40:return++this.state.pos,this.finishToken(C.parenL);case 41:return++this.state.pos,this.finishToken(C.parenR);case 59:return++this.state.pos,this.finishToken(C.semi);case 44:return++this.state.pos,this.finishToken(C.comma);case 91:return++this.state.pos,this.finishToken(C.bracketL);case 93:return++this.state.pos,this.finishToken(C.bracketR);case 123:return this.hasPlugin("flow")&&124===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.braceBarL,2):(++this.state.pos,this.finishToken(C.braceL));case 125:return++this.state.pos,this.finishToken(C.braceR);case 58:return this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.doubleColon,2):(++this.state.pos,this.finishToken(C.colon));case 63:return++this.state.pos,this.finishToken(C.question);case 64:return++this.state.pos,this.finishToken(C.at);case 96:return++this.state.pos,this.finishToken(C.backQuote);case 48:var e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 126:return this.finishOp(C.prefix,1)}this.raise(this.state.pos,"Unexpected character '"+c(t)+"'");},e.prototype.finishOp=function(t,e){var s=this.input.slice(this.state.pos,this.state.pos+e);return this.state.pos+=e,this.finishToken(t,s)},e.prototype.readRegexp=function(){for(var t=this.state.pos,e=void 0,s=void 0;;){this.state.pos>=this.input.length&&this.raise(t,"Unterminated regular expression");var i=this.input.charAt(this.state.pos);if(M.test(i)&&this.raise(t,"Unterminated regular expression"),e)e=!1;else{if("["===i)s=!0;else if("]"===i&&s)s=!1;else if("/"===i&&!s)break;e="\\"===i;}++this.state.pos;}var r=this.input.slice(t,this.state.pos);++this.state.pos;var a=this.readWord1();return a&&(/^[gmsiyu]*$/.test(a)||this.raise(t,"Invalid regular expression flag")),this.finishToken(C.regexp,{pattern:r,flags:a})},e.prototype.readInt=function(t,e){for(var s=this.state.pos,i=0,r=0,a=null==e?1/0:e;r=97?n-97+10:n>=65?n-65+10:n>=48&&n<=57?n-48:1/0)>=t)break;++this.state.pos,i=i*t+o;}return this.state.pos===s||null!=e&&this.state.pos-s!==e?null:i},e.prototype.readRadixNumber=function(t){this.state.pos+=2;var e=this.readInt(t);return null==e&&this.raise(this.state.start+2,"Expected number in radix "+t),a(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number"),this.finishToken(C.num,e)},e.prototype.readNumber=function(t){var e=this.state.pos,s=48===this.input.charCodeAt(e),i=!1;t||null!==this.readInt(10)||this.raise(e,"Invalid number"),s&&this.state.pos==e+1&&(s=!1);var r=this.input.charCodeAt(this.state.pos);46!==r||s||(++this.state.pos,this.readInt(10),i=!0,r=this.input.charCodeAt(this.state.pos)),69!==r&&101!==r||s||(43!==(r=this.input.charCodeAt(++this.state.pos))&&45!==r||++this.state.pos,null===this.readInt(10)&&this.raise(e,"Invalid number"),i=!0),a(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number");var n=this.input.slice(e,this.state.pos),o=void 0;return i?o=parseFloat(n):s&&1!==n.length?this.state.strict?this.raise(e,"Invalid number"):o=/[89]/.test(n)?parseInt(n,10):parseInt(n,8):o=parseInt(n,10),this.finishToken(C.num,o)},e.prototype.readCodePoint=function(t){var e=void 0;if(123===this.input.charCodeAt(this.state.pos)){var s=++this.state.pos;if(e=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,t),++this.state.pos,null===e)--this.state.invalidTemplateEscapePosition;else if(e>1114111){if(!t)return this.state.invalidTemplateEscapePosition=s-2,null;this.raise(s,"Code point out of bounds");}}else e=this.readHexChar(4,t);return e},e.prototype.readString=function(t){for(var e="",s=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var i=this.input.charCodeAt(this.state.pos);if(i===t)break;92===i?(e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos):(o(i)&&this.raise(this.state.start,"Unterminated string constant"),++this.state.pos);}return e+=this.input.slice(s,this.state.pos++),this.finishToken(C.string,e)},e.prototype.readTmplToken=function(){for(var t="",e=this.state.pos,s=!1;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated template");var i=this.input.charCodeAt(this.state.pos);if(96===i||36===i&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(C.template)?36===i?(this.state.pos+=2,this.finishToken(C.dollarBraceL)):(++this.state.pos,this.finishToken(C.backQuote)):(t+=this.input.slice(e,this.state.pos),this.finishToken(C.template,s?null:t));if(92===i){t+=this.input.slice(e,this.state.pos);var r=this.readEscapedChar(!0);null===r?s=!0:t+=r,e=this.state.pos;}else if(o(i)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,i){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(i);}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos;}else++this.state.pos;}},e.prototype.readEscapedChar=function(t){var e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return"\n";case 114:return"\r";case 120:var i=this.readHexChar(2,e);return null===i?null:String.fromCharCode(i);case 117:var r=this.readCodePoint(e);return null===r?null:c(r);case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:return this.state.lineStart=this.state.pos,++this.state.curLine,"";default:if(s>=48&&s<=55){var a=this.state.pos-1,n=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],o=parseInt(n,8);if(o>255&&(n=n.slice(0,-1),o=parseInt(n,8)),o>0){if(t)return this.state.invalidTemplateEscapePosition=a,null;this.state.strict?this.raise(a,"Octal literal in strict mode"):this.state.containsOctal||(this.state.containsOctal=!0,this.state.octalPosition=a);}return this.state.pos+=n.length-1,String.fromCharCode(o)}return String.fromCharCode(s)}},e.prototype.readHexChar=function(t,e){var s=this.state.pos,i=this.readInt(16,t);return null===i&&(e?this.raise(s,"Bad character escape sequence"):(this.state.pos=s-1,this.state.invalidTemplateEscapePosition=s-1)),i},e.prototype.readWord1=function(){this.state.containsEsc=!1;for(var t="",e=!0,s=this.state.pos;this.state.pos=i.length)break;n=i[a++];}else{if((a=i.next()).done)break;n=a.value;}n.name===e&&this.raise(s.start,"Label '"+e+"' is already declared");}for(var o=this.state.type.isLoop?"loop":this.match(C._switch)?"switch":null,h=this.state.labels.length-1;h>=0;h--){var p=this.state.labels[h];if(p.statementStart!==t.start)break;p.statementStart=this.state.start,p.kind=o;}return this.state.labels.push({name:e,kind:o,statementStart:this.state.start}),t.body=this.parseStatement(!0),this.state.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")},e.prototype.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},e.prototype.parseBlock=function(t){var e=this.startNode();return this.expect(C.braceL),this.parseBlockBody(e,t,!1,C.braceR),this.finishNode(e,"BlockStatement")},e.prototype.isValidDirective=function(t){return"ExpressionStatement"===t.type&&"StringLiteral"===t.expression.type&&!t.expression.extra.parenthesized},e.prototype.parseBlockBody=function(t,e,s,i){for(var r=t.body=[],a=t.directives=[],n=!1,o=void 0,h=void 0;!this.eat(i);){n||!this.state.containsOctal||h||(h=this.state.octalPosition);var p=this.parseStatement(!0,s);if(e&&!n&&this.isValidDirective(p)){var c=this.stmtToDirective(p);a.push(c),void 0===o&&"use strict"===c.value.value&&(o=this.state.strict,this.setStrict(!0),h&&this.raise(h,"Octal literal in strict mode"));}else n=!0,r.push(p);}!1===o&&this.setStrict(!1);},e.prototype.parseFor=function(t,e){return t.init=e,this.expect(C.semi),t.test=this.match(C.semi)?null:this.parseExpression(),this.expect(C.semi),t.update=this.match(C.parenR)?null:this.parseExpression(),this.expect(C.parenR),t.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(t,"ForStatement")},e.prototype.parseForIn=function(t,e,s){var i=this.match(C._in)?"ForInStatement":"ForOfStatement";return s?this.eatContextual("of"):this.next(),"ForOfStatement"===i&&(t.await=!!s),t.left=e,t.right=this.parseExpression(),this.expect(C.parenR),t.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(t,i)},e.prototype.parseVar=function(t,e,s){var i=t.declarations=[];for(t.kind=s.keyword;;){var r=this.startNode();if(this.parseVarHead(r),this.eat(C.eq)?r.init=this.parseMaybeAssign(e):s!==C._const||this.match(C._in)||this.isContextual("of")?"Identifier"===r.id.type||e&&(this.match(C._in)||this.isContextual("of"))?r.init=null:this.raise(this.state.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),i.push(this.finishNode(r,"VariableDeclarator")),!this.eat(C.comma))break}return t},e.prototype.parseVarHead=function(t){t.id=this.parseBindingAtom(),this.checkLVal(t.id,!0,void 0,"variable declaration");},e.prototype.parseFunction=function(t,e,s,i,r){var a=this.state.inMethod;return this.state.inMethod=!1,this.initFunction(t,i),this.match(C.star)&&(t.async&&!this.hasPlugin("asyncGenerators")?this.unexpected():(t.generator=!0,this.next())),!e||r||this.match(C.name)||this.match(C._yield)||this.unexpected(),(this.match(C.name)||this.match(C._yield))&&(t.id=this.parseBindingIdentifier()),this.parseFunctionParams(t),this.parseFunctionBody(t,s),this.state.inMethod=a,this.finishNode(t,e?"FunctionDeclaration":"FunctionExpression")},e.prototype.parseFunctionParams=function(t){this.expect(C.parenL),t.params=this.parseBindingList(C.parenR);},e.prototype.parseClass=function(t,e,s){return this.next(),this.takeDecorators(t),this.parseClassId(t,e,s),this.parseClassSuper(t),this.parseClassBody(t),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},e.prototype.isClassProperty=function(){return this.match(C.eq)||this.match(C.semi)||this.match(C.braceR)},e.prototype.isClassMethod=function(){return this.match(C.parenL)},e.prototype.isNonstaticConstructor=function(t){return!(t.computed||t.static||"constructor"!==t.key.name&&"constructor"!==t.key.value)},e.prototype.parseClassBody=function(t){var e=this.state.strict;this.state.strict=!0,this.state.inClass=!0;var s=!1,i=[],r=this.startNode();for(r.body=[],this.expect(C.braceL);!this.eat(C.braceR);)if(this.eat(C.semi))i.length>0&&this.raise(this.state.lastTokEnd,"Decorators must not be followed by a semicolon");else if(this.match(C.at))i.push(this.parseDecorator());else{var a=this.startNode();if(i.length&&(a.decorators=i,i=[]),this.hasPlugin("classPrivateProperties")&&this.match(C.hash))this.next(),this.parsePropertyName(a),r.body.push(this.parsePrivateClassProperty(a));else{if(a.static=!1,this.match(C.name)&&"static"===this.state.value){var n=this.parseIdentifier(!0);if(this.isClassMethod()){a.kind="method",a.computed=!1,a.key=n,this.parseClassMethod(r,a,!1,!1);continue}if(this.isClassProperty()){a.computed=!1,a.key=n,r.body.push(this.parseClassProperty(a));continue}a.static=!0;}if(this.eat(C.star))a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be a generator"),a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.parseClassMethod(r,a,!0,!1);else{var o=this.match(C.name),h=this.parsePropertyName(a);if(a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.isClassMethod())this.isNonstaticConstructor(a)?(s?this.raise(h.start,"Duplicate constructor in the same class"):a.decorators&&this.raise(a.start,"You can't attach decorators to a class constructor"),s=!0,a.kind="constructor"):a.kind="method",this.parseClassMethod(r,a,!1,!1);else if(this.isClassProperty())this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),r.body.push(this.parseClassProperty(a));else if(o&&"async"===h.name&&!this.isLineTerminator()){var p=this.hasPlugin("asyncGenerators")&&this.eat(C.star);a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be an async function"),this.parseClassMethod(r,a,p,!0);}else!o||"get"!==h.name&&"set"!==h.name||this.isLineTerminator()&&this.match(C.star)?this.isLineTerminator()?(this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),r.body.push(this.parseClassProperty(a))):this.unexpected():(a.kind=h.name,this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't have get/set modifier"),this.parseClassMethod(r,a,!1,!1),this.checkGetterSetterParamCount(a));}}}i.length&&this.raise(this.state.start,"You have trailing decorators with no method"),t.body=this.finishNode(r,"ClassBody"),this.state.inClass=!1,this.state.strict=e;},e.prototype.parsePrivateClassProperty=function(t){return this.state.inClassProperty=!0,this.match(C.eq)?(this.next(),t.value=this.parseMaybeAssign()):t.value=null,this.semicolon(),this.state.inClassProperty=!1,this.finishNode(t,"ClassPrivateProperty")},e.prototype.parseClassProperty=function(t){var e=this.hasPlugin("classProperties"),s="You can only use Class Properties when the 'classProperties' plugin is enabled.";return t.typeAnnotation||e||this.raise(t.start,s),this.state.inClassProperty=!0,this.match(C.eq)?(e||this.raise(this.state.start,s),this.next(),t.value=this.parseMaybeAssign()):t.value=null,this.semicolon(),this.state.inClassProperty=!1,this.finishNode(t,"ClassProperty")},e.prototype.parseClassMethod=function(t,e,s,i){this.parseMethod(e,s,i),t.body.push(this.finishNode(e,"ClassMethod"));},e.prototype.parseClassId=function(t,e,s){this.match(C.name)?t.id=this.parseIdentifier():s||!e?t.id=null:this.unexpected(null,"A class name is required");},e.prototype.parseClassSuper=function(t){t.superClass=this.eat(C._extends)?this.parseExprSubscripts():null;},e.prototype.parseExport=function(t){if(this.eat(C._export),this.match(C.star)){var e=this.startNode();if(this.next(),!this.hasPlugin("exportExtensions")||!this.eatContextual("as"))return this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration");e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,"ExportNamespaceSpecifier")],this.parseExportSpecifiersMaybe(t),this.parseExportFrom(t,!0);}else if(this.hasPlugin("exportExtensions")&&this.isExportDefaultSpecifier()){var s=this.startNode();s.exported=this.parseIdentifier(!0);var i=[this.finishNode(s,"ExportDefaultSpecifier")];if(t.specifiers=i,this.match(C.comma)&&this.lookahead().type===C.star){this.expect(C.comma);var r=this.startNode();this.expect(C.star),this.expectContextual("as"),r.exported=this.parseIdentifier(),i.push(this.finishNode(r,"ExportNamespaceSpecifier"));}else this.parseExportSpecifiersMaybe(t);this.parseExportFrom(t,!0);}else{if(this.eat(C._default)){var a=this.startNode(),n=!1;return this.eat(C._function)?a=this.parseFunction(a,!0,!1,!1,!0):this.isContextual("async")&&this.lookahead().type===C._function?(this.eatContextual("async"),this.eat(C._function),a=this.parseFunction(a,!0,!1,!0,!0)):this.match(C._class)?a=this.parseClass(a,!0,!0):(n=!0,a=this.parseMaybeAssign()),t.declaration=a,n&&this.semicolon(),this.checkExport(t,!0,!0),this.finishNode(t,"ExportDefaultDeclaration")}this.shouldParseExportDeclaration()?(t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t)):(t.declaration=null,t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t));}return this.checkExport(t,!0),this.finishNode(t,"ExportNamedDeclaration")},e.prototype.parseExportDeclaration=function(t){return this.parseStatement(!0)},e.prototype.isExportDefaultSpecifier=function(){if(this.match(C.name))return"async"!==this.state.value;if(!this.match(C._default))return!1;var t=this.lookahead();return t.type===C.comma||t.type===C.name&&"from"===t.value},e.prototype.parseExportSpecifiersMaybe=function(t){this.eat(C.comma)&&(t.specifiers=t.specifiers.concat(this.parseExportSpecifiers()));},e.prototype.parseExportFrom=function(t,e){this.eatContextual("from")?(t.source=this.match(C.string)?this.parseExprAtom():this.unexpected(),this.checkExport(t)):e?this.unexpected():t.source=null,this.semicolon();},e.prototype.shouldParseExportDeclaration=function(){return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"let"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isContextual("async")},e.prototype.checkExport=function(t,e,s){if(e)if(s)this.checkDuplicateExports(t,"default");else if(t.specifiers&&t.specifiers.length)for(var i=t.specifiers,r=Array.isArray(i),a=0,i=r?i:i[Symbol.iterator]();;){var n;if(r){if(a>=i.length)break;n=i[a++];}else{if((a=i.next()).done)break;n=a.value;}var o=n;this.checkDuplicateExports(o,o.exported.name);}else if(t.declaration)if("FunctionDeclaration"===t.declaration.type||"ClassDeclaration"===t.declaration.type)this.checkDuplicateExports(t,t.declaration.id.name);else if("VariableDeclaration"===t.declaration.type)for(var h=t.declaration.declarations,p=Array.isArray(h),c=0,h=p?h:h[Symbol.iterator]();;){var l;if(p){if(c>=h.length)break;l=h[c++];}else{if((c=h.next()).done)break;l=c.value;}var u=l;this.checkDeclaration(u.id);}if(this.state.decorators.length){var d=t.declaration&&("ClassDeclaration"===t.declaration.type||"ClassExpression"===t.declaration.type);if(!t.declaration||!d)throw this.raise(t.start,"You can only use decorators on an export when exporting a class");this.takeDecorators(t.declaration);}},e.prototype.checkDeclaration=function(t){if("ObjectPattern"===t.type)for(var e=t.properties,s=Array.isArray(e),i=0,e=s?e:e[Symbol.iterator]();;){var r;if(s){if(i>=e.length)break;r=e[i++];}else{if((i=e.next()).done)break;r=i.value;}var a=r;this.checkDeclaration(a);}else if("ArrayPattern"===t.type)for(var n=t.elements,o=Array.isArray(n),h=0,n=o?n:n[Symbol.iterator]();;){var p;if(o){if(h>=n.length)break;p=n[h++];}else{if((h=n.next()).done)break;p=h.value;}var c=p;c&&this.checkDeclaration(c);}else"ObjectProperty"===t.type?this.checkDeclaration(t.value):"RestElement"===t.type?this.checkDeclaration(t.argument):"Identifier"===t.type&&this.checkDuplicateExports(t,t.name);},e.prototype.checkDuplicateExports=function(t,e){this.state.exportedIdentifiers.indexOf(e)>-1&&this.raiseDuplicateExportError(t,e),this.state.exportedIdentifiers.push(e);},e.prototype.raiseDuplicateExportError=function(t,e){throw this.raise(t.start,"default"===e?"Only one default export allowed per module.":"`"+e+"` has already been exported. Exported identifiers must be unique.")},e.prototype.parseExportSpecifiers=function(){var t=[],e=!0,s=void 0;for(this.expect(C.braceL);!this.eat(C.braceR);){if(e)e=!1;else if(this.expect(C.comma),this.eat(C.braceR))break;var i=this.match(C._default);i&&!s&&(s=!0);var r=this.startNode();r.local=this.parseIdentifier(i),r.exported=this.eatContextual("as")?this.parseIdentifier(!0):r.local.__clone(),t.push(this.finishNode(r,"ExportSpecifier"));}return s&&!this.isContextual("from")&&this.unexpected(),t},e.prototype.parseImport=function(t){return this.eat(C._import),this.match(C.string)?(t.specifiers=[],t.source=this.parseExprAtom()):(t.specifiers=[],this.parseImportSpecifiers(t),this.expectContextual("from"),t.source=this.match(C.string)?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},e.prototype.parseImportSpecifiers=function(t){var e=!0;if(this.match(C.name)){var s=this.state.start,i=this.state.startLoc;if(t.specifiers.push(this.parseImportSpecifierDefault(this.parseIdentifier(),s,i)),!this.eat(C.comma))return}if(this.match(C.star)){var r=this.startNode();return this.next(),this.expectContextual("as"),r.local=this.parseIdentifier(),this.checkLVal(r.local,!0,void 0,"import namespace specifier"),void t.specifiers.push(this.finishNode(r,"ImportNamespaceSpecifier"))}for(this.expect(C.braceL);!this.eat(C.braceR);){if(e)e=!1;else if(this.eat(C.colon)&&this.unexpected(null,"ES2015 named imports do not destructure. Use another statement for destructuring after the import."),this.expect(C.comma),this.eat(C.braceR))break;this.parseImportSpecifier(t);}},e.prototype.parseImportSpecifier=function(t){var e=this.startNode();e.imported=this.parseIdentifier(!0),this.eatContextual("as")?e.local=this.parseIdentifier():(this.checkReservedWord(e.imported.name,e.start,!0,!0),e.local=e.imported.__clone()),this.checkLVal(e.local,!0,void 0,"import specifier"),t.specifiers.push(this.finishNode(e,"ImportSpecifier"));},e.prototype.parseImportSpecifierDefault=function(t,e,s){var i=this.startNodeAt(e,s);return i.local=t,this.checkLVal(i.local,!0,void 0,"default import specifier"),this.finishNode(i,"ImportDefaultSpecifier")},e}(function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.checkPropClash=function(t,e){if(!t.computed&&!t.kind){var s=t.key;"__proto__"===("Identifier"===s.type?s.name:String(s.value))&&(e.proto&&this.raise(s.start,"Redefinition of __proto__ property"),e.proto=!0);}},e.prototype.getExpression=function(){this.nextToken();var t=this.parseExpression();return this.match(C.eof)||this.unexpected(),t},e.prototype.parseExpression=function(t,e){var s=this.state.start,i=this.state.startLoc,r=this.parseMaybeAssign(t,e);if(this.match(C.comma)){var a=this.startNodeAt(s,i);for(a.expressions=[r];this.eat(C.comma);)a.expressions.push(this.parseMaybeAssign(t,e));return this.toReferencedList(a.expressions),this.finishNode(a,"SequenceExpression")}return r},e.prototype.parseMaybeAssign=function(t,e,s,i){var r=this.state.start,a=this.state.startLoc;if(this.match(C._yield)&&this.state.inGenerator){var n=this.parseYield();return s&&(n=s.call(this,n,r,a)),n}var o=void 0;e?o=!1:(e={start:0},o=!0),(this.match(C.parenL)||this.match(C.name))&&(this.state.potentialArrowAt=this.state.start);var h=this.parseMaybeConditional(t,e,i);if(s&&(h=s.call(this,h,r,a)),this.state.type.isAssign){var p=this.startNodeAt(r,a);if(p.operator=this.state.value,p.left=this.match(C.eq)?this.toAssignable(h,void 0,"assignment expression"):h,e.start=0,this.checkLVal(h,void 0,void 0,"assignment expression"),h.extra&&h.extra.parenthesized){var c=void 0;"ObjectPattern"===h.type?c="`({a}) = 0` use `({a} = 0)`":"ArrayPattern"===h.type&&(c="`([a]) = 0` use `([a] = 0)`"),c&&this.raise(h.start,"You're trying to assign to a parenthesized expression, eg. instead of "+c);}return this.next(),p.right=this.parseMaybeAssign(t),this.finishNode(p,"AssignmentExpression")}return o&&e.start&&this.unexpected(e.start),h},e.prototype.parseMaybeConditional=function(t,e,s){var i=this.state.start,r=this.state.startLoc,a=this.parseExprOps(t,e);return e&&e.start?a:this.parseConditional(a,t,i,r,s)},e.prototype.parseConditional=function(t,e,s,i){if(this.eat(C.question)){var r=this.startNodeAt(s,i);return r.test=t,r.consequent=this.parseMaybeAssign(),this.expect(C.colon),r.alternate=this.parseMaybeAssign(e),this.finishNode(r,"ConditionalExpression")}return t},e.prototype.parseExprOps=function(t,e){var s=this.state.start,i=this.state.startLoc,r=this.parseMaybeUnary(e);return e&&e.start?r:this.parseExprOp(r,s,i,-1,t)},e.prototype.parseExprOp=function(t,e,s,i,r){var a=this.state.type.binop;if(!(null==a||r&&this.match(C._in))&&a>i){var n=this.startNodeAt(e,s);n.left=t,n.operator=this.state.value,"**"!==n.operator||"UnaryExpression"!==t.type||!t.extra||t.extra.parenthesizedArgument||t.extra.parenthesized||this.raise(t.argument.start,"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.");var o=this.state.type;this.next();var h=this.state.start,p=this.state.startLoc;return n.right=this.parseExprOp(this.parseMaybeUnary(),h,p,o.rightAssociative?a-1:a,r),this.finishNode(n,o===C.logicalOR||o===C.logicalAND?"LogicalExpression":"BinaryExpression"),this.parseExprOp(n,e,s,i,r)}return t},e.prototype.parseMaybeUnary=function(t){if(this.state.type.prefix){var e=this.startNode(),s=this.match(C.incDec);e.operator=this.state.value,e.prefix=!0,this.next();var i=this.state.type;return e.argument=this.parseMaybeUnary(),this.addExtra(e,"parenthesizedArgument",!(i!==C.parenL||e.argument.extra&&e.argument.extra.parenthesized)),t&&t.start&&this.unexpected(t.start),s?this.checkLVal(e.argument,void 0,void 0,"prefix operation"):this.state.strict&&"delete"===e.operator&&"Identifier"===e.argument.type&&this.raise(e.start,"Deleting local variable in strict mode"),this.finishNode(e,s?"UpdateExpression":"UnaryExpression")}var r=this.state.start,a=this.state.startLoc,n=this.parseExprSubscripts(t);if(t&&t.start)return n;for(;this.state.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(r,a);o.operator=this.state.value,o.prefix=!1,o.argument=n,this.checkLVal(n,void 0,void 0,"postfix operation"),this.next(),n=this.finishNode(o,"UpdateExpression");}return n},e.prototype.parseExprSubscripts=function(t){var e=this.state.start,s=this.state.startLoc,i=this.state.potentialArrowAt,r=this.parseExprAtom(t);return"ArrowFunctionExpression"===r.type&&r.start===i?r:t&&t.start?r:this.parseSubscripts(r,e,s)},e.prototype.parseSubscripts=function(t,e,s,i){for(;;){if(!i&&this.eat(C.doubleColon)){var r=this.startNodeAt(e,s);return r.object=t,r.callee=this.parseNoCallExpr(),this.parseSubscripts(this.finishNode(r,"BindExpression"),e,s,i)}if(this.eat(C.dot)){var a=this.startNodeAt(e,s);a.object=t,a.property=this.hasPlugin("classPrivateProperties")?this.parseMaybePrivateName():this.parseIdentifier(!0),a.computed=!1,t=this.finishNode(a,"MemberExpression");}else if(this.eat(C.bracketL)){var n=this.startNodeAt(e,s);n.object=t,n.property=this.parseExpression(),n.computed=!0,this.expect(C.bracketR),t=this.finishNode(n,"MemberExpression");}else if(!i&&this.match(C.parenL)){var o=this.state.potentialArrowAt===t.start&&"Identifier"===t.type&&"async"===t.name&&!this.canInsertSemicolon();this.next();var h=this.startNodeAt(e,s);if(h.callee=t,h.arguments=this.parseCallExpressionArguments(C.parenR,o),"Import"===h.callee.type){1!==h.arguments.length&&this.raise(h.start,"import() requires exactly one argument");var p=h.arguments[0];p&&"SpreadElement"===p.type&&this.raise(p.start,"... is not allowed in import()");}if(t=this.finishNode(h,"CallExpression"),o&&this.shouldParseAsyncArrow())return this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,s),h);this.toReferencedList(h.arguments);}else{if(!this.match(C.backQuote))return t;var c=this.startNodeAt(e,s);c.tag=t,c.quasi=this.parseTemplate(!0),t=this.finishNode(c,"TaggedTemplateExpression");}}throw new Error("Unreachable")},e.prototype.parseCallExpressionArguments=function(t,e){for(var s=[],i=void 0,r=!0;!this.eat(t);){if(r)r=!1;else if(this.expect(C.comma),this.eat(t))break;this.match(C.parenL)&&!i&&(i=this.state.start),s.push(this.parseExprListItem(!1,e?{start:0}:void 0,e?{start:0}:void 0));}return e&&i&&this.shouldParseAsyncArrow()&&this.unexpected(),s},e.prototype.shouldParseAsyncArrow=function(){return this.match(C.arrow)},e.prototype.parseAsyncArrowFromCallExpression=function(t,e){return this.expect(C.arrow),this.parseArrowExpression(t,e.arguments,!0)},e.prototype.parseNoCallExpr=function(){var t=this.state.start,e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,e,!0)},e.prototype.parseExprAtom=function(t){var e=this.state.potentialArrowAt===this.state.start,s=void 0;switch(this.state.type){case C._super:return this.state.inMethod||this.state.inClassProperty||this.options.allowSuperOutsideMethod||this.raise(this.state.start,"'super' outside of function or class"),s=this.startNode(),this.next(),this.match(C.parenL)||this.match(C.bracketL)||this.match(C.dot)||this.unexpected(),this.match(C.parenL)&&"constructor"!==this.state.inMethod&&!this.options.allowSuperOutsideMethod&&this.raise(s.start,"super() is only valid inside a class constructor. Make sure the method name is spelled exactly as 'constructor'."),this.finishNode(s,"Super");case C._import:return this.hasPlugin("dynamicImport")||this.unexpected(),s=this.startNode(),this.next(),this.match(C.parenL)||this.unexpected(null,C.parenL),this.finishNode(s,"Import");case C._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case C._yield:this.state.inGenerator&&this.unexpected();case C.name:s=this.startNode();var i="await"===this.state.value&&this.state.inAsync,r=this.shouldAllowYieldIdentifier(),a=this.parseIdentifier(i||r);if("await"===a.name){if(this.state.inAsync||this.inModule)return this.parseAwait(s)}else{if("async"===a.name&&this.match(C._function)&&!this.canInsertSemicolon())return this.next(),this.parseFunction(s,!1,!1,!0);if(e&&"async"===a.name&&this.match(C.name)){var n=[this.parseIdentifier()];return this.expect(C.arrow),this.parseArrowExpression(s,n,!0)}}return e&&!this.canInsertSemicolon()&&this.eat(C.arrow)?this.parseArrowExpression(s,[a]):a;case C._do:if(this.hasPlugin("doExpressions")){var o=this.startNode();this.next();var h=this.state.inFunction,p=this.state.labels;return this.state.labels=[],this.state.inFunction=!1,o.body=this.parseBlock(!1,!0),this.state.inFunction=h,this.state.labels=p,this.finishNode(o,"DoExpression")}case C.regexp:var c=this.state.value;return s=this.parseLiteral(c.value,"RegExpLiteral"),s.pattern=c.pattern,s.flags=c.flags,s;case C.num:return this.parseLiteral(this.state.value,"NumericLiteral");case C.string:return this.parseLiteral(this.state.value,"StringLiteral");case C._null:return s=this.startNode(),this.next(),this.finishNode(s,"NullLiteral");case C._true:case C._false:return s=this.startNode(),s.value=this.match(C._true),this.next(),this.finishNode(s,"BooleanLiteral");case C.parenL:return this.parseParenAndDistinguishExpression(e);case C.bracketL:return s=this.startNode(),this.next(),s.elements=this.parseExprList(C.bracketR,!0,t),this.toReferencedList(s.elements),this.finishNode(s,"ArrayExpression");case C.braceL:return this.parseObj(!1,t);case C._function:return this.parseFunctionExpression();case C.at:this.parseDecorators();case C._class:return s=this.startNode(),this.takeDecorators(s),this.parseClass(s,!1);case C.hash:if(this.hasPlugin("classPrivateProperties"))return this.parseMaybePrivateName();this.unexpected();case C._new:return this.parseNew();case C.backQuote:return this.parseTemplate(!1);case C.doubleColon:s=this.startNode(),this.next(),s.object=null;var l=s.callee=this.parseNoCallExpr();if("MemberExpression"===l.type)return this.finishNode(s,"BindExpression");throw this.raise(l.start,"Binding should be performed on object property.");default:throw this.unexpected()}},e.prototype.parseMaybePrivateName=function(){if(this.eat(C.hash)){var t=this.startNode();return t.name=this.parseIdentifier(!0),this.finishNode(t,"PrivateName")}return this.parseIdentifier(!0)},e.prototype.parseFunctionExpression=function(){var t=this.startNode(),e=this.parseIdentifier(!0);return this.state.inGenerator&&this.eat(C.dot)&&this.hasPlugin("functionSent")?this.parseMetaProperty(t,e,"sent"):this.parseFunction(t,!1)},e.prototype.parseMetaProperty=function(t,e,s){return t.meta=e,t.property=this.parseIdentifier(!0),t.property.name!==s&&this.raise(t.property.start,"The only valid meta property for new is "+e.name+"."+s),this.finishNode(t,"MetaProperty")},e.prototype.parseLiteral=function(t,e,s,i){s=s||this.state.start,i=i||this.state.startLoc;var r=this.startNodeAt(s,i);return this.addExtra(r,"rawValue",t),this.addExtra(r,"raw",this.input.slice(s,this.state.end)),r.value=t,this.next(),this.finishNode(r,e)},e.prototype.parseParenExpression=function(){this.expect(C.parenL);var t=this.parseExpression();return this.expect(C.parenR),t},e.prototype.parseParenAndDistinguishExpression=function(t){var e=this.state.start,s=this.state.startLoc,i=void 0;this.expect(C.parenL);for(var r=this.state.start,a=this.state.startLoc,n=[],o={start:0},h={start:0},p=!0,c=void 0,l=void 0;!this.match(C.parenR);){if(p)p=!1;else if(this.expect(C.comma,h.start||null),this.match(C.parenR)){l=this.state.start;break}if(this.match(C.ellipsis)){var u=this.state.start,d=this.state.startLoc;c=this.state.start,n.push(this.parseParenItem(this.parseRest(),u,d));break}n.push(this.parseMaybeAssign(!1,o,this.parseParenItem,h));}var f=this.state.start,m=this.state.startLoc;this.expect(C.parenR);var y=this.startNodeAt(e,s);if(t&&this.shouldParseArrow()&&(y=this.parseArrow(y))){for(var x=n,v=Array.isArray(x),b=0,x=v?x:x[Symbol.iterator]();;){var g;if(v){if(b>=x.length)break;g=x[b++];}else{if((b=x.next()).done)break;g=b.value;}var w=g;w.extra&&w.extra.parenthesized&&this.unexpected(w.extra.parenStart);}return this.parseArrowExpression(y,n)}return n.length||this.unexpected(this.state.lastTokStart),l&&this.unexpected(l),c&&this.unexpected(c),o.start&&this.unexpected(o.start),h.start&&this.unexpected(h.start),n.length>1?((i=this.startNodeAt(r,a)).expressions=n,this.toReferencedList(i.expressions),this.finishNodeAt(i,"SequenceExpression",f,m)):i=n[0],this.addExtra(i,"parenthesized",!0),this.addExtra(i,"parenStart",e),i},e.prototype.shouldParseArrow=function(){return!this.canInsertSemicolon()},e.prototype.parseArrow=function(t){if(this.eat(C.arrow))return t},e.prototype.parseParenItem=function(t,e,s){return t},e.prototype.parseNew=function(){var t=this.startNode(),e=this.parseIdentifier(!0);if(this.eat(C.dot)){var s=this.parseMetaProperty(t,e,"target");return this.state.inFunction||this.raise(s.property.start,"new.target can only be used in functions"),s}return t.callee=this.parseNoCallExpr(),this.eat(C.parenL)?(t.arguments=this.parseExprList(C.parenR),this.toReferencedList(t.arguments)):t.arguments=[],this.finishNode(t,"NewExpression")},e.prototype.parseTemplateElement=function(t){var e=this.startNode();return null===this.state.value&&(t?this.state.invalidTemplateEscapePosition=null:this.raise(this.state.invalidTemplateEscapePosition,"Invalid escape sequence in template")),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),e.tail=this.match(C.backQuote),this.finishNode(e,"TemplateElement")},e.prototype.parseTemplate=function(t){var e=this.startNode();this.next(),e.expressions=[];var s=this.parseTemplateElement(t);for(e.quasis=[s];!s.tail;)this.expect(C.dollarBraceL),e.expressions.push(this.parseExpression()),this.expect(C.braceR),e.quasis.push(s=this.parseTemplateElement(t));return this.next(),this.finishNode(e,"TemplateLiteral")},e.prototype.parseObj=function(t,e){var s=[],i=Object.create(null),r=!0,a=this.startNode();a.properties=[],this.next();for(var n=null;!this.eat(C.braceR);){if(r)r=!1;else if(this.expect(C.comma),this.eat(C.braceR))break;for(;this.match(C.at);)s.push(this.parseDecorator());var o=this.startNode(),h=!1,p=!1,c=void 0,l=void 0;if(s.length&&(o.decorators=s,s=[]),this.hasPlugin("objectRestSpread")&&this.match(C.ellipsis)){if(o=this.parseSpread(t?{start:0}:void 0),o.type=t?"RestElement":"SpreadElement",t&&this.toAssignable(o.argument,!0,"object pattern"),a.properties.push(o),!t)continue;var u=this.state.start;if(null!==n)this.unexpected(n,"Cannot have multiple rest elements when destructuring");else{if(this.eat(C.braceR))break;if(!this.match(C.comma)||this.lookahead().type!==C.braceR){n=u;continue}this.unexpected(u,"A trailing comma is not permitted after the rest element");}}if(o.method=!1,(t||e)&&(c=this.state.start,l=this.state.startLoc),t||(h=this.eat(C.star)),!t&&this.isContextual("async")){h&&this.unexpected();var d=this.parseIdentifier();this.match(C.colon)||this.match(C.parenL)||this.match(C.braceR)||this.match(C.eq)||this.match(C.comma)?(o.key=d,o.computed=!1):(p=!0,this.hasPlugin("asyncGenerators")&&(h=this.eat(C.star)),this.parsePropertyName(o));}else this.parsePropertyName(o);this.parseObjPropValue(o,c,l,h,p,t,e),this.checkPropClash(o,i),o.shorthand&&this.addExtra(o,"shorthand",!0),a.properties.push(o);}return null!==n&&this.unexpected(n,"The rest element has to be the last element when destructuring"),s.length&&this.raise(this.state.start,"You have trailing decorators with no property"),this.finishNode(a,t?"ObjectPattern":"ObjectExpression")},e.prototype.isGetterOrSetterMethod=function(t,e){return!e&&!t.computed&&"Identifier"===t.key.type&&("get"===t.key.name||"set"===t.key.name)&&(this.match(C.string)||this.match(C.num)||this.match(C.bracketL)||this.match(C.name)||!!this.state.type.keyword)},e.prototype.checkGetterSetterParamCount=function(t){var e="get"===t.kind?0:1;if(t.params.length!==e){var s=t.start;"get"===t.kind?this.raise(s,"getter should have no params"):this.raise(s,"setter should have exactly one param");}},e.prototype.parseObjectMethod=function(t,e,s,i){return s||e||this.match(C.parenL)?(i&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,e,s),this.finishNode(t,"ObjectMethod")):this.isGetterOrSetterMethod(t,i)?((e||s)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),this.parseMethod(t),this.checkGetterSetterParamCount(t),this.finishNode(t,"ObjectMethod")):void 0},e.prototype.parseObjectProperty=function(t,e,s,i,r){return t.shorthand=!1,this.eat(C.colon)?(t.value=i?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,r),this.finishNode(t,"ObjectProperty")):t.computed||"Identifier"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!0),i?t.value=this.parseMaybeDefault(e,s,t.key.__clone()):this.match(C.eq)&&r?(r.start||(r.start=this.state.start),t.value=this.parseMaybeDefault(e,s,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,"ObjectProperty"))},e.prototype.parseObjPropValue=function(t,e,s,i,r,a,n){this.parseObjectMethod(t,i,r,a)||this.parseObjectProperty(t,e,s,a,n)||this.unexpected();},e.prototype.parsePropertyName=function(t){if(this.eat(C.bracketL))t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(C.bracketR);else{t.computed=!1;var e=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(C.num)||this.match(C.string)?this.parseExprAtom():this.parseIdentifier(!0),this.state.inPropertyName=e;}return t.key},e.prototype.initFunction=function(t,e){t.id=null,t.generator=!1,t.expression=!1,t.async=!!e;},e.prototype.parseMethod=function(t,e,s){var i=this.state.inMethod;return this.state.inMethod=t.kind||!0,this.initFunction(t,s),this.expect(C.parenL),t.params=this.parseBindingList(C.parenR),t.generator=!!e,this.parseFunctionBody(t),this.state.inMethod=i,t},e.prototype.parseArrowExpression=function(t,e,s){return this.initFunction(t,s),t.params=this.toAssignableList(e,!0,"arrow function parameters"),this.parseFunctionBody(t,!0),this.finishNode(t,"ArrowFunctionExpression")},e.prototype.isStrictBody=function(t,e){if(!e&&t.body.directives.length)for(var s=t.body.directives,i=Array.isArray(s),r=0,s=i?s:s[Symbol.iterator]();;){var a;if(i){if(r>=s.length)break;a=s[r++];}else{if((r=s.next()).done)break;a=r.value;}if("use strict"===a.value.value)return!0}return!1},e.prototype.parseFunctionBody=function(t,e){var s=e&&!this.match(C.braceL),i=this.state.inAsync;if(this.state.inAsync=t.async,s)t.body=this.parseMaybeAssign(),t.expression=!0;else{var r=this.state.inFunction,a=this.state.inGenerator,n=this.state.labels;this.state.inFunction=!0,this.state.inGenerator=t.generator,this.state.labels=[],t.body=this.parseBlock(!0),t.expression=!1,this.state.inFunction=r,this.state.inGenerator=a,this.state.labels=n;}this.state.inAsync=i;var o=this.isStrictBody(t,s),h=this.state.strict||e||o;if(o&&t.id&&"Identifier"===t.id.type&&"yield"===t.id.name&&this.raise(t.id.start,"Binding yield in strict mode"),h){var p=Object.create(null),c=this.state.strict;o&&(this.state.strict=!0),t.id&&this.checkLVal(t.id,!0,void 0,"function name");for(var l=t.params,u=Array.isArray(l),d=0,l=u?l:l[Symbol.iterator]();;){var f;if(u){if(d>=l.length)break;f=l[d++];}else{if((d=l.next()).done)break;f=d.value;}var m=f;o&&"Identifier"!==m.type&&this.raise(m.start,"Non-simple parameter in strict mode"),this.checkLVal(m,!0,p,"function parameter list");}this.state.strict=c;}},e.prototype.parseExprList=function(t,e,s){for(var i=[],r=!0;!this.eat(t);){if(r)r=!1;else if(this.expect(C.comma),this.eat(t))break;i.push(this.parseExprListItem(e,s));}return i},e.prototype.parseExprListItem=function(t,e,s){return t&&this.match(C.comma)?null:this.match(C.ellipsis)?this.parseSpread(e):this.parseMaybeAssign(!1,e,this.parseParenItem,s)},e.prototype.parseIdentifier=function(t){var e=this.startNode();return t||this.checkReservedWord(this.state.value,this.state.start,!!this.state.type.keyword,!1),this.match(C.name)?e.name=this.state.value:this.state.type.keyword?e.name=this.state.type.keyword:this.unexpected(),!t&&"await"===e.name&&this.state.inAsync&&this.raise(e.start,"invalid use of await inside of an async function"),e.loc.identifierName=e.name,this.next(),this.finishNode(e,"Identifier")},e.prototype.checkReservedWord=function(t,e,s,i){(this.isReservedWord(t)||s&&this.isKeyword(t))&&this.raise(e,t+" is a reserved word"),this.state.strict&&(S.strict(t)||i&&S.strictBind(t))&&this.raise(e,t+" is a reserved word in strict mode");},e.prototype.parseAwait=function(t){return this.state.inAsync||this.unexpected(),this.match(C.star)&&this.raise(t.start,"await* has been removed from the async functions proposal. Use Promise.all() instead."),t.argument=this.parseMaybeUnary(),this.finishNode(t,"AwaitExpression")},e.prototype.parseYield=function(){var t=this.startNode();return this.next(),this.match(C.semi)||this.canInsertSemicolon()||!this.match(C.star)&&!this.state.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(C.star),t.argument=this.parseMaybeAssign()),this.finishNode(t,"YieldExpression")},e}(function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.toAssignable=function(t,e,s){if(t)switch(t.type){case"Identifier":case"PrivateName":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":t.type="ObjectPattern";for(var i=t.properties,r=Array.isArray(i),a=0,i=r?i:i[Symbol.iterator]();;){var n;if(r){if(a>=i.length)break;n=i[a++];}else{if((a=i.next()).done)break;n=a.value;}var o=n;"ObjectMethod"===o.type?"get"===o.kind||"set"===o.kind?this.raise(o.key.start,"Object pattern can't contain getter or setter"):this.raise(o.key.start,"Object pattern can't contain methods"):this.toAssignable(o,e,"object destructuring pattern");}break;case"ObjectProperty":this.toAssignable(t.value,e,s);break;case"SpreadElement":t.type="RestElement";var h=t.argument;this.toAssignable(h,e,s);break;case"ArrayExpression":t.type="ArrayPattern",this.toAssignableList(t.elements,e,s);break;case"AssignmentExpression":"="===t.operator?(t.type="AssignmentPattern",delete t.operator):this.raise(t.left.end,"Only '=' operator can be used for specifying default value.");break;case"MemberExpression":if(!e)break;default:var p="Invalid left-hand side"+(s?" in "+s:"expression");this.raise(t.start,p);}return t},e.prototype.toAssignableList=function(t,e,s){var i=t.length;if(i){var r=t[i-1];if(r&&"RestElement"===r.type)--i;else if(r&&"SpreadElement"===r.type){r.type="RestElement";var a=r.argument;this.toAssignable(a,e,s),"Identifier"!==a.type&&"MemberExpression"!==a.type&&"ArrayPattern"!==a.type&&this.unexpected(a.start),--i;}}for(var n=0;n=a.length)break;h=a[o++];}else{if((o=a.next()).done)break;h=o.value;}var p=h;"ObjectProperty"===p.type&&(p=p.value),this.checkLVal(p,e,s,"object destructuring pattern");}break;case"ArrayPattern":for(var c=t.elements,l=Array.isArray(c),u=0,c=l?c:c[Symbol.iterator]();;){var d;if(l){if(u>=c.length)break;d=c[u++];}else{if((u=c.next()).done)break;d=u.value;}var f=d;f&&this.checkLVal(f,e,s,"array destructuring pattern");}break;case"AssignmentPattern":this.checkLVal(t.left,e,s,"assignment pattern");break;case"RestElement":this.checkLVal(t.argument,e,s,"rest element");break;default:var m=(e?"Binding invalid":"Invalid")+" left-hand side"+(i?" in "+i:"expression");this.raise(t.start,m);}},e}(function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.startNode=function(){return new Q(this,this.state.start,this.state.startLoc)},e.prototype.startNodeAt=function(t,e){return new Q(this,t,e)},e.prototype.finishNode=function(t,e){return this.finishNodeAt(t,e,this.state.lastTokEnd,this.state.lastTokEndLoc)},e.prototype.finishNodeAt=function(t,e,s,i){return t.type=e,t.end=s,t.loc.end=i,this.options.ranges&&(t.range[1]=s),this.processComment(t),t},e.prototype.resetStartLocationFromNode=function(t,e){t.start=e.start,t.loc.start=e.loc.start,this.options.ranges&&(t.range[0]=e.range[0]);},e}(K))))),et=function(t){return function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.estreeParseRegExpLiteral=function(t){var e=t.pattern,s=t.flags,i=null;try{i=new RegExp(e,s);}catch(t){}var r=this.estreeParseLiteral(i);return r.regex={pattern:e,flags:s},r},e.prototype.estreeParseLiteral=function(t){return this.parseLiteral(t,"Literal")},e.prototype.directiveToStmt=function(t){var e=t.value,s=this.startNodeAt(t.start,t.loc.start),i=this.startNodeAt(e.start,e.loc.start);return i.value=e.value,i.raw=e.extra.raw,s.expression=this.finishNodeAt(i,"Literal",e.end,e.loc.end),s.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",t.end,t.loc.end)},e.prototype.checkDeclaration=function(e){u(e)?this.checkDeclaration(e.value):t.prototype.checkDeclaration.call(this,e);},e.prototype.checkGetterSetterParamCount=function(t){var e="get"===t.kind?0:1;if(t.value.params.length!==e){var s=t.start;"get"===t.kind?this.raise(s,"getter should have no params"):this.raise(s,"setter should have exactly one param");}},e.prototype.checkLVal=function(e,s,i){var r,a=this;switch(e.type){case"ObjectPattern":e.properties.forEach(function(t){a.checkLVal("Property"===t.type?t.value:t,s,i,"object destructuring pattern");});break;default:for(var n=arguments.length,o=Array(n>3?n-3:0),h=3;h0)for(var s=t.body.body,i=Array.isArray(s),r=0,s=i?s:s[Symbol.iterator]();;){var a;if(i){if(r>=s.length)break;a=s[r++];}else{if((r=s.next()).done)break;a=r.value;}var n=a;if("ExpressionStatement"!==n.type||"Literal"!==n.expression.type)break;if("use strict"===n.expression.value)return!0}return!1},e.prototype.isValidDirective=function(t){return!("ExpressionStatement"!==t.type||"Literal"!==t.expression.type||"string"!=typeof t.expression.value||t.expression.extra&&t.expression.extra.parenthesized)},e.prototype.parseBlockBody=function(e){for(var s,i=this,r=arguments.length,a=Array(r>1?r-1:0),n=1;n1?i-1:0),a=1;a1?r-1:0),n=1;n2?r-2:0),n=2;n=o.length)break;c=o[p++];}else{if((p=o.next()).done)break;c=p.value;}var l=c;"get"===l.kind||"set"===l.kind?this.raise(l.key.start,"Object pattern can't contain getter or setter"):l.method?this.raise(l.key.start,"Object pattern can't contain methods"):this.toAssignable(l,s,"object destructuring pattern");}return e}return(i=t.prototype.toAssignable).call.apply(i,[this,e,s].concat(a))},e}(t)},st=["any","mixed","empty","bool","boolean","number","string","void","null"],it={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"},rt=function(t){return function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.flowParseTypeInitialiser=function(t){var e=this.state.inType;this.state.inType=!0,this.expect(t||C.colon);var s=this.flowParseType();return this.state.inType=e,s},e.prototype.flowParsePredicate=function(){var t=this.startNode(),e=this.state.startLoc,s=this.state.start;this.expect(C.modulo);var i=this.state.startLoc;return this.expectContextual("checks"),e.line===i.line&&e.column===i.column-1||this.raise(s,"Spaces between ´%´ and ´checks´ are not allowed here."),this.eat(C.parenL)?(t.value=this.parseExpression(),this.expect(C.parenR),this.finishNode(t,"DeclaredPredicate")):this.finishNode(t,"InferredPredicate")},e.prototype.flowParseTypeAndPredicateInitialiser=function(){var t=this.state.inType;this.state.inType=!0,this.expect(C.colon);var e=null,s=null;return this.match(C.modulo)?(this.state.inType=t,s=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(C.modulo)&&(s=this.flowParsePredicate())),[e,s]},e.prototype.flowParseDeclareClass=function(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareClass")},e.prototype.flowParseDeclareFunction=function(t){this.next();var e=t.id=this.parseIdentifier(),s=this.startNode(),i=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(C.parenL);var r=this.flowParseFunctionTypeParams();s.params=r.params,s.rest=r.rest,this.expect(C.parenR);var a=this.flowParseTypeAndPredicateInitialiser();return s.returnType=a[0],t.predicate=a[1],i.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),e.typeAnnotation=this.finishNode(i,"TypeAnnotation"),this.finishNode(e,e.type),this.semicolon(),this.finishNode(t,"DeclareFunction")},e.prototype.flowParseDeclare=function(t,e){if(this.match(C._class))return this.flowParseDeclareClass(t);if(this.match(C._function))return this.flowParseDeclareFunction(t);if(this.match(C._var))return this.flowParseDeclareVariable(t);if(this.isContextual("module"))return this.lookahead().type===C.dot?this.flowParseDeclareModuleExports(t):(e&&this.unexpected(null,"`declare module` cannot be used inside another `declare module`"),this.flowParseDeclareModule(t));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual("interface"))return this.flowParseDeclareInterface(t);if(this.match(C._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()},e.prototype.flowParseDeclareVariable=function(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(),this.semicolon(),this.finishNode(t,"DeclareVariable")},e.prototype.flowParseDeclareModule=function(t){var e=this;this.next(),this.match(C.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();var s=t.body=this.startNode(),i=s.body=[];for(this.expect(C.braceL);!this.match(C.braceR);){var r=this.startNode();if(this.match(C._import)){var a=this.lookahead();"type"!==a.value&&"typeof"!==a.value&&this.unexpected(null,"Imports within a `declare module` body must always be `import type` or `import typeof`"),this.parseImport(r);}else this.expectContextual("declare","Only declares and type imports are allowed inside declare module"),r=this.flowParseDeclare(r,!0);i.push(r);}this.expect(C.braceR),this.finishNode(s,"BlockStatement");var n=null,o=!1,h="Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module";return i.forEach(function(t){d(t)?("CommonJS"===n&&e.unexpected(t.start,h),n="ES"):"DeclareModuleExports"===t.type&&(o&&e.unexpected(t.start,"Duplicate `declare module.exports` statement"),"ES"===n&&e.unexpected(t.start,h),n="CommonJS",o=!0);}),t.kind=n||"CommonJS",this.finishNode(t,"DeclareModule")},e.prototype.flowParseDeclareExportDeclaration=function(t,e){if(this.expect(C._export),this.eat(C._default))return this.match(C._function)||this.match(C._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,"DeclareExportDeclaration");if(this.match(C._const)||this.match(C._let)||(this.isContextual("type")||this.isContextual("interface"))&&!e){var s=this.state.value,i=it[s];this.unexpected(this.state.start,"`declare export "+s+"` is not supported. Use `"+i+"` instead");}if(this.match(C._var)||this.match(C._function)||this.match(C._class))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,"DeclareExportDeclaration");if(this.match(C.star)||this.match(C.braceL)||this.isContextual("interface")||this.isContextual("type"))return"ExportNamedDeclaration"===(t=this.parseExport(t)).type&&(t.type="ExportDeclaration",t.default=!1,delete t.exportKind),t.type="Declare"+t.type,t;throw this.unexpected()},e.prototype.flowParseDeclareModuleExports=function(t){return this.expectContextual("module"),this.expect(C.dot),this.expectContextual("exports"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,"DeclareModuleExports")},e.prototype.flowParseDeclareTypeAlias=function(t){return this.next(),this.flowParseTypeAlias(t),this.finishNode(t,"DeclareTypeAlias")},e.prototype.flowParseDeclareInterface=function(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareInterface")},e.prototype.flowParseInterfaceish=function(t){if(t.id=this.parseIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.mixins=[],this.eat(C._extends))do{t.extends.push(this.flowParseInterfaceExtends());}while(this.eat(C.comma));if(this.isContextual("mixins")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends());}while(this.eat(C.comma))}t.body=this.flowParseObjectType(!0,!1,!1);},e.prototype.flowParseInterfaceExtends=function(){var t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,"InterfaceExtends")},e.prototype.flowParseInterface=function(t){return this.flowParseInterfaceish(t),this.finishNode(t,"InterfaceDeclaration")},e.prototype.flowParseRestrictedIdentifier=function(t){return st.indexOf(this.state.value)>-1&&this.raise(this.state.start,"Cannot overwrite primitive type "+this.state.value),this.parseIdentifier(t)},e.prototype.flowParseTypeAlias=function(t){return t.id=this.flowParseRestrictedIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(C.eq),this.semicolon(),this.finishNode(t,"TypeAlias")},e.prototype.flowParseTypeParameter=function(){var t=this.startNode(),e=this.flowParseVariance(),s=this.flowParseTypeAnnotatableIdentifier();return t.name=s.name,t.variance=e,t.bound=s.typeAnnotation,this.match(C.eq)&&(this.eat(C.eq),t.default=this.flowParseType()),this.finishNode(t,"TypeParameter")},e.prototype.flowParseTypeParameterDeclaration=function(){var t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational("<")||this.match(C.jsxTagStart)?this.next():this.unexpected();do{e.params.push(this.flowParseTypeParameter()),this.isRelational(">")||this.expect(C.comma);}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterDeclaration")},e.prototype.flowParseTypeParameterInstantiation=function(){var t=this.startNode(),e=this.state.inType;for(t.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)t.params.push(this.flowParseType()),this.isRelational(">")||this.expect(C.comma);return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")},e.prototype.flowParseObjectPropertyKey=function(){return this.match(C.num)||this.match(C.string)?this.parseExprAtom():this.parseIdentifier(!0)},e.prototype.flowParseObjectTypeIndexer=function(t,e,s){return t.static=e,this.expect(C.bracketL),this.lookahead().type===C.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(C.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=s,this.finishNode(t,"ObjectTypeIndexer")},e.prototype.flowParseObjectTypeMethodish=function(t){for(t.params=[],t.rest=null,t.typeParameters=null,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(C.parenL);!this.match(C.parenR)&&!this.match(C.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(C.parenR)||this.expect(C.comma);return this.eat(C.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),this.expect(C.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,"FunctionTypeAnnotation")},e.prototype.flowParseObjectTypeCallProperty=function(t,e){var s=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(s),this.finishNode(t,"ObjectTypeCallProperty")},e.prototype.flowParseObjectType=function(t,e,s){var i=this.state.inType;this.state.inType=!0;var r=this.startNode();r.callProperties=[],r.properties=[],r.indexers=[];var a=void 0,n=void 0;for(e&&this.match(C.braceBarL)?(this.expect(C.braceBarL),a=C.braceBarR,n=!0):(this.expect(C.braceL),a=C.braceR,n=!1),r.exact=n;!this.match(a);){var o=!1,h=this.startNode();t&&this.isContextual("static")&&this.lookahead().type!==C.colon&&(this.next(),o=!0);var p=this.flowParseVariance();if(this.match(C.bracketL))r.indexers.push(this.flowParseObjectTypeIndexer(h,o,p));else if(this.match(C.parenL)||this.isRelational("<"))p&&this.unexpected(p.start),r.callProperties.push(this.flowParseObjectTypeCallProperty(h,o));else{var c="init";if(this.isContextual("get")||this.isContextual("set")){var l=this.lookahead();l.type!==C.name&&l.type!==C.string&&l.type!==C.num||(c=this.state.value,this.next());}r.properties.push(this.flowParseObjectTypeProperty(h,o,p,c,s));}this.flowObjectTypeSemicolon();}this.expect(a);var u=this.finishNode(r,"ObjectTypeAnnotation");return this.state.inType=i,u},e.prototype.flowParseObjectTypeProperty=function(t,e,s,i,r){if(this.match(C.ellipsis))return r||this.unexpected(null,"Spread operator cannot appear in class or interface definitions"),s&&this.unexpected(s.start,"Spread properties cannot have variance"),this.expect(C.ellipsis),t.argument=this.flowParseType(),this.finishNode(t,"ObjectTypeSpreadProperty");t.key=this.flowParseObjectPropertyKey(),t.static=e,t.kind=i;var a=!1;return this.isRelational("<")||this.match(C.parenL)?(s&&this.unexpected(s.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParamCount(t)):("init"!==i&&this.unexpected(),this.eat(C.question)&&(a=!0),t.value=this.flowParseTypeInitialiser(),t.variance=s),t.optional=a,this.finishNode(t,"ObjectTypeProperty")},e.prototype.flowCheckGetterSetterParamCount=function(t){var e="get"===t.kind?0:1;if(t.value.params.length!==e){var s=t.start;"get"===t.kind?this.raise(s,"getter should have no params"):this.raise(s,"setter should have exactly one param");}},e.prototype.flowObjectTypeSemicolon=function(){this.eat(C.semi)||this.eat(C.comma)||this.match(C.braceR)||this.match(C.braceBarR)||this.unexpected();},e.prototype.flowParseQualifiedTypeIdentifier=function(t,e,s){t=t||this.state.start,e=e||this.state.startLoc;for(var i=s||this.parseIdentifier();this.eat(C.dot);){var r=this.startNodeAt(t,e);r.qualification=i,r.id=this.parseIdentifier(),i=this.finishNode(r,"QualifiedTypeIdentifier");}return i},e.prototype.flowParseGenericType=function(t,e,s){var i=this.startNodeAt(t,e);return i.typeParameters=null,i.id=this.flowParseQualifiedTypeIdentifier(t,e,s),this.isRelational("<")&&(i.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(i,"GenericTypeAnnotation")},e.prototype.flowParseTypeofType=function(){var t=this.startNode();return this.expect(C._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,"TypeofTypeAnnotation")},e.prototype.flowParseTupleType=function(){var t=this.startNode();for(t.types=[],this.expect(C.bracketL);this.state.pos0&&void 0!==arguments[0]?arguments[0]:[],e=null;!this.match(C.parenR)&&!this.match(C.ellipsis);)t.push(this.flowParseFunctionTypeParam()),this.match(C.parenR)||this.expect(C.comma);return this.eat(C.ellipsis)&&(e=this.flowParseFunctionTypeParam()),{params:t,rest:e}},e.prototype.flowIdentToTypeAnnotation=function(t,e,s,i){switch(i.name){case"any":return this.finishNode(s,"AnyTypeAnnotation");case"void":return this.finishNode(s,"VoidTypeAnnotation");case"bool":case"boolean":return this.finishNode(s,"BooleanTypeAnnotation");case"mixed":return this.finishNode(s,"MixedTypeAnnotation");case"empty":return this.finishNode(s,"EmptyTypeAnnotation");case"number":return this.finishNode(s,"NumberTypeAnnotation");case"string":return this.finishNode(s,"StringTypeAnnotation");default:return this.flowParseGenericType(t,e,i)}},e.prototype.flowParsePrimaryType=function(){var t=this.state.start,e=this.state.startLoc,s=this.startNode(),i=void 0,r=void 0,a=!1,n=this.state.noAnonFunctionType;switch(this.state.type){case C.name:return this.flowIdentToTypeAnnotation(t,e,s,this.parseIdentifier());case C.braceL:return this.flowParseObjectType(!1,!1,!0);case C.braceBarL:return this.flowParseObjectType(!1,!0,!0);case C.bracketL:return this.flowParseTupleType();case C.relational:if("<"===this.state.value)return s.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(C.parenL),i=this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,this.expect(C.parenR),this.expect(C.arrow),s.returnType=this.flowParseType(),this.finishNode(s,"FunctionTypeAnnotation");break;case C.parenL:if(this.next(),!this.match(C.parenR)&&!this.match(C.ellipsis))if(this.match(C.name)){var o=this.lookahead().type;a=o!==C.question&&o!==C.colon;}else a=!0;if(a){if(this.state.noAnonFunctionType=!1,r=this.flowParseType(),this.state.noAnonFunctionType=n,this.state.noAnonFunctionType||!(this.match(C.comma)||this.match(C.parenR)&&this.lookahead().type===C.arrow))return this.expect(C.parenR),r;this.eat(C.comma);}return i=r?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(r)]):this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,this.expect(C.parenR),this.expect(C.arrow),s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation");case C.string:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case C._true:case C._false:return s.value=this.match(C._true),this.next(),this.finishNode(s,"BooleanLiteralTypeAnnotation");case C.plusMin:if("-"===this.state.value)return this.next(),this.match(C.num)||this.unexpected(null,"Unexpected token, expected number"),this.parseLiteral(-this.state.value,"NumberLiteralTypeAnnotation",s.start,s.loc.start);this.unexpected();case C.num:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case C._null:return s.value=this.match(C._null),this.next(),this.finishNode(s,"NullLiteralTypeAnnotation");case C._this:return s.value=this.match(C._this),this.next(),this.finishNode(s,"ThisTypeAnnotation");case C.star:return this.next(),this.finishNode(s,"ExistsTypeAnnotation");default:if("typeof"===this.state.type.keyword)return this.flowParseTypeofType()}throw this.unexpected()},e.prototype.flowParsePostfixType=function(){for(var t=this.state.start,e=this.state.startLoc,s=this.flowParsePrimaryType();!this.canInsertSemicolon()&&this.match(C.bracketL);){var i=this.startNodeAt(t,e);i.elementType=s,this.expect(C.bracketL),this.expect(C.bracketR),s=this.finishNode(i,"ArrayTypeAnnotation");}return s},e.prototype.flowParsePrefixType=function(){var t=this.startNode();return this.eat(C.question)?(t.typeAnnotation=this.flowParsePrefixType(),this.finishNode(t,"NullableTypeAnnotation")):this.flowParsePostfixType()},e.prototype.flowParseAnonFunctionWithoutParens=function(){var t=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(C.arrow)){var e=this.startNodeAt(t.start,t.loc);return e.params=[this.reinterpretTypeAsFunctionTypeParam(t)],e.rest=null,e.returnType=this.flowParseType(),e.typeParameters=null,this.finishNode(e,"FunctionTypeAnnotation")}return t},e.prototype.flowParseIntersectionType=function(){var t=this.startNode();this.eat(C.bitwiseAND);var e=this.flowParseAnonFunctionWithoutParens();for(t.types=[e];this.eat(C.bitwiseAND);)t.types.push(this.flowParseAnonFunctionWithoutParens());return 1===t.types.length?e:this.finishNode(t,"IntersectionTypeAnnotation")},e.prototype.flowParseUnionType=function(){var t=this.startNode();this.eat(C.bitwiseOR);var e=this.flowParseIntersectionType();for(t.types=[e];this.eat(C.bitwiseOR);)t.types.push(this.flowParseIntersectionType());return 1===t.types.length?e:this.finishNode(t,"UnionTypeAnnotation")},e.prototype.flowParseType=function(){var t=this.state.inType;this.state.inType=!0;var e=this.flowParseUnionType();return this.state.inType=t,e},e.prototype.flowParseTypeAnnotation=function(){var t=this.startNode();return t.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(t,"TypeAnnotation")},e.prototype.flowParseTypeAnnotatableIdentifier=function(){var t=this.flowParseRestrictedIdentifier();return this.match(C.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(t,t.type)),t},e.prototype.typeCastToParameter=function(t){return t.expression.typeAnnotation=t.typeAnnotation,this.finishNodeAt(t.expression,t.expression.type,t.typeAnnotation.end,t.typeAnnotation.loc.end)},e.prototype.flowParseVariance=function(){var t=null;return this.match(C.plusMin)&&(t=this.startNode(),"+"===this.state.value?t.kind="plus":t.kind="minus",this.next(),this.finishNode(t,"Variance")),t},e.prototype.parseFunctionBody=function(e,s){if(this.match(C.colon)&&!s){var i=this.startNode(),r=this.flowParseTypeAndPredicateInitialiser();i.typeAnnotation=r[0],e.predicate=r[1],e.returnType=i.typeAnnotation?this.finishNode(i,"TypeAnnotation"):null;}return t.prototype.parseFunctionBody.call(this,e,s)},e.prototype.parseStatement=function(e,s){if(this.state.strict&&this.match(C.name)&&"interface"===this.state.value){var i=this.startNode();return this.next(),this.flowParseInterface(i)}return t.prototype.parseStatement.call(this,e,s)},e.prototype.parseExpressionStatement=function(e,s){if("Identifier"===s.type)if("declare"===s.name){if(this.match(C._class)||this.match(C.name)||this.match(C._function)||this.match(C._var)||this.match(C._export))return this.flowParseDeclare(e)}else if(this.match(C.name)){if("interface"===s.name)return this.flowParseInterface(e);if("type"===s.name)return this.flowParseTypeAlias(e)}return t.prototype.parseExpressionStatement.call(this,e,s)},e.prototype.shouldParseExportDeclaration=function(){return this.isContextual("type")||this.isContextual("interface")||t.prototype.shouldParseExportDeclaration.call(this)},e.prototype.isExportDefaultSpecifier=function(){return(!this.match(C.name)||"type"!==this.state.value&&"interface"!==this.state.value)&&t.prototype.isExportDefaultSpecifier.call(this)},e.prototype.parseConditional=function(e,s,i,r,a){if(a&&this.match(C.question)){var n=this.state.clone();try{return t.prototype.parseConditional.call(this,e,s,i,r)}catch(t){if(t instanceof SyntaxError)return this.state=n,a.start=t.pos||this.state.start,e;throw t}}return t.prototype.parseConditional.call(this,e,s,i,r)},e.prototype.parseParenItem=function(e,s,i){if(e=t.prototype.parseParenItem.call(this,e,s,i),this.eat(C.question)&&(e.optional=!0),this.match(C.colon)){var r=this.startNodeAt(s,i);return r.expression=e,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,"TypeCastExpression")}return e},e.prototype.parseExport=function(e){return"ExportNamedDeclaration"===(e=t.prototype.parseExport.call(this,e)).type&&(e.exportKind=e.exportKind||"value"),e},e.prototype.parseExportDeclaration=function(e){if(this.isContextual("type")){e.exportKind="type";var s=this.startNode();return this.next(),this.match(C.braceL)?(e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e),null):this.flowParseTypeAlias(s)}if(this.isContextual("interface")){e.exportKind="type";var i=this.startNode();return this.next(),this.flowParseInterface(i)}return t.prototype.parseExportDeclaration.call(this,e)},e.prototype.parseClassId=function(e){for(var s,i=arguments.length,r=Array(i>1?i-1:0),a=1;a1?i-1:0),a=1;a2?r-2:0),n=2;n1?r-1:0),n=1;n",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},nt=/^[\da-fA-F]+$/,ot=/^\d+$/;V.j_oTag=new q("...",!0,!0),C.jsxName=new k("jsxName"),C.jsxText=new k("jsxText",{beforeExpr:!0}),C.jsxTagStart=new k("jsxTagStart",{startsExpr:!0}),C.jsxTagEnd=new k("jsxTagEnd"),C.jsxTagStart.updateContext=function(){this.state.context.push(V.j_expr),this.state.context.push(V.j_oTag),this.state.exprAllowed=!1;},C.jsxTagEnd.updateContext=function(t){var e=this.state.context.pop();e===V.j_oTag&&t===C.slash||e===V.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===V.j_expr):this.state.exprAllowed=!0;};var ht=function(t){return function(t){function e(){return g(this,e),P(this,t.apply(this,arguments))}return w(e,t),e.prototype.jsxReadToken=function(){for(var t="",e=this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated JSX contents");var s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(C.jsxTagStart)):this.getTokenFromCode(s):(t+=this.input.slice(e,this.state.pos),this.finishToken(C.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:o(s)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos;}}},e.prototype.jsxReadNewLine=function(t){var e=this.input.charCodeAt(this.state.pos),s=void 0;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=t?"\n":"\r\n"):s=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,s},e.prototype.jsxReadString=function(t){for(var e="",s=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var i=this.input.charCodeAt(this.state.pos);if(i===t)break;38===i?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos):o(i)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos;}return e+=this.input.slice(s,this.state.pos++),this.finishToken(C.string,e)},e.prototype.jsxReadEntity=function(){for(var t="",e=0,s=void 0,i=this.input[this.state.pos],r=++this.state.pos;this.state.pos");}return s.openingElement=r,s.closingElement=a,s.children=i,this.match(C.relational)&&"<"===this.state.value&&this.raise(this.state.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(s,"JSXElement")},e.prototype.jsxParseElement=function(){var t=this.state.start,e=this.state.startLoc;return this.next(),this.jsxParseElementAt(t,e)},e.prototype.parseExprAtom=function(e){return this.match(C.jsxText)?this.parseLiteral(this.state.value,"JSXText"):this.match(C.jsxTagStart)?this.jsxParseElement():t.prototype.parseExprAtom.call(this,e)},e.prototype.readToken=function(e){if(this.state.inPropertyName)return t.prototype.readToken.call(this,e);var s=this.curContext();if(s===V.j_expr)return this.jsxReadToken();if(s===V.j_oTag||s===V.j_cTag){if(a(e))return this.jsxReadWord();if(62===e)return++this.state.pos,this.finishToken(C.jsxTagEnd);if((34===e||39===e)&&s===V.j_oTag)return this.jsxReadString(e)}return 60===e&&this.state.exprAllowed?(++this.state.pos,this.finishToken(C.jsxTagStart)):t.prototype.readToken.call(this,e)},e.prototype.updateContext=function(e){if(this.match(C.braceL)){var s=this.curContext();s===V.j_oTag?this.state.context.push(V.braceExpression):s===V.j_expr?this.state.context.push(V.templateQuasi):t.prototype.updateContext.call(this,e),this.state.exprAllowed=!0;}else{if(!this.match(C.slash)||e!==C.jsxTagStart)return t.prototype.updateContext.call(this,e);this.state.context.length-=2,this.state.context.push(V.j_cTag),this.state.exprAllowed=!1;}},e}(t)};Z.estree=et,Z.flow=rt,Z.jsx=ht;var pt={};e.parse=m,e.parseExpression=y,e.tokTypes=C;});const createError=parserCreateError;var parserBabylon=parse;module.exports=parserBabylon; -}); +var babylon = function () { + function unwrapExports(x) { + return x && x.__esModule ? x['default'] : x; + } -var parserBabylon = unwrapExports(parserBabylon_1); + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } -return parserBabylon; + var parserBabylon_1 = createCommonjsModule(function (module) { + "use strict"; + function createError$1(t, e) { + var s = new SyntaxError(t + " (" + e.start.line + ":" + e.start.column + ")");return s.loc = e, s; + }function createCommonjsModule$$1(t, e) { + return e = { exports: {} }, t(e, e.exports), e.exports; + }function parse(t) { + var e = index, + s = { sourceType: "module", allowImportExportEverywhere: !1, allowReturnOutsideFunction: !0, plugins: ["jsx", "flow", "doExpressions", "objectRestSpread", "decorators", "classProperties", "exportExtensions", "asyncGenerators", "functionBind", "functionSent", "dynamicImport"] };var i = void 0;try { + i = e.parse(t, s); + } catch (i) { + try { + return e.parse(t, Object.assign({}, s, { strictMode: !1 })); + } catch (t) { + throw createError(i.message.replace(/ \(.*\)/, ""), { start: { line: i.loc.line, column: i.loc.column + 1 } }); + } + }return delete i.tokens, i; + }var parserCreateError = createError$1, + index = createCommonjsModule$$1(function (t, e) { + function s(t) { + var e = {};for (var s in b) { + e[s] = t && s in t ? t[s] : b[s]; + }return e; + }function i(t) { + var e = t.split(" ");return function (t) { + return e.indexOf(t) >= 0; + }; + }function r(t, e) { + for (var s = 65536, i = 0; i < e.length; i += 2) { + if ((s += e[i]) > t) return !1;if ((s += e[i + 1]) >= t) return !0; + }return !1; + }function a(t) { + return t < 65 ? 36 === t : t < 91 || (t < 97 ? 95 === t : t < 123 || (t <= 65535 ? t >= 170 && j.test(String.fromCharCode(t)) : r(t, D))); + }function n(t) { + return t < 48 ? 36 === t : t < 58 || !(t < 65) && (t < 91 || (t < 97 ? 95 === t : t < 123 || (t <= 65535 ? t >= 170 && R.test(String.fromCharCode(t)) : r(t, D) || r(t, O)))); + }function o(t) { + return 10 === t || 13 === t || 8232 === t || 8233 === t; + }function h(t, e) { + for (var s = 1, i = 0;;) { + F.lastIndex = i;var r = F.exec(t);if (!(r && r.index < e)) return new U(s, e - i);++s, i = r.index + r[0].length; + }throw new Error("Unreachable"); + }function p(t) { + return t[t.length - 1]; + }function c(t) { + return t <= 65535 ? String.fromCharCode(t) : String.fromCharCode(55296 + (t - 65536 >> 10), 56320 + (t - 65536 & 1023)); + }function l(t) { + for (var e = {}, s = t, i = Array.isArray(s), r = 0, s = i ? s : s[Symbol.iterator]();;) { + var a;if (i) { + if (r >= s.length) break;a = s[r++]; + } else { + if ((r = s.next()).done) break;a = r.value; + }e[a] = !0; + }return e; + }function u(t) { + return null != t && "Property" === t.type && "init" === t.kind && !1 === t.method; + }function d(t) { + return "DeclareExportAllDeclaration" === t.type || "DeclareExportDeclaration" === t.type && (!t.declaration || "TypeAlias" !== t.declaration.type && "InterfaceDeclaration" !== t.declaration.type); + }function f(t) { + if ("JSXIdentifier" === t.type) return t.name;if ("JSXNamespacedName" === t.type) return t.namespace.name + ":" + t.name.name;if ("JSXMemberExpression" === t.type) return f(t.object) + "." + f(t.property);throw new Error("Node had unexpected type: " + t.type); + }function m(t, e) { + return x(e, t).parse(); + }function y(t, e) { + var s = x(e, t);return s.options.strictMode && (s.state.strict = !0), s.getExpression(); + }function x(t, e) { + return new (t && t.plugins ? v(t.plugins) : tt)(t, e); + }function v(t) { + var e = t.filter(function (t) { + return "estree" === t || "flow" === t || "jsx" === t; + });e.indexOf("flow") >= 0 && (e = e.filter(function (t) { + return "flow" !== t; + })).push("flow"), e.indexOf("estree") >= 0 && (e = e.filter(function (t) { + return "estree" !== t; + })).unshift("estree");var s = e.join("/"), + i = pt[s];if (!i) { + i = tt;for (var r = e, a = Array.isArray(r), n = 0, r = a ? r : r[Symbol.iterator]();;) { + var o;if (a) { + if (n >= r.length) break;o = r[n++]; + } else { + if ((n = r.next()).done) break;o = n.value; + }i = Z[o](i); + }pt[s] = i; + }return i; + }Object.defineProperty(e, "__esModule", { value: !0 });var b = { sourceType: "script", sourceFilename: void 0, startLine: 1, allowReturnOutsideFunction: !1, allowImportExportEverywhere: !1, allowSuperOutsideMethod: !1, plugins: [], strictMode: null, ranges: !1 }, + g = function g(t, e) { + if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function"); + }, + w = function w(t, e) { + if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + (typeof e === "undefined" ? "undefined" : _typeof(e)));t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e); + }, + P = function P(t, e) { + if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !e || "object" != (typeof e === "undefined" ? "undefined" : _typeof(e)) && "function" != typeof e ? t : e; + }, + A = !0, + k = function t(e) { + var s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};g(this, t), this.label = e, this.keyword = s.keyword, this.beforeExpr = !!s.beforeExpr, this.startsExpr = !!s.startsExpr, this.rightAssociative = !!s.rightAssociative, this.isLoop = !!s.isLoop, this.isAssign = !!s.isAssign, this.prefix = !!s.prefix, this.postfix = !!s.postfix, this.binop = s.binop || null, this.updateContext = null; + }, + E = function (t) { + function e(s) { + var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};return g(this, e), i.keyword = s, P(this, t.call(this, s, i)); + }return w(e, t), e; + }(k), + T = function (t) { + function e(s, i) { + return g(this, e), P(this, t.call(this, s, { beforeExpr: A, binop: i })); + }return w(e, t), e; + }(k), + C = { num: new k("num", { startsExpr: !0 }), regexp: new k("regexp", { startsExpr: !0 }), string: new k("string", { startsExpr: !0 }), name: new k("name", { startsExpr: !0 }), eof: new k("eof"), bracketL: new k("[", { beforeExpr: A, startsExpr: !0 }), bracketR: new k("]"), braceL: new k("{", { beforeExpr: A, startsExpr: !0 }), braceBarL: new k("{|", { beforeExpr: A, startsExpr: !0 }), braceR: new k("}"), braceBarR: new k("|}"), parenL: new k("(", { beforeExpr: A, startsExpr: !0 }), parenR: new k(")"), comma: new k(",", { beforeExpr: A }), semi: new k(";", { beforeExpr: A }), colon: new k(":", { beforeExpr: A }), doubleColon: new k("::", { beforeExpr: A }), dot: new k("."), question: new k("?", { beforeExpr: A }), arrow: new k("=>", { beforeExpr: A }), template: new k("template"), ellipsis: new k("...", { beforeExpr: A }), backQuote: new k("`", { startsExpr: !0 }), dollarBraceL: new k("${", { beforeExpr: A, startsExpr: !0 }), at: new k("@"), hash: new k("#"), eq: new k("=", { beforeExpr: A, isAssign: !0 }), assign: new k("_=", { beforeExpr: A, isAssign: !0 }), incDec: new k("++/--", { prefix: !0, postfix: !0, startsExpr: !0 }), prefix: new k("prefix", { beforeExpr: A, prefix: !0, startsExpr: !0 }), logicalOR: new T("||", 1), logicalAND: new T("&&", 2), bitwiseOR: new T("|", 3), bitwiseXOR: new T("^", 4), bitwiseAND: new T("&", 5), equality: new T("==/!=", 6), relational: new T("", 7), bitShift: new T("<>", 8), plusMin: new k("+/-", { beforeExpr: A, binop: 9, prefix: !0, startsExpr: !0 }), modulo: new T("%", 10), star: new T("*", 10), slash: new T("/", 10), exponent: new k("**", { beforeExpr: A, binop: 11, rightAssociative: !0 }) }, + N = { break: new E("break"), case: new E("case", { beforeExpr: A }), catch: new E("catch"), continue: new E("continue"), debugger: new E("debugger"), default: new E("default", { beforeExpr: A }), do: new E("do", { isLoop: !0, beforeExpr: A }), else: new E("else", { beforeExpr: A }), finally: new E("finally"), for: new E("for", { isLoop: !0 }), function: new E("function", { startsExpr: !0 }), if: new E("if"), return: new E("return", { beforeExpr: A }), switch: new E("switch"), throw: new E("throw", { beforeExpr: A }), try: new E("try"), var: new E("var"), let: new E("let"), const: new E("const"), while: new E("while", { isLoop: !0 }), with: new E("with"), new: new E("new", { beforeExpr: A, startsExpr: !0 }), this: new E("this", { startsExpr: !0 }), super: new E("super", { startsExpr: !0 }), class: new E("class"), extends: new E("extends", { beforeExpr: A }), export: new E("export"), import: new E("import", { startsExpr: !0 }), yield: new E("yield", { beforeExpr: A, startsExpr: !0 }), null: new E("null", { startsExpr: !0 }), true: new E("true", { startsExpr: !0 }), false: new E("false", { startsExpr: !0 }), in: new E("in", { beforeExpr: A, binop: 7 }), instanceof: new E("instanceof", { beforeExpr: A, binop: 7 }), typeof: new E("typeof", { beforeExpr: A, prefix: !0, startsExpr: !0 }), void: new E("void", { beforeExpr: A, prefix: !0, startsExpr: !0 }), delete: new E("delete", { beforeExpr: A, prefix: !0, startsExpr: !0 }) };Object.keys(N).forEach(function (t) { + C["_" + t] = N[t]; + });var S = { 6: i("enum await"), strict: i("implements interface let package private protected public static yield"), strictBind: i("eval arguments") }, + L = i("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this let const class extends export import yield super"), + I = "ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ", + _ = "‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_", + j = new RegExp("[" + I + "]"), + R = new RegExp("[" + I + _ + "]");I = _ = null;var D = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 17, 26, 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, 26, 45, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 785, 52, 76, 44, 33, 24, 27, 35, 42, 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, 54, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 86, 25, 391, 63, 32, 0, 449, 56, 264, 8, 2, 36, 18, 0, 50, 29, 881, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 881, 68, 12, 0, 67, 12, 65, 0, 32, 6124, 20, 754, 9486, 1, 3071, 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, 4149, 196, 60, 67, 1213, 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, 42710, 42, 4148, 12, 221, 3, 5761, 10591, 541], + O = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 1306, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 52, 0, 13, 2, 49, 13, 10, 2, 4, 9, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 57, 0, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 87, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 423, 9, 838, 7, 2, 7, 17, 9, 57, 21, 2, 13, 19882, 9, 135, 4, 60, 6, 26, 9, 1016, 45, 17, 3, 19723, 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, 2214, 6, 110, 6, 6, 9, 792487, 239], + M = /\r\n?|\n|\u2028|\u2029/, + F = new RegExp(M.source, "g"), + B = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/, + q = function t(e, s, i, r) { + g(this, t), this.token = e, this.isExpr = !!s, this.preserveSpace = !!i, this.override = r; + }, + V = { braceStatement: new q("{", !1), braceExpression: new q("{", !0), templateQuasi: new q("${", !0), parenStatement: new q("(", !1), parenExpression: new q("(", !0), template: new q("`", !0, !0, function (t) { + return t.readTmplToken(); + }), functionExpression: new q("function", !0) };C.parenR.updateContext = C.braceR.updateContext = function () { + if (1 !== this.state.context.length) { + var t = this.state.context.pop();t === V.braceStatement && this.curContext() === V.functionExpression ? (this.state.context.pop(), this.state.exprAllowed = !1) : t === V.templateQuasi ? this.state.exprAllowed = !0 : this.state.exprAllowed = !t.isExpr; + } else this.state.exprAllowed = !0; + }, C.name.updateContext = function (t) { + this.state.exprAllowed = !1, t !== C._let && t !== C._const && t !== C._var || M.test(this.input.slice(this.state.end)) && (this.state.exprAllowed = !0); + }, C.braceL.updateContext = function (t) { + this.state.context.push(this.braceIsBlock(t) ? V.braceStatement : V.braceExpression), this.state.exprAllowed = !0; + }, C.dollarBraceL.updateContext = function () { + this.state.context.push(V.templateQuasi), this.state.exprAllowed = !0; + }, C.parenL.updateContext = function (t) { + var e = t === C._if || t === C._for || t === C._with || t === C._while;this.state.context.push(e ? V.parenStatement : V.parenExpression), this.state.exprAllowed = !0; + }, C.incDec.updateContext = function () {}, C._function.updateContext = function () { + this.curContext() !== V.braceStatement && this.state.context.push(V.functionExpression), this.state.exprAllowed = !1; + }, C.backQuote.updateContext = function () { + this.curContext() === V.template ? this.state.context.pop() : this.state.context.push(V.template), this.state.exprAllowed = !1; + };var U = function t(e, s) { + g(this, t), this.line = e, this.column = s; + }, + X = function t(e, s) { + g(this, t), this.start = e, this.end = s; + }, + J = function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.raise = function (t, e) { + var s = h(this.input, t);e += " (" + s.line + ":" + s.column + ")";var i = new SyntaxError(e);throw i.pos = t, i.loc = s, i; + }, e; + }(function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.addComment = function (t) { + this.filename && (t.loc.filename = this.filename), this.state.trailingComments.push(t), this.state.leadingComments.push(t); + }, e.prototype.processComment = function (t) { + if (!("Program" === t.type && t.body.length > 0)) { + var e = this.state.commentStack, + s = void 0, + i = void 0, + r = void 0, + a = void 0, + n = void 0;if (this.state.trailingComments.length > 0) this.state.trailingComments[0].start >= t.end ? (r = this.state.trailingComments, this.state.trailingComments = []) : this.state.trailingComments.length = 0;else { + var o = p(e);e.length > 0 && o.trailingComments && o.trailingComments[0].start >= t.end && (r = o.trailingComments, o.trailingComments = null); + }for (e.length > 0 && p(e).start >= t.start && (s = e.pop()); e.length > 0 && p(e).start >= t.start;) { + i = e.pop(); + }if (!i && s && (i = s), s && ("ObjectProperty" === s.type || "CallExpression" === t.type) && this.state.leadingComments.length > 0 && p(this.state.leadingComments).start >= t.start && this.state.commentPreviousNode) { + for (n = 0; n < this.state.leadingComments.length; n++) { + this.state.leadingComments[n].end < this.state.commentPreviousNode.end && (this.state.leadingComments.splice(n, 1), n--); + }this.state.leadingComments.length > 0 && (s.trailingComments = this.state.leadingComments, this.state.leadingComments = []); + }if (i) { + if (i.leadingComments) if (i !== t && p(i.leadingComments).end <= t.start) t.leadingComments = i.leadingComments, i.leadingComments = null;else for (a = i.leadingComments.length - 2; a >= 0; --a) { + if (i.leadingComments[a].end <= t.start) { + t.leadingComments = i.leadingComments.splice(0, a + 1);break; + } + } + } else if (this.state.leadingComments.length > 0) if (p(this.state.leadingComments).end <= t.start) { + if (this.state.commentPreviousNode) for (n = 0; n < this.state.leadingComments.length; n++) { + this.state.leadingComments[n].end < this.state.commentPreviousNode.end && (this.state.leadingComments.splice(n, 1), n--); + }this.state.leadingComments.length > 0 && (t.leadingComments = this.state.leadingComments, this.state.leadingComments = []); + } else { + for (a = 0; a < this.state.leadingComments.length && !(this.state.leadingComments[a].end > t.start); a++) {}var h = this.state.leadingComments.slice(0, a);t.leadingComments = 0 === h.length ? null : h, 0 === (r = this.state.leadingComments.slice(a)).length && (r = null); + }this.state.commentPreviousNode = t, r && (r.length && r[0].start >= t.start && p(r).end <= t.end ? t.innerComments = r : t.trailingComments = r), e.push(t); + } + }, e; + }(function () { + function t() { + g(this, t); + }return t.prototype.isReservedWord = function (t) { + return "await" === t ? this.inModule : S[6](t); + }, t.prototype.hasPlugin = function (t) { + return !!this.plugins[t]; + }, t; + }())), + W = function () { + function t() { + g(this, t); + }return t.prototype.init = function (t, e) { + this.strict = !1 !== t.strictMode && "module" === t.sourceType, this.input = e, this.potentialArrowAt = -1, this.inMethod = this.inFunction = this.inGenerator = this.inAsync = this.inPropertyName = this.inType = this.inClass = this.inClassProperty = this.noAnonFunctionType = !1, this.labels = [], this.decorators = [], this.tokens = [], this.comments = [], this.trailingComments = [], this.leadingComments = [], this.commentStack = [], this.pos = this.lineStart = 0, this.curLine = t.startLine, this.type = C.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = [V.braceStatement], this.exprAllowed = !0, this.containsEsc = this.containsOctal = !1, this.octalPosition = null, this.invalidTemplateEscapePosition = null, this.exportedIdentifiers = []; + }, t.prototype.curPosition = function () { + return new U(this.curLine, this.pos - this.lineStart); + }, t.prototype.clone = function (e) { + var s = new t();for (var i in this) { + var r = this[i];e && "context" !== i || !Array.isArray(r) || (r = r.slice()), s[i] = r; + }return s; + }, t; + }(), + G = function t(e) { + g(this, t), this.type = e.type, this.value = e.value, this.start = e.start, this.end = e.end, this.loc = new X(e.startLoc, e.endLoc); + }, + K = function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.addExtra = function (t, e, s) { + t && ((t.extra = t.extra || {})[e] = s); + }, e.prototype.isRelational = function (t) { + return this.match(C.relational) && this.state.value === t; + }, e.prototype.expectRelational = function (t) { + this.isRelational(t) ? this.next() : this.unexpected(null, C.relational); + }, e.prototype.isContextual = function (t) { + return this.match(C.name) && this.state.value === t; + }, e.prototype.eatContextual = function (t) { + return this.state.value === t && this.eat(C.name); + }, e.prototype.expectContextual = function (t, e) { + this.eatContextual(t) || this.unexpected(null, e); + }, e.prototype.canInsertSemicolon = function () { + return this.match(C.eof) || this.match(C.braceR) || M.test(this.input.slice(this.state.lastTokEnd, this.state.start)); + }, e.prototype.isLineTerminator = function () { + return this.eat(C.semi) || this.canInsertSemicolon(); + }, e.prototype.semicolon = function () { + this.isLineTerminator() || this.unexpected(null, C.semi); + }, e.prototype.expect = function (t, e) { + this.eat(t) || this.unexpected(e, t); + }, e.prototype.unexpected = function (t) { + var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "Unexpected token";throw "string" != typeof e && (e = "Unexpected token, expected " + e.label), this.raise(null != t ? t : this.state.start, e); + }, e; + }(function (t) { + function e(s, i) { + g(this, e);var r = P(this, t.call(this));return r.state = new W(), r.state.init(s, i), r; + }return w(e, t), e.prototype.next = function () { + this.isLookahead || this.state.tokens.push(new G(this.state)), this.state.lastTokEnd = this.state.end, this.state.lastTokStart = this.state.start, this.state.lastTokEndLoc = this.state.endLoc, this.state.lastTokStartLoc = this.state.startLoc, this.nextToken(); + }, e.prototype.eat = function (t) { + return !!this.match(t) && (this.next(), !0); + }, e.prototype.match = function (t) { + return this.state.type === t; + }, e.prototype.isKeyword = function (t) { + return L(t); + }, e.prototype.lookahead = function () { + var t = this.state;this.state = t.clone(!0), this.isLookahead = !0, this.next(), this.isLookahead = !1;var e = this.state.clone(!0);return this.state = t, e; + }, e.prototype.setStrict = function (t) { + if (this.state.strict = t, this.match(C.num) || this.match(C.string)) { + for (this.state.pos = this.state.start; this.state.pos < this.state.lineStart;) { + this.state.lineStart = this.input.lastIndexOf("\n", this.state.lineStart - 2) + 1, --this.state.curLine; + }this.nextToken(); + } + }, e.prototype.curContext = function () { + return this.state.context[this.state.context.length - 1]; + }, e.prototype.nextToken = function () { + var t = this.curContext();return t && t.preserveSpace || this.skipSpace(), this.state.containsOctal = !1, this.state.octalPosition = null, this.state.start = this.state.pos, this.state.startLoc = this.state.curPosition(), this.state.pos >= this.input.length ? this.finishToken(C.eof) : t.override ? t.override(this) : this.readToken(this.fullCharCodeAtPos()); + }, e.prototype.readToken = function (t) { + return a(t) || 92 === t ? this.readWord() : this.getTokenFromCode(t); + }, e.prototype.fullCharCodeAtPos = function () { + var t = this.input.charCodeAt(this.state.pos);return t <= 55295 || t >= 57344 ? t : (t << 10) + this.input.charCodeAt(this.state.pos + 1) - 56613888; + }, e.prototype.pushComment = function (t, e, s, i, r, a) { + var n = { type: t ? "CommentBlock" : "CommentLine", value: e, start: s, end: i, loc: new X(r, a) };this.isLookahead || (this.state.tokens.push(n), this.state.comments.push(n), this.addComment(n)); + }, e.prototype.skipBlockComment = function () { + var t = this.state.curPosition(), + e = this.state.pos, + s = this.input.indexOf("*/", this.state.pos += 2);-1 === s && this.raise(this.state.pos - 2, "Unterminated comment"), this.state.pos = s + 2, F.lastIndex = e;for (var i = void 0; (i = F.exec(this.input)) && i.index < this.state.pos;) { + ++this.state.curLine, this.state.lineStart = i.index + i[0].length; + }this.pushComment(!0, this.input.slice(e + 2, s), e, this.state.pos, t, this.state.curPosition()); + }, e.prototype.skipLineComment = function (t) { + for (var e = this.state.pos, s = this.state.curPosition(), i = this.input.charCodeAt(this.state.pos += t); this.state.pos < this.input.length && 10 !== i && 13 !== i && 8232 !== i && 8233 !== i;) { + ++this.state.pos, i = this.input.charCodeAt(this.state.pos); + }this.pushComment(!1, this.input.slice(e + t, this.state.pos), e, this.state.pos, s, this.state.curPosition()); + }, e.prototype.skipSpace = function () { + t: for (; this.state.pos < this.input.length;) { + var t = this.input.charCodeAt(this.state.pos);switch (t) {case 32:case 160: + ++this.state.pos;break;case 13: + 10 === this.input.charCodeAt(this.state.pos + 1) && ++this.state.pos;case 10:case 8232:case 8233: + ++this.state.pos, ++this.state.curLine, this.state.lineStart = this.state.pos;break;case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) {case 42: + this.skipBlockComment();break;case 47: + this.skipLineComment(2);break;default: + break t;}break;default: + if (!(t > 8 && t < 14 || t >= 5760 && B.test(String.fromCharCode(t)))) break t;++this.state.pos;} + } + }, e.prototype.finishToken = function (t, e) { + this.state.end = this.state.pos, this.state.endLoc = this.state.curPosition();var s = this.state.type;this.state.type = t, this.state.value = e, this.updateContext(s); + }, e.prototype.readToken_dot = function () { + var t = this.input.charCodeAt(this.state.pos + 1);if (t >= 48 && t <= 57) return this.readNumber(!0);var e = this.input.charCodeAt(this.state.pos + 2);return 46 === t && 46 === e ? (this.state.pos += 3, this.finishToken(C.ellipsis)) : (++this.state.pos, this.finishToken(C.dot)); + }, e.prototype.readToken_slash = function () { + return this.state.exprAllowed ? (++this.state.pos, this.readRegexp()) : 61 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.assign, 2) : this.finishOp(C.slash, 1); + }, e.prototype.readToken_mult_modulo = function (t) { + var e = 42 === t ? C.star : C.modulo, + s = 1, + i = this.input.charCodeAt(this.state.pos + 1);return 42 === i && (s++, i = this.input.charCodeAt(this.state.pos + 2), e = C.exponent), 61 === i && (s++, e = C.assign), this.finishOp(e, s); + }, e.prototype.readToken_pipe_amp = function (t) { + var e = this.input.charCodeAt(this.state.pos + 1);return e === t ? this.finishOp(124 === t ? C.logicalOR : C.logicalAND, 2) : 61 === e ? this.finishOp(C.assign, 2) : 124 === t && 125 === e && this.hasPlugin("flow") ? this.finishOp(C.braceBarR, 2) : this.finishOp(124 === t ? C.bitwiseOR : C.bitwiseAND, 1); + }, e.prototype.readToken_caret = function () { + return 61 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.assign, 2) : this.finishOp(C.bitwiseXOR, 1); + }, e.prototype.readToken_plus_min = function (t) { + var e = this.input.charCodeAt(this.state.pos + 1);return e === t ? 45 === e && 62 === this.input.charCodeAt(this.state.pos + 2) && M.test(this.input.slice(this.state.lastTokEnd, this.state.pos)) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(C.incDec, 2) : 61 === e ? this.finishOp(C.assign, 2) : this.finishOp(C.plusMin, 1); + }, e.prototype.readToken_lt_gt = function (t) { + var e = this.input.charCodeAt(this.state.pos + 1), + s = 1;return e === t ? (s = 62 === t && 62 === this.input.charCodeAt(this.state.pos + 2) ? 3 : 2, 61 === this.input.charCodeAt(this.state.pos + s) ? this.finishOp(C.assign, s + 1) : this.finishOp(C.bitShift, s)) : 33 === e && 60 === t && 45 === this.input.charCodeAt(this.state.pos + 2) && 45 === this.input.charCodeAt(this.state.pos + 3) ? (this.inModule && this.unexpected(), this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (61 === e && (s = 2), this.finishOp(C.relational, s)); + }, e.prototype.readToken_eq_excl = function (t) { + var e = this.input.charCodeAt(this.state.pos + 1);return 61 === e ? this.finishOp(C.equality, 61 === this.input.charCodeAt(this.state.pos + 2) ? 3 : 2) : 61 === t && 62 === e ? (this.state.pos += 2, this.finishToken(C.arrow)) : this.finishOp(61 === t ? C.eq : C.prefix, 1); + }, e.prototype.getTokenFromCode = function (t) { + switch (t) {case 35: + if (this.hasPlugin("classPrivateProperties") && this.state.inClass) return ++this.state.pos, this.finishToken(C.hash);this.raise(this.state.pos, "Unexpected character '" + c(t) + "'");case 46: + return this.readToken_dot();case 40: + return ++this.state.pos, this.finishToken(C.parenL);case 41: + return ++this.state.pos, this.finishToken(C.parenR);case 59: + return ++this.state.pos, this.finishToken(C.semi);case 44: + return ++this.state.pos, this.finishToken(C.comma);case 91: + return ++this.state.pos, this.finishToken(C.bracketL);case 93: + return ++this.state.pos, this.finishToken(C.bracketR);case 123: + return this.hasPlugin("flow") && 124 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.braceBarL, 2) : (++this.state.pos, this.finishToken(C.braceL));case 125: + return ++this.state.pos, this.finishToken(C.braceR);case 58: + return this.hasPlugin("functionBind") && 58 === this.input.charCodeAt(this.state.pos + 1) ? this.finishOp(C.doubleColon, 2) : (++this.state.pos, this.finishToken(C.colon));case 63: + return ++this.state.pos, this.finishToken(C.question);case 64: + return ++this.state.pos, this.finishToken(C.at);case 96: + return ++this.state.pos, this.finishToken(C.backQuote);case 48: + var e = this.input.charCodeAt(this.state.pos + 1);if (120 === e || 88 === e) return this.readRadixNumber(16);if (111 === e || 79 === e) return this.readRadixNumber(8);if (98 === e || 66 === e) return this.readRadixNumber(2);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: + return this.readNumber(!1);case 34:case 39: + return this.readString(t);case 47: + return this.readToken_slash();case 37:case 42: + return this.readToken_mult_modulo(t);case 124:case 38: + return this.readToken_pipe_amp(t);case 94: + return this.readToken_caret();case 43:case 45: + return this.readToken_plus_min(t);case 60:case 62: + return this.readToken_lt_gt(t);case 61:case 33: + return this.readToken_eq_excl(t);case 126: + return this.finishOp(C.prefix, 1);}this.raise(this.state.pos, "Unexpected character '" + c(t) + "'"); + }, e.prototype.finishOp = function (t, e) { + var s = this.input.slice(this.state.pos, this.state.pos + e);return this.state.pos += e, this.finishToken(t, s); + }, e.prototype.readRegexp = function () { + for (var t = this.state.pos, e = void 0, s = void 0;;) { + this.state.pos >= this.input.length && this.raise(t, "Unterminated regular expression");var i = this.input.charAt(this.state.pos);if (M.test(i) && this.raise(t, "Unterminated regular expression"), e) e = !1;else { + if ("[" === i) s = !0;else if ("]" === i && s) s = !1;else if ("/" === i && !s) break;e = "\\" === i; + }++this.state.pos; + }var r = this.input.slice(t, this.state.pos);++this.state.pos;var a = this.readWord1();return a && (/^[gmsiyu]*$/.test(a) || this.raise(t, "Invalid regular expression flag")), this.finishToken(C.regexp, { pattern: r, flags: a }); + }, e.prototype.readInt = function (t, e) { + for (var s = this.state.pos, i = 0, r = 0, a = null == e ? 1 / 0 : e; r < a; ++r) { + var n = this.input.charCodeAt(this.state.pos), + o = void 0;if ((o = n >= 97 ? n - 97 + 10 : n >= 65 ? n - 65 + 10 : n >= 48 && n <= 57 ? n - 48 : 1 / 0) >= t) break;++this.state.pos, i = i * t + o; + }return this.state.pos === s || null != e && this.state.pos - s !== e ? null : i; + }, e.prototype.readRadixNumber = function (t) { + this.state.pos += 2;var e = this.readInt(t);return null == e && this.raise(this.state.start + 2, "Expected number in radix " + t), a(this.fullCharCodeAtPos()) && this.raise(this.state.pos, "Identifier directly after number"), this.finishToken(C.num, e); + }, e.prototype.readNumber = function (t) { + var e = this.state.pos, + s = 48 === this.input.charCodeAt(e), + i = !1;t || null !== this.readInt(10) || this.raise(e, "Invalid number"), s && this.state.pos == e + 1 && (s = !1);var r = this.input.charCodeAt(this.state.pos);46 !== r || s || (++this.state.pos, this.readInt(10), i = !0, r = this.input.charCodeAt(this.state.pos)), 69 !== r && 101 !== r || s || (43 !== (r = this.input.charCodeAt(++this.state.pos)) && 45 !== r || ++this.state.pos, null === this.readInt(10) && this.raise(e, "Invalid number"), i = !0), a(this.fullCharCodeAtPos()) && this.raise(this.state.pos, "Identifier directly after number");var n = this.input.slice(e, this.state.pos), + o = void 0;return i ? o = parseFloat(n) : s && 1 !== n.length ? this.state.strict ? this.raise(e, "Invalid number") : o = /[89]/.test(n) ? parseInt(n, 10) : parseInt(n, 8) : o = parseInt(n, 10), this.finishToken(C.num, o); + }, e.prototype.readCodePoint = function (t) { + var e = void 0;if (123 === this.input.charCodeAt(this.state.pos)) { + var s = ++this.state.pos;if (e = this.readHexChar(this.input.indexOf("}", this.state.pos) - this.state.pos, t), ++this.state.pos, null === e) --this.state.invalidTemplateEscapePosition;else if (e > 1114111) { + if (!t) return this.state.invalidTemplateEscapePosition = s - 2, null;this.raise(s, "Code point out of bounds"); + } + } else e = this.readHexChar(4, t);return e; + }, e.prototype.readString = function (t) { + for (var e = "", s = ++this.state.pos;;) { + this.state.pos >= this.input.length && this.raise(this.state.start, "Unterminated string constant");var i = this.input.charCodeAt(this.state.pos);if (i === t) break;92 === i ? (e += this.input.slice(s, this.state.pos), e += this.readEscapedChar(!1), s = this.state.pos) : (o(i) && this.raise(this.state.start, "Unterminated string constant"), ++this.state.pos); + }return e += this.input.slice(s, this.state.pos++), this.finishToken(C.string, e); + }, e.prototype.readTmplToken = function () { + for (var t = "", e = this.state.pos, s = !1;;) { + this.state.pos >= this.input.length && this.raise(this.state.start, "Unterminated template");var i = this.input.charCodeAt(this.state.pos);if (96 === i || 36 === i && 123 === this.input.charCodeAt(this.state.pos + 1)) return this.state.pos === this.state.start && this.match(C.template) ? 36 === i ? (this.state.pos += 2, this.finishToken(C.dollarBraceL)) : (++this.state.pos, this.finishToken(C.backQuote)) : (t += this.input.slice(e, this.state.pos), this.finishToken(C.template, s ? null : t));if (92 === i) { + t += this.input.slice(e, this.state.pos);var r = this.readEscapedChar(!0);null === r ? s = !0 : t += r, e = this.state.pos; + } else if (o(i)) { + switch (t += this.input.slice(e, this.state.pos), ++this.state.pos, i) {case 13: + 10 === this.input.charCodeAt(this.state.pos) && ++this.state.pos;case 10: + t += "\n";break;default: + t += String.fromCharCode(i);}++this.state.curLine, this.state.lineStart = this.state.pos, e = this.state.pos; + } else ++this.state.pos; + } + }, e.prototype.readEscapedChar = function (t) { + var e = !t, + s = this.input.charCodeAt(++this.state.pos);switch (++this.state.pos, s) {case 110: + return "\n";case 114: + return "\r";case 120: + var i = this.readHexChar(2, e);return null === i ? null : String.fromCharCode(i);case 117: + var r = this.readCodePoint(e);return null === r ? null : c(r);case 116: + return "\t";case 98: + return "\b";case 118: + return "\v";case 102: + return "\f";case 13: + 10 === this.input.charCodeAt(this.state.pos) && ++this.state.pos;case 10: + return this.state.lineStart = this.state.pos, ++this.state.curLine, "";default: + if (s >= 48 && s <= 55) { + var a = this.state.pos - 1, + n = this.input.substr(this.state.pos - 1, 3).match(/^[0-7]+/)[0], + o = parseInt(n, 8);if (o > 255 && (n = n.slice(0, -1), o = parseInt(n, 8)), o > 0) { + if (t) return this.state.invalidTemplateEscapePosition = a, null;this.state.strict ? this.raise(a, "Octal literal in strict mode") : this.state.containsOctal || (this.state.containsOctal = !0, this.state.octalPosition = a); + }return this.state.pos += n.length - 1, String.fromCharCode(o); + }return String.fromCharCode(s);} + }, e.prototype.readHexChar = function (t, e) { + var s = this.state.pos, + i = this.readInt(16, t);return null === i && (e ? this.raise(s, "Bad character escape sequence") : (this.state.pos = s - 1, this.state.invalidTemplateEscapePosition = s - 1)), i; + }, e.prototype.readWord1 = function () { + this.state.containsEsc = !1;for (var t = "", e = !0, s = this.state.pos; this.state.pos < this.input.length;) { + var i = this.fullCharCodeAtPos();if (n(i)) this.state.pos += i <= 65535 ? 1 : 2;else { + if (92 !== i) break;this.state.containsEsc = !0, t += this.input.slice(s, this.state.pos);var r = this.state.pos;117 !== this.input.charCodeAt(++this.state.pos) && this.raise(this.state.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.state.pos;var o = this.readCodePoint(!0);(e ? a : n)(o, !0) || this.raise(r, "Invalid Unicode escape"), t += c(o), s = this.state.pos; + }e = !1; + }return t + this.input.slice(s, this.state.pos); + }, e.prototype.readWord = function () { + var t = this.readWord1(), + e = C.name;return !this.state.containsEsc && this.isKeyword(t) && (e = N[t]), this.finishToken(e, t); + }, e.prototype.braceIsBlock = function (t) { + if (t === C.colon) { + var e = this.curContext();if (e === V.braceStatement || e === V.braceExpression) return !e.isExpr; + }return t === C._return ? M.test(this.input.slice(this.state.lastTokEnd, this.state.start)) : t === C._else || t === C.semi || t === C.eof || t === C.parenR || (t === C.braceL ? this.curContext() === V.braceStatement : !this.state.exprAllowed); + }, e.prototype.updateContext = function (t) { + var e = this.state.type, + s = void 0;e.keyword && t === C.dot ? this.state.exprAllowed = !1 : (s = e.updateContext) ? s.call(this, t) : this.state.exprAllowed = e.beforeExpr; + }, e; + }(J)), + z = ["leadingComments", "trailingComments", "innerComments"], + Q = function () { + function t(e, s, i) { + g(this, t), this.type = "", this.start = s, this.end = 0, this.loc = new X(i), e && e.options.ranges && (this.range = [s, 0]), e && e.filename && (this.loc.filename = e.filename); + }return t.prototype.__clone = function () { + var e = new t();for (var s in this) { + z.indexOf(s) < 0 && (e[s] = this[s]); + }return e; + }, t; + }(), + Y = [], + H = { kind: "loop" }, + $ = { kind: "switch" }, + Z = {}, + tt = function (t) { + function e(i, r) { + g(this, e), i = s(i);var a = P(this, t.call(this, i, r));return a.options = i, a.inModule = "module" === a.options.sourceType, a.input = r, a.plugins = l(a.options.plugins), a.filename = i.sourceFilename, 0 === a.state.pos && "#" === a.input[0] && "!" === a.input[1] && a.skipLineComment(2), a; + }return w(e, t), e.prototype.parse = function () { + var t = this.startNode(), + e = this.startNode();return this.nextToken(), this.parseTopLevel(t, e); + }, e; + }(function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.parseTopLevel = function (t, e) { + return e.sourceType = this.options.sourceType, this.parseBlockBody(e, !0, !0, C.eof), t.program = this.finishNode(e, "Program"), t.comments = this.state.comments, t.tokens = this.state.tokens, this.finishNode(t, "File"); + }, e.prototype.stmtToDirective = function (t) { + var e = t.expression, + s = this.startNodeAt(e.start, e.loc.start), + i = this.startNodeAt(t.start, t.loc.start), + r = this.input.slice(e.start, e.end), + a = s.value = r.slice(1, -1);return this.addExtra(s, "raw", r), this.addExtra(s, "rawValue", a), i.value = this.finishNodeAt(s, "DirectiveLiteral", e.end, e.loc.end), this.finishNodeAt(i, "Directive", t.end, t.loc.end); + }, e.prototype.parseStatement = function (t, e) { + this.match(C.at) && this.parseDecorators(!0);var s = this.state.type, + i = this.startNode();switch (s) {case C._break:case C._continue: + return this.parseBreakContinueStatement(i, s.keyword);case C._debugger: + return this.parseDebuggerStatement(i);case C._do: + return this.parseDoStatement(i);case C._for: + return this.parseForStatement(i);case C._function: + return t || this.unexpected(), this.parseFunctionStatement(i);case C._class: + return t || this.unexpected(), this.parseClass(i, !0);case C._if: + return this.parseIfStatement(i);case C._return: + return this.parseReturnStatement(i);case C._switch: + return this.parseSwitchStatement(i);case C._throw: + return this.parseThrowStatement(i);case C._try: + return this.parseTryStatement(i);case C._let:case C._const: + t || this.unexpected();case C._var: + return this.parseVarStatement(i, s);case C._while: + return this.parseWhileStatement(i);case C._with: + return this.parseWithStatement(i);case C.braceL: + return this.parseBlock();case C.semi: + return this.parseEmptyStatement(i);case C._export:case C._import: + if (this.hasPlugin("dynamicImport") && this.lookahead().type === C.parenL) break;return this.options.allowImportExportEverywhere || (e || this.raise(this.state.start, "'import' and 'export' may only appear at the top level"), this.inModule || this.raise(this.state.start, "'import' and 'export' may appear only with 'sourceType: module'")), s === C._import ? this.parseImport(i) : this.parseExport(i);case C.name: + if ("async" === this.state.value) { + var r = this.state.clone();if (this.next(), this.match(C._function) && !this.canInsertSemicolon()) return this.expect(C._function), this.parseFunction(i, !0, !1, !0);this.state = r; + }}var a = this.state.value, + n = this.parseExpression();return s === C.name && "Identifier" === n.type && this.eat(C.colon) ? this.parseLabeledStatement(i, a, n) : this.parseExpressionStatement(i, n); + }, e.prototype.takeDecorators = function (t) { + this.state.decorators.length && (t.decorators = this.state.decorators, this.state.decorators = []); + }, e.prototype.parseDecorators = function (t) { + for (; this.match(C.at);) { + var e = this.parseDecorator();this.state.decorators.push(e); + }t && this.match(C._export) || this.match(C._class) || this.raise(this.state.start, "Leading decorators must be attached to a class declaration"); + }, e.prototype.parseDecorator = function () { + this.hasPlugin("decorators") || this.unexpected();var t = this.startNode();return this.next(), t.expression = this.parseMaybeAssign(), this.finishNode(t, "Decorator"); + }, e.prototype.parseBreakContinueStatement = function (t, e) { + var s = "break" === e;this.next(), this.isLineTerminator() ? t.label = null : this.match(C.name) ? (t.label = this.parseIdentifier(), this.semicolon()) : this.unexpected();var i = void 0;for (i = 0; i < this.state.labels.length; ++i) { + var r = this.state.labels[i];if (null == t.label || r.name === t.label.name) { + if (null != r.kind && (s || "loop" === r.kind)) break;if (t.label && s) break; + } + }return i === this.state.labels.length && this.raise(t.start, "Unsyntactic " + e), this.finishNode(t, s ? "BreakStatement" : "ContinueStatement"); + }, e.prototype.parseDebuggerStatement = function (t) { + return this.next(), this.semicolon(), this.finishNode(t, "DebuggerStatement"); + }, e.prototype.parseDoStatement = function (t) { + return this.next(), this.state.labels.push(H), t.body = this.parseStatement(!1), this.state.labels.pop(), this.expect(C._while), t.test = this.parseParenExpression(), this.eat(C.semi), this.finishNode(t, "DoWhileStatement"); + }, e.prototype.parseForStatement = function (t) { + this.next(), this.state.labels.push(H);var e = !1;if (this.hasPlugin("asyncGenerators") && this.state.inAsync && this.isContextual("await") && (e = !0, this.next()), this.expect(C.parenL), this.match(C.semi)) return e && this.unexpected(), this.parseFor(t, null);if (this.match(C._var) || this.match(C._let) || this.match(C._const)) { + var s = this.startNode(), + i = this.state.type;return this.next(), this.parseVar(s, !0, i), this.finishNode(s, "VariableDeclaration"), !this.match(C._in) && !this.isContextual("of") || 1 !== s.declarations.length || s.declarations[0].init ? (e && this.unexpected(), this.parseFor(t, s)) : this.parseForIn(t, s, e); + }var r = { start: 0 }, + a = this.parseExpression(!0, r);if (this.match(C._in) || this.isContextual("of")) { + var n = this.isContextual("of") ? "for-of statement" : "for-in statement";return this.toAssignable(a, void 0, n), this.checkLVal(a, void 0, void 0, n), this.parseForIn(t, a, e); + }return r.start && this.unexpected(r.start), e && this.unexpected(), this.parseFor(t, a); + }, e.prototype.parseFunctionStatement = function (t) { + return this.next(), this.parseFunction(t, !0); + }, e.prototype.parseIfStatement = function (t) { + return this.next(), t.test = this.parseParenExpression(), t.consequent = this.parseStatement(!1), t.alternate = this.eat(C._else) ? this.parseStatement(!1) : null, this.finishNode(t, "IfStatement"); + }, e.prototype.parseReturnStatement = function (t) { + return this.state.inFunction || this.options.allowReturnOutsideFunction || this.raise(this.state.start, "'return' outside of function"), this.next(), this.isLineTerminator() ? t.argument = null : (t.argument = this.parseExpression(), this.semicolon()), this.finishNode(t, "ReturnStatement"); + }, e.prototype.parseSwitchStatement = function (t) { + this.next(), t.discriminant = this.parseParenExpression();var e = t.cases = [];this.expect(C.braceL), this.state.labels.push($);for (var s, i = void 0; !this.match(C.braceR);) { + if (this.match(C._case) || this.match(C._default)) { + var r = this.match(C._case);i && this.finishNode(i, "SwitchCase"), e.push(i = this.startNode()), i.consequent = [], this.next(), r ? i.test = this.parseExpression() : (s && this.raise(this.state.lastTokStart, "Multiple default clauses"), s = !0, i.test = null), this.expect(C.colon); + } else i ? i.consequent.push(this.parseStatement(!0)) : this.unexpected(); + }return i && this.finishNode(i, "SwitchCase"), this.next(), this.state.labels.pop(), this.finishNode(t, "SwitchStatement"); + }, e.prototype.parseThrowStatement = function (t) { + return this.next(), M.test(this.input.slice(this.state.lastTokEnd, this.state.start)) && this.raise(this.state.lastTokEnd, "Illegal newline after throw"), t.argument = this.parseExpression(), this.semicolon(), this.finishNode(t, "ThrowStatement"); + }, e.prototype.parseTryStatement = function (t) { + if (this.next(), t.block = this.parseBlock(), t.handler = null, this.match(C._catch)) { + var e = this.startNode();this.next(), this.expect(C.parenL), e.param = this.parseBindingAtom(), this.checkLVal(e.param, !0, Object.create(null), "catch clause"), this.expect(C.parenR), e.body = this.parseBlock(), t.handler = this.finishNode(e, "CatchClause"); + }return t.guardedHandlers = Y, t.finalizer = this.eat(C._finally) ? this.parseBlock() : null, t.handler || t.finalizer || this.raise(t.start, "Missing catch or finally clause"), this.finishNode(t, "TryStatement"); + }, e.prototype.parseVarStatement = function (t, e) { + return this.next(), this.parseVar(t, !1, e), this.semicolon(), this.finishNode(t, "VariableDeclaration"); + }, e.prototype.parseWhileStatement = function (t) { + return this.next(), t.test = this.parseParenExpression(), this.state.labels.push(H), t.body = this.parseStatement(!1), this.state.labels.pop(), this.finishNode(t, "WhileStatement"); + }, e.prototype.parseWithStatement = function (t) { + return this.state.strict && this.raise(this.state.start, "'with' in strict mode"), this.next(), t.object = this.parseParenExpression(), t.body = this.parseStatement(!1), this.finishNode(t, "WithStatement"); + }, e.prototype.parseEmptyStatement = function (t) { + return this.next(), this.finishNode(t, "EmptyStatement"); + }, e.prototype.parseLabeledStatement = function (t, e, s) { + for (var i = this.state.labels, r = Array.isArray(i), a = 0, i = r ? i : i[Symbol.iterator]();;) { + var n;if (r) { + if (a >= i.length) break;n = i[a++]; + } else { + if ((a = i.next()).done) break;n = a.value; + }n.name === e && this.raise(s.start, "Label '" + e + "' is already declared"); + }for (var o = this.state.type.isLoop ? "loop" : this.match(C._switch) ? "switch" : null, h = this.state.labels.length - 1; h >= 0; h--) { + var p = this.state.labels[h];if (p.statementStart !== t.start) break;p.statementStart = this.state.start, p.kind = o; + }return this.state.labels.push({ name: e, kind: o, statementStart: this.state.start }), t.body = this.parseStatement(!0), this.state.labels.pop(), t.label = s, this.finishNode(t, "LabeledStatement"); + }, e.prototype.parseExpressionStatement = function (t, e) { + return t.expression = e, this.semicolon(), this.finishNode(t, "ExpressionStatement"); + }, e.prototype.parseBlock = function (t) { + var e = this.startNode();return this.expect(C.braceL), this.parseBlockBody(e, t, !1, C.braceR), this.finishNode(e, "BlockStatement"); + }, e.prototype.isValidDirective = function (t) { + return "ExpressionStatement" === t.type && "StringLiteral" === t.expression.type && !t.expression.extra.parenthesized; + }, e.prototype.parseBlockBody = function (t, e, s, i) { + for (var r = t.body = [], a = t.directives = [], n = !1, o = void 0, h = void 0; !this.eat(i);) { + n || !this.state.containsOctal || h || (h = this.state.octalPosition);var p = this.parseStatement(!0, s);if (e && !n && this.isValidDirective(p)) { + var c = this.stmtToDirective(p);a.push(c), void 0 === o && "use strict" === c.value.value && (o = this.state.strict, this.setStrict(!0), h && this.raise(h, "Octal literal in strict mode")); + } else n = !0, r.push(p); + }!1 === o && this.setStrict(!1); + }, e.prototype.parseFor = function (t, e) { + return t.init = e, this.expect(C.semi), t.test = this.match(C.semi) ? null : this.parseExpression(), this.expect(C.semi), t.update = this.match(C.parenR) ? null : this.parseExpression(), this.expect(C.parenR), t.body = this.parseStatement(!1), this.state.labels.pop(), this.finishNode(t, "ForStatement"); + }, e.prototype.parseForIn = function (t, e, s) { + var i = this.match(C._in) ? "ForInStatement" : "ForOfStatement";return s ? this.eatContextual("of") : this.next(), "ForOfStatement" === i && (t.await = !!s), t.left = e, t.right = this.parseExpression(), this.expect(C.parenR), t.body = this.parseStatement(!1), this.state.labels.pop(), this.finishNode(t, i); + }, e.prototype.parseVar = function (t, e, s) { + var i = t.declarations = [];for (t.kind = s.keyword;;) { + var r = this.startNode();if (this.parseVarHead(r), this.eat(C.eq) ? r.init = this.parseMaybeAssign(e) : s !== C._const || this.match(C._in) || this.isContextual("of") ? "Identifier" === r.id.type || e && (this.match(C._in) || this.isContextual("of")) ? r.init = null : this.raise(this.state.lastTokEnd, "Complex binding patterns require an initialization value") : this.unexpected(), i.push(this.finishNode(r, "VariableDeclarator")), !this.eat(C.comma)) break; + }return t; + }, e.prototype.parseVarHead = function (t) { + t.id = this.parseBindingAtom(), this.checkLVal(t.id, !0, void 0, "variable declaration"); + }, e.prototype.parseFunction = function (t, e, s, i, r) { + var a = this.state.inMethod;return this.state.inMethod = !1, this.initFunction(t, i), this.match(C.star) && (t.async && !this.hasPlugin("asyncGenerators") ? this.unexpected() : (t.generator = !0, this.next())), !e || r || this.match(C.name) || this.match(C._yield) || this.unexpected(), (this.match(C.name) || this.match(C._yield)) && (t.id = this.parseBindingIdentifier()), this.parseFunctionParams(t), this.parseFunctionBody(t, s), this.state.inMethod = a, this.finishNode(t, e ? "FunctionDeclaration" : "FunctionExpression"); + }, e.prototype.parseFunctionParams = function (t) { + this.expect(C.parenL), t.params = this.parseBindingList(C.parenR); + }, e.prototype.parseClass = function (t, e, s) { + return this.next(), this.takeDecorators(t), this.parseClassId(t, e, s), this.parseClassSuper(t), this.parseClassBody(t), this.finishNode(t, e ? "ClassDeclaration" : "ClassExpression"); + }, e.prototype.isClassProperty = function () { + return this.match(C.eq) || this.match(C.semi) || this.match(C.braceR); + }, e.prototype.isClassMethod = function () { + return this.match(C.parenL); + }, e.prototype.isNonstaticConstructor = function (t) { + return !(t.computed || t.static || "constructor" !== t.key.name && "constructor" !== t.key.value); + }, e.prototype.parseClassBody = function (t) { + var e = this.state.strict;this.state.strict = !0, this.state.inClass = !0;var s = !1, + i = [], + r = this.startNode();for (r.body = [], this.expect(C.braceL); !this.eat(C.braceR);) { + if (this.eat(C.semi)) i.length > 0 && this.raise(this.state.lastTokEnd, "Decorators must not be followed by a semicolon");else if (this.match(C.at)) i.push(this.parseDecorator());else { + var a = this.startNode();if (i.length && (a.decorators = i, i = []), this.hasPlugin("classPrivateProperties") && this.match(C.hash)) this.next(), this.parsePropertyName(a), r.body.push(this.parsePrivateClassProperty(a));else { + if (a.static = !1, this.match(C.name) && "static" === this.state.value) { + var n = this.parseIdentifier(!0);if (this.isClassMethod()) { + a.kind = "method", a.computed = !1, a.key = n, this.parseClassMethod(r, a, !1, !1);continue; + }if (this.isClassProperty()) { + a.computed = !1, a.key = n, r.body.push(this.parseClassProperty(a));continue; + }a.static = !0; + }if (this.eat(C.star)) a.kind = "method", this.parsePropertyName(a), this.isNonstaticConstructor(a) && this.raise(a.key.start, "Constructor can't be a generator"), a.computed || !a.static || "prototype" !== a.key.name && "prototype" !== a.key.value || this.raise(a.key.start, "Classes may not have static property named prototype"), this.parseClassMethod(r, a, !0, !1);else { + var o = this.match(C.name), + h = this.parsePropertyName(a);if (a.computed || !a.static || "prototype" !== a.key.name && "prototype" !== a.key.value || this.raise(a.key.start, "Classes may not have static property named prototype"), this.isClassMethod()) this.isNonstaticConstructor(a) ? (s ? this.raise(h.start, "Duplicate constructor in the same class") : a.decorators && this.raise(a.start, "You can't attach decorators to a class constructor"), s = !0, a.kind = "constructor") : a.kind = "method", this.parseClassMethod(r, a, !1, !1);else if (this.isClassProperty()) this.isNonstaticConstructor(a) && this.raise(a.key.start, "Classes may not have a non-static field named 'constructor'"), r.body.push(this.parseClassProperty(a));else if (o && "async" === h.name && !this.isLineTerminator()) { + var p = this.hasPlugin("asyncGenerators") && this.eat(C.star);a.kind = "method", this.parsePropertyName(a), this.isNonstaticConstructor(a) && this.raise(a.key.start, "Constructor can't be an async function"), this.parseClassMethod(r, a, p, !0); + } else !o || "get" !== h.name && "set" !== h.name || this.isLineTerminator() && this.match(C.star) ? this.isLineTerminator() ? (this.isNonstaticConstructor(a) && this.raise(a.key.start, "Classes may not have a non-static field named 'constructor'"), r.body.push(this.parseClassProperty(a))) : this.unexpected() : (a.kind = h.name, this.parsePropertyName(a), this.isNonstaticConstructor(a) && this.raise(a.key.start, "Constructor can't have get/set modifier"), this.parseClassMethod(r, a, !1, !1), this.checkGetterSetterParamCount(a)); + } + } + } + }i.length && this.raise(this.state.start, "You have trailing decorators with no method"), t.body = this.finishNode(r, "ClassBody"), this.state.inClass = !1, this.state.strict = e; + }, e.prototype.parsePrivateClassProperty = function (t) { + return this.state.inClassProperty = !0, this.match(C.eq) ? (this.next(), t.value = this.parseMaybeAssign()) : t.value = null, this.semicolon(), this.state.inClassProperty = !1, this.finishNode(t, "ClassPrivateProperty"); + }, e.prototype.parseClassProperty = function (t) { + var e = this.hasPlugin("classProperties"), + s = "You can only use Class Properties when the 'classProperties' plugin is enabled.";return t.typeAnnotation || e || this.raise(t.start, s), this.state.inClassProperty = !0, this.match(C.eq) ? (e || this.raise(this.state.start, s), this.next(), t.value = this.parseMaybeAssign()) : t.value = null, this.semicolon(), this.state.inClassProperty = !1, this.finishNode(t, "ClassProperty"); + }, e.prototype.parseClassMethod = function (t, e, s, i) { + this.parseMethod(e, s, i), t.body.push(this.finishNode(e, "ClassMethod")); + }, e.prototype.parseClassId = function (t, e, s) { + this.match(C.name) ? t.id = this.parseIdentifier() : s || !e ? t.id = null : this.unexpected(null, "A class name is required"); + }, e.prototype.parseClassSuper = function (t) { + t.superClass = this.eat(C._extends) ? this.parseExprSubscripts() : null; + }, e.prototype.parseExport = function (t) { + if (this.eat(C._export), this.match(C.star)) { + var e = this.startNode();if (this.next(), !this.hasPlugin("exportExtensions") || !this.eatContextual("as")) return this.parseExportFrom(t, !0), this.finishNode(t, "ExportAllDeclaration");e.exported = this.parseIdentifier(!0), t.specifiers = [this.finishNode(e, "ExportNamespaceSpecifier")], this.parseExportSpecifiersMaybe(t), this.parseExportFrom(t, !0); + } else if (this.hasPlugin("exportExtensions") && this.isExportDefaultSpecifier()) { + var s = this.startNode();s.exported = this.parseIdentifier(!0);var i = [this.finishNode(s, "ExportDefaultSpecifier")];if (t.specifiers = i, this.match(C.comma) && this.lookahead().type === C.star) { + this.expect(C.comma);var r = this.startNode();this.expect(C.star), this.expectContextual("as"), r.exported = this.parseIdentifier(), i.push(this.finishNode(r, "ExportNamespaceSpecifier")); + } else this.parseExportSpecifiersMaybe(t);this.parseExportFrom(t, !0); + } else { + if (this.eat(C._default)) { + var a = this.startNode(), + n = !1;return this.eat(C._function) ? a = this.parseFunction(a, !0, !1, !1, !0) : this.isContextual("async") && this.lookahead().type === C._function ? (this.eatContextual("async"), this.eat(C._function), a = this.parseFunction(a, !0, !1, !0, !0)) : this.match(C._class) ? a = this.parseClass(a, !0, !0) : (n = !0, a = this.parseMaybeAssign()), t.declaration = a, n && this.semicolon(), this.checkExport(t, !0, !0), this.finishNode(t, "ExportDefaultDeclaration"); + }this.shouldParseExportDeclaration() ? (t.specifiers = [], t.source = null, t.declaration = this.parseExportDeclaration(t)) : (t.declaration = null, t.specifiers = this.parseExportSpecifiers(), this.parseExportFrom(t)); + }return this.checkExport(t, !0), this.finishNode(t, "ExportNamedDeclaration"); + }, e.prototype.parseExportDeclaration = function (t) { + return this.parseStatement(!0); + }, e.prototype.isExportDefaultSpecifier = function () { + if (this.match(C.name)) return "async" !== this.state.value;if (!this.match(C._default)) return !1;var t = this.lookahead();return t.type === C.comma || t.type === C.name && "from" === t.value; + }, e.prototype.parseExportSpecifiersMaybe = function (t) { + this.eat(C.comma) && (t.specifiers = t.specifiers.concat(this.parseExportSpecifiers())); + }, e.prototype.parseExportFrom = function (t, e) { + this.eatContextual("from") ? (t.source = this.match(C.string) ? this.parseExprAtom() : this.unexpected(), this.checkExport(t)) : e ? this.unexpected() : t.source = null, this.semicolon(); + }, e.prototype.shouldParseExportDeclaration = function () { + return "var" === this.state.type.keyword || "const" === this.state.type.keyword || "let" === this.state.type.keyword || "function" === this.state.type.keyword || "class" === this.state.type.keyword || this.isContextual("async"); + }, e.prototype.checkExport = function (t, e, s) { + if (e) if (s) this.checkDuplicateExports(t, "default");else if (t.specifiers && t.specifiers.length) for (var i = t.specifiers, r = Array.isArray(i), a = 0, i = r ? i : i[Symbol.iterator]();;) { + var n;if (r) { + if (a >= i.length) break;n = i[a++]; + } else { + if ((a = i.next()).done) break;n = a.value; + }var o = n;this.checkDuplicateExports(o, o.exported.name); + } else if (t.declaration) if ("FunctionDeclaration" === t.declaration.type || "ClassDeclaration" === t.declaration.type) this.checkDuplicateExports(t, t.declaration.id.name);else if ("VariableDeclaration" === t.declaration.type) for (var h = t.declaration.declarations, p = Array.isArray(h), c = 0, h = p ? h : h[Symbol.iterator]();;) { + var l;if (p) { + if (c >= h.length) break;l = h[c++]; + } else { + if ((c = h.next()).done) break;l = c.value; + }var u = l;this.checkDeclaration(u.id); + }if (this.state.decorators.length) { + var d = t.declaration && ("ClassDeclaration" === t.declaration.type || "ClassExpression" === t.declaration.type);if (!t.declaration || !d) throw this.raise(t.start, "You can only use decorators on an export when exporting a class");this.takeDecorators(t.declaration); + } + }, e.prototype.checkDeclaration = function (t) { + if ("ObjectPattern" === t.type) for (var e = t.properties, s = Array.isArray(e), i = 0, e = s ? e : e[Symbol.iterator]();;) { + var r;if (s) { + if (i >= e.length) break;r = e[i++]; + } else { + if ((i = e.next()).done) break;r = i.value; + }var a = r;this.checkDeclaration(a); + } else if ("ArrayPattern" === t.type) for (var n = t.elements, o = Array.isArray(n), h = 0, n = o ? n : n[Symbol.iterator]();;) { + var p;if (o) { + if (h >= n.length) break;p = n[h++]; + } else { + if ((h = n.next()).done) break;p = h.value; + }var c = p;c && this.checkDeclaration(c); + } else "ObjectProperty" === t.type ? this.checkDeclaration(t.value) : "RestElement" === t.type ? this.checkDeclaration(t.argument) : "Identifier" === t.type && this.checkDuplicateExports(t, t.name); + }, e.prototype.checkDuplicateExports = function (t, e) { + this.state.exportedIdentifiers.indexOf(e) > -1 && this.raiseDuplicateExportError(t, e), this.state.exportedIdentifiers.push(e); + }, e.prototype.raiseDuplicateExportError = function (t, e) { + throw this.raise(t.start, "default" === e ? "Only one default export allowed per module." : "`" + e + "` has already been exported. Exported identifiers must be unique."); + }, e.prototype.parseExportSpecifiers = function () { + var t = [], + e = !0, + s = void 0;for (this.expect(C.braceL); !this.eat(C.braceR);) { + if (e) e = !1;else if (this.expect(C.comma), this.eat(C.braceR)) break;var i = this.match(C._default);i && !s && (s = !0);var r = this.startNode();r.local = this.parseIdentifier(i), r.exported = this.eatContextual("as") ? this.parseIdentifier(!0) : r.local.__clone(), t.push(this.finishNode(r, "ExportSpecifier")); + }return s && !this.isContextual("from") && this.unexpected(), t; + }, e.prototype.parseImport = function (t) { + return this.eat(C._import), this.match(C.string) ? (t.specifiers = [], t.source = this.parseExprAtom()) : (t.specifiers = [], this.parseImportSpecifiers(t), this.expectContextual("from"), t.source = this.match(C.string) ? this.parseExprAtom() : this.unexpected()), this.semicolon(), this.finishNode(t, "ImportDeclaration"); + }, e.prototype.parseImportSpecifiers = function (t) { + var e = !0;if (this.match(C.name)) { + var s = this.state.start, + i = this.state.startLoc;if (t.specifiers.push(this.parseImportSpecifierDefault(this.parseIdentifier(), s, i)), !this.eat(C.comma)) return; + }if (this.match(C.star)) { + var r = this.startNode();return this.next(), this.expectContextual("as"), r.local = this.parseIdentifier(), this.checkLVal(r.local, !0, void 0, "import namespace specifier"), void t.specifiers.push(this.finishNode(r, "ImportNamespaceSpecifier")); + }for (this.expect(C.braceL); !this.eat(C.braceR);) { + if (e) e = !1;else if (this.eat(C.colon) && this.unexpected(null, "ES2015 named imports do not destructure. Use another statement for destructuring after the import."), this.expect(C.comma), this.eat(C.braceR)) break;this.parseImportSpecifier(t); + } + }, e.prototype.parseImportSpecifier = function (t) { + var e = this.startNode();e.imported = this.parseIdentifier(!0), this.eatContextual("as") ? e.local = this.parseIdentifier() : (this.checkReservedWord(e.imported.name, e.start, !0, !0), e.local = e.imported.__clone()), this.checkLVal(e.local, !0, void 0, "import specifier"), t.specifiers.push(this.finishNode(e, "ImportSpecifier")); + }, e.prototype.parseImportSpecifierDefault = function (t, e, s) { + var i = this.startNodeAt(e, s);return i.local = t, this.checkLVal(i.local, !0, void 0, "default import specifier"), this.finishNode(i, "ImportDefaultSpecifier"); + }, e; + }(function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.checkPropClash = function (t, e) { + if (!t.computed && !t.kind) { + var s = t.key;"__proto__" === ("Identifier" === s.type ? s.name : String(s.value)) && (e.proto && this.raise(s.start, "Redefinition of __proto__ property"), e.proto = !0); + } + }, e.prototype.getExpression = function () { + this.nextToken();var t = this.parseExpression();return this.match(C.eof) || this.unexpected(), t; + }, e.prototype.parseExpression = function (t, e) { + var s = this.state.start, + i = this.state.startLoc, + r = this.parseMaybeAssign(t, e);if (this.match(C.comma)) { + var a = this.startNodeAt(s, i);for (a.expressions = [r]; this.eat(C.comma);) { + a.expressions.push(this.parseMaybeAssign(t, e)); + }return this.toReferencedList(a.expressions), this.finishNode(a, "SequenceExpression"); + }return r; + }, e.prototype.parseMaybeAssign = function (t, e, s, i) { + var r = this.state.start, + a = this.state.startLoc;if (this.match(C._yield) && this.state.inGenerator) { + var n = this.parseYield();return s && (n = s.call(this, n, r, a)), n; + }var o = void 0;e ? o = !1 : (e = { start: 0 }, o = !0), (this.match(C.parenL) || this.match(C.name)) && (this.state.potentialArrowAt = this.state.start);var h = this.parseMaybeConditional(t, e, i);if (s && (h = s.call(this, h, r, a)), this.state.type.isAssign) { + var p = this.startNodeAt(r, a);if (p.operator = this.state.value, p.left = this.match(C.eq) ? this.toAssignable(h, void 0, "assignment expression") : h, e.start = 0, this.checkLVal(h, void 0, void 0, "assignment expression"), h.extra && h.extra.parenthesized) { + var c = void 0;"ObjectPattern" === h.type ? c = "`({a}) = 0` use `({a} = 0)`" : "ArrayPattern" === h.type && (c = "`([a]) = 0` use `([a] = 0)`"), c && this.raise(h.start, "You're trying to assign to a parenthesized expression, eg. instead of " + c); + }return this.next(), p.right = this.parseMaybeAssign(t), this.finishNode(p, "AssignmentExpression"); + }return o && e.start && this.unexpected(e.start), h; + }, e.prototype.parseMaybeConditional = function (t, e, s) { + var i = this.state.start, + r = this.state.startLoc, + a = this.parseExprOps(t, e);return e && e.start ? a : this.parseConditional(a, t, i, r, s); + }, e.prototype.parseConditional = function (t, e, s, i) { + if (this.eat(C.question)) { + var r = this.startNodeAt(s, i);return r.test = t, r.consequent = this.parseMaybeAssign(), this.expect(C.colon), r.alternate = this.parseMaybeAssign(e), this.finishNode(r, "ConditionalExpression"); + }return t; + }, e.prototype.parseExprOps = function (t, e) { + var s = this.state.start, + i = this.state.startLoc, + r = this.parseMaybeUnary(e);return e && e.start ? r : this.parseExprOp(r, s, i, -1, t); + }, e.prototype.parseExprOp = function (t, e, s, i, r) { + var a = this.state.type.binop;if (!(null == a || r && this.match(C._in)) && a > i) { + var n = this.startNodeAt(e, s);n.left = t, n.operator = this.state.value, "**" !== n.operator || "UnaryExpression" !== t.type || !t.extra || t.extra.parenthesizedArgument || t.extra.parenthesized || this.raise(t.argument.start, "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.");var o = this.state.type;this.next();var h = this.state.start, + p = this.state.startLoc;return n.right = this.parseExprOp(this.parseMaybeUnary(), h, p, o.rightAssociative ? a - 1 : a, r), this.finishNode(n, o === C.logicalOR || o === C.logicalAND ? "LogicalExpression" : "BinaryExpression"), this.parseExprOp(n, e, s, i, r); + }return t; + }, e.prototype.parseMaybeUnary = function (t) { + if (this.state.type.prefix) { + var e = this.startNode(), + s = this.match(C.incDec);e.operator = this.state.value, e.prefix = !0, this.next();var i = this.state.type;return e.argument = this.parseMaybeUnary(), this.addExtra(e, "parenthesizedArgument", !(i !== C.parenL || e.argument.extra && e.argument.extra.parenthesized)), t && t.start && this.unexpected(t.start), s ? this.checkLVal(e.argument, void 0, void 0, "prefix operation") : this.state.strict && "delete" === e.operator && "Identifier" === e.argument.type && this.raise(e.start, "Deleting local variable in strict mode"), this.finishNode(e, s ? "UpdateExpression" : "UnaryExpression"); + }var r = this.state.start, + a = this.state.startLoc, + n = this.parseExprSubscripts(t);if (t && t.start) return n;for (; this.state.type.postfix && !this.canInsertSemicolon();) { + var o = this.startNodeAt(r, a);o.operator = this.state.value, o.prefix = !1, o.argument = n, this.checkLVal(n, void 0, void 0, "postfix operation"), this.next(), n = this.finishNode(o, "UpdateExpression"); + }return n; + }, e.prototype.parseExprSubscripts = function (t) { + var e = this.state.start, + s = this.state.startLoc, + i = this.state.potentialArrowAt, + r = this.parseExprAtom(t);return "ArrowFunctionExpression" === r.type && r.start === i ? r : t && t.start ? r : this.parseSubscripts(r, e, s); + }, e.prototype.parseSubscripts = function (t, e, s, i) { + for (;;) { + if (!i && this.eat(C.doubleColon)) { + var r = this.startNodeAt(e, s);return r.object = t, r.callee = this.parseNoCallExpr(), this.parseSubscripts(this.finishNode(r, "BindExpression"), e, s, i); + }if (this.eat(C.dot)) { + var a = this.startNodeAt(e, s);a.object = t, a.property = this.hasPlugin("classPrivateProperties") ? this.parseMaybePrivateName() : this.parseIdentifier(!0), a.computed = !1, t = this.finishNode(a, "MemberExpression"); + } else if (this.eat(C.bracketL)) { + var n = this.startNodeAt(e, s);n.object = t, n.property = this.parseExpression(), n.computed = !0, this.expect(C.bracketR), t = this.finishNode(n, "MemberExpression"); + } else if (!i && this.match(C.parenL)) { + var o = this.state.potentialArrowAt === t.start && "Identifier" === t.type && "async" === t.name && !this.canInsertSemicolon();this.next();var h = this.startNodeAt(e, s);if (h.callee = t, h.arguments = this.parseCallExpressionArguments(C.parenR, o), "Import" === h.callee.type) { + 1 !== h.arguments.length && this.raise(h.start, "import() requires exactly one argument");var p = h.arguments[0];p && "SpreadElement" === p.type && this.raise(p.start, "... is not allowed in import()"); + }if (t = this.finishNode(h, "CallExpression"), o && this.shouldParseAsyncArrow()) return this.parseAsyncArrowFromCallExpression(this.startNodeAt(e, s), h);this.toReferencedList(h.arguments); + } else { + if (!this.match(C.backQuote)) return t;var c = this.startNodeAt(e, s);c.tag = t, c.quasi = this.parseTemplate(!0), t = this.finishNode(c, "TaggedTemplateExpression"); + } + }throw new Error("Unreachable"); + }, e.prototype.parseCallExpressionArguments = function (t, e) { + for (var s = [], i = void 0, r = !0; !this.eat(t);) { + if (r) r = !1;else if (this.expect(C.comma), this.eat(t)) break;this.match(C.parenL) && !i && (i = this.state.start), s.push(this.parseExprListItem(!1, e ? { start: 0 } : void 0, e ? { start: 0 } : void 0)); + }return e && i && this.shouldParseAsyncArrow() && this.unexpected(), s; + }, e.prototype.shouldParseAsyncArrow = function () { + return this.match(C.arrow); + }, e.prototype.parseAsyncArrowFromCallExpression = function (t, e) { + return this.expect(C.arrow), this.parseArrowExpression(t, e.arguments, !0); + }, e.prototype.parseNoCallExpr = function () { + var t = this.state.start, + e = this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(), t, e, !0); + }, e.prototype.parseExprAtom = function (t) { + var e = this.state.potentialArrowAt === this.state.start, + s = void 0;switch (this.state.type) {case C._super: + return this.state.inMethod || this.state.inClassProperty || this.options.allowSuperOutsideMethod || this.raise(this.state.start, "'super' outside of function or class"), s = this.startNode(), this.next(), this.match(C.parenL) || this.match(C.bracketL) || this.match(C.dot) || this.unexpected(), this.match(C.parenL) && "constructor" !== this.state.inMethod && !this.options.allowSuperOutsideMethod && this.raise(s.start, "super() is only valid inside a class constructor. Make sure the method name is spelled exactly as 'constructor'."), this.finishNode(s, "Super");case C._import: + return this.hasPlugin("dynamicImport") || this.unexpected(), s = this.startNode(), this.next(), this.match(C.parenL) || this.unexpected(null, C.parenL), this.finishNode(s, "Import");case C._this: + return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");case C._yield: + this.state.inGenerator && this.unexpected();case C.name: + s = this.startNode();var i = "await" === this.state.value && this.state.inAsync, + r = this.shouldAllowYieldIdentifier(), + a = this.parseIdentifier(i || r);if ("await" === a.name) { + if (this.state.inAsync || this.inModule) return this.parseAwait(s); + } else { + if ("async" === a.name && this.match(C._function) && !this.canInsertSemicolon()) return this.next(), this.parseFunction(s, !1, !1, !0);if (e && "async" === a.name && this.match(C.name)) { + var n = [this.parseIdentifier()];return this.expect(C.arrow), this.parseArrowExpression(s, n, !0); + } + }return e && !this.canInsertSemicolon() && this.eat(C.arrow) ? this.parseArrowExpression(s, [a]) : a;case C._do: + if (this.hasPlugin("doExpressions")) { + var o = this.startNode();this.next();var h = this.state.inFunction, + p = this.state.labels;return this.state.labels = [], this.state.inFunction = !1, o.body = this.parseBlock(!1, !0), this.state.inFunction = h, this.state.labels = p, this.finishNode(o, "DoExpression"); + }case C.regexp: + var c = this.state.value;return s = this.parseLiteral(c.value, "RegExpLiteral"), s.pattern = c.pattern, s.flags = c.flags, s;case C.num: + return this.parseLiteral(this.state.value, "NumericLiteral");case C.string: + return this.parseLiteral(this.state.value, "StringLiteral");case C._null: + return s = this.startNode(), this.next(), this.finishNode(s, "NullLiteral");case C._true:case C._false: + return s = this.startNode(), s.value = this.match(C._true), this.next(), this.finishNode(s, "BooleanLiteral");case C.parenL: + return this.parseParenAndDistinguishExpression(e);case C.bracketL: + return s = this.startNode(), this.next(), s.elements = this.parseExprList(C.bracketR, !0, t), this.toReferencedList(s.elements), this.finishNode(s, "ArrayExpression");case C.braceL: + return this.parseObj(!1, t);case C._function: + return this.parseFunctionExpression();case C.at: + this.parseDecorators();case C._class: + return s = this.startNode(), this.takeDecorators(s), this.parseClass(s, !1);case C.hash: + if (this.hasPlugin("classPrivateProperties")) return this.parseMaybePrivateName();this.unexpected();case C._new: + return this.parseNew();case C.backQuote: + return this.parseTemplate(!1);case C.doubleColon: + s = this.startNode(), this.next(), s.object = null;var l = s.callee = this.parseNoCallExpr();if ("MemberExpression" === l.type) return this.finishNode(s, "BindExpression");throw this.raise(l.start, "Binding should be performed on object property.");default: + throw this.unexpected();} + }, e.prototype.parseMaybePrivateName = function () { + if (this.eat(C.hash)) { + var t = this.startNode();return t.name = this.parseIdentifier(!0), this.finishNode(t, "PrivateName"); + }return this.parseIdentifier(!0); + }, e.prototype.parseFunctionExpression = function () { + var t = this.startNode(), + e = this.parseIdentifier(!0);return this.state.inGenerator && this.eat(C.dot) && this.hasPlugin("functionSent") ? this.parseMetaProperty(t, e, "sent") : this.parseFunction(t, !1); + }, e.prototype.parseMetaProperty = function (t, e, s) { + return t.meta = e, t.property = this.parseIdentifier(!0), t.property.name !== s && this.raise(t.property.start, "The only valid meta property for new is " + e.name + "." + s), this.finishNode(t, "MetaProperty"); + }, e.prototype.parseLiteral = function (t, e, s, i) { + s = s || this.state.start, i = i || this.state.startLoc;var r = this.startNodeAt(s, i);return this.addExtra(r, "rawValue", t), this.addExtra(r, "raw", this.input.slice(s, this.state.end)), r.value = t, this.next(), this.finishNode(r, e); + }, e.prototype.parseParenExpression = function () { + this.expect(C.parenL);var t = this.parseExpression();return this.expect(C.parenR), t; + }, e.prototype.parseParenAndDistinguishExpression = function (t) { + var e = this.state.start, + s = this.state.startLoc, + i = void 0;this.expect(C.parenL);for (var r = this.state.start, a = this.state.startLoc, n = [], o = { start: 0 }, h = { start: 0 }, p = !0, c = void 0, l = void 0; !this.match(C.parenR);) { + if (p) p = !1;else if (this.expect(C.comma, h.start || null), this.match(C.parenR)) { + l = this.state.start;break; + }if (this.match(C.ellipsis)) { + var u = this.state.start, + d = this.state.startLoc;c = this.state.start, n.push(this.parseParenItem(this.parseRest(), u, d));break; + }n.push(this.parseMaybeAssign(!1, o, this.parseParenItem, h)); + }var f = this.state.start, + m = this.state.startLoc;this.expect(C.parenR);var y = this.startNodeAt(e, s);if (t && this.shouldParseArrow() && (y = this.parseArrow(y))) { + for (var x = n, v = Array.isArray(x), b = 0, x = v ? x : x[Symbol.iterator]();;) { + var g;if (v) { + if (b >= x.length) break;g = x[b++]; + } else { + if ((b = x.next()).done) break;g = b.value; + }var w = g;w.extra && w.extra.parenthesized && this.unexpected(w.extra.parenStart); + }return this.parseArrowExpression(y, n); + }return n.length || this.unexpected(this.state.lastTokStart), l && this.unexpected(l), c && this.unexpected(c), o.start && this.unexpected(o.start), h.start && this.unexpected(h.start), n.length > 1 ? ((i = this.startNodeAt(r, a)).expressions = n, this.toReferencedList(i.expressions), this.finishNodeAt(i, "SequenceExpression", f, m)) : i = n[0], this.addExtra(i, "parenthesized", !0), this.addExtra(i, "parenStart", e), i; + }, e.prototype.shouldParseArrow = function () { + return !this.canInsertSemicolon(); + }, e.prototype.parseArrow = function (t) { + if (this.eat(C.arrow)) return t; + }, e.prototype.parseParenItem = function (t, e, s) { + return t; + }, e.prototype.parseNew = function () { + var t = this.startNode(), + e = this.parseIdentifier(!0);if (this.eat(C.dot)) { + var s = this.parseMetaProperty(t, e, "target");return this.state.inFunction || this.raise(s.property.start, "new.target can only be used in functions"), s; + }return t.callee = this.parseNoCallExpr(), this.eat(C.parenL) ? (t.arguments = this.parseExprList(C.parenR), this.toReferencedList(t.arguments)) : t.arguments = [], this.finishNode(t, "NewExpression"); + }, e.prototype.parseTemplateElement = function (t) { + var e = this.startNode();return null === this.state.value && (t ? this.state.invalidTemplateEscapePosition = null : this.raise(this.state.invalidTemplateEscapePosition, "Invalid escape sequence in template")), e.value = { raw: this.input.slice(this.state.start, this.state.end).replace(/\r\n?/g, "\n"), cooked: this.state.value }, this.next(), e.tail = this.match(C.backQuote), this.finishNode(e, "TemplateElement"); + }, e.prototype.parseTemplate = function (t) { + var e = this.startNode();this.next(), e.expressions = [];var s = this.parseTemplateElement(t);for (e.quasis = [s]; !s.tail;) { + this.expect(C.dollarBraceL), e.expressions.push(this.parseExpression()), this.expect(C.braceR), e.quasis.push(s = this.parseTemplateElement(t)); + }return this.next(), this.finishNode(e, "TemplateLiteral"); + }, e.prototype.parseObj = function (t, e) { + var s = [], + i = Object.create(null), + r = !0, + a = this.startNode();a.properties = [], this.next();for (var n = null; !this.eat(C.braceR);) { + if (r) r = !1;else if (this.expect(C.comma), this.eat(C.braceR)) break;for (; this.match(C.at);) { + s.push(this.parseDecorator()); + }var o = this.startNode(), + h = !1, + p = !1, + c = void 0, + l = void 0;if (s.length && (o.decorators = s, s = []), this.hasPlugin("objectRestSpread") && this.match(C.ellipsis)) { + if (o = this.parseSpread(t ? { start: 0 } : void 0), o.type = t ? "RestElement" : "SpreadElement", t && this.toAssignable(o.argument, !0, "object pattern"), a.properties.push(o), !t) continue;var u = this.state.start;if (null !== n) this.unexpected(n, "Cannot have multiple rest elements when destructuring");else { + if (this.eat(C.braceR)) break;if (!this.match(C.comma) || this.lookahead().type !== C.braceR) { + n = u;continue; + }this.unexpected(u, "A trailing comma is not permitted after the rest element"); + } + }if (o.method = !1, (t || e) && (c = this.state.start, l = this.state.startLoc), t || (h = this.eat(C.star)), !t && this.isContextual("async")) { + h && this.unexpected();var d = this.parseIdentifier();this.match(C.colon) || this.match(C.parenL) || this.match(C.braceR) || this.match(C.eq) || this.match(C.comma) ? (o.key = d, o.computed = !1) : (p = !0, this.hasPlugin("asyncGenerators") && (h = this.eat(C.star)), this.parsePropertyName(o)); + } else this.parsePropertyName(o);this.parseObjPropValue(o, c, l, h, p, t, e), this.checkPropClash(o, i), o.shorthand && this.addExtra(o, "shorthand", !0), a.properties.push(o); + }return null !== n && this.unexpected(n, "The rest element has to be the last element when destructuring"), s.length && this.raise(this.state.start, "You have trailing decorators with no property"), this.finishNode(a, t ? "ObjectPattern" : "ObjectExpression"); + }, e.prototype.isGetterOrSetterMethod = function (t, e) { + return !e && !t.computed && "Identifier" === t.key.type && ("get" === t.key.name || "set" === t.key.name) && (this.match(C.string) || this.match(C.num) || this.match(C.bracketL) || this.match(C.name) || !!this.state.type.keyword); + }, e.prototype.checkGetterSetterParamCount = function (t) { + var e = "get" === t.kind ? 0 : 1;if (t.params.length !== e) { + var s = t.start;"get" === t.kind ? this.raise(s, "getter should have no params") : this.raise(s, "setter should have exactly one param"); + } + }, e.prototype.parseObjectMethod = function (t, e, s, i) { + return s || e || this.match(C.parenL) ? (i && this.unexpected(), t.kind = "method", t.method = !0, this.parseMethod(t, e, s), this.finishNode(t, "ObjectMethod")) : this.isGetterOrSetterMethod(t, i) ? ((e || s) && this.unexpected(), t.kind = t.key.name, this.parsePropertyName(t), this.parseMethod(t), this.checkGetterSetterParamCount(t), this.finishNode(t, "ObjectMethod")) : void 0; + }, e.prototype.parseObjectProperty = function (t, e, s, i, r) { + return t.shorthand = !1, this.eat(C.colon) ? (t.value = i ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssign(!1, r), this.finishNode(t, "ObjectProperty")) : t.computed || "Identifier" !== t.key.type ? void 0 : (this.checkReservedWord(t.key.name, t.key.start, !0, !0), i ? t.value = this.parseMaybeDefault(e, s, t.key.__clone()) : this.match(C.eq) && r ? (r.start || (r.start = this.state.start), t.value = this.parseMaybeDefault(e, s, t.key.__clone())) : t.value = t.key.__clone(), t.shorthand = !0, this.finishNode(t, "ObjectProperty")); + }, e.prototype.parseObjPropValue = function (t, e, s, i, r, a, n) { + this.parseObjectMethod(t, i, r, a) || this.parseObjectProperty(t, e, s, a, n) || this.unexpected(); + }, e.prototype.parsePropertyName = function (t) { + if (this.eat(C.bracketL)) t.computed = !0, t.key = this.parseMaybeAssign(), this.expect(C.bracketR);else { + t.computed = !1;var e = this.state.inPropertyName;this.state.inPropertyName = !0, t.key = this.match(C.num) || this.match(C.string) ? this.parseExprAtom() : this.parseIdentifier(!0), this.state.inPropertyName = e; + }return t.key; + }, e.prototype.initFunction = function (t, e) { + t.id = null, t.generator = !1, t.expression = !1, t.async = !!e; + }, e.prototype.parseMethod = function (t, e, s) { + var i = this.state.inMethod;return this.state.inMethod = t.kind || !0, this.initFunction(t, s), this.expect(C.parenL), t.params = this.parseBindingList(C.parenR), t.generator = !!e, this.parseFunctionBody(t), this.state.inMethod = i, t; + }, e.prototype.parseArrowExpression = function (t, e, s) { + return this.initFunction(t, s), t.params = this.toAssignableList(e, !0, "arrow function parameters"), this.parseFunctionBody(t, !0), this.finishNode(t, "ArrowFunctionExpression"); + }, e.prototype.isStrictBody = function (t, e) { + if (!e && t.body.directives.length) for (var s = t.body.directives, i = Array.isArray(s), r = 0, s = i ? s : s[Symbol.iterator]();;) { + var a;if (i) { + if (r >= s.length) break;a = s[r++]; + } else { + if ((r = s.next()).done) break;a = r.value; + }if ("use strict" === a.value.value) return !0; + }return !1; + }, e.prototype.parseFunctionBody = function (t, e) { + var s = e && !this.match(C.braceL), + i = this.state.inAsync;if (this.state.inAsync = t.async, s) t.body = this.parseMaybeAssign(), t.expression = !0;else { + var r = this.state.inFunction, + a = this.state.inGenerator, + n = this.state.labels;this.state.inFunction = !0, this.state.inGenerator = t.generator, this.state.labels = [], t.body = this.parseBlock(!0), t.expression = !1, this.state.inFunction = r, this.state.inGenerator = a, this.state.labels = n; + }this.state.inAsync = i;var o = this.isStrictBody(t, s), + h = this.state.strict || e || o;if (o && t.id && "Identifier" === t.id.type && "yield" === t.id.name && this.raise(t.id.start, "Binding yield in strict mode"), h) { + var p = Object.create(null), + c = this.state.strict;o && (this.state.strict = !0), t.id && this.checkLVal(t.id, !0, void 0, "function name");for (var l = t.params, u = Array.isArray(l), d = 0, l = u ? l : l[Symbol.iterator]();;) { + var f;if (u) { + if (d >= l.length) break;f = l[d++]; + } else { + if ((d = l.next()).done) break;f = d.value; + }var m = f;o && "Identifier" !== m.type && this.raise(m.start, "Non-simple parameter in strict mode"), this.checkLVal(m, !0, p, "function parameter list"); + }this.state.strict = c; + } + }, e.prototype.parseExprList = function (t, e, s) { + for (var i = [], r = !0; !this.eat(t);) { + if (r) r = !1;else if (this.expect(C.comma), this.eat(t)) break;i.push(this.parseExprListItem(e, s)); + }return i; + }, e.prototype.parseExprListItem = function (t, e, s) { + return t && this.match(C.comma) ? null : this.match(C.ellipsis) ? this.parseSpread(e) : this.parseMaybeAssign(!1, e, this.parseParenItem, s); + }, e.prototype.parseIdentifier = function (t) { + var e = this.startNode();return t || this.checkReservedWord(this.state.value, this.state.start, !!this.state.type.keyword, !1), this.match(C.name) ? e.name = this.state.value : this.state.type.keyword ? e.name = this.state.type.keyword : this.unexpected(), !t && "await" === e.name && this.state.inAsync && this.raise(e.start, "invalid use of await inside of an async function"), e.loc.identifierName = e.name, this.next(), this.finishNode(e, "Identifier"); + }, e.prototype.checkReservedWord = function (t, e, s, i) { + (this.isReservedWord(t) || s && this.isKeyword(t)) && this.raise(e, t + " is a reserved word"), this.state.strict && (S.strict(t) || i && S.strictBind(t)) && this.raise(e, t + " is a reserved word in strict mode"); + }, e.prototype.parseAwait = function (t) { + return this.state.inAsync || this.unexpected(), this.match(C.star) && this.raise(t.start, "await* has been removed from the async functions proposal. Use Promise.all() instead."), t.argument = this.parseMaybeUnary(), this.finishNode(t, "AwaitExpression"); + }, e.prototype.parseYield = function () { + var t = this.startNode();return this.next(), this.match(C.semi) || this.canInsertSemicolon() || !this.match(C.star) && !this.state.type.startsExpr ? (t.delegate = !1, t.argument = null) : (t.delegate = this.eat(C.star), t.argument = this.parseMaybeAssign()), this.finishNode(t, "YieldExpression"); + }, e; + }(function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.toAssignable = function (t, e, s) { + if (t) switch (t.type) {case "Identifier":case "PrivateName":case "ObjectPattern":case "ArrayPattern":case "AssignmentPattern": + break;case "ObjectExpression": + t.type = "ObjectPattern";for (var i = t.properties, r = Array.isArray(i), a = 0, i = r ? i : i[Symbol.iterator]();;) { + var n;if (r) { + if (a >= i.length) break;n = i[a++]; + } else { + if ((a = i.next()).done) break;n = a.value; + }var o = n;"ObjectMethod" === o.type ? "get" === o.kind || "set" === o.kind ? this.raise(o.key.start, "Object pattern can't contain getter or setter") : this.raise(o.key.start, "Object pattern can't contain methods") : this.toAssignable(o, e, "object destructuring pattern"); + }break;case "ObjectProperty": + this.toAssignable(t.value, e, s);break;case "SpreadElement": + t.type = "RestElement";var h = t.argument;this.toAssignable(h, e, s);break;case "ArrayExpression": + t.type = "ArrayPattern", this.toAssignableList(t.elements, e, s);break;case "AssignmentExpression": + "=" === t.operator ? (t.type = "AssignmentPattern", delete t.operator) : this.raise(t.left.end, "Only '=' operator can be used for specifying default value.");break;case "MemberExpression": + if (!e) break;default: + var p = "Invalid left-hand side" + (s ? " in " + s : "expression");this.raise(t.start, p);}return t; + }, e.prototype.toAssignableList = function (t, e, s) { + var i = t.length;if (i) { + var r = t[i - 1];if (r && "RestElement" === r.type) --i;else if (r && "SpreadElement" === r.type) { + r.type = "RestElement";var a = r.argument;this.toAssignable(a, e, s), "Identifier" !== a.type && "MemberExpression" !== a.type && "ArrayPattern" !== a.type && this.unexpected(a.start), --i; + } + }for (var n = 0; n < i; n++) { + var o = t[n];o && "SpreadElement" === o.type && this.raise(o.start, "The rest element has to be the last element when destructuring"), o && this.toAssignable(o, e, s); + }return t; + }, e.prototype.toReferencedList = function (t) { + return t; + }, e.prototype.parseSpread = function (t) { + var e = this.startNode();return this.next(), e.argument = this.parseMaybeAssign(!1, t), this.finishNode(e, "SpreadElement"); + }, e.prototype.parseRest = function () { + var t = this.startNode();return this.next(), t.argument = this.parseBindingAtom(), this.finishNode(t, "RestElement"); + }, e.prototype.shouldAllowYieldIdentifier = function () { + return this.match(C._yield) && !this.state.strict && !this.state.inGenerator; + }, e.prototype.parseBindingIdentifier = function () { + return this.parseIdentifier(this.shouldAllowYieldIdentifier()); + }, e.prototype.parseBindingAtom = function () { + switch (this.state.type) {case C._yield:case C.name: + return this.parseBindingIdentifier();case C.bracketL: + var t = this.startNode();return this.next(), t.elements = this.parseBindingList(C.bracketR, !0), this.finishNode(t, "ArrayPattern");case C.braceL: + return this.parseObj(!0);default: + throw this.unexpected();} + }, e.prototype.parseBindingList = function (t, e) { + for (var s = [], i = !0; !this.eat(t);) { + if (i ? i = !1 : this.expect(C.comma), e && this.match(C.comma)) s.push(null);else { + if (this.eat(t)) break;if (this.match(C.ellipsis)) { + s.push(this.parseAssignableListItemTypes(this.parseRest())), this.expect(t);break; + }for (var r = []; this.match(C.at);) { + r.push(this.parseDecorator()); + }var a = this.parseMaybeDefault();r.length && (a.decorators = r), this.parseAssignableListItemTypes(a), s.push(this.parseMaybeDefault(a.start, a.loc.start, a)); + } + }return s; + }, e.prototype.parseAssignableListItemTypes = function (t) { + return t; + }, e.prototype.parseMaybeDefault = function (t, e, s) { + if (e = e || this.state.startLoc, t = t || this.state.start, s = s || this.parseBindingAtom(), !this.eat(C.eq)) return s;var i = this.startNodeAt(t, e);return i.left = s, i.right = this.parseMaybeAssign(), this.finishNode(i, "AssignmentPattern"); + }, e.prototype.checkLVal = function (t, e, s, i) { + switch (t.type) {case "PrivateName":case "Identifier": + if (this.checkReservedWord(t.name, t.start, !1, !0), s) { + var r = "_" + t.name;s[r] ? this.raise(t.start, "Argument name clash in strict mode") : s[r] = !0; + }break;case "MemberExpression": + e && this.raise(t.start, (e ? "Binding" : "Assigning to") + " member expression");break;case "ObjectPattern": + for (var a = t.properties, n = Array.isArray(a), o = 0, a = n ? a : a[Symbol.iterator]();;) { + var h;if (n) { + if (o >= a.length) break;h = a[o++]; + } else { + if ((o = a.next()).done) break;h = o.value; + }var p = h;"ObjectProperty" === p.type && (p = p.value), this.checkLVal(p, e, s, "object destructuring pattern"); + }break;case "ArrayPattern": + for (var c = t.elements, l = Array.isArray(c), u = 0, c = l ? c : c[Symbol.iterator]();;) { + var d;if (l) { + if (u >= c.length) break;d = c[u++]; + } else { + if ((u = c.next()).done) break;d = u.value; + }var f = d;f && this.checkLVal(f, e, s, "array destructuring pattern"); + }break;case "AssignmentPattern": + this.checkLVal(t.left, e, s, "assignment pattern");break;case "RestElement": + this.checkLVal(t.argument, e, s, "rest element");break;default: + var m = (e ? "Binding invalid" : "Invalid") + " left-hand side" + (i ? " in " + i : "expression");this.raise(t.start, m);} + }, e; + }(function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.startNode = function () { + return new Q(this, this.state.start, this.state.startLoc); + }, e.prototype.startNodeAt = function (t, e) { + return new Q(this, t, e); + }, e.prototype.finishNode = function (t, e) { + return this.finishNodeAt(t, e, this.state.lastTokEnd, this.state.lastTokEndLoc); + }, e.prototype.finishNodeAt = function (t, e, s, i) { + return t.type = e, t.end = s, t.loc.end = i, this.options.ranges && (t.range[1] = s), this.processComment(t), t; + }, e.prototype.resetStartLocationFromNode = function (t, e) { + t.start = e.start, t.loc.start = e.loc.start, this.options.ranges && (t.range[0] = e.range[0]); + }, e; + }(K))))), + et = function et(t) { + return function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.estreeParseRegExpLiteral = function (t) { + var e = t.pattern, + s = t.flags, + i = null;try { + i = new RegExp(e, s); + } catch (t) {}var r = this.estreeParseLiteral(i);return r.regex = { pattern: e, flags: s }, r; + }, e.prototype.estreeParseLiteral = function (t) { + return this.parseLiteral(t, "Literal"); + }, e.prototype.directiveToStmt = function (t) { + var e = t.value, + s = this.startNodeAt(t.start, t.loc.start), + i = this.startNodeAt(e.start, e.loc.start);return i.value = e.value, i.raw = e.extra.raw, s.expression = this.finishNodeAt(i, "Literal", e.end, e.loc.end), s.directive = e.extra.raw.slice(1, -1), this.finishNodeAt(s, "ExpressionStatement", t.end, t.loc.end); + }, e.prototype.checkDeclaration = function (e) { + u(e) ? this.checkDeclaration(e.value) : t.prototype.checkDeclaration.call(this, e); + }, e.prototype.checkGetterSetterParamCount = function (t) { + var e = "get" === t.kind ? 0 : 1;if (t.value.params.length !== e) { + var s = t.start;"get" === t.kind ? this.raise(s, "getter should have no params") : this.raise(s, "setter should have exactly one param"); + } + }, e.prototype.checkLVal = function (e, s, i) { + var r, + a = this;switch (e.type) {case "ObjectPattern": + e.properties.forEach(function (t) { + a.checkLVal("Property" === t.type ? t.value : t, s, i, "object destructuring pattern"); + });break;default: + for (var n = arguments.length, o = Array(n > 3 ? n - 3 : 0), h = 3; h < n; h++) { + o[h - 3] = arguments[h]; + }(r = t.prototype.checkLVal).call.apply(r, [this, e, s, i].concat(o));} + }, e.prototype.checkPropClash = function (t, e) { + if (!t.computed && u(t)) { + var s = t.key;"__proto__" === ("Identifier" === s.type ? s.name : String(s.value)) && (e.proto && this.raise(s.start, "Redefinition of __proto__ property"), e.proto = !0); + } + }, e.prototype.isStrictBody = function (t, e) { + if (!e && t.body.body.length > 0) for (var s = t.body.body, i = Array.isArray(s), r = 0, s = i ? s : s[Symbol.iterator]();;) { + var a;if (i) { + if (r >= s.length) break;a = s[r++]; + } else { + if ((r = s.next()).done) break;a = r.value; + }var n = a;if ("ExpressionStatement" !== n.type || "Literal" !== n.expression.type) break;if ("use strict" === n.expression.value) return !0; + }return !1; + }, e.prototype.isValidDirective = function (t) { + return !("ExpressionStatement" !== t.type || "Literal" !== t.expression.type || "string" != typeof t.expression.value || t.expression.extra && t.expression.extra.parenthesized); + }, e.prototype.parseBlockBody = function (e) { + for (var s, i = this, r = arguments.length, a = Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++) { + a[n - 1] = arguments[n]; + }(s = t.prototype.parseBlockBody).call.apply(s, [this, e].concat(a));var o = e.directives.map(function (t) { + return i.directiveToStmt(t); + });e.body = o.concat(e.body), delete e.directives; + }, e.prototype.parseClassMethod = function (e) { + for (var s, i = arguments.length, r = Array(i > 1 ? i - 1 : 0), a = 1; a < i; a++) { + r[a - 1] = arguments[a]; + }(s = t.prototype.parseClassMethod).call.apply(s, [this, e].concat(r));var n = e.body;n[n.length - 1].type = "MethodDefinition"; + }, e.prototype.parseExprAtom = function () { + var e;switch (this.state.type) {case C.regexp: + return this.estreeParseRegExpLiteral(this.state.value);case C.num:case C.string: + return this.estreeParseLiteral(this.state.value);case C._null: + return this.estreeParseLiteral(null);case C._true: + return this.estreeParseLiteral(!0);case C._false: + return this.estreeParseLiteral(!1);default: + for (var s = arguments.length, i = Array(s), r = 0; r < s; r++) { + i[r] = arguments[r]; + }return (e = t.prototype.parseExprAtom).call.apply(e, [this].concat(i));} + }, e.prototype.parseLiteral = function () { + for (var e, s = arguments.length, i = Array(s), r = 0; r < s; r++) { + i[r] = arguments[r]; + }var a = (e = t.prototype.parseLiteral).call.apply(e, [this].concat(i));return a.raw = a.extra.raw, delete a.extra, a; + }, e.prototype.parseMethod = function (e) { + var s, + i = this.startNode();i.kind = e.kind;for (var r = arguments.length, a = Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++) { + a[n - 1] = arguments[n]; + }return i = (s = t.prototype.parseMethod).call.apply(s, [this, i].concat(a)), delete i.kind, e.value = this.finishNode(i, "FunctionExpression"), e; + }, e.prototype.parseObjectMethod = function () { + for (var e, s = arguments.length, i = Array(s), r = 0; r < s; r++) { + i[r] = arguments[r]; + }var a = (e = t.prototype.parseObjectMethod).call.apply(e, [this].concat(i));return a && ("method" === a.kind && (a.kind = "init"), a.type = "Property"), a; + }, e.prototype.parseObjectProperty = function () { + for (var e, s = arguments.length, i = Array(s), r = 0; r < s; r++) { + i[r] = arguments[r]; + }var a = (e = t.prototype.parseObjectProperty).call.apply(e, [this].concat(i));return a && (a.kind = "init", a.type = "Property"), a; + }, e.prototype.toAssignable = function (e, s) { + for (var i, r = arguments.length, a = Array(r > 2 ? r - 2 : 0), n = 2; n < r; n++) { + a[n - 2] = arguments[n]; + }if (u(e)) return this.toAssignable.apply(this, [e.value, s].concat(a)), e;if ("ObjectExpression" === e.type) { + e.type = "ObjectPattern";for (var o = e.properties, h = Array.isArray(o), p = 0, o = h ? o : o[Symbol.iterator]();;) { + var c;if (h) { + if (p >= o.length) break;c = o[p++]; + } else { + if ((p = o.next()).done) break;c = p.value; + }var l = c;"get" === l.kind || "set" === l.kind ? this.raise(l.key.start, "Object pattern can't contain getter or setter") : l.method ? this.raise(l.key.start, "Object pattern can't contain methods") : this.toAssignable(l, s, "object destructuring pattern"); + }return e; + }return (i = t.prototype.toAssignable).call.apply(i, [this, e, s].concat(a)); + }, e; + }(t); + }, + st = ["any", "mixed", "empty", "bool", "boolean", "number", "string", "void", "null"], + it = { const: "declare export var", let: "declare export var", type: "export type", interface: "export interface" }, + rt = function rt(t) { + return function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.flowParseTypeInitialiser = function (t) { + var e = this.state.inType;this.state.inType = !0, this.expect(t || C.colon);var s = this.flowParseType();return this.state.inType = e, s; + }, e.prototype.flowParsePredicate = function () { + var t = this.startNode(), + e = this.state.startLoc, + s = this.state.start;this.expect(C.modulo);var i = this.state.startLoc;return this.expectContextual("checks"), e.line === i.line && e.column === i.column - 1 || this.raise(s, "Spaces between ´%´ and ´checks´ are not allowed here."), this.eat(C.parenL) ? (t.value = this.parseExpression(), this.expect(C.parenR), this.finishNode(t, "DeclaredPredicate")) : this.finishNode(t, "InferredPredicate"); + }, e.prototype.flowParseTypeAndPredicateInitialiser = function () { + var t = this.state.inType;this.state.inType = !0, this.expect(C.colon);var e = null, + s = null;return this.match(C.modulo) ? (this.state.inType = t, s = this.flowParsePredicate()) : (e = this.flowParseType(), this.state.inType = t, this.match(C.modulo) && (s = this.flowParsePredicate())), [e, s]; + }, e.prototype.flowParseDeclareClass = function (t) { + return this.next(), this.flowParseInterfaceish(t), this.finishNode(t, "DeclareClass"); + }, e.prototype.flowParseDeclareFunction = function (t) { + this.next();var e = t.id = this.parseIdentifier(), + s = this.startNode(), + i = this.startNode();this.isRelational("<") ? s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, this.expect(C.parenL);var r = this.flowParseFunctionTypeParams();s.params = r.params, s.rest = r.rest, this.expect(C.parenR);var a = this.flowParseTypeAndPredicateInitialiser();return s.returnType = a[0], t.predicate = a[1], i.typeAnnotation = this.finishNode(s, "FunctionTypeAnnotation"), e.typeAnnotation = this.finishNode(i, "TypeAnnotation"), this.finishNode(e, e.type), this.semicolon(), this.finishNode(t, "DeclareFunction"); + }, e.prototype.flowParseDeclare = function (t, e) { + if (this.match(C._class)) return this.flowParseDeclareClass(t);if (this.match(C._function)) return this.flowParseDeclareFunction(t);if (this.match(C._var)) return this.flowParseDeclareVariable(t);if (this.isContextual("module")) return this.lookahead().type === C.dot ? this.flowParseDeclareModuleExports(t) : (e && this.unexpected(null, "`declare module` cannot be used inside another `declare module`"), this.flowParseDeclareModule(t));if (this.isContextual("type")) return this.flowParseDeclareTypeAlias(t);if (this.isContextual("interface")) return this.flowParseDeclareInterface(t);if (this.match(C._export)) return this.flowParseDeclareExportDeclaration(t, e);throw this.unexpected(); + }, e.prototype.flowParseDeclareVariable = function (t) { + return this.next(), t.id = this.flowParseTypeAnnotatableIdentifier(), this.semicolon(), this.finishNode(t, "DeclareVariable"); + }, e.prototype.flowParseDeclareModule = function (t) { + var e = this;this.next(), this.match(C.string) ? t.id = this.parseExprAtom() : t.id = this.parseIdentifier();var s = t.body = this.startNode(), + i = s.body = [];for (this.expect(C.braceL); !this.match(C.braceR);) { + var r = this.startNode();if (this.match(C._import)) { + var a = this.lookahead();"type" !== a.value && "typeof" !== a.value && this.unexpected(null, "Imports within a `declare module` body must always be `import type` or `import typeof`"), this.parseImport(r); + } else this.expectContextual("declare", "Only declares and type imports are allowed inside declare module"), r = this.flowParseDeclare(r, !0);i.push(r); + }this.expect(C.braceR), this.finishNode(s, "BlockStatement");var n = null, + o = !1, + h = "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module";return i.forEach(function (t) { + d(t) ? ("CommonJS" === n && e.unexpected(t.start, h), n = "ES") : "DeclareModuleExports" === t.type && (o && e.unexpected(t.start, "Duplicate `declare module.exports` statement"), "ES" === n && e.unexpected(t.start, h), n = "CommonJS", o = !0); + }), t.kind = n || "CommonJS", this.finishNode(t, "DeclareModule"); + }, e.prototype.flowParseDeclareExportDeclaration = function (t, e) { + if (this.expect(C._export), this.eat(C._default)) return this.match(C._function) || this.match(C._class) ? t.declaration = this.flowParseDeclare(this.startNode()) : (t.declaration = this.flowParseType(), this.semicolon()), t.default = !0, this.finishNode(t, "DeclareExportDeclaration");if (this.match(C._const) || this.match(C._let) || (this.isContextual("type") || this.isContextual("interface")) && !e) { + var s = this.state.value, + i = it[s];this.unexpected(this.state.start, "`declare export " + s + "` is not supported. Use `" + i + "` instead"); + }if (this.match(C._var) || this.match(C._function) || this.match(C._class)) return t.declaration = this.flowParseDeclare(this.startNode()), t.default = !1, this.finishNode(t, "DeclareExportDeclaration");if (this.match(C.star) || this.match(C.braceL) || this.isContextual("interface") || this.isContextual("type")) return "ExportNamedDeclaration" === (t = this.parseExport(t)).type && (t.type = "ExportDeclaration", t.default = !1, delete t.exportKind), t.type = "Declare" + t.type, t;throw this.unexpected(); + }, e.prototype.flowParseDeclareModuleExports = function (t) { + return this.expectContextual("module"), this.expect(C.dot), this.expectContextual("exports"), t.typeAnnotation = this.flowParseTypeAnnotation(), this.semicolon(), this.finishNode(t, "DeclareModuleExports"); + }, e.prototype.flowParseDeclareTypeAlias = function (t) { + return this.next(), this.flowParseTypeAlias(t), this.finishNode(t, "DeclareTypeAlias"); + }, e.prototype.flowParseDeclareInterface = function (t) { + return this.next(), this.flowParseInterfaceish(t), this.finishNode(t, "DeclareInterface"); + }, e.prototype.flowParseInterfaceish = function (t) { + if (t.id = this.parseIdentifier(), this.isRelational("<") ? t.typeParameters = this.flowParseTypeParameterDeclaration() : t.typeParameters = null, t.extends = [], t.mixins = [], this.eat(C._extends)) do { + t.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(C.comma));if (this.isContextual("mixins")) { + this.next();do { + t.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(C.comma)); + }t.body = this.flowParseObjectType(!0, !1, !1); + }, e.prototype.flowParseInterfaceExtends = function () { + var t = this.startNode();return t.id = this.flowParseQualifiedTypeIdentifier(), this.isRelational("<") ? t.typeParameters = this.flowParseTypeParameterInstantiation() : t.typeParameters = null, this.finishNode(t, "InterfaceExtends"); + }, e.prototype.flowParseInterface = function (t) { + return this.flowParseInterfaceish(t), this.finishNode(t, "InterfaceDeclaration"); + }, e.prototype.flowParseRestrictedIdentifier = function (t) { + return st.indexOf(this.state.value) > -1 && this.raise(this.state.start, "Cannot overwrite primitive type " + this.state.value), this.parseIdentifier(t); + }, e.prototype.flowParseTypeAlias = function (t) { + return t.id = this.flowParseRestrictedIdentifier(), this.isRelational("<") ? t.typeParameters = this.flowParseTypeParameterDeclaration() : t.typeParameters = null, t.right = this.flowParseTypeInitialiser(C.eq), this.semicolon(), this.finishNode(t, "TypeAlias"); + }, e.prototype.flowParseTypeParameter = function () { + var t = this.startNode(), + e = this.flowParseVariance(), + s = this.flowParseTypeAnnotatableIdentifier();return t.name = s.name, t.variance = e, t.bound = s.typeAnnotation, this.match(C.eq) && (this.eat(C.eq), t.default = this.flowParseType()), this.finishNode(t, "TypeParameter"); + }, e.prototype.flowParseTypeParameterDeclaration = function () { + var t = this.state.inType, + e = this.startNode();e.params = [], this.state.inType = !0, this.isRelational("<") || this.match(C.jsxTagStart) ? this.next() : this.unexpected();do { + e.params.push(this.flowParseTypeParameter()), this.isRelational(">") || this.expect(C.comma); + } while (!this.isRelational(">"));return this.expectRelational(">"), this.state.inType = t, this.finishNode(e, "TypeParameterDeclaration"); + }, e.prototype.flowParseTypeParameterInstantiation = function () { + var t = this.startNode(), + e = this.state.inType;for (t.params = [], this.state.inType = !0, this.expectRelational("<"); !this.isRelational(">");) { + t.params.push(this.flowParseType()), this.isRelational(">") || this.expect(C.comma); + }return this.expectRelational(">"), this.state.inType = e, this.finishNode(t, "TypeParameterInstantiation"); + }, e.prototype.flowParseObjectPropertyKey = function () { + return this.match(C.num) || this.match(C.string) ? this.parseExprAtom() : this.parseIdentifier(!0); + }, e.prototype.flowParseObjectTypeIndexer = function (t, e, s) { + return t.static = e, this.expect(C.bracketL), this.lookahead().type === C.colon ? (t.id = this.flowParseObjectPropertyKey(), t.key = this.flowParseTypeInitialiser()) : (t.id = null, t.key = this.flowParseType()), this.expect(C.bracketR), t.value = this.flowParseTypeInitialiser(), t.variance = s, this.finishNode(t, "ObjectTypeIndexer"); + }, e.prototype.flowParseObjectTypeMethodish = function (t) { + for (t.params = [], t.rest = null, t.typeParameters = null, this.isRelational("<") && (t.typeParameters = this.flowParseTypeParameterDeclaration()), this.expect(C.parenL); !this.match(C.parenR) && !this.match(C.ellipsis);) { + t.params.push(this.flowParseFunctionTypeParam()), this.match(C.parenR) || this.expect(C.comma); + }return this.eat(C.ellipsis) && (t.rest = this.flowParseFunctionTypeParam()), this.expect(C.parenR), t.returnType = this.flowParseTypeInitialiser(), this.finishNode(t, "FunctionTypeAnnotation"); + }, e.prototype.flowParseObjectTypeCallProperty = function (t, e) { + var s = this.startNode();return t.static = e, t.value = this.flowParseObjectTypeMethodish(s), this.finishNode(t, "ObjectTypeCallProperty"); + }, e.prototype.flowParseObjectType = function (t, e, s) { + var i = this.state.inType;this.state.inType = !0;var r = this.startNode();r.callProperties = [], r.properties = [], r.indexers = [];var a = void 0, + n = void 0;for (e && this.match(C.braceBarL) ? (this.expect(C.braceBarL), a = C.braceBarR, n = !0) : (this.expect(C.braceL), a = C.braceR, n = !1), r.exact = n; !this.match(a);) { + var o = !1, + h = this.startNode();t && this.isContextual("static") && this.lookahead().type !== C.colon && (this.next(), o = !0);var p = this.flowParseVariance();if (this.match(C.bracketL)) r.indexers.push(this.flowParseObjectTypeIndexer(h, o, p));else if (this.match(C.parenL) || this.isRelational("<")) p && this.unexpected(p.start), r.callProperties.push(this.flowParseObjectTypeCallProperty(h, o));else { + var c = "init";if (this.isContextual("get") || this.isContextual("set")) { + var l = this.lookahead();l.type !== C.name && l.type !== C.string && l.type !== C.num || (c = this.state.value, this.next()); + }r.properties.push(this.flowParseObjectTypeProperty(h, o, p, c, s)); + }this.flowObjectTypeSemicolon(); + }this.expect(a);var u = this.finishNode(r, "ObjectTypeAnnotation");return this.state.inType = i, u; + }, e.prototype.flowParseObjectTypeProperty = function (t, e, s, i, r) { + if (this.match(C.ellipsis)) return r || this.unexpected(null, "Spread operator cannot appear in class or interface definitions"), s && this.unexpected(s.start, "Spread properties cannot have variance"), this.expect(C.ellipsis), t.argument = this.flowParseType(), this.finishNode(t, "ObjectTypeSpreadProperty");t.key = this.flowParseObjectPropertyKey(), t.static = e, t.kind = i;var a = !1;return this.isRelational("<") || this.match(C.parenL) ? (s && this.unexpected(s.start), t.value = this.flowParseObjectTypeMethodish(this.startNodeAt(t.start, t.loc.start)), "get" !== i && "set" !== i || this.flowCheckGetterSetterParamCount(t)) : ("init" !== i && this.unexpected(), this.eat(C.question) && (a = !0), t.value = this.flowParseTypeInitialiser(), t.variance = s), t.optional = a, this.finishNode(t, "ObjectTypeProperty"); + }, e.prototype.flowCheckGetterSetterParamCount = function (t) { + var e = "get" === t.kind ? 0 : 1;if (t.value.params.length !== e) { + var s = t.start;"get" === t.kind ? this.raise(s, "getter should have no params") : this.raise(s, "setter should have exactly one param"); + } + }, e.prototype.flowObjectTypeSemicolon = function () { + this.eat(C.semi) || this.eat(C.comma) || this.match(C.braceR) || this.match(C.braceBarR) || this.unexpected(); + }, e.prototype.flowParseQualifiedTypeIdentifier = function (t, e, s) { + t = t || this.state.start, e = e || this.state.startLoc;for (var i = s || this.parseIdentifier(); this.eat(C.dot);) { + var r = this.startNodeAt(t, e);r.qualification = i, r.id = this.parseIdentifier(), i = this.finishNode(r, "QualifiedTypeIdentifier"); + }return i; + }, e.prototype.flowParseGenericType = function (t, e, s) { + var i = this.startNodeAt(t, e);return i.typeParameters = null, i.id = this.flowParseQualifiedTypeIdentifier(t, e, s), this.isRelational("<") && (i.typeParameters = this.flowParseTypeParameterInstantiation()), this.finishNode(i, "GenericTypeAnnotation"); + }, e.prototype.flowParseTypeofType = function () { + var t = this.startNode();return this.expect(C._typeof), t.argument = this.flowParsePrimaryType(), this.finishNode(t, "TypeofTypeAnnotation"); + }, e.prototype.flowParseTupleType = function () { + var t = this.startNode();for (t.types = [], this.expect(C.bracketL); this.state.pos < this.input.length && !this.match(C.bracketR) && (t.types.push(this.flowParseType()), !this.match(C.bracketR));) { + this.expect(C.comma); + }return this.expect(C.bracketR), this.finishNode(t, "TupleTypeAnnotation"); + }, e.prototype.flowParseFunctionTypeParam = function () { + var t = null, + e = !1, + s = null, + i = this.startNode(), + r = this.lookahead();return r.type === C.colon || r.type === C.question ? (t = this.parseIdentifier(), this.eat(C.question) && (e = !0), s = this.flowParseTypeInitialiser()) : s = this.flowParseType(), i.name = t, i.optional = e, i.typeAnnotation = s, this.finishNode(i, "FunctionTypeParam"); + }, e.prototype.reinterpretTypeAsFunctionTypeParam = function (t) { + var e = this.startNodeAt(t.start, t.loc);return e.name = null, e.optional = !1, e.typeAnnotation = t, this.finishNode(e, "FunctionTypeParam"); + }, e.prototype.flowParseFunctionTypeParams = function () { + for (var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], e = null; !this.match(C.parenR) && !this.match(C.ellipsis);) { + t.push(this.flowParseFunctionTypeParam()), this.match(C.parenR) || this.expect(C.comma); + }return this.eat(C.ellipsis) && (e = this.flowParseFunctionTypeParam()), { params: t, rest: e }; + }, e.prototype.flowIdentToTypeAnnotation = function (t, e, s, i) { + switch (i.name) {case "any": + return this.finishNode(s, "AnyTypeAnnotation");case "void": + return this.finishNode(s, "VoidTypeAnnotation");case "bool":case "boolean": + return this.finishNode(s, "BooleanTypeAnnotation");case "mixed": + return this.finishNode(s, "MixedTypeAnnotation");case "empty": + return this.finishNode(s, "EmptyTypeAnnotation");case "number": + return this.finishNode(s, "NumberTypeAnnotation");case "string": + return this.finishNode(s, "StringTypeAnnotation");default: + return this.flowParseGenericType(t, e, i);} + }, e.prototype.flowParsePrimaryType = function () { + var t = this.state.start, + e = this.state.startLoc, + s = this.startNode(), + i = void 0, + r = void 0, + a = !1, + n = this.state.noAnonFunctionType;switch (this.state.type) {case C.name: + return this.flowIdentToTypeAnnotation(t, e, s, this.parseIdentifier());case C.braceL: + return this.flowParseObjectType(!1, !1, !0);case C.braceBarL: + return this.flowParseObjectType(!1, !0, !0);case C.bracketL: + return this.flowParseTupleType();case C.relational: + if ("<" === this.state.value) return s.typeParameters = this.flowParseTypeParameterDeclaration(), this.expect(C.parenL), i = this.flowParseFunctionTypeParams(), s.params = i.params, s.rest = i.rest, this.expect(C.parenR), this.expect(C.arrow), s.returnType = this.flowParseType(), this.finishNode(s, "FunctionTypeAnnotation");break;case C.parenL: + if (this.next(), !this.match(C.parenR) && !this.match(C.ellipsis)) if (this.match(C.name)) { + var o = this.lookahead().type;a = o !== C.question && o !== C.colon; + } else a = !0;if (a) { + if (this.state.noAnonFunctionType = !1, r = this.flowParseType(), this.state.noAnonFunctionType = n, this.state.noAnonFunctionType || !(this.match(C.comma) || this.match(C.parenR) && this.lookahead().type === C.arrow)) return this.expect(C.parenR), r;this.eat(C.comma); + }return i = r ? this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(r)]) : this.flowParseFunctionTypeParams(), s.params = i.params, s.rest = i.rest, this.expect(C.parenR), this.expect(C.arrow), s.returnType = this.flowParseType(), s.typeParameters = null, this.finishNode(s, "FunctionTypeAnnotation");case C.string: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");case C._true:case C._false: + return s.value = this.match(C._true), this.next(), this.finishNode(s, "BooleanLiteralTypeAnnotation");case C.plusMin: + if ("-" === this.state.value) return this.next(), this.match(C.num) || this.unexpected(null, "Unexpected token, expected number"), this.parseLiteral(-this.state.value, "NumberLiteralTypeAnnotation", s.start, s.loc.start);this.unexpected();case C.num: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");case C._null: + return s.value = this.match(C._null), this.next(), this.finishNode(s, "NullLiteralTypeAnnotation");case C._this: + return s.value = this.match(C._this), this.next(), this.finishNode(s, "ThisTypeAnnotation");case C.star: + return this.next(), this.finishNode(s, "ExistsTypeAnnotation");default: + if ("typeof" === this.state.type.keyword) return this.flowParseTypeofType();}throw this.unexpected(); + }, e.prototype.flowParsePostfixType = function () { + for (var t = this.state.start, e = this.state.startLoc, s = this.flowParsePrimaryType(); !this.canInsertSemicolon() && this.match(C.bracketL);) { + var i = this.startNodeAt(t, e);i.elementType = s, this.expect(C.bracketL), this.expect(C.bracketR), s = this.finishNode(i, "ArrayTypeAnnotation"); + }return s; + }, e.prototype.flowParsePrefixType = function () { + var t = this.startNode();return this.eat(C.question) ? (t.typeAnnotation = this.flowParsePrefixType(), this.finishNode(t, "NullableTypeAnnotation")) : this.flowParsePostfixType(); + }, e.prototype.flowParseAnonFunctionWithoutParens = function () { + var t = this.flowParsePrefixType();if (!this.state.noAnonFunctionType && this.eat(C.arrow)) { + var e = this.startNodeAt(t.start, t.loc);return e.params = [this.reinterpretTypeAsFunctionTypeParam(t)], e.rest = null, e.returnType = this.flowParseType(), e.typeParameters = null, this.finishNode(e, "FunctionTypeAnnotation"); + }return t; + }, e.prototype.flowParseIntersectionType = function () { + var t = this.startNode();this.eat(C.bitwiseAND);var e = this.flowParseAnonFunctionWithoutParens();for (t.types = [e]; this.eat(C.bitwiseAND);) { + t.types.push(this.flowParseAnonFunctionWithoutParens()); + }return 1 === t.types.length ? e : this.finishNode(t, "IntersectionTypeAnnotation"); + }, e.prototype.flowParseUnionType = function () { + var t = this.startNode();this.eat(C.bitwiseOR);var e = this.flowParseIntersectionType();for (t.types = [e]; this.eat(C.bitwiseOR);) { + t.types.push(this.flowParseIntersectionType()); + }return 1 === t.types.length ? e : this.finishNode(t, "UnionTypeAnnotation"); + }, e.prototype.flowParseType = function () { + var t = this.state.inType;this.state.inType = !0;var e = this.flowParseUnionType();return this.state.inType = t, e; + }, e.prototype.flowParseTypeAnnotation = function () { + var t = this.startNode();return t.typeAnnotation = this.flowParseTypeInitialiser(), this.finishNode(t, "TypeAnnotation"); + }, e.prototype.flowParseTypeAnnotatableIdentifier = function () { + var t = this.flowParseRestrictedIdentifier();return this.match(C.colon) && (t.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(t, t.type)), t; + }, e.prototype.typeCastToParameter = function (t) { + return t.expression.typeAnnotation = t.typeAnnotation, this.finishNodeAt(t.expression, t.expression.type, t.typeAnnotation.end, t.typeAnnotation.loc.end); + }, e.prototype.flowParseVariance = function () { + var t = null;return this.match(C.plusMin) && (t = this.startNode(), "+" === this.state.value ? t.kind = "plus" : t.kind = "minus", this.next(), this.finishNode(t, "Variance")), t; + }, e.prototype.parseFunctionBody = function (e, s) { + if (this.match(C.colon) && !s) { + var i = this.startNode(), + r = this.flowParseTypeAndPredicateInitialiser();i.typeAnnotation = r[0], e.predicate = r[1], e.returnType = i.typeAnnotation ? this.finishNode(i, "TypeAnnotation") : null; + }return t.prototype.parseFunctionBody.call(this, e, s); + }, e.prototype.parseStatement = function (e, s) { + if (this.state.strict && this.match(C.name) && "interface" === this.state.value) { + var i = this.startNode();return this.next(), this.flowParseInterface(i); + }return t.prototype.parseStatement.call(this, e, s); + }, e.prototype.parseExpressionStatement = function (e, s) { + if ("Identifier" === s.type) if ("declare" === s.name) { + if (this.match(C._class) || this.match(C.name) || this.match(C._function) || this.match(C._var) || this.match(C._export)) return this.flowParseDeclare(e); + } else if (this.match(C.name)) { + if ("interface" === s.name) return this.flowParseInterface(e);if ("type" === s.name) return this.flowParseTypeAlias(e); + }return t.prototype.parseExpressionStatement.call(this, e, s); + }, e.prototype.shouldParseExportDeclaration = function () { + return this.isContextual("type") || this.isContextual("interface") || t.prototype.shouldParseExportDeclaration.call(this); + }, e.prototype.isExportDefaultSpecifier = function () { + return (!this.match(C.name) || "type" !== this.state.value && "interface" !== this.state.value) && t.prototype.isExportDefaultSpecifier.call(this); + }, e.prototype.parseConditional = function (e, s, i, r, a) { + if (a && this.match(C.question)) { + var n = this.state.clone();try { + return t.prototype.parseConditional.call(this, e, s, i, r); + } catch (t) { + if (t instanceof SyntaxError) return this.state = n, a.start = t.pos || this.state.start, e;throw t; + } + }return t.prototype.parseConditional.call(this, e, s, i, r); + }, e.prototype.parseParenItem = function (e, s, i) { + if (e = t.prototype.parseParenItem.call(this, e, s, i), this.eat(C.question) && (e.optional = !0), this.match(C.colon)) { + var r = this.startNodeAt(s, i);return r.expression = e, r.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(r, "TypeCastExpression"); + }return e; + }, e.prototype.parseExport = function (e) { + return "ExportNamedDeclaration" === (e = t.prototype.parseExport.call(this, e)).type && (e.exportKind = e.exportKind || "value"), e; + }, e.prototype.parseExportDeclaration = function (e) { + if (this.isContextual("type")) { + e.exportKind = "type";var s = this.startNode();return this.next(), this.match(C.braceL) ? (e.specifiers = this.parseExportSpecifiers(), this.parseExportFrom(e), null) : this.flowParseTypeAlias(s); + }if (this.isContextual("interface")) { + e.exportKind = "type";var i = this.startNode();return this.next(), this.flowParseInterface(i); + }return t.prototype.parseExportDeclaration.call(this, e); + }, e.prototype.parseClassId = function (e) { + for (var s, i = arguments.length, r = Array(i > 1 ? i - 1 : 0), a = 1; a < i; a++) { + r[a - 1] = arguments[a]; + }(s = t.prototype.parseClassId).call.apply(s, [this, e].concat(r)), this.isRelational("<") && (e.typeParameters = this.flowParseTypeParameterDeclaration()); + }, e.prototype.isKeyword = function (e) { + return (!this.state.inType || "void" !== e) && t.prototype.isKeyword.call(this, e); + }, e.prototype.readToken = function (e) { + return !this.state.inType || 62 !== e && 60 !== e ? t.prototype.readToken.call(this, e) : this.finishOp(C.relational, 1); + }, e.prototype.toAssignable = function (e, s, i) { + return "TypeCastExpression" === e.type ? t.prototype.toAssignable.call(this, this.typeCastToParameter(e), s, i) : t.prototype.toAssignable.call(this, e, s, i); + }, e.prototype.toAssignableList = function (e, s, i) { + for (var r = 0; r < e.length; r++) { + var a = e[r];a && "TypeCastExpression" === a.type && (e[r] = this.typeCastToParameter(a)); + }return t.prototype.toAssignableList.call(this, e, s, i); + }, e.prototype.toReferencedList = function (t) { + for (var e = 0; e < t.length; e++) { + var s = t[e];s && s._exprListItem && "TypeCastExpression" === s.type && this.raise(s.start, "Unexpected type cast"); + }return t; + }, e.prototype.parseExprListItem = function () { + for (var e, s = this.startNode(), i = arguments.length, r = Array(i), a = 0; a < i; a++) { + r[a] = arguments[a]; + }var n = (e = t.prototype.parseExprListItem).call.apply(e, [this].concat(r));return this.match(C.colon) ? (s._exprListItem = !0, s.expression = n, s.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(s, "TypeCastExpression")) : n; + }, e.prototype.checkLVal = function (e) { + if ("TypeCastExpression" !== e.type) { + for (var s, i = arguments.length, r = Array(i > 1 ? i - 1 : 0), a = 1; a < i; a++) { + r[a - 1] = arguments[a]; + }return (s = t.prototype.checkLVal).call.apply(s, [this, e].concat(r)); + } + }, e.prototype.parseClassProperty = function (e) { + return this.match(C.colon) && (e.typeAnnotation = this.flowParseTypeAnnotation()), t.prototype.parseClassProperty.call(this, e); + }, e.prototype.isClassMethod = function () { + return this.isRelational("<") || t.prototype.isClassMethod.call(this); + }, e.prototype.isClassProperty = function () { + return this.match(C.colon) || t.prototype.isClassProperty.call(this); + }, e.prototype.isNonstaticConstructor = function (e) { + return !this.match(C.colon) && t.prototype.isNonstaticConstructor.call(this, e); + }, e.prototype.parseClassMethod = function (e, s) { + var i;s.variance && this.unexpected(s.variance.start), delete s.variance, this.isRelational("<") && (s.typeParameters = this.flowParseTypeParameterDeclaration());for (var r = arguments.length, a = Array(r > 2 ? r - 2 : 0), n = 2; n < r; n++) { + a[n - 2] = arguments[n]; + }(i = t.prototype.parseClassMethod).call.apply(i, [this, e, s].concat(a)); + }, e.prototype.parseClassSuper = function (e, s) { + if (t.prototype.parseClassSuper.call(this, e, s), e.superClass && this.isRelational("<") && (e.superTypeParameters = this.flowParseTypeParameterInstantiation()), this.isContextual("implements")) { + this.next();var i = e.implements = [];do { + var r = this.startNode();r.id = this.parseIdentifier(), this.isRelational("<") ? r.typeParameters = this.flowParseTypeParameterInstantiation() : r.typeParameters = null, i.push(this.finishNode(r, "ClassImplements")); + } while (this.eat(C.comma)); + } + }, e.prototype.parsePropertyName = function (e) { + var s = this.flowParseVariance(), + i = t.prototype.parsePropertyName.call(this, e);return e.variance = s, i; + }, e.prototype.parseObjPropValue = function (e) { + var s;e.variance && this.unexpected(e.variance.start), delete e.variance;var i = void 0;this.isRelational("<") && (i = this.flowParseTypeParameterDeclaration(), this.match(C.parenL) || this.unexpected());for (var r = arguments.length, a = Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++) { + a[n - 1] = arguments[n]; + }(s = t.prototype.parseObjPropValue).call.apply(s, [this, e].concat(a)), i && ((e.value || e).typeParameters = i); + }, e.prototype.parseAssignableListItemTypes = function (t) { + return this.eat(C.question) && (t.optional = !0), this.match(C.colon) && (t.typeAnnotation = this.flowParseTypeAnnotation()), this.finishNode(t, t.type), t; + }, e.prototype.parseMaybeDefault = function () { + for (var e, s = arguments.length, i = Array(s), r = 0; r < s; r++) { + i[r] = arguments[r]; + }var a = (e = t.prototype.parseMaybeDefault).call.apply(e, [this].concat(i));return "AssignmentPattern" === a.type && a.typeAnnotation && a.right.start < a.typeAnnotation.start && this.raise(a.typeAnnotation.start, "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`"), a; + }, e.prototype.parseImportSpecifiers = function (e) { + e.importKind = "value";var s = null;if (this.match(C._typeof) ? s = "typeof" : this.isContextual("type") && (s = "type"), s) { + var i = this.lookahead();(i.type === C.name && "from" !== i.value || i.type === C.braceL || i.type === C.star) && (this.next(), e.importKind = s); + }t.prototype.parseImportSpecifiers.call(this, e); + }, e.prototype.parseImportSpecifier = function (t) { + var e = this.startNode(), + s = this.state.start, + i = this.parseIdentifier(!0), + r = null;"type" === i.name ? r = "type" : "typeof" === i.name && (r = "typeof");var a = !1;if (this.isContextual("as")) { + var n = this.parseIdentifier(!0);null === r || this.match(C.name) || this.state.type.keyword ? (e.imported = i, e.importKind = null, e.local = this.parseIdentifier()) : (e.imported = n, e.importKind = r, e.local = n.__clone()); + } else null !== r && (this.match(C.name) || this.state.type.keyword) ? (e.imported = this.parseIdentifier(!0), e.importKind = r, this.eatContextual("as") ? e.local = this.parseIdentifier() : (a = !0, e.local = e.imported.__clone())) : (a = !0, e.imported = i, e.importKind = null, e.local = e.imported.__clone());"type" !== t.importKind && "typeof" !== t.importKind || "type" !== e.importKind && "typeof" !== e.importKind || this.raise(s, "`The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements`"), a && this.checkReservedWord(e.local.name, e.start, !0, !0), this.checkLVal(e.local, !0, void 0, "import specifier"), t.specifiers.push(this.finishNode(e, "ImportSpecifier")); + }, e.prototype.parseFunctionParams = function (e) { + this.isRelational("<") && (e.typeParameters = this.flowParseTypeParameterDeclaration()), t.prototype.parseFunctionParams.call(this, e); + }, e.prototype.parseVarHead = function (e) { + t.prototype.parseVarHead.call(this, e), this.match(C.colon) && (e.id.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(e.id, e.id.type)); + }, e.prototype.parseAsyncArrowFromCallExpression = function (e, s) { + if (this.match(C.colon)) { + var i = this.state.noAnonFunctionType;this.state.noAnonFunctionType = !0, e.returnType = this.flowParseTypeAnnotation(), this.state.noAnonFunctionType = i; + }return t.prototype.parseAsyncArrowFromCallExpression.call(this, e, s); + }, e.prototype.shouldParseAsyncArrow = function () { + return this.match(C.colon) || t.prototype.shouldParseAsyncArrow.call(this); + }, e.prototype.parseMaybeAssign = function () { + for (var e, s = null, i = arguments.length, r = Array(i), a = 0; a < i; a++) { + r[a] = arguments[a]; + }if (C.jsxTagStart && this.match(C.jsxTagStart)) { + var n = this.state.clone();try { + var o;return (o = t.prototype.parseMaybeAssign).call.apply(o, [this].concat(r)); + } catch (t) { + if (!(t instanceof SyntaxError)) throw t;this.state = n, this.state.context.length -= 2, s = t; + } + }if (null != s || this.isRelational("<")) { + var h = void 0, + p = void 0;try { + var c;p = this.flowParseTypeParameterDeclaration(), (h = (c = t.prototype.parseMaybeAssign).call.apply(c, [this].concat(r))).typeParameters = p, this.resetStartLocationFromNode(h, p); + } catch (t) { + throw s || t; + }if ("ArrowFunctionExpression" === h.type) return h;if (null != s) throw s;this.raise(p.start, "Expected an arrow function after this type parameter declaration"); + }return (e = t.prototype.parseMaybeAssign).call.apply(e, [this].concat(r)); + }, e.prototype.parseArrow = function (e) { + if (this.match(C.colon)) { + var s = this.state.clone();try { + var i = this.state.noAnonFunctionType;this.state.noAnonFunctionType = !0;var r = this.startNode(), + a = this.flowParseTypeAndPredicateInitialiser();r.typeAnnotation = a[0], e.predicate = a[1], this.state.noAnonFunctionType = i, this.canInsertSemicolon() && this.unexpected(), this.match(C.arrow) || this.unexpected(), e.returnType = r.typeAnnotation ? this.finishNode(r, "TypeAnnotation") : null; + } catch (t) { + if (!(t instanceof SyntaxError)) throw t;this.state = s; + } + }return t.prototype.parseArrow.call(this, e); + }, e.prototype.shouldParseArrow = function () { + return this.match(C.colon) || t.prototype.shouldParseArrow.call(this); + }, e; + }(t); + }, + at = { quot: '"', amp: "&", apos: "'", lt: "<", gt: ">", nbsp: " ", iexcl: "¡", cent: "¢", pound: "£", curren: "¤", yen: "¥", brvbar: "¦", sect: "§", uml: "¨", copy: "©", ordf: "ª", laquo: "«", not: "¬", shy: "­", reg: "®", macr: "¯", deg: "°", plusmn: "±", sup2: "²", sup3: "³", acute: "´", micro: "µ", para: "¶", middot: "·", cedil: "¸", sup1: "¹", ordm: "º", raquo: "»", frac14: "¼", frac12: "½", frac34: "¾", iquest: "¿", Agrave: "À", Aacute: "Á", Acirc: "Â", Atilde: "Ã", Auml: "Ä", Aring: "Å", AElig: "Æ", Ccedil: "Ç", Egrave: "È", Eacute: "É", Ecirc: "Ê", Euml: "Ë", Igrave: "Ì", Iacute: "Í", Icirc: "Î", Iuml: "Ï", ETH: "Ð", Ntilde: "Ñ", Ograve: "Ò", Oacute: "Ó", Ocirc: "Ô", Otilde: "Õ", Ouml: "Ö", times: "×", Oslash: "Ø", Ugrave: "Ù", Uacute: "Ú", Ucirc: "Û", Uuml: "Ü", Yacute: "Ý", THORN: "Þ", szlig: "ß", agrave: "à", aacute: "á", acirc: "â", atilde: "ã", auml: "ä", aring: "å", aelig: "æ", ccedil: "ç", egrave: "è", eacute: "é", ecirc: "ê", euml: "ë", igrave: "ì", iacute: "í", icirc: "î", iuml: "ï", eth: "ð", ntilde: "ñ", ograve: "ò", oacute: "ó", ocirc: "ô", otilde: "õ", ouml: "ö", divide: "÷", oslash: "ø", ugrave: "ù", uacute: "ú", ucirc: "û", uuml: "ü", yacute: "ý", thorn: "þ", yuml: "ÿ", OElig: "Œ", oelig: "œ", Scaron: "Š", scaron: "š", Yuml: "Ÿ", fnof: "ƒ", circ: "ˆ", tilde: "˜", Alpha: "Α", Beta: "Β", Gamma: "Γ", Delta: "Δ", Epsilon: "Ε", Zeta: "Ζ", Eta: "Η", Theta: "Θ", Iota: "Ι", Kappa: "Κ", Lambda: "Λ", Mu: "Μ", Nu: "Ν", Xi: "Ξ", Omicron: "Ο", Pi: "Π", Rho: "Ρ", Sigma: "Σ", Tau: "Τ", Upsilon: "Υ", Phi: "Φ", Chi: "Χ", Psi: "Ψ", Omega: "Ω", alpha: "α", beta: "β", gamma: "γ", delta: "δ", epsilon: "ε", zeta: "ζ", eta: "η", theta: "θ", iota: "ι", kappa: "κ", lambda: "λ", mu: "μ", nu: "ν", xi: "ξ", omicron: "ο", pi: "π", rho: "ρ", sigmaf: "ς", sigma: "σ", tau: "τ", upsilon: "υ", phi: "φ", chi: "χ", psi: "ψ", omega: "ω", thetasym: "ϑ", upsih: "ϒ", piv: "ϖ", ensp: " ", emsp: " ", thinsp: " ", zwnj: "‌", zwj: "‍", lrm: "‎", rlm: "‏", ndash: "–", mdash: "—", lsquo: "‘", rsquo: "’", sbquo: "‚", ldquo: "“", rdquo: "”", bdquo: "„", dagger: "†", Dagger: "‡", bull: "•", hellip: "…", permil: "‰", prime: "′", Prime: "″", lsaquo: "‹", rsaquo: "›", oline: "‾", frasl: "⁄", euro: "€", image: "ℑ", weierp: "℘", real: "ℜ", trade: "™", alefsym: "ℵ", larr: "←", uarr: "↑", rarr: "→", darr: "↓", harr: "↔", crarr: "↵", lArr: "⇐", uArr: "⇑", rArr: "⇒", dArr: "⇓", hArr: "⇔", forall: "∀", part: "∂", exist: "∃", empty: "∅", nabla: "∇", isin: "∈", notin: "∉", ni: "∋", prod: "∏", sum: "∑", minus: "−", lowast: "∗", radic: "√", prop: "∝", infin: "∞", ang: "∠", and: "∧", or: "∨", cap: "∩", cup: "∪", int: "∫", there4: "∴", sim: "∼", cong: "≅", asymp: "≈", ne: "≠", equiv: "≡", le: "≤", ge: "≥", sub: "⊂", sup: "⊃", nsub: "⊄", sube: "⊆", supe: "⊇", oplus: "⊕", otimes: "⊗", perp: "⊥", sdot: "⋅", lceil: "⌈", rceil: "⌉", lfloor: "⌊", rfloor: "⌋", lang: "〈", rang: "〉", loz: "◊", spades: "♠", clubs: "♣", hearts: "♥", diams: "♦" }, + nt = /^[\da-fA-F]+$/, + ot = /^\d+$/;V.j_oTag = new q("...", !0, !0), C.jsxName = new k("jsxName"), C.jsxText = new k("jsxText", { beforeExpr: !0 }), C.jsxTagStart = new k("jsxTagStart", { startsExpr: !0 }), C.jsxTagEnd = new k("jsxTagEnd"), C.jsxTagStart.updateContext = function () { + this.state.context.push(V.j_expr), this.state.context.push(V.j_oTag), this.state.exprAllowed = !1; + }, C.jsxTagEnd.updateContext = function (t) { + var e = this.state.context.pop();e === V.j_oTag && t === C.slash || e === V.j_cTag ? (this.state.context.pop(), this.state.exprAllowed = this.curContext() === V.j_expr) : this.state.exprAllowed = !0; + };var ht = function ht(t) { + return function (t) { + function e() { + return g(this, e), P(this, t.apply(this, arguments)); + }return w(e, t), e.prototype.jsxReadToken = function () { + for (var t = "", e = this.state.pos;;) { + this.state.pos >= this.input.length && this.raise(this.state.start, "Unterminated JSX contents");var s = this.input.charCodeAt(this.state.pos);switch (s) {case 60:case 123: + return this.state.pos === this.state.start ? 60 === s && this.state.exprAllowed ? (++this.state.pos, this.finishToken(C.jsxTagStart)) : this.getTokenFromCode(s) : (t += this.input.slice(e, this.state.pos), this.finishToken(C.jsxText, t));case 38: + t += this.input.slice(e, this.state.pos), t += this.jsxReadEntity(), e = this.state.pos;break;default: + o(s) ? (t += this.input.slice(e, this.state.pos), t += this.jsxReadNewLine(!0), e = this.state.pos) : ++this.state.pos;} + } + }, e.prototype.jsxReadNewLine = function (t) { + var e = this.input.charCodeAt(this.state.pos), + s = void 0;return ++this.state.pos, 13 === e && 10 === this.input.charCodeAt(this.state.pos) ? (++this.state.pos, s = t ? "\n" : "\r\n") : s = String.fromCharCode(e), ++this.state.curLine, this.state.lineStart = this.state.pos, s; + }, e.prototype.jsxReadString = function (t) { + for (var e = "", s = ++this.state.pos;;) { + this.state.pos >= this.input.length && this.raise(this.state.start, "Unterminated string constant");var i = this.input.charCodeAt(this.state.pos);if (i === t) break;38 === i ? (e += this.input.slice(s, this.state.pos), e += this.jsxReadEntity(), s = this.state.pos) : o(i) ? (e += this.input.slice(s, this.state.pos), e += this.jsxReadNewLine(!1), s = this.state.pos) : ++this.state.pos; + }return e += this.input.slice(s, this.state.pos++), this.finishToken(C.string, e); + }, e.prototype.jsxReadEntity = function () { + for (var t = "", e = 0, s = void 0, i = this.input[this.state.pos], r = ++this.state.pos; this.state.pos < this.input.length && e++ < 10;) { + if (";" === (i = this.input[this.state.pos++])) { + "#" === t[0] ? "x" === t[1] ? (t = t.substr(2), nt.test(t) && (s = String.fromCodePoint(parseInt(t, 16)))) : (t = t.substr(1), ot.test(t) && (s = String.fromCodePoint(parseInt(t, 10)))) : s = at[t];break; + }t += i; + }return s || (this.state.pos = r, "&"); + }, e.prototype.jsxReadWord = function () { + var t = void 0, + e = this.state.pos;do { + t = this.input.charCodeAt(++this.state.pos); + } while (n(t) || 45 === t);return this.finishToken(C.jsxName, this.input.slice(e, this.state.pos)); + }, e.prototype.jsxParseIdentifier = function () { + var t = this.startNode();return this.match(C.jsxName) ? t.name = this.state.value : this.state.type.keyword ? t.name = this.state.type.keyword : this.unexpected(), this.next(), this.finishNode(t, "JSXIdentifier"); + }, e.prototype.jsxParseNamespacedName = function () { + var t = this.state.start, + e = this.state.startLoc, + s = this.jsxParseIdentifier();if (!this.eat(C.colon)) return s;var i = this.startNodeAt(t, e);return i.namespace = s, i.name = this.jsxParseIdentifier(), this.finishNode(i, "JSXNamespacedName"); + }, e.prototype.jsxParseElementName = function () { + for (var t = this.state.start, e = this.state.startLoc, s = this.jsxParseNamespacedName(); this.eat(C.dot);) { + var i = this.startNodeAt(t, e);i.object = s, i.property = this.jsxParseIdentifier(), s = this.finishNode(i, "JSXMemberExpression"); + }return s; + }, e.prototype.jsxParseAttributeValue = function () { + var t = void 0;switch (this.state.type) {case C.braceL: + if ("JSXEmptyExpression" === (t = this.jsxParseExpressionContainer()).expression.type) throw this.raise(t.start, "JSX attributes must only be assigned a non-empty expression");return t;case C.jsxTagStart:case C.string: + return this.parseExprAtom();default: + throw this.raise(this.state.start, "JSX value should be either an expression or a quoted JSX text");} + }, e.prototype.jsxParseEmptyExpression = function () { + var t = this.startNodeAt(this.state.lastTokEnd, this.state.lastTokEndLoc);return this.finishNodeAt(t, "JSXEmptyExpression", this.state.start, this.state.startLoc); + }, e.prototype.jsxParseSpreadChild = function () { + var t = this.startNode();return this.expect(C.braceL), this.expect(C.ellipsis), t.expression = this.parseExpression(), this.expect(C.braceR), this.finishNode(t, "JSXSpreadChild"); + }, e.prototype.jsxParseExpressionContainer = function () { + var t = this.startNode();return this.next(), this.match(C.braceR) ? t.expression = this.jsxParseEmptyExpression() : t.expression = this.parseExpression(), this.expect(C.braceR), this.finishNode(t, "JSXExpressionContainer"); + }, e.prototype.jsxParseAttribute = function () { + var t = this.startNode();return this.eat(C.braceL) ? (this.expect(C.ellipsis), t.argument = this.parseMaybeAssign(), this.expect(C.braceR), this.finishNode(t, "JSXSpreadAttribute")) : (t.name = this.jsxParseNamespacedName(), t.value = this.eat(C.eq) ? this.jsxParseAttributeValue() : null, this.finishNode(t, "JSXAttribute")); + }, e.prototype.jsxParseOpeningElementAt = function (t, e) { + var s = this.startNodeAt(t, e);for (s.attributes = [], s.name = this.jsxParseElementName(); !this.match(C.slash) && !this.match(C.jsxTagEnd);) { + s.attributes.push(this.jsxParseAttribute()); + }return s.selfClosing = this.eat(C.slash), this.expect(C.jsxTagEnd), this.finishNode(s, "JSXOpeningElement"); + }, e.prototype.jsxParseClosingElementAt = function (t, e) { + var s = this.startNodeAt(t, e);return s.name = this.jsxParseElementName(), this.expect(C.jsxTagEnd), this.finishNode(s, "JSXClosingElement"); + }, e.prototype.jsxParseElementAt = function (t, e) { + var s = this.startNodeAt(t, e), + i = [], + r = this.jsxParseOpeningElementAt(t, e), + a = null;if (!r.selfClosing) { + t: for (;;) { + switch (this.state.type) {case C.jsxTagStart: + if (t = this.state.start, e = this.state.startLoc, this.next(), this.eat(C.slash)) { + a = this.jsxParseClosingElementAt(t, e);break t; + }i.push(this.jsxParseElementAt(t, e));break;case C.jsxText: + i.push(this.parseExprAtom());break;case C.braceL: + this.lookahead().type === C.ellipsis ? i.push(this.jsxParseSpreadChild()) : i.push(this.jsxParseExpressionContainer());break;default: + throw this.unexpected();} + }f(a.name) !== f(r.name) && this.raise(a.start, "Expected corresponding JSX closing tag for <" + f(r.name) + ">"); + }return s.openingElement = r, s.closingElement = a, s.children = i, this.match(C.relational) && "<" === this.state.value && this.raise(this.state.start, "Adjacent JSX elements must be wrapped in an enclosing tag"), this.finishNode(s, "JSXElement"); + }, e.prototype.jsxParseElement = function () { + var t = this.state.start, + e = this.state.startLoc;return this.next(), this.jsxParseElementAt(t, e); + }, e.prototype.parseExprAtom = function (e) { + return this.match(C.jsxText) ? this.parseLiteral(this.state.value, "JSXText") : this.match(C.jsxTagStart) ? this.jsxParseElement() : t.prototype.parseExprAtom.call(this, e); + }, e.prototype.readToken = function (e) { + if (this.state.inPropertyName) return t.prototype.readToken.call(this, e);var s = this.curContext();if (s === V.j_expr) return this.jsxReadToken();if (s === V.j_oTag || s === V.j_cTag) { + if (a(e)) return this.jsxReadWord();if (62 === e) return ++this.state.pos, this.finishToken(C.jsxTagEnd);if ((34 === e || 39 === e) && s === V.j_oTag) return this.jsxReadString(e); + }return 60 === e && this.state.exprAllowed ? (++this.state.pos, this.finishToken(C.jsxTagStart)) : t.prototype.readToken.call(this, e); + }, e.prototype.updateContext = function (e) { + if (this.match(C.braceL)) { + var s = this.curContext();s === V.j_oTag ? this.state.context.push(V.braceExpression) : s === V.j_expr ? this.state.context.push(V.templateQuasi) : t.prototype.updateContext.call(this, e), this.state.exprAllowed = !0; + } else { + if (!this.match(C.slash) || e !== C.jsxTagStart) return t.prototype.updateContext.call(this, e);this.state.context.length -= 2, this.state.context.push(V.j_cTag), this.state.exprAllowed = !1; + } + }, e; + }(t); + };Z.estree = et, Z.flow = rt, Z.jsx = ht;var pt = {};e.parse = m, e.parseExpression = y, e.tokTypes = C; + });var createError = parserCreateError;var parserBabylon = parse;module.exports = parserBabylon; + }); -}()); + var parserBabylon = unwrapExports(parserBabylon_1); + + return parserBabylon; +}(); diff --git a/docs/parser-flow.js b/docs/parser-flow.js index 259a2f2b..2bcf4cab 100644 --- a/docs/parser-flow.js +++ b/docs/parser-flow.js @@ -1,5 +1,5 @@ var flow = (function () { -function createError$1(t,r){const e=new SyntaxError(t+" ("+r.start.line+":"+r.start.column+")");return e.loc=r,e}function includeShebang$1(t,r){if(!t.startsWith("#!"))return;const e=t.indexOf("\n"),n={type:"Line",value:t.slice(2,e),range:[0,e],loc:{source:null,start:{line:1,column:0},end:{line:1,column:e}}};r.comments=[n].concat(r.comments);}function createCommonjsModule(t,r){return r={exports:{}},t(r,r.exports),r.exports}function parse(t){const r=flow_parser.parse(t,{esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_export_star_as:!0});if(r.errors.length>0){const t=r.errors[0].loc;throw createError(r.errors[0].message,{start:{line:t.start.line,column:t.start.column+1},end:{line:t.end.line,column:t.end.column+1}})}return includeShebang(t,r),r}var parserCreateError=createError$1; var parserIncludeShebang=includeShebang$1; var flow_parser=createCommonjsModule(function(t,r){!function(t){"use strict";function e(t,r){throw[0,t,r]}function n(t,r){function n(r){e(Gd.Undefined_recursive_module,t);}function a(t,r,e){if("number"==typeof t)switch(t){case 0:r[e]={fun:n};break;case 1:r[e]=[ls,n];break;default:r[e]=[];}else switch(t[0]){case 0:r[e]=[0];for(var u=1;u=1;u--)e[n+u]=t[r+u];return 0}function c(t,r,e){var n=new Array(e+1);n[0]=0;for(var a=1,u=r+1;a<=e;a++,u++)n[a]=t[u];return n}function s(t,r,e){for(var n=new Array(e),a=0;a=e.l||2==e.t&&a>=e.c.length))e.c=4==t.t?o(t.c,r,a):0==r&&t.c.length==a?t.c:t.c.substr(r,a),e.t=e.c.length==e.l?0:2;else if(2==e.t&&n==e.c.length)e.c+=4==t.t?o(t.c,r,a):0==r&&t.c.length==a?t.c:t.c.substr(r,a),e.t=e.c.length==e.l?0:2;else{4!=e.t&&v(e);var u=t.c,i=e.c;if(4==t.t)if(n<=r)for(c=0;c=0;c--)i[n+c]=u[r+c];else{for(var f=Math.min(a,u.length-r),c=0;c>=1))return e;r+=r,9==++n&&r.slice(0,1);}}function k(t){2==t.t?t.c+=b(t.l-t.c.length,"\0"):t.c=o(t.c,0,t.c.length),t.t=0;}function p(t){if(t.length<24){for(var r=0;r$b)return!1;return!0}return!/[^\x00-\x7f]/.test(t)}function h(t){for(var r,e,n,a,u=mb,i=mb,f=0,c=t.length;fHn?(i.substr(0,1),u+=i,i=mb,u+=t.slice(f,s)):i+=t.slice(f,s),s==c)break;f=s;}a=1,++f=55295&&anl)&&(a=3))))),a<4?(f-=a,i+="�"):i+=a>ki?String.fromCharCode(55232+(a>>10),Ji+(a&va)):String.fromCharCode(a),i.length>Nu&&(i.substr(0,1),u+=i,i=mb);}return u+i}function d(t){switch(t.t){case 9:return t.c;default:k(t);case 0:if(p(t.c))return t.t=9,t.c;t.t=8;case 8:return h(t.c)}}function m(t,r,e){this.t=t,this.c=r,this.l=e;}function y(t){return new m(0,t,t.length)}function w(t,r){e(t,y(r));}function g(t){w(Gd.Invalid_argument,t);}function T(){g(pu);}function _(t,r,e){if(e&=lh,4!=t.t){if(r==t.c.length)return t.c+=String.fromCharCode(e),r+1==t.l&&(t.t=0),0;v(t);}return t.c[r]=e,0}function S(t,r,e){return r>>>0>=t.l&&T(),_(t,r,e)}function A(t,r){for(var e=t.length,n=new Array(e+1),a=0;a>>0>=t.length-1&&x(),t}function C(t){return isFinite(t)?Math.abs(t)>=2.2250738585072014e-308?0:0!=t?1:2:isNaN(t)?4:3}function N(t,r){var e=t[3]<<16,n=r[3]<<16;return e>n?1:er[2]?1:t[2]r[1]?1:t[1]r.c?1:0}function P(t,r,e){for(var n=[];;){if(!e||t!==r)if(t instanceof m){if(!(r instanceof m))return 1;if(t!==r&&0!=(i=R(t,r)))return i}else if(t instanceof Array&&t[0]===(0|t[0])){var a=t[0];if(a===Cn&&(a=0),a===Ql){t=t[1];continue}if(!(r instanceof Array&&r[0]===(0|r[0])))return 1;var u=r[0];if(u===Cn&&(u=0),u===Ql){r=r[1];continue}if(a!=u)return a1&&n.push(t,r,1);}}else{if(r instanceof m||r instanceof Array&&r[0]===(0|r[0]))return-1;if("number"!=typeof t&&t&&t.compare)return t.compare(r,e);if(typeof t==Pk)g("equal: functional value");else{if(tr)return 1;if(t!=r){if(!e)return NaN;if(t==t)return 1;if(r==r)return-1}}}if(0==n.length)return 0;var f=n.pop();r=n.pop(),f+1<(t=n.pop()).length&&n.push(t,r,f+1),t=t[f],r=r[f];}}function O(t,r){return P(t,r,!0)}function U(t){return t<0&&g("Bytes.create"),new m(t?2:9,mb,t)}function D(t,r){return+(0==P(t,r,!1))}function M(t,r,e,n){if(e>0)if(0==r&&(e>=t.l||2==t.t&&e>=t.c.length))0==n?(t.c=mb,t.t=2):(t.c=b(e,String.fromCharCode(n)),t.t=e==t.l?0:2);else for(4!=t.t&&v(t),e+=r;r0&&r===r)return r;if(t=t.replace(/_/g,mb),r=+t,t.length>0&&r===r||/^[+-]?nan$/i.test(t))return r;var e=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(t);if(e){var n=e[3].replace(/0+$/,mb),a=parseInt(e[1]+e[2]+n,16),u=(0|e[4])-4*n.length;return r=a*Math.pow(2,u)}return/^\+?inf(inity)?$/i.test(t)?1/0:/^-inf(inity)?$/i.test(t)?-1/0:void F("float_of_string")}function j(t){var r=(t=X(t)).length;r>31&&g("format_int: format too long");for(var e={justify:Mb,signstyle:xl,filler:hd,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:"f"},n=0;n=0&&a<=9;)e.width=10*e.width+a,n++;n--;break;case".":for(e.prec=0,n++;(a=t.charCodeAt(n)-48)>=0&&a<=9;)e.prec=10*e.prec+a,n++;n--;case"d":case"i":e.signedconv=!0;case"u":e.base=10;break;case"x":e.base=16;break;case"X":e.base=16,e.uppercase=!0;break;case"o":e.base=8;break;case"e":case"f":case"g":e.signedconv=!0,e.conv=a;break;case"E":case"F":case"G":e.signedconv=!0,e.uppercase=!0,e.conv=a.toLowerCase();}}return e}function G(t,r){t.uppercase&&(r=r.toUpperCase());var e=r.length;t.signedconv&&(t.sign<0||t.signstyle!=xl)&&e++,t.alternate&&(8==t.base&&(e+=1),16==t.base&&(e+=2));var n=mb;if(t.justify==Mb&&t.filler==hd)for(a=e;a=1e21||r.toFixed(0).length>a){for(c=u-1;e.charAt(c)==Nv;)c--;e.charAt(c)==bi&&c--,c=(e=e.slice(0,c+1)+e.slice(u)).length,e.charAt(c-3)==za&&(e=e.slice(0,c-1)+Nv+e.slice(c-1));break}var f=a;if(i<0)f-=i+1,e=r.toFixed(f);else for(;(e=r.toFixed(f)).length>a+1;)f--;if(f){for(var c=e.length-1;e.charAt(c)==Nv;)c--;e.charAt(c)==bi&&c--,e=e.slice(0,c+1);}}else e="inf",n.filler=hd;return G(n,e)}function Y(t,r){if(X(t)==hc)return y(mb+r);var e=j(t);r<0&&(e.signedconv?(e.sign=-1,r=-r):r>>>=0);var n=r.toString(e.base);if(e.prec>=0){e.filler=hd;var a=e.prec-n.length;a>0&&(n=b(a,Nv)+n);}return G(e,n)}function J(){return Jd++}function H(t,r){return+(P(t,r,!1)>=0)}function W(t,r){return r=Hd(r,-862048943),r=r<<15|r>>>17,r=Hd(r,461845907),t^=r,((t=t<<13|t>>>19)+(t<<2)|0)-430675100|0}function z(t,r){var e=r[1]|r[2]<<24;return t=W(t,(r[2]>>>8|r[3]<<16)^e)}function V(t){if(Wd)return Math.floor(Math.log2(t));var r=0;if(0==t)return-1/0;if(t>=1)for(;t>=2;)t/=2,r++;else for(;t<1;)t*=2,r--;return r}function $(t){if(!isFinite(t))return isNaN(t)?[lh,1,0,jo]:t>0?[lh,0,0,jo]:[lh,0,0,65520];var r=0==t&&1/t==-1/0?oh:t>=0?0:oh;r&&(t=-t);var e=V(t)+va;e<=0?(e=0,t/=Math.pow(2,-1026)):((t/=Math.pow(2,e-1027))<16&&(t*=2,e-=1),0==e&&(t/=2));var n=Math.pow(2,24),a=0|t,u=0|(t=(t-a)*n);return a=15&a|r|e<<4,[lh,0|(t=(t-u)*n),u,a]}function K(t,r){var e=$(r),n=e[1]|e[2]<<24,a=e[2]>>>8|e[3]<<16;return t=W(t,n),t=W(t,a)}function Q(t,r){var e,n,a=r.length;for(e=0;e+4<=a;e+=4)t=W(t,n=r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24);switch(n=0,3&a){case 3:n=r[e+2]<<16;case 2:n|=r[e+1]<<8;case 1:t=W(t,n|=r[e]);}return t^=a}function Z(t,r){var e,n,a=r.length;for(e=0;e+4<=a;e+=4)t=W(t,n=r.charCodeAt(e)|r.charCodeAt(e+1)<<8|r.charCodeAt(e+2)<<16|r.charCodeAt(e+3)<<24);switch(n=0,3&a){case 3:n=r.charCodeAt(e+2)<<16;case 2:n|=r.charCodeAt(e+1)<<8;case 1:t=W(t,n|=r.charCodeAt(e));}return t^=a}function tt(t,r){switch(6&r.t){default:k(r);case 0:t=Z(t,r.c);break;case 2:t=Q(t,r.c);}return t}function rt(t){return t^=t>>>16,t=Hd(t,-2048144789),t^=t>>>13,t=Hd(t,-1028477387),t^=t>>>16}function et(t,r,e,n){var a,u,i,f,c,s,o,v,l;for(((f=r)<0||f>zd)&&(f=zd),c=t,s=e,a=[n],u=0,i=1;u0;)if((o=a[u++])instanceof Array&&o[0]===(0|o[0]))switch(o[0]){case 248:s=W(s,o[2]),c--;break;case 250:a[--u]=o[1];break;case 255:s=z(s,o),c--;break;default:for(s=W(s,o.length-1<<10|o[0]),v=1,l=o.length;v=f);v++)a[i++]=o[v];}else o instanceof m?(s=tt(s,o),c--):o===(0|o)?(s=W(s,o+o+1),c--):o===+o&&(s=K(s,o),c--);return(s=rt(s))&wp}function nt(t){return[t[3]>>8,t[3]&lh,t[2]>>16,t[2]>>8&lh,t[2]&lh,t[1]>>16,t[1]>>8&lh,t[1]&lh]}function at(t,r,e){function n(e){if(r--,!(t<0||r<0))if(e instanceof Array&&e[0]===(0|e[0]))switch(e[0]){case 248:t--,a=a*bv+e[2]|0;break;case 250:r++,n(e);break;case 255:t--,a=a*bv+e[1]+(e[2]<<24)|0;break;default:t--,a=19*a+e[0]|0;for(f=e.length-1;f>0;f--)n(e[f]);}else if(e instanceof m)switch(t--,6&e.t){default:k(e);case 0:for(var u=e.c,i=e.l,f=0;f=0;f--)a=19*a+s[f]|0;}}var a=0;return n(e),a&wp}function ut(t){for(var r,e,n=mb,a=n,u=0,i=t.length;uHn?(a.substr(0,1),n+=a,a=mb,n+=t.slice(u,f)):a+=t.slice(u,f),f==i)break;u=f;}r>6),a+=String.fromCharCode(Zn|63&r)):r=yc?a+=String.fromCharCode(Jl|r>>12,Zn|r>>6&63,Zn|63&r):r>=56319||u+1==i||(e=t.charCodeAt(u+1))yc?a+="�":(u++,r=(r<<10)+e-56613888,a+=String.fromCharCode(Kp|r>>18,Zn|r>>12&63,Zn|r>>6&63,Zn|63&r)),a.length>Nu&&(a.substr(0,1),n+=a,a=mb);}return n+a}function it(t){var r=9;return p(t)||(r=8,t=ut(t)),new m(r,t,t.length)}function ft(t,r,e){if(!isFinite(t))return it(isNaN(t)?ak:t>0?Bu:"-infinity");var n=0==t&&1/t==-1/0?1:t>=0?0:1;n&&(t=-t);var a=0;if(0==t);else if(t<1)for(;t<1&&a>-1022;)t*=2,a--;else for(;t>=2;)t/=2,a++;var u=a<0?mb:Mb,i=mb;if(n)i=xl;else switch(e){case 43:i=Mb;break;case 32:i=hd;}if(r>=0&&r<13){var f=Math.pow(2,4*r);t=Math.round(t*f)/f;}var c=t.toString(16);if(r>=0){var s=c.indexOf(bi);if(s<0)c+=bi+b(r,Nv);else{var o=s+1+r;c.length>24&On,t>>31&ki]}function ot(t){for(var r=t.length,e=new Array(r),n=0;n>24),a=t[3]-r[3]+(n>>24);return[lh,e&On,n&On,a&ki]}function lt(t,r){return t[3]>r[3]?1:t[3]r[2]?1:t[2]r[1]?1:t[1]>23,t[2]=(t[2]<<1|t[1]>>23)&On,t[1]=t[1]<<1&On;}function kt(t){t[1]=(t[1]>>>1|t[2]<<23)&On,t[2]=(t[2]>>>1|t[3]<<23)&On,t[3]=t[3]>>>1;}function pt(t,r){for(var e=0,n=ot(t),a=ot(r),u=[lh,0,0,0];lt(n,a)>0;)e++,bt(a);for(;e>=0;)e--,bt(u),lt(n,a)>=0&&(u[1]++,n=vt(n,a)),kt(a);return[0,u,n]}function ht(t){return t[1]|t[2]<<24}function dt(t){return t[3]<<16<0}function mt(t){var r=-t[1],e=-t[2]+(r>>24),n=-t[3]+(e>>24);return[lh,r&On,e&On,n&ki]}function yt(t,r){var e=j(t);e.signedconv&&dt(r)&&(e.sign=-1,r=mt(r));var n=mb,a=st(e.base);do{var u=pt(r,a);r=u[1],n="0123456789abcdef".charAt(ht(u[2]))+n;}while(!ct(r));if(e.prec>=0){e.filler=hd;var i=e.prec-n.length;i>0&&(n=b(i,Nv)+n);}return G(e,n)}function wt(t){return t.l}function gt(t,r){switch(6&t.t){default:if(r>=t.c.length)return 0;case 0:return t.c.charCodeAt(r);case 4:return t.c[r]}}function Tt(t,r){var e=t[1]+r[1],n=t[2]+r[2]+(e>>24),a=t[3]+r[3]+(n>>24);return[lh,e&On,n&On,a&ki]}function _t(t,r){var e=t[1]*r[1],n=(e*Vd|0)+t[2]*r[1]+t[1]*r[2],a=(n*Vd|0)+t[3]*r[1]+t[2]*r[2]+t[1]*r[3];return[lh,e&On,n&On,a&ki]}function St(t,r){return lt(t,r)<0}function At(t){var r=0,e=wt(t),n=10,a=e>0&&45==gt(t,0)?(r++,-1):1;if(r+1=48&&t<=57?t-48:t>=65&&t<=90?t-55:t>=97&&t<=xs?t-87:-1}function xt(t){var r=At(t),e=r[0],n=r[1],a=r[2],u=st(a),i=pt([lh,On,268435455,ki],u)[1],f=gt(t,e),c=Et(f);(c<0||c>=a)&&F(Ap);for(var s=st(c);;)if(e++,95!=(f=gt(t,e))){if((c=Et(f))<0||c>=a)break;St(i,s)&&F(Ap),c=st(c),St(s=Tt(_t(u,s),c),c)&&F(Ap);}return e!=wt(t)&&F(Ap),10==r[2]&&St([lh,0,0,oh],s)&&F(Ap),n<0&&(s=mt(s)),s}function It(t){return(t[3]<<16)*Math.pow(2,32)+t[2]*Math.pow(2,24)+t[1]}function Ct(t){var r=At(t),e=r[0],n=r[1],a=r[2],u=wt(t),i=e=a)&&F(Ap);var c=f;for(e++;e=a)break;(c=a*c+f)>-1>>>0&&F(Ap);}return e!=u&&F(Ap),c*=n,10==a&&(0|c)!=c&&F(Ap),0|c}function Nt(t){return s(t,1,t.length-1)}function Lt(t){return t.toString()}function Rt(t){for(var r={},e=1;e=0;e--)r=[0,t[e],r];return r}function Dt(t,r){var t=t+1|0,e=new Array(t);e[0]=0;for(var n=1;n=a){var i=jt(u+n);l(t.file.data,0,i,0,a),l(e,0,i,u,n),t.file.data=i;}return t.offset+=n,t.file.modified(),0}function $t(t){var r;switch(t){case 1:r=zt;break;case 2:r=Wt;break;default:r=Vt;}var e=Gd.fds[t];e.flags.rdonly&&Xt(ca+t+" is readonly");var n={file:e.file,offset:e.offset,fd:t,opened:!0,buffer:mb,output:r};return Qd[n.fd]=n,n}function Kt(){for(var t=0,r=0;r>>0>=t.l&&T(),gt(t,r)}function sr(t,r){return 1-fr(t,r)}function or(t,r,e){if(e&=lh,4!=t.t){if(r==t.c.length)return t.c+=String.fromCharCode(e),r+1==t.l&&(t.t=0),0;v(t);}return t.c[r]=e,0}function vr(){Zt(Gd.Not_found);}function lr(r){var e=t,n=r.toString();if(e.process&&e.process.env&&void 0!=e.process.env[n])return it(e.process.env[n]);vr();}function br(){return[0,new Date^4294967295*Math.random()]}function kr(t){for(var r=1;t&&t.joo_tramp;)t=t.joo_tramp.apply(null,t.joo_args),r++;return t}function pr(t,r){return{joo_tramp:t,joo_args:r}}function hr(t){return t}function dr(t){return Zd[t]}function mr(r){return r instanceof Array?r:t.RangeError&&r instanceof t.RangeError&&r.message&&r.message.match(/maximum call stack/i)?hr(Gd.Stack_overflow):t.InternalError&&r instanceof t.InternalError&&r.message&&r.message.match(/too much recursion/i)?hr(Gd.Stack_overflow):r instanceof t.Error?[0,dr(Mk),r]:[0,Gd.Failure,it(String(r))]}function yr(t,r){return 1==t.length?t(r):E(t,[r])}function wr(t,r,e){return 2==t.length?t(r,e):E(t,[r,e])}function gr(t,r,e,n){return 3==t.length?t(r,e,n):E(t,[r,e,n])}function Tr(t,r,e,n,a){return 4==t.length?t(r,e,n,a):E(t,[r,e,n,a])}function _r(t,r,e,n,a,u){return 5==t.length?t(r,e,n,a,u):E(t,[r,e,n,a,u])}function Sr(t){if("number"==typeof t)return 0;switch(t[0]){case 0:return[0,Sr(t[1])];case 1:return[1,Sr(t[1])];case 2:return[2,Sr(t[1])];case 3:return[3,Sr(t[1])];case 4:return[4,Sr(t[1])];case 5:return[5,Sr(t[1])];case 6:return[6,Sr(t[1])];case 7:return[7,Sr(t[1])];case 8:return[8,t[1],Sr(t[2])];case 9:var r=t[1];return[9,r,r,Sr(t[3])];case 10:return[10,Sr(t[1])];case 11:return[11,Sr(t[1])];case 12:return[12,Sr(t[1])];case 13:return[13,Sr(t[1])];default:return[14,Sr(t[1])]}}function Ar(t,r){if("number"==typeof t)return r;switch(t[0]){case 0:return[0,Ar(t[1],r)];case 1:return[1,Ar(t[1],r)];case 2:return[2,Ar(t[1],r)];case 3:return[3,Ar(t[1],r)];case 4:return[4,Ar(t[1],r)];case 5:return[5,Ar(t[1],r)];case 6:return[6,Ar(t[1],r)];case 7:return[7,Ar(t[1],r)];case 8:return[8,t[1],Ar(t[2],r)];case 9:var e=t[2];return[9,t[1],e,Ar(t[3],r)];case 10:return[10,Ar(t[1],r)];case 11:return[11,Ar(t[1],r)];case 12:return[12,Ar(t[1],r)];case 13:return[13,Ar(t[1],r)];default:return[14,Ar(t[1],r)]}}function Er(t,r){if("number"==typeof t)return r;switch(t[0]){case 0:return[0,Er(t[1],r)];case 1:return[1,Er(t[1],r)];case 2:return[2,t[1],Er(t[2],r)];case 3:return[3,t[1],Er(t[2],r)];case 4:var e=t[3],n=t[2];return[4,t[1],n,e,Er(t[4],r)];case 5:var a=t[3],u=t[2];return[5,t[1],u,a,Er(t[4],r)];case 6:var i=t[3],f=t[2];return[6,t[1],f,i,Er(t[4],r)];case 7:var c=t[3],s=t[2];return[7,t[1],s,c,Er(t[4],r)];case 8:var o=t[3],v=t[2];return[8,t[1],v,o,Er(t[4],r)];case 9:return[9,Er(t[1],r)];case 10:return[10,Er(t[1],r)];case 11:return[11,t[1],Er(t[2],r)];case 12:return[12,t[1],Er(t[2],r)];case 13:var l=t[2];return[13,t[1],l,Er(t[3],r)];case 14:var b=t[2];return[14,t[1],b,Er(t[3],r)];case 15:return[15,Er(t[1],r)];case 16:return[16,Er(t[1],r)];case 17:return[17,t[1],Er(t[2],r)];case 18:return[18,t[1],Er(t[2],r)];case 19:return[19,Er(t[1],r)];case 20:var k=t[2];return[20,t[1],k,Er(t[3],r)];case 21:return[21,t[1],Er(t[2],r)];case 22:return[22,Er(t[1],r)];case 23:return[23,t[1],Er(t[2],r)];default:var p=t[2];return[24,t[1],p,Er(t[3],r)]}}function xr(t){throw[0,rm,t]}function Ir(t){throw[0,em,t]}function Cr(t,r){return H(t,r)?t:r}function Nr(t){return 0<=t?t:0|-t}function Lr(t,r){var e=wt(t),n=wt(r),a=U(e+n|0);return l(t,0,a,0,e),l(r,0,a,e,n),a}function Rr(t,r){return t?[0,t[1],Rr(t[2],r)]:r}function Pr(t){for(var r=0,e=t;;){if(!e)return r;var r=r+1|0,e=e[2];}}function Or(t){return t?t[1]:xr(_m)}function Ur(t,r){for(var e=t,n=r;;){if(!e)return n;var a=[0,e[1],n],e=e[2],n=a;}}function Dr(t){return Ur(t,0)}function Mr(t,r){if(r){var e=r[2];return[0,yr(t,r[1]),Mr(t,e)]}return 0}function Fr(t,r){for(n=r;;){if(!n)return 0;var e=n[2];yr(t,n[1]);var n=e;}}function Xr(t,r,e){for(var n=r,a=e;;){if(!a)return n;var u=a[2],n=wr(t,n,a[1]),a=u;}}function Br(t,r){for(var e=t,n=r;;){if(0===e)return n;if(!n)throw[0,im,Tm];var e=e-1|0,n=n[2];}}function jr(t){return 0<=t&&!(lh>1,w=Br(y,r),g=p(y,r),T=p(t-y|0,w),_=0;;){if(g){if(T){var S=T[2],A=T[1],E=g[2],x=g[1],I=wr(b,x,A);if(0===I){var g=E,T=S,_=[0,x,_];continue}if(0>1,w=Br(y,r),g=k(y,r),T=k(t-y|0,w),_=0;;){if(g){if(T){var S=T[2],A=T[1],E=g[2],x=g[1],I=wr(b,x,A);if(0===I){var g=E,T=S,_=[0,x,_];continue}if(0<=I){var T=S,_=[0,A,_];continue}var g=E,_=[0,x,_];continue}return Ur(g,_)}return Ur(T,_)}},h=Pr(r),d=2<=h?k(h,r):r,m=function(t,r){if(!(3>>0))switch(t){case 0:return[0,0,r];case 1:if(r)return[0,[0,0,r[1],0,1],r[2]];break;case 2:if(r){var n=r[2];if(n)return[0,[0,[0,0,r[1],0,1],n[1],0,2],n[2]]}break;default:if(r){var a=r[2];if(a){var u=a[2];if(u)return[0,[0,[0,0,r[1],0,1],a[1],[0,0,u[1],0,1],2],u[2]]}}}var i=t/2|0,f=m(i,r),c=f[2],s=f[1];if(c){var o=c[1],v=m((t-i|0)-1|0,c[2]),l=v[2];return[0,e(s,o,v[1]),l]}throw[0,im,Bm]};return m(Pr(d),d)[1]}return a(v[1],a(l,a(o,a(c,u(i)))))}return a(l,a(o,a(c,u(i))))}return a(o,a(c,u(i)))}return a(c,u(i))}return u(i)}return 0}]}function ne(t){throw Y$}function ae(t){var r=t[1];t[1]=ne;try{var e=yr(r,0);return t[1]=e,nr(t,Ql),e}catch(r){throw r=mr(r),t[1]=function(t){throw r},r}}function ue(t){var r=1<=t?t:1,e=q$>>0?1:0:65<=a?0:1;else{if(32===a)f=1;else if(43<=a)switch(a+na|0){case 5:if(n<(e+2|0)&&1>>0)if(93<=e)n=0;else n=1;else if(56<(e-1|0)>>>0)n=0;else var n=1;if(n){var a=a+1|0;continue}}else;var u=1;}if(u){var i=[0,0],f=Ft(t)-1|0;if(!(f<0))for(p=0;;){var c=gt(t,p);if(32<=c){var s=c+kp|0;if(58>>0)if(93<=s)var o=0,v=0;else v=1;else if(56<(s-1|0)>>>0)var o=1,v=0;else v=1;if(v)var b=1,o=2;}else o=11<=c?13===c?1:0:8<=c?1:0;switch(o){case 0:b=4;break;case 1:b=2;}i[1]=i[1]+b|0;var k=p+1|0;if(f===p)break;var p=k;}if(i[1]===Ft(t)){var h=Ft(t),d=U(h);qd(t,0,d,0,h);S=d;}else{var m=U(i[1]);i[1]=0;var y=Ft(t)-1|0;if(!(y<0))for(_=0;;){var w=gt(t,_);if(35<=w)g=92===w?1:$b<=w?0:2;else if(32<=w)g=34<=w?1:2;else if(14<=w)g=0;else switch(w){case 8:or(m,i[1],92),or(m,++i[1],98);g=3;break;case 9:or(m,i[1],92),or(m,++i[1],Ad);g=3;break;case 10:or(m,i[1],92),or(m,++i[1],ol);g=3;break;case 13:or(m,i[1],92),or(m,++i[1],rf);g=3;break;default:var g=0;}switch(g){case 0:or(m,i[1],92),or(m,++i[1],48+(w/Tb|0)|0),or(m,++i[1],48+((w/10|0)%10|0)|0),or(m,++i[1],48+(w%10|0)|0);break;case 1:or(m,i[1],92),or(m,++i[1],w);break;case 2:or(m,i[1],w);}i[1]++;var T=_+1|0;if(y===_)break;var _=T;}S=m;}}else var S=t;var A=wt(S),E=qr(A+2|0,34);return l(S,0,E,1,A),E}}function xe(t,r){switch(t){case 0:e=Ew;break;case 1:e=xw;break;case 2:e=Iw;break;case 3:e=Cw;break;case 4:e=Nw;break;case 5:e=Lw;break;case 6:e=Rw;break;case 7:e=Pw;break;case 8:e=Ow;break;case 9:e=Uw;break;case 10:e=Dw;break;case 11:e=Mw;break;default:var e=Fw;}return Y(e,r)}function Ie(t,r){switch(t){case 0:e=tw;break;case 1:e=rw;break;case 2:e=ew;break;case 3:e=nw;break;case 4:e=aw;break;case 5:e=uw;break;case 6:e=iw;break;case 7:e=fw;break;case 8:e=cw;break;case 9:e=sw;break;case 10:e=ow;break;case 11:e=vw;break;default:var e=lw;}return Y(e,r)}function Ce(t,r){switch(t){case 0:e=jy;break;case 1:e=Gy;break;case 2:e=qy;break;case 3:e=Yy;break;case 4:e=Jy;break;case 5:e=Hy;break;case 6:e=Wy;break;case 7:e=zy;break;case 8:e=Vy;break;case 9:e=$y;break;case 10:e=Ky;break;case 11:e=Qy;break;default:var e=Zy;}return Y(e,r)}function Ne(t,r){switch(t){case 0:e=bw;break;case 1:e=kw;break;case 2:e=pw;break;case 3:e=hw;break;case 4:e=dw;break;case 5:e=mw;break;case 6:e=yw;break;case 7:e=ww;break;case 8:e=gw;break;case 9:e=Tw;break;case 10:e=_w;break;case 11:e=Sw;break;default:var e=Aw;}return yt(e,r)}function Le(t,r,e){if(16<=t){if(17<=t)switch(t+xb|0){case 2:a=0;break;case 0:case 3:var n=43,a=1;break;default:var n=32,a=1;}else a=0;if(!a)n=45;var u=ft(e,r,n);if(19<=t){var i=Ft(u);if(0===i)return u;var f=U(i),c=i-1|0;if(!(c<0))for(b=0;;){var s=gt(u,b);if(97<=s)if(xs>>0?55===T?1:0:21<(T-1|0)>>>0?1:0)){var _=_+1|0;continue}var S=1;}return S?m:Lr(m,My)}}return m}function Re(t,r,e,n,a,u,i,f){if("number"==typeof a){if("number"==typeof u)return 0===u?function(a){return Fe(t,r,[4,e,wr(i,f,a)],n)}:function(a,u){return Fe(t,r,[4,e,Ae(a,wr(i,f,u))],n)};var c=u[1];return function(a){return Fe(t,r,[4,e,Ae(c,wr(i,f,a))],n)}}if(0===a[0]){var s=a[2],o=a[1];if("number"==typeof u)return 0===u?function(a){return Fe(t,r,[4,e,Se(o,s,wr(i,f,a))],n)}:function(a,u){return Fe(t,r,[4,e,Se(o,s,Ae(a,wr(i,f,u)))],n)};var v=u[1];return function(a){return Fe(t,r,[4,e,Se(o,s,Ae(v,wr(i,f,a)))],n)}}var l=a[1];if("number"==typeof u)return 0===u?function(a,u){return Fe(t,r,[4,e,Se(l,a,wr(i,f,u))],n)}:function(a,u,c){return Fe(t,r,[4,e,Se(l,a,Ae(u,wr(i,f,c)))],n)};var b=u[1];return function(a,u){return Fe(t,r,[4,e,Se(l,a,Ae(b,wr(i,f,u)))],n)}}function Pe(t,r,e,n,a,u){if("number"==typeof a)return function(a){return Fe(t,r,[4,e,yr(u,a)],n)};if(0===a[0]){var i=a[2],f=a[1];return function(a){return Fe(t,r,[4,e,Se(f,i,yr(u,a))],n)}}var c=a[1];return function(a,i){return Fe(t,r,[4,e,Se(c,a,yr(u,i))],n)}}function Oe(t,r,e,n,a){for(var u=r,i=n,f=a;;){if("number"==typeof f)return wr(u,e,i);switch(f[0]){case 0:var c=f[1];return function(t){return Fe(u,e,[5,i,t],c)};case 1:var s=f[1];return function(t){var r=Gr(t),n=wt(r),a=qr(n+2|0,39);return l(r,0,a,1,n),Fe(u,e,[4,i,a],s)};case 2:var o=f[2],v=f[1];return Pe(u,e,i,o,v,function(t){return t});case 3:return Pe(u,e,i,f[2],f[1],Ee);case 4:return Re(u,e,i,f[4],f[2],f[3],xe,f[1]);case 5:return Re(u,e,i,f[4],f[2],f[3],Ie,f[1]);case 6:return Re(u,e,i,f[4],f[2],f[3],Ce,f[1]);case 7:return Re(u,e,i,f[4],f[2],f[3],Ne,f[1]);case 8:var b=f[4],k=f[3],p=f[2],h=f[1];if("number"==typeof p){if("number"==typeof k)return 0===k?function(t){return Fe(u,e,[4,i,Le(h,J$,t)],b)}:function(t,r){return Fe(u,e,[4,i,Le(h,t,r)],b)};var d=k[1];return function(t){return Fe(u,e,[4,i,Le(h,d,t)],b)}}if(0===p[0]){var m=p[2],y=p[1];if("number"==typeof k)return 0===k?function(t){return Fe(u,e,[4,i,Se(y,m,Le(h,J$,t))],b)}:function(t,r){return Fe(u,e,[4,i,Se(y,m,Le(h,t,r))],b)};var w=k[1];return function(t){return Fe(u,e,[4,i,Se(y,m,Le(h,w,t))],b)}}var g=p[1];if("number"==typeof k)return 0===k?function(t,r){return Fe(u,e,[4,i,Se(g,t,Le(h,J$,r))],b)}:function(t,r,n){return Fe(u,e,[4,i,Se(g,t,Le(h,r,n))],b)};var T=k[1];return function(t,r){return Fe(u,e,[4,i,Se(g,t,Le(h,T,r))],b)};case 9:var _=f[1];return function(t){return Fe(u,e,[4,i,t?wm:gm],_)};case 10:var i=[7,i],f=f[1];continue;case 11:var i=[2,i,f[1]],f=f[2];continue;case 12:var i=[3,i,f[1]],f=f[2];continue;case 13:var S=f[3],A=f[2],E=oe(16);pe(E,A);var x=ke(E);return function(t){return Fe(u,e,[4,i,x],S)};case 14:var I=f[3],C=f[2];return function(t){var r=Te(t[1],Sr(he(C)));if("number"==typeof r[2])return Fe(u,e,i,Er(r[1],I));throw H$};case 15:var N=f[1];return function(t,r){return Fe(u,e,[6,i,function(e){return wr(t,e,r)}],N)};case 16:var L=f[1];return function(t){return Fe(u,e,[6,i,t],L)};case 17:var i=[0,i,f[1]],f=f[2];continue;case 18:var R=f[1];if(0===R[0]){var P=f[2],O=R[1][1],u=function(t,r,e){return function(n,a){return Fe(r,n,[1,t,[0,a]],e)}}(i,u,P),i=0,f=O;continue}var U=f[2],D=R[1][1],u=function(t,r,e){return function(n,a){return Fe(r,n,[1,t,[1,a]],e)}}(i,u,U),i=0,f=D;continue;case 19:throw[0,im,Iy];case 20:var M=f[3],F=[8,i,Cy];return function(t){return Fe(u,e,F,M)};case 21:var X=f[2];return function(t){return Fe(u,e,[4,i,Y(xy,t)],X)};case 22:var B=f[1];return function(t){return Fe(u,e,[5,i,t],B)};case 23:var j=f[2],G=f[1];if("number"==typeof G)switch(G){case 0:case 1:case 2:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j]);case 3:throw[0,im,Ny];default:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j])}else switch(G[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j]);case 8:var q=G[2];return t<50?Ue(t+1|0,u,e,i,q,j):pr(Ue,[0,u,e,i,q,j]);case 9:default:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j])}default:var J=f[3],H=f[1],W=yr(f[2],0);return t<50?Me(t+1|0,u,e,i,J,H,W):pr(Me,[0,u,e,i,J,H,W])}}}function Ue(t,r,e,n,a,u){if("number"==typeof a)return t<50?De(t+1|0,r,e,n,u):pr(De,[0,r,e,n,u]);switch(a[0]){case 0:var i=a[1];return function(t){return Xe(r,e,n,i,u)};case 1:var f=a[1];return function(t){return Xe(r,e,n,f,u)};case 2:var c=a[1];return function(t){return Xe(r,e,n,c,u)};case 3:var s=a[1];return function(t){return Xe(r,e,n,s,u)};case 4:var o=a[1];return function(t){return Xe(r,e,n,o,u)};case 5:var v=a[1];return function(t){return Xe(r,e,n,v,u)};case 6:var l=a[1];return function(t){return Xe(r,e,n,l,u)};case 7:var b=a[1];return function(t){return Xe(r,e,n,b,u)};case 8:var k=a[2];return function(t){return Xe(r,e,n,k,u)};case 9:var p=a[3],h=a[2],d=me(he(a[1]),h);return function(t){return Xe(r,e,n,Ar(d,p),u)};case 10:var m=a[1];return function(t,a){return Xe(r,e,n,m,u)};case 11:var y=a[1];return function(t){return Xe(r,e,n,y,u)};case 12:var w=a[1];return function(t){return Xe(r,e,n,w,u)};case 13:throw[0,im,Ly];default:throw[0,im,Ry]}}function De(t,r,e,n,a){var u=[8,n,Py];return t<50?Oe(t+1|0,r,e,u,a):pr(Oe,[0,r,e,u,a])}function Me(t,r,e,n,a,u,i){if(u){var f=u[1];return function(t){return Be(r,e,n,a,f,yr(i,t))}}var c=[4,n,i];return t<50?Oe(t+1|0,r,e,c,a):pr(Oe,[0,r,e,c,a])}function Fe(t,r,e,n){return kr(Oe(0,t,r,e,n))}function Xe(t,r,e,n,a){return kr(Ue(0,t,r,e,n,a))}function Be(t,r,e,n,a,u){return kr(Me(0,t,r,e,n,a,u))}function je(t,r){for(o=r;;){if("number"==typeof o)return 0;switch(o[0]){case 0:var e=o[2],n=o[1];if("number"==typeof e)switch(e){case 0:a=Xw;break;case 1:a=Bw;break;case 2:a=jw;break;case 3:a=Gw;break;case 4:a=qw;break;case 5:a=Yw;break;default:a=Jw;}else switch(e[0]){case 0:case 1:a=e[1];break;default:var a=Lr(Hw,zr(1,e[1]));}return je(t,n),se(t,a);case 1:var u=o[2],i=o[1];if(0===u[0]){var f=u[1];je(t,i),se(t,Oy);o=f;continue}var c=u[1];je(t,i),se(t,Uy);o=c;continue;case 6:var s=o[2];return je(t,o[1]),se(t,yr(s,0));case 7:var o=o[1];continue;case 8:var v=o[2];return je(t,o[1]),Ir(v);case 2:case 4:var l=o[2];return je(t,o[1]),se(t,l);default:var b=o[2];return je(t,o[1]),ce(t,b)}}}function Ge(t){return Fe(function(t,r){var e=ue(64);return je(e,r),ie(e)},0,0,t[1])}function qe(t,r){var e=t[r+1];if(1-("number"==typeof e)){if(ar(e)===bd)return yr(Ge(ig),e);if(ar(e)===Sl)for(var n=q(mm,e),a=0,u=wt(n);;){if(u<=a)return Lr(n,ym);var i=cr(n,a);if(!(48<=i?58<=i?0:1:45===i?1:0))return n;a=a+1|0;}return fg}return yr(Ge(ug),e)}function Ye(t,r){if(t.length-1<=r)return zw;var e=Ye(t,r+1|0),n=qe(t,r);return wr(Ge(Vw),n,e)}function Je(t){var r=t.length-1;if(2>>0){var e=Ye(t,2),n=qe(t,1);return wr(Ge(rg),n,e)}switch(r){case 0:return eg;case 1:return ng;default:var a=qe(t,1);return yr(Ge(ag),a)}}function He(t){return W$[1]=[0,t,W$[1]],0}function We(t,r){for(var e=t?t[1]:$$,n=16;;){if(r<=n||G$<(2*n|0)){if(e){var a=ar(K$),u=Ql===a?K$[1]:ls===a?ae(K$):K$;u[2]=(u[2]+1|0)%55|0;var i=u[2],f=I(u[1],i)[i+1],c=(u[2]+24|0)%55|0,s=(I(u[1],c)[c+1]+(f^31&(f>>>25|0))|0)&wp,o=u[2];I(u[1],o)[o+1]=s;v=s;}else var v=0;return[0,0,Dt(n,0),v,n]}n=2*n|0;}}function ze(t,r){return 3<=t.length-1?et(10,Tb,t[3],r)&(t[2].length-1-1|0):rr(at(10,Tb,r),t[2].length-1)}function Ve(t,r,e){var n=ze(t,r),a=[0,r,e,I(t[2],n)[n+1]];I(t[2],n)[n+1]=a,t[1]=t[1]+1|0;var u=t[2].length-1<<1>16)*r<<16)+(t&ki)*r|0});var Hd=Math.imul,Wd=Math.log2&&1020==Math.log2(1.1235582092889474e307),zd=256,Vd=Math.pow(2,-24),$d=function(){function t(t,r){return t+r|0}function r(r,e,n,a,u,i){return e=t(t(e,r),t(a,i)),t(e<>>32-u,n)}function e(t,e,n,a,u,i,f){return r(e&n|~e&a,t,e,u,i,f)}function n(t,e,n,a,u,i,f){return r(e&a|n&~a,t,e,u,i,f)}function a(t,e,n,a,u,i,f){return r(e^n^a,t,e,u,i,f)}function u(t,e,n,a,u,i,f){return r(n^(e|~a),t,e,u,i,f)}function i(r,i){for(r[(b=i)>>2]|=Zn<<8*(3&b),b=8+(-4&b);(63&b)<60;b+=4)r[(b>>2)-1]=0;r[(b>>2)-1]=i<<3,r[b>>2]=i>>29&536870911;var f=[1732584193,4023233417,2562383102,271733878];for(b=0;b>8*k&lh;return l}return function(t,r,e){var n=[];switch(6&t.t){default:k(t);case 0:for(var a=t.c,u=0;u>2]=a.charCodeAt(c)|a.charCodeAt(c+1)<<8|a.charCodeAt(c+2)<<16|a.charCodeAt(c+3)<<24;}for(;u>2]|=a.charCodeAt(u+r)<<8*(3&u);break;case 4:for(var f=t.c,u=0;u>2]=f[c]|f[c+1]<<8|f[c+2]<<16|f[c+3]<<24;}for(;u>2]|=f[u+r]<<8*(3&u);}return Mt(i(n,e))}}(),Kd=0;Yt.prototype={truncate:function(){this.data=jt(0),this.modified();},modified:function(){var t=qt();this.atime=t,this.mtime=t;}};Jt.prototype={exists:function(t){return this.content[t]?1:0},mk:function(t,r){this.content[t]=r;},get:function(t){return this.content[t]},list:function(){var t=[];for(var r in this.content)t.push(r);return t},remove:function(t){delete this.content[t];}},(new Jt).mk(mb,new Jt),Ht(0,new Yt(jt(0))),Ht(1,new Yt(jt(0))),Ht(2,new Yt(jt(0)));var Qd=new Array,Zd={},tm=[Ov,y(fu),-1],rm=[Ov,y($k),-3],em=[Ov,y(av),-4],nm=[Ov,y(Gs),-7],am=[Ov,y(Lb),-8],um=[Ov,y(Ls),-9],im=[Ov,y(Qi),-11],fm=[Ov,y(yd),-12],cm=[0,[11,y('File "'),[2,0,[11,y('", line '),[4,0,0,0,[11,y(", characters "),[4,0,0,0,[12,45,[4,0,0,0,[11,y(": "),[2,0,0]]]]]]]]]],y('File "%s", line %d, characters %d-%d: %s')],sm=[0,0,[0,0,0,0],[0,0,0,0]],om=[0,0,0],vm=y(""),lm=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),bm=[0,0,0,0,0,1,0],km=[0,0,0],pm=[0,1],hm=[0,0];ur(11,fm,yd),ur(10,im,Qi),ur(9,[Ov,y(Fv),-10],Fv),ur(8,um,Ls),ur(7,am,Lb),ur(6,nm,Gs),ur(5,[Ov,y(ec),-6],ec),ur(4,[Ov,y(Hk),-5],Hk),ur(3,em,av),ur(2,rm,$k),ur(1,[Ov,y(pp),-2],pp),ur(0,tm,fu);var dm=y("output_substring"),mm=y("%.12g"),ym=y(bi),wm=y(Ko),gm=y(ko),Tm=[0,y("list.ml"),227,11],_m=y("hd"),Sm=y("\\\\"),Am=y("\\'"),Em=y("\\b"),xm=y("\\t"),Im=y("\\n"),Cm=y("\\r"),Nm=y("Char.chr"),Lm=y("String.blit / Bytes.blit_string"),Rm=y("Bytes.blit"),Pm=y("String.sub / Bytes.sub"),Om=y("String.contains_from / Bytes.contains_from"),Um=(y(mb),y("String.concat"),y("Array.blit")),Dm=y("Array.init"),Mm=y("Set.remove_min_elt"),Fm=[0,0,0,0],Xm=[0,0,0],Bm=[0,y("set.ml"),405,18],jm=y(Od),Gm=y(Od),qm=y(Od),Ym=y(Od),Jm=y("CamlinternalLazy.Undefined"),Hm=y("Buffer.add_substring/add_subbytes"),Wm=y("Buffer.add: cannot grow buffer"),zm=y("%c"),Vm=y("%s"),$m=y("%i"),Km=y("%li"),Qm=y("%ni"),Zm=y("%Li"),ty=y("%f"),ry=y("%B"),ey=y("%{"),ny=y("%}"),ay=y("%("),uy=y("%)"),iy=y("%a"),fy=y("%t"),cy=y("%?"),sy=y("%r"),oy=y("%_r"),vy=[0,y(vp),845,23],ly=[0,y(vp),809,21],by=[0,y(vp),810,21],ky=[0,y(vp),813,21],py=[0,y(vp),814,21],hy=[0,y(vp),817,19],dy=[0,y(vp),818,19],my=[0,y(vp),821,22],yy=[0,y(vp),822,22],wy=[0,y(vp),826,30],gy=[0,y(vp),827,30],Ty=[0,y(vp),831,26],_y=[0,y(vp),832,26],Sy=[0,y(vp),841,28],Ay=[0,y(vp),842,28],Ey=[0,y(vp),846,23],xy=y("%u"),Iy=[0,y(vp),1520,4],Cy=y("Printf: bad conversion %["),Ny=[0,y(vp),1588,39],Ly=[0,y(vp),1611,31],Ry=[0,y(vp),1612,31],Py=y("Printf: bad conversion %_"),Oy=y("@{"),Uy=y("@["),Dy=y(ak),My=y(bi),Fy=y("neg_infinity"),Xy=y(Bu),By=y("%.12g"),jy=y("%nd"),Gy=y("%+nd"),qy=y("% nd"),Yy=y("%ni"),Jy=y("%+ni"),Hy=y("% ni"),Wy=y("%nx"),zy=y("%#nx"),Vy=y("%nX"),$y=y("%#nX"),Ky=y("%no"),Qy=y("%#no"),Zy=y("%nu"),tw=y("%ld"),rw=y("%+ld"),ew=y("% ld"),nw=y("%li"),aw=y("%+li"),uw=y("% li"),iw=y("%lx"),fw=y("%#lx"),cw=y("%lX"),sw=y("%#lX"),ow=y("%lo"),vw=y("%#lo"),lw=y("%lu"),bw=y("%Ld"),kw=y("%+Ld"),pw=y("% Ld"),hw=y("%Li"),dw=y("%+Li"),mw=y("% Li"),yw=y("%Lx"),ww=y("%#Lx"),gw=y("%LX"),Tw=y("%#LX"),_w=y("%Lo"),Sw=y("%#Lo"),Aw=y("%Lu"),Ew=y(hc),xw=y("%+d"),Iw=y("% d"),Cw=y("%i"),Nw=y("%+i"),Lw=y("% i"),Rw=y("%x"),Pw=y("%#x"),Ow=y("%X"),Uw=y("%#X"),Dw=y("%o"),Mw=y("%#o"),Fw=y("%u"),Xw=y("@]"),Bw=y("@}"),jw=y("@?"),Gw=y("@\n"),qw=y("@."),Yw=y("@@"),Jw=y("@%"),Hw=y("@"),Ww=y("CamlinternalFormat.Type_mismatch"),zw=y(mb),Vw=[0,[11,y(", "),[2,0,[2,0,0]]],y(", %s%s")],$w=y("Out of memory"),Kw=y("Stack overflow"),Qw=y("Pattern matching failed"),Zw=y("Assertion failed"),tg=y("Undefined recursive module"),rg=[0,[12,40,[2,0,[2,0,[12,41,0]]]],y("(%s%s)")],eg=y(mb),ng=y(mb),ag=[0,[12,40,[2,0,[12,41,0]]],y("(%s)")],ug=[0,[4,0,0,0,0],y(hc)],ig=[0,[3,0,0],y("%S")],fg=y("_"),cg=y("x"),sg=y("OCAMLRUNPARAM"),og=y("CAMLRUNPARAM"),vg=y(mb),lg=[3,0,3],bg=y(bi),kg=y(">"),pg=y(""),dg=y("<"),mg=y("\n"),yg=y("Format.Empty_queue"),wg=[0,y(mb)],gg=y("TMPDIR"),Tg=y("TEMP"),_g=y("Cygwin"),Sg=y("Win32"),Ag=[0,y("sedlexing.ml"),51,25],Eg=y("Sedlexing.MalFormed"),xg=y("Js.Error"),Ig=y(Mk),Cg=y(xf),Ng=[0,[0]],Lg=[0,y(Ib),18,6],Rg=[0,[0,[0,[0]]]],Pg=[0,y(Ib),39,6],Og=[0,[0]],Ug=[0,y(Ib),44,6],Dg=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],Mg=[0,y(Ib),218,6],Fg=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],Xg=[0,y(Ib),516,6],Bg=[0,[0,[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0,[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]]]],jg=[0,y(Ib),782,6],Gg=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],qg=[0,y(Ib),885,6],Yg=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],Jg=[0,y(Ib),950,6],Hg=[0,[0]],Wg=[0,y(Ib),957,6],zg=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],Vg=[0,y(Ib),1010,6],$g=[0,[0,[0,[0]]]],Kg=[0,y(Ib),1033,6],Qg=[0,[0]],Zg=[0,[0,[0,[0]]]],tT=[0,[0]],rT=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],eT=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],nT=[0,[0,[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0,[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]]]],aT=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],uT=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],iT=[0,[0]],fT=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],cT=[0,[0,[0,[0]]]],sT=y("Unexpected number"),oT=y("Unexpected string"),vT=y("Unexpected identifier"),lT=y("Unexpected reserved word"),bT=y("Unexpected end of input"),kT=y("Unexpected variance sigil"),pT=y("Type aliases are not allowed in untyped mode"),hT=y("Type annotations are not allowed in untyped mode"),dT=y("Type declarations are not allowed in untyped mode"),mT=y("Type imports are not allowed in untyped mode"),yT=y("Type exports are not allowed in untyped mode"),wT=y("Interfaces are not allowed in untyped mode"),gT=y("Illegal newline after throw"),TT=y("Invalid regular expression"),_T=y("Invalid regular expression: missing /"),ST=y("Invalid left-hand side in assignment"),AT=y("Invalid left-hand side in exponentiation expression"),ET=y("Invalid left-hand side in for-in"),xT=y("Invalid left-hand side in for-of"),IT=y("found an expression instead"),CT=y("Expected an object pattern, array pattern, or an identifier but "),NT=y("More than one default clause in switch statement"),LT=y("Missing catch or finally after try"),RT=y("Illegal continue statement"),PT=y("Illegal break statement"),OT=y("Illegal return statement"),UT=y("Illegal yield expression"),DT=y("Strict mode code may not include a with statement"),MT=y("Catch variable may not be eval or arguments in strict mode"),FT=y("Variable name may not be eval or arguments in strict mode"),XT=y("Parameter name eval or arguments is not allowed in strict mode"),BT=y("Strict mode function may not have duplicate parameter names"),jT=y("Function name may not be eval or arguments in strict mode"),GT=y("Octal literals are not allowed in strict mode."),qT=y("Delete of an unqualified identifier in strict mode."),YT=y("Duplicate data property in object literal not allowed in strict mode"),JT=y("Object literal may not have data and accessor property with the same name"),HT=y("Object literal may not have multiple get/set accessors with the same name"),WT=y("Assignment to eval or arguments is not allowed in strict mode"),zT=y("Postfix increment/decrement may not have eval or arguments operand in strict mode"),VT=y("Prefix increment/decrement may not have eval or arguments operand in strict mode"),$T=y("Use of future reserved word in strict mode"),KT=y("JSX attributes must only be assigned a non-empty expression"),QT=y("JSX value should be either an expression or a quoted JSX text"),ZT=y("Const must be initialized"),t_=y("Destructuring assignment must be initialized"),r_=y("Illegal newline before arrow"),e_=y(" declared at top level or immediately within another function."),n_=y("In strict mode code, functions can only be"),a_=y("elements must be wrapped in an enclosing parent tag"),u_=y("Unexpected token <. Remember, adjacent JSX "),i_=y("Rest parameter must be final parameter of an argument list"),f_=y("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),c_=y("`declare export let` is not supported. Use `declare export var` instead."),s_=y("`declare export const` is not supported. Use `declare export var` instead."),o_=y("`declare export type` is not supported. Use `export type` instead."),v_=y("`declare export interface` is not supported. Use `export interface` instead."),l_=y("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),b_=y("When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?"),k_=y("When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?"),p_=y("Found a decorator in an unsupported position."),h_=y("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),d_=y("The Windows version of OCaml has a bug in how it parses hexidecimal numbers. It is fixed in OCaml 4.03.0. Until we can switch to 4.03.0, please avoid either hexidecimal notation or Windows."),m_=y("Duplicate `declare module.exports` statement!"),y_=y("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),w_=y("Getter should have zero parameters"),g_=y("Setter should have exactly one parameter"),T_=y("`import type` or `import typeof`!"),__=y("Imports within a `declare module` body must always be "),S_=y("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),A_=y("Missing comma between import specifiers"),E_=y("Malformed unicode"),x_=y("Unexpected parser state: "),I_=y("Unexpected token "),C_=[0,[11,y("Unexpected token `"),[2,0,[11,y("`. Did you mean `"),[2,0,[11,y("`?"),0]]]]],y("Unexpected token `%s`. Did you mean `%s`?")],N_=y("'"),L_=y("Invalid flags supplied to RegExp constructor '"),R_=y("'"),P_=y("Undefined label '"),O_=y("' has already been declared"),U_=y(" '"),D_=y("Expected corresponding JSX closing tag for "),M_=[0,[11,y("Duplicate export for `"),[2,0,[12,96,0]]],y("Duplicate export for `%s`")],F_=y("Parse_error.Error"),X_=y("comments"),B_=y(Gc),j_=y("Program"),G_=y("DebuggerStatement"),q_=y("EmptyStatement"),Y_=y(yv),J_=y("BreakStatement"),H_=y(yv),W_=y("ContinueStatement"),z_=y(gh),V_=y("DeclareExportAllDeclaration"),$_=y(gh),K_=y(Pd),Q_=y(hs),Z_=y(hb),tS=y("DeclareExportDeclaration"),rS=y(hi),eS=y(Gc),nS=y(Vo),aS=y("DeclareModule"),uS=y(Id),iS=y("DeclareModuleExports"),fS=y(yo),cS=y(Gc),sS=y("DoWhileStatement"),oS=y(yb),vS=y(hs),lS=y("ExportDefaultDeclaration"),bS=y(yb),kS=y(gh),pS=y("ExportAllDeclaration"),hS=y(yb),dS=y(gh),mS=y(Pd),yS=y(hs),wS=y("ExportNamedDeclaration"),gS=y("directive"),TS=y(ji),_S=y("ExpressionStatement"),SS=y(Gc),AS=y("update"),ES=y(yo),xS=y(Ts),IS=y("ForStatement"),CS=y("each"),NS=y(Gc),LS=y(Xc),RS=y(Rl),PS=y("ForInStatement"),OS=y("ForAwaitStatement"),US=y("ForOfStatement"),DS=y(Gc),MS=y(Xc),FS=y(Rl),XS=y(ci),BS=y(Jn),jS=y(yo),GS=y("IfStatement"),qS=y(Su),YS=y(jl),JS=y(qi),HS=y(Bd),WS=y(gh),zS=y(Pd),VS=y("ImportDeclaration"),$S=y(Gc),KS=y(yv),QS=y("LabeledStatement"),ZS=y(_b),tA=y("ReturnStatement"),rA=y("cases"),eA=y("discriminant"),nA=y("SwitchStatement"),aA=y(_b),uA=y("ThrowStatement"),iA=y("finalizer"),fA=y("handler"),cA=y("block"),sA=y("TryStatement"),oA=y(Gc),vA=y(yo),lA=y("WhileStatement"),bA=y(Gc),kA=y(sl),pA=y("WithStatement"),hA=y("Super"),dA=y("ThisExpression"),mA=y(lp),yA=y("ArrayExpression"),wA=y(lo),gA=y(Al),TA=y(ji),_A=y(Jp),SA=y(Ch),AA=y(Cl),EA=y(Gc),xA=y(Qn),IA=y(Vo),CA=y("ArrowFunctionExpression"),NA=y("="),LA=y("+="),RA=y("-="),PA=y("*="),OA=y("**="),UA=y("/="),DA=y("%="),MA=y("<<="),FA=y(">>="),XA=y(">>>="),BA=y("|="),jA=y("^="),GA=y("&="),qA=y(Xc),YA=y(Rl),JA=y(Cp),HA=y("AssignmentExpression"),WA=y("=="),zA=y("!="),VA=y("==="),$A=y("!=="),KA=y("<"),QA=y("<="),ZA=y(">"),tE=y(">="),rE=y("<<"),eE=y(">>"),nE=y(">>>"),aE=y(Mb),uE=y(xl),iE=y("*"),fE=y("**"),cE=y("/"),sE=y("%"),oE=y("|"),vE=y("^"),lE=y("&"),bE=y("in"),kE=y(wb),pE=y(Xc),hE=y(Rl),dE=y(Cp),mE=y("BinaryExpression"),yE=y(fs),wE=y(Dp),gE=y(Vs),TE=y("filter"),_E=y("blocks"),SE=y("ComprehensionExpression"),AE=y(ci),EE=y(Jn),xE=y(yo),IE=y("ConditionalExpression"),CE=y("filter"),NE=y("blocks"),LE=y("GeneratorExpression"),RE=y(fs),PE=y("Import"),OE=y(Dp),UE=y(Vs),DE=y("&&"),ME=y("||"),FE=y(Xc),XE=y(Rl),BE=y(Cp),jE=y("LogicalExpression"),GE=y(qo),qE=y(mk),YE=y(sl),JE=y("MemberExpression"),HE=y(mk),WE=y("meta"),zE=y("MetaProperty"),VE=y(fs),$E=y(Dp),KE=y("NewExpression"),QE=y(es),ZE=y("ObjectExpression"),tx=y(of),rx=y("SequenceExpression"),ex=y(Id),nx=y(ji),ax=y("TypeCastExpression"),ux=y(_b),ix=y("AwaitExpression"),fx=y(xl),cx=y(Mb),sx=y("!"),ox=y("~"),vx=y(jl),lx=y(tk),bx=y("delete"),kx=y("matched above"),px=y(_b),hx=y("prefix"),dx=y(Cp),mx=y("UnaryExpression"),yx=y("--"),wx=y("++"),gx=y("prefix"),Tx=y(_b),_x=y(Cp),Sx=y("UpdateExpression"),Ax=y("delegate"),Ex=y(_b),xx=y("YieldExpression"),Ix=y(lo),Cx=y(Al),Nx=y(ji),Lx=y(Jp),Rx=y(Ch),Px=y(Cl),Ox=y(Gc),Ux=y(Qn),Dx=y(Vo),Mx=y("FunctionDeclaration"),Fx=y(lo),Xx=y(Al),Bx=y(ji),jx=y(Jp),Gx=y(Ch),qx=y(Cl),Yx=y(Gc),Jx=y(Qn),Hx=y(Vo),Wx=y("FunctionExpression"),zx=y(ah),Vx=y(Id),$x=y(Np),Kx=y(Pn),Qx=y(ah),Zx=y(Id),tI=y(Np),rI=y(Pn),eI=y(Jn),nI=y(yo),aI=y("SwitchCase"),uI=y(Gc),iI=y("param"),fI=y("CatchClause"),cI=y(Gc),sI=y("BlockStatement"),oI=y(Vo),vI=y("DeclareVariable"),lI=y(Jp),bI=y(Vo),kI=y("DeclareFunction"),pI=y(Xd),hI=y(Gc),dI=y(lo),mI=y(Vo),yI=y("DeclareClass"),wI=y(qi),gI=y(Su),TI=y(kf),_I=y("ExportNamespaceSpecifier"),SI=y(Xc),AI=y(lo),EI=y(Vo),xI=y("TypeAlias"),II=y(Ta),CI=y(ti),NI=y(Bv),LI=y(lo),RI=y(co),PI=y(Gc),OI=y(Vo),UI=y("ClassDeclaration"),DI=y(Ta),MI=y(ti),FI=y(Bv),XI=y(lo),BI=y(co),jI=y(Gc),GI=y(Vo),qI=y("ClassExpression"),YI=y(lo),JI=y(Vo),HI=y("ClassImplements"),WI=y(Gc),zI=y("ClassBody"),VI=y(ua),$I=y(Oa),KI=y(lf),QI=y(Uc),ZI=y(Ta),tC=y(qo),rC=y(ps),eC=y(hi),nC=y(qi),aC=y(pd),uC=y("MethodDefinition"),iC=y(Fn),fC=y(ps),cC=y(qo),sC=y(Id),oC=y(qi),vC=y(pd),lC=y("ClassProperty"),bC=y(Xd),kC=y(Gc),pC=y(lo),hC=y(Vo),dC=y("InterfaceDeclaration"),mC=y(lo),yC=y(Vo),wC=y("InterfaceExtends"),gC=y(Id),TC=y(es),_C=y("ObjectPattern"),SC=y(Id),AC=y(lp),EC=y("ArrayPattern"),xC=y(Xc),IC=y(Rl),CC=y("AssignmentPattern"),NC=y(_b),LC=y(md),RC=y(_b),PC=y(md),OC=y(Ts),UC=y(lf),DC=y(Uc),MC=y(qo),FC=y(Av),XC=y(Oa),BC=y(hi),jC=y(qi),GC=y(pd),qC=y(Ku),YC=y(_b),JC=y("SpreadProperty"),HC=y(qo),WC=y(Av),zC=y(Oa),VC=y(hi),$C=y(qi),KC=y(pd),QC=y(Ku),ZC=y(_b),tN=y("RestProperty"),rN=y(_b),eN=y("SpreadElement"),nN=y("each"),aN=y(Xc),uN=y(Rl),iN=y("ComprehensionBlock"),fN=y("regex"),cN=y(ui),sN=y(qi),oN=y(ui),vN=y(qi),lN=y("Literal"),bN=y(of),kN=y("quasis"),pN=y("TemplateLiteral"),hN=y("tail"),dN=y(qi),mN=y("TemplateElement"),yN=y("quasi"),wN=y("tag"),gN=y("TaggedTemplateExpression"),TN=y("var"),_N=y("let"),SN=y("const"),AN=y(hi),EN=y("declarations"),xN=y("VariableDeclaration"),IN=y(Ts),CN=y(Vo),NN=y("VariableDeclarator"),LN=y("AnyTypeAnnotation"),RN=y("MixedTypeAnnotation"),PN=y("EmptyTypeAnnotation"),ON=y("VoidTypeAnnotation"),UN=y("NullLiteralTypeAnnotation"),DN=y("NumberTypeAnnotation"),MN=y("StringTypeAnnotation"),FN=y("BooleanTypeAnnotation"),XN=y(Id),BN=y("NullableTypeAnnotation"),jN=y(lo),GN=y("rest"),qN=y(Al),YN=y(Qn),JN=y("FunctionTypeAnnotation"),HN=y(ah),WN=y(Id),zN=y(Np),VN=y("FunctionTypeParam"),$N=[0,0,0,0],KN=y("callProperties"),QN=y("indexers"),ZN=y(es),tL=y("exact"),rL=y("ObjectTypeAnnotation"),eL=y("There should not be computed object type property keys"),nL=y(Ts),aL=y(lf),uL=y(Uc),iL=y(hi),fL=y(Fn),cL=y(ps),sL=y(ah),oL=y(qi),vL=y(pd),lL=y("ObjectTypeProperty"),bL=y(_b),kL=y("ObjectTypeSpreadProperty"),pL=y(Fn),hL=y(ps),dL=y(qi),mL=y(pd),yL=y(Vo),wL=y("ObjectTypeIndexer"),gL=y(ps),TL=y(qi),_L=y("ObjectTypeCallProperty"),SL=y("elementType"),AL=y("ArrayTypeAnnotation"),EL=y(Vo),xL=y("qualification"),IL=y("QualifiedTypeIdentifier"),CL=y(lo),NL=y(Vo),LL=y("GenericTypeAnnotation"),RL=y(Wp),PL=y("UnionTypeAnnotation"),OL=y(Wp),UL=y("IntersectionTypeAnnotation"),DL=y(_b),ML=y("TypeofTypeAnnotation"),FL=y(Wp),XL=y("TupleTypeAnnotation"),BL=y(ui),jL=y(qi),GL=y("StringLiteralTypeAnnotation"),qL=y(ui),YL=y(qi),JL=y("NumberLiteralTypeAnnotation"),HL=y(ui),WL=y(qi),zL=y("BooleanLiteralTypeAnnotation"),VL=y("ExistsTypeAnnotation"),$L=y(Id),KL=y("TypeAnnotation"),QL=y(Qn),ZL=y("TypeParameterDeclaration"),tR=y(hb),rR=y(Fn),eR=y("bound"),nR=y(Np),aR=y("TypeParameter"),uR=y(Qn),iR=y("TypeParameterInstantiation"),fR=y("children"),cR=y("closingElement"),sR=y("openingElement"),oR=y("JSXElement"),vR=y("selfClosing"),lR=y("attributes"),bR=y(Np),kR=y("JSXOpeningElement"),pR=y(Np),hR=y("JSXClosingElement"),dR=y(qi),mR=y(Np),yR=y("JSXAttribute"),wR=y(_b),gR=y("JSXSpreadAttribute"),TR=y("JSXEmptyExpression"),_R=y(ji),SR=y("JSXExpressionContainer"),AR=y(ui),ER=y(qi),xR=y("JSXText"),IR=y(mk),CR=y(sl),NR=y("JSXMemberExpression"),LR=y(Np),RR=y("namespace"),PR=y("JSXNamespacedName"),OR=y(Np),UR=y("JSXIdentifier"),DR=y(kf),MR=y(Qk),FR=y("ExportSpecifier"),XR=y(Qk),BR=y("ImportDefaultSpecifier"),jR=y(Qk),GR=y("ImportNamespaceSpecifier"),qR=y(Bd),YR=y(Qk),JR=y("imported"),HR=y("ImportSpecifier"),WR=y("Block"),zR=y("Line"),VR=y(qi),$R=y(qi),KR=y("DeclaredPredicate"),QR=y("InferredPredicate"),ZR=y("range"),tP=y("loc"),rP=y(Su),eP=[0,1,0],nP=y("T_IDENTIFIER"),aP=y("T_LCURLY"),uP=y("T_RCURLY"),iP=y("T_LCURLYBAR"),fP=y("T_RCURLYBAR"),cP=y("T_LPAREN"),sP=y("T_RPAREN"),oP=y("T_LBRACKET"),vP=y("T_RBRACKET"),lP=y("T_SEMICOLON"),bP=y("T_COMMA"),kP=y("T_PERIOD"),pP=y("T_ARROW"),hP=y("T_ELLIPSIS"),dP=y("T_AT"),mP=y("T_FUNCTION"),yP=y("T_IF"),wP=y("T_IN"),gP=y("T_INSTANCEOF"),TP=y("T_RETURN"),_P=y("T_SWITCH"),SP=y("T_THIS"),AP=y("T_THROW"),EP=y("T_TRY"),xP=y("T_VAR"),IP=y("T_WHILE"),CP=y("T_WITH"),NP=y("T_CONST"),LP=y("T_LET"),RP=y("T_NULL"),PP=y("T_FALSE"),OP=y("T_TRUE"),UP=y("T_BREAK"),DP=y("T_CASE"),MP=y("T_CATCH"),FP=y("T_CONTINUE"),XP=y("T_DEFAULT"),BP=y("T_DO"),jP=y("T_FINALLY"),GP=y("T_FOR"),qP=y("T_CLASS"),YP=y("T_EXTENDS"),JP=y("T_STATIC"),HP=y("T_ELSE"),WP=y("T_NEW"),zP=y("T_DELETE"),VP=y("T_TYPEOF"),$P=y("T_VOID"),KP=y("T_ENUM"),QP=y("T_EXPORT"),ZP=y("T_IMPORT"),tO=y("T_SUPER"),rO=y("T_IMPLEMENTS"),eO=y("T_INTERFACE"),nO=y("T_PACKAGE"),aO=y("T_PRIVATE"),uO=y("T_PROTECTED"),iO=y("T_PUBLIC"),fO=y("T_YIELD"),cO=y("T_DEBUGGER"),sO=y("T_DECLARE"),oO=y("T_TYPE"),vO=y("T_OF"),lO=y("T_ASYNC"),bO=y("T_AWAIT"),kO=y("T_CHECKS"),pO=y("T_RSHIFT3_ASSIGN"),hO=y("T_RSHIFT_ASSIGN"),dO=y("T_LSHIFT_ASSIGN"),mO=y("T_BIT_XOR_ASSIGN"),yO=y("T_BIT_OR_ASSIGN"),wO=y("T_BIT_AND_ASSIGN"),gO=y("T_MOD_ASSIGN"),TO=y("T_DIV_ASSIGN"),_O=y("T_MULT_ASSIGN"),SO=y("T_EXP_ASSIGN"),AO=y("T_MINUS_ASSIGN"),EO=y("T_PLUS_ASSIGN"),xO=y("T_ASSIGN"),IO=y("T_PLING"),CO=y("T_COLON"),NO=y("T_OR"),LO=y("T_AND"),RO=y("T_BIT_OR"),PO=y("T_BIT_XOR"),OO=y("T_BIT_AND"),UO=y("T_EQUAL"),DO=y("T_NOT_EQUAL"),MO=y("T_STRICT_EQUAL"),FO=y("T_STRICT_NOT_EQUAL"),XO=y("T_LESS_THAN_EQUAL"),BO=y("T_GREATER_THAN_EQUAL"),jO=y("T_LESS_THAN"),GO=y("T_GREATER_THAN"),qO=y("T_LSHIFT"),YO=y("T_RSHIFT"),JO=y("T_RSHIFT3"),HO=y("T_PLUS"),WO=y("T_MINUS"),zO=y("T_DIV"),VO=y("T_MULT"),$O=y("T_EXP"),KO=y("T_MOD"),QO=y("T_NOT"),ZO=y("T_BIT_NOT"),tU=y("T_INCR"),rU=y("T_DECR"),eU=y("T_ERROR"),nU=y("T_EOF"),aU=y("T_JSX_IDENTIFIER"),uU=y("T_ANY_TYPE"),iU=y("T_MIXED_TYPE"),fU=y("T_EMPTY_TYPE"),cU=y("T_BOOLEAN_TYPE"),sU=y("T_NUMBER_TYPE"),oU=y("T_STRING_TYPE"),vU=y("T_VOID_TYPE"),lU=y("T_NUMBER"),bU=y("T_STRING"),kU=y("T_TEMPLATE_PART"),pU=y("T_REGEXP"),hU=y("T_JSX_TEXT"),dU=y("T_NUMBER_SINGLETON_TYPE"),mU=y(Yk),yU=[0,3],wU=y(Yk),gU=[0,3],TU=y(Yk),_U=[0,3],SU=y(Yk),AU=[0,1],EU=y(Yk),xU=[0,2],IU=y(Yk),CU=[0,0],NU=y(Yk),LU=y(":"),RU=y(":"),PU=y(Pi),OU=[0,0],UU=[0,2],DU=[0,1],MU=[0,3],FU=[0,3],XU=[0,3],BU=y(Yk),jU=y(Yk),GU=y(Yk),qU=y(Yk),YU=y(Yk),JU=y(Yk),HU=y(Yk),WU=y(":"),zU=y(":"),VU=y(Pi),$U=y(Yk),KU=y("\\"),QU=y(Yk),ZU=y("\\"),tD=y(Nv),rD=y(ha),eD=y(ha),nD=y(ha),aD=y(eh),uD=y(eh),iD=y("*-/"),fD=y("*/"),cD=y("*-/"),sD=y(Yk),oD=y(Yk),vD=y(Yk),lD=y(mb),bD=y(mb),kD=y(mb),pD=y(mb),hD=y(Yk),dD=y("\\\\"),mD=y(Yk),yD=y("'"),wD=y(Yk),gD=y(Yk),TD=y("'"),_D=y('"'),SD=y("<"),AD=y("{"),ED=y(eh),xD=y("iexcl"),ID=y("aelig"),CD=y("Nu"),ND=y("Eacute"),LD=y("Atilde"),RD=y("'int'"),PD=y("AElig"),OD=y("Aacute"),UD=y("Acirc"),DD=y("Agrave"),MD=y("Alpha"),FD=y("Aring"),XD=[0,197],BD=[0,913],jD=[0,Io],GD=[0,194],qD=[0,193],YD=[0,198],JD=[0,8747],HD=y("Auml"),WD=y("Beta"),zD=y("Ccedil"),VD=y("Chi"),$D=y("Dagger"),KD=y("Delta"),QD=y("ETH"),ZD=[0,208],tM=[0,916],rM=[0,8225],eM=[0,935],nM=[0,199],aM=[0,914],uM=[0,196],iM=[0,195],fM=y("Icirc"),cM=y("Ecirc"),sM=y("Egrave"),oM=y("Epsilon"),vM=y("Eta"),lM=y("Euml"),bM=y("Gamma"),kM=y("Iacute"),pM=[0,205],hM=[0,915],dM=[0,203],mM=[0,919],yM=[0,917],wM=[0,200],gM=[0,202],TM=y("Igrave"),_M=y("Iota"),SM=y("Iuml"),AM=y("Kappa"),EM=y("Lambda"),xM=y("Mu"),IM=y("Ntilde"),CM=[0,209],NM=[0,924],LM=[0,923],RM=[0,922],PM=[0,207],OM=[0,921],UM=[0,204],DM=[0,206],MM=[0,201],FM=y("Sigma"),XM=y("Otilde"),BM=y("OElig"),jM=y("Oacute"),GM=y("Ocirc"),qM=y("Ograve"),YM=y("Omega"),JM=y("Omicron"),HM=y("Oslash"),WM=[0,216],zM=[0,927],VM=[0,937],$M=[0,210],KM=[0,212],QM=[0,211],ZM=[0,338],tF=y("Ouml"),rF=y("Phi"),eF=y("Pi"),nF=y("Prime"),aF=y("Psi"),uF=y("Rho"),iF=y("Scaron"),fF=[0,352],cF=[0,929],sF=[0,936],oF=[0,8243],vF=[0,928],lF=[0,934],bF=[0,214],kF=[0,213],pF=y("Uuml"),hF=y("THORN"),dF=y("Tau"),mF=y("Theta"),yF=y("Uacute"),wF=y("Ucirc"),gF=y("Ugrave"),TF=y("Upsilon"),_F=[0,933],SF=[0,217],AF=[0,219],EF=[0,218],xF=[0,920],IF=[0,932],CF=[0,222],NF=y("Xi"),LF=y("Yacute"),RF=y("Yuml"),PF=y("Zeta"),OF=y("aacute"),UF=y("acirc"),DF=y("acute"),MF=[0,180],FF=[0,226],XF=[0,225],BF=[0,918],jF=[0,376],GF=[0,221],qF=[0,926],YF=[0,220],JF=[0,931],HF=[0,925],WF=y("delta"),zF=y("cap"),VF=y("aring"),$F=y("agrave"),KF=y("alefsym"),QF=y("alpha"),ZF=y("amp"),tX=y("and"),rX=y("ang"),eX=y("apos"),nX=[0,39],aX=[0,8736],uX=[0,8743],iX=[0,38],fX=[0,945],cX=[0,8501],sX=[0,Jl],oX=y("asymp"),vX=y("atilde"),lX=y("auml"),bX=y("bdquo"),kX=y("beta"),pX=y("brvbar"),hX=y("bull"),dX=[0,8226],mX=[0,166],yX=[0,946],wX=[0,8222],gX=[0,228],TX=[0,227],_X=[0,8776],SX=[0,229],AX=y("copy"),EX=y("ccedil"),xX=y("cedil"),IX=y("cent"),CX=y("chi"),NX=y("circ"),LX=y("clubs"),RX=y("cong"),PX=[0,8773],OX=[0,9827],UX=[0,710],DX=[0,967],MX=[0,162],FX=[0,184],XX=[0,231],BX=y("crarr"),jX=y("cup"),GX=y("curren"),qX=y("dArr"),YX=y("dagger"),JX=y("darr"),HX=y("deg"),WX=[0,176],zX=[0,8595],VX=[0,8224],$X=[0,8659],KX=[0,164],QX=[0,8746],ZX=[0,8629],tB=[0,169],rB=[0,8745],eB=y("fnof"),nB=y("ensp"),aB=y("diams"),uB=y("divide"),iB=y("eacute"),fB=y("ecirc"),cB=y("egrave"),sB=y("empty"),oB=y("emsp"),vB=[0,8195],lB=[0,8709],bB=[0,232],kB=[0,234],pB=[0,233],hB=[0,247],dB=[0,9830],mB=y("epsilon"),yB=y("equiv"),wB=y("eta"),gB=y("eth"),TB=y("euml"),_B=y("euro"),SB=y("exist"),AB=[0,8707],EB=[0,8364],xB=[0,235],IB=[0,Kp],CB=[0,951],NB=[0,8801],LB=[0,949],RB=[0,8194],PB=y("gt"),OB=y("forall"),UB=y("frac12"),DB=y("frac14"),MB=y("frac34"),FB=y("frasl"),XB=y("gamma"),BB=y("ge"),jB=[0,8805],GB=[0,947],qB=[0,8260],YB=[0,190],JB=[0,188],HB=[0,189],WB=[0,8704],zB=y("hArr"),VB=y("harr"),$B=y("hearts"),KB=y("hellip"),QB=y("iacute"),ZB=y("icirc"),tj=[0,238],rj=[0,237],ej=[0,8230],nj=[0,9829],aj=[0,8596],uj=[0,8660],ij=[0,62],fj=[0,402],cj=[0,948],sj=[0,230],oj=y("prime"),vj=y("ndash"),lj=y("le"),bj=y("kappa"),kj=y("igrave"),pj=y("image"),hj=y("infin"),dj=y("iota"),mj=y("iquest"),yj=y("isin"),wj=y("iuml"),gj=[0,239],Tj=[0,8712],_j=[0,191],Sj=[0,953],Aj=[0,8734],Ej=[0,8465],xj=[0,236],Ij=y("lArr"),Cj=y("lambda"),Nj=y("lang"),Lj=y("laquo"),Rj=y("larr"),Pj=y("lceil"),Oj=y("ldquo"),Uj=[0,8220],Dj=[0,8968],Mj=[0,8592],Fj=[0,171],Xj=[0,10216],Bj=[0,955],jj=[0,8656],Gj=[0,954],qj=y("macr"),Yj=y("lfloor"),Jj=y("lowast"),Hj=y("loz"),Wj=y("lrm"),zj=y("lsaquo"),Vj=y("lsquo"),$j=y("lt"),Kj=[0,60],Qj=[0,8216],Zj=[0,8249],tG=[0,8206],rG=[0,9674],eG=[0,8727],nG=[0,8970],aG=y("mdash"),uG=y("micro"),iG=y("middot"),fG=y(Uo),cG=y("mu"),sG=y("nabla"),oG=y("nbsp"),vG=[0,160],lG=[0,8711],bG=[0,956],kG=[0,8722],pG=[0,183],hG=[0,181],dG=[0,8212],mG=[0,175],yG=[0,8804],wG=y("or"),gG=y("oacute"),TG=y("ne"),_G=y("ni"),SG=y("not"),AG=y("notin"),EG=y("nsub"),xG=y("ntilde"),IG=y("nu"),CG=[0,957],NG=[0,241],LG=[0,8836],RG=[0,8713],PG=[0,172],OG=[0,8715],UG=[0,8800],DG=y("ocirc"),MG=y("oelig"),FG=y("ograve"),XG=y("oline"),BG=y("omega"),jG=y("omicron"),GG=y("oplus"),qG=[0,8853],YG=[0,959],JG=[0,969],HG=[0,Wu],WG=[0,242],zG=[0,339],VG=[0,244],$G=[0,243],KG=y("part"),QG=y("ordf"),ZG=y("ordm"),tq=y("oslash"),rq=y("otilde"),eq=y("otimes"),nq=y("ouml"),aq=y("para"),uq=[0,182],iq=[0,ls],fq=[0,8855],cq=[0,Mo],sq=[0,Ov],oq=[0,186],vq=[0,170],lq=y("permil"),bq=y("perp"),kq=y("phi"),pq=y("pi"),hq=y("piv"),dq=y("plusmn"),mq=y("pound"),yq=[0,163],wq=[0,177],gq=[0,982],Tq=[0,960],_q=[0,966],Sq=[0,8869],Aq=[0,8240],Eq=[0,8706],xq=[0,8744],Iq=[0,8211],Cq=y("sup1"),Nq=y("rlm"),Lq=y("raquo"),Rq=y("prod"),Pq=y("prop"),Oq=y("psi"),Uq=y("quot"),Dq=y("rArr"),Mq=y("radic"),Fq=y("rang"),Xq=[0,10217],Bq=[0,8730],jq=[0,8658],Gq=[0,34],qq=[0,968],Yq=[0,8733],Jq=[0,8719],Hq=y("rarr"),Wq=y("rceil"),zq=y("rdquo"),Vq=y("real"),$q=y("reg"),Kq=y("rfloor"),Qq=y("rho"),Zq=[0,961],tY=[0,8971],rY=[0,174],eY=[0,8476],nY=[0,8221],aY=[0,8969],uY=[0,8594],iY=[0,187],fY=y("sigma"),cY=y("rsaquo"),sY=y("rsquo"),oY=y("sbquo"),vY=y("scaron"),lY=y("sdot"),bY=y("sect"),kY=y("shy"),pY=[0,173],hY=[0,167],dY=[0,8901],mY=[0,353],yY=[0,8218],wY=[0,8217],gY=[0,8250],TY=y("sigmaf"),_Y=y("sim"),SY=y("spades"),AY=y("sub"),EY=y("sube"),xY=y("sum"),IY=y("sup"),CY=[0,8835],NY=[0,8721],LY=[0,8838],RY=[0,8834],PY=[0,9824],OY=[0,8764],UY=[0,962],DY=[0,963],MY=[0,8207],FY=y("uarr"),XY=y("thetasym"),BY=y("sup2"),jY=y("sup3"),GY=y("supe"),qY=y("szlig"),YY=y("tau"),JY=y("there4"),HY=y("theta"),WY=[0,952],zY=[0,8756],VY=[0,964],$Y=[0,223],KY=[0,8839],QY=[0,179],ZY=[0,178],tJ=y("thinsp"),rJ=y("thorn"),eJ=y("tilde"),nJ=y("times"),aJ=y("trade"),uJ=y("uArr"),iJ=y("uacute"),fJ=[0,Ql],cJ=[0,8657],sJ=[0,8482],oJ=[0,215],vJ=[0,732],lJ=[0,Cn],bJ=[0,8201],kJ=[0,977],pJ=y("xi"),hJ=y("ucirc"),dJ=y("ugrave"),mJ=y("uml"),yJ=y("upsih"),wJ=y("upsilon"),gJ=y("uuml"),TJ=y("weierp"),_J=[0,8472],SJ=[0,bd],AJ=[0,965],EJ=[0,978],xJ=[0,168],IJ=[0,249],CJ=[0,251],NJ=y("yacute"),LJ=y("yen"),RJ=y("yuml"),PJ=y("zeta"),OJ=y("zwj"),UJ=y("zwnj"),DJ=[0,8204],MJ=[0,Il],FJ=[0,950],XJ=[0,lh],BJ=[0,165],jJ=[0,Sl],GJ=[0,958],qJ=[0,8593],YJ=[0,185],JJ=[0,8242],HJ=[0,161],WJ=y(";"),zJ=y("&"),VJ=y(Yk),$J=y("}"),KJ=[0,y(mb),y(mb),y(mb)],QJ=y(Yk),ZJ=y("${"),tH=y("\r\n"),rH=y("\r\n"),eH=y("\n"),nH=y(ha),aH=y(Xl),uH=y(Hc),iH=y(au),fH=(y("src/parser/lexer.ml"),y(mb),[1,y("ILLEGAL")]),cH=y("/"),sH=y("/"),oH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),vH=y(""),lH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),bH=y(""),kH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),pH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),hH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),dH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),mH=y("\b\t\n\v\f\r"),yH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),wH=y(""),gH=y("\0"),TH=y("\0"),_H=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),SH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),AH=y(""),EH=y(""),xH=y(""),IH=y(""),CH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),NH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),LH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),RH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),PH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),OH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),UH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),DH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),MH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b\0\0\0\0\0\b"),FH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),XH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),BH=y("\0\0\0"),jH=y('\b\t\n\v\f\r\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t!\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"#$%\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'),GH=y("\b\t\n\v\f\r"),qH=y("\0\0\0\0"),YH=y(""),JH=y("\b\t\n\v\f\r"),HH=y(""),WH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),zH=y("\0\0"),VH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),$H=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),KH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),QH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ZH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),tW=y("\0"),rW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),eW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),nW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),aW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),uW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),iW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),fW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),cW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),sW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),oW=y(""),vW=y(""),lW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),bW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),kW=y("\0"),pW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),hW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),dW=y("Lexer.FloatOfString.No_good"),mW=Ut([[0,y(Pk),15],[0,y("if"),16],[0,y("in"),17],[0,y(wb),18],[0,y("return"),19],[0,y("switch"),20],[0,y("this"),21],[0,y("throw"),22],[0,y("try"),23],[0,y("var"),24],[0,y("while"),25],[0,y("with"),26],[0,y("const"),27],[0,y("let"),28],[0,y(ff),29],[0,y(ko),30],[0,y(Ko),31],[0,y("break"),32],[0,y("case"),33],[0,y("catch"),34],[0,y("continue"),35],[0,y(hb),36],[0,y("do"),37],[0,y("finally"),38],[0,y("for"),39],[0,y("class"),40],[0,y(Xd),41],[0,y(ps),42],[0,y("else"),43],[0,y("new"),44],[0,y("delete"),45],[0,y(jl),46],[0,y(tk),47],[0,y("enum"),48],[0,y("export"),49],[0,y("import"),50],[0,y("super"),51],[0,y(ti),52],[0,y(ab),53],[0,y(hu),54],[0,y(Gu),55],[0,y(rl),56],[0,y("public"),57],[0,y("yield"),58],[0,y("debugger"),59],[0,y("declare"),60],[0,y(Su),61],[0,y("of"),62],[0,y(Cl),63],[0,y("await"),64]]),yW=Ut([[0,y(ps),42],[0,y(jl),46],[0,y("any"),ol],[0,y("mixed"),111],[0,y("empty"),112],[0,y("bool"),113],[0,y("boolean"),113],[0,y(Ko),31],[0,y(ko),30],[0,y("number"),rf],[0,y("string"),115],[0,y(tk),Ad],[0,y(ff),29]]),wW=y(Ga),gW=y(Ga),TW=y(fs),_W=y("eval"),SW=y(ti),AW=y(ab),EW=y(hu),xW=y(Gu),IW=y(rl),CW=y("public"),NW=y(ps),LW=y("yield"),RW=y("enum"),PW=[0,y("src/parser/parser_env.ml"),289,2],OW=y(mb),UW=[0,0,0],DW=y(Kc),MW=y(Kc),FW=y("Parser_env.Try.Rollback"),XW=[0,y("did not consume any tokens")],BW=[0,1],jW=[0,0,0],GW=[0,y(ni),494,6],qW=y(ps),YW=y(lf),JW=y(Uc),HW=y(lf),WW=[0,1],zW=[0,[0,0,0]],VW=[0,1],$W=[0,1],KW=[0,1],QW=[0,0],ZW=[0,1],tz=[0,2],rz=[0,7],ez=[0,5],nz=[0,6],az=[0,3],uz=[0,4],iz=[0,y(ni),106,17],fz=[0,y(ni),85,17],cz=[0,y(ni),63,11],sz=[0,y(ni),67,11],oz=[0,y(ni),45,14],vz=[0,31],lz=[0,31],bz=[0,1],kz=[0,29],pz=[0,y(Ef),826,13],hz=[0,y(Ef),728,17],dz=[0,[0,y(mb),y(mb)],1],mz=y(ff),yz=y(ha),wz=y(Xl),gz=y(Hc),Tz=y(au),_z=[0,31],Sz=y("new"),Az=y("target"),Ez=[0,1],xz=[0,0],Iz=[0,1],Cz=[0,0],Nz=[0,1],Lz=[0,0],Rz=[0,2],Pz=[0,3],Oz=[0,7],Uz=[0,6],Dz=[0,4],Mz=[0,5],Fz=[0,[0,17,[0,2]]],Xz=[0,[0,18,[0,3]]],Bz=[0,[0,19,[0,4]]],jz=[0,[0,0,[0,5]]],Gz=[0,[0,1,[0,5]]],qz=[0,[0,2,[0,5]]],Yz=[0,[0,3,[0,5]]],Jz=[0,[0,5,[0,6]]],Hz=[0,[0,7,[0,6]]],Wz=[0,[0,4,[0,6]]],zz=[0,[0,6,[0,6]]],Vz=[0,[0,8,[0,7]]],$z=[0,[0,9,[0,7]]],Kz=[0,[0,10,[0,7]]],Qz=[0,[0,11,[0,8]]],Zz=[0,[0,12,[0,8]]],tV=[0,[0,15,[0,9]]],rV=[0,[0,13,[0,9]]],eV=[0,[0,14,[1,10]]],nV=[0,[0,16,[0,9]]],aV=[0,[0,21,[0,6]]],uV=[0,[0,20,[0,6]]],iV=[0,9],fV=[0,8],cV=[0,7],sV=[0,11],oV=[0,10],vV=[0,12],lV=[0,6],bV=[0,5],kV=[0,3],pV=[0,4],hV=[0,2],dV=[0,1],mV=[0,0],yV=[0,6],wV=y(Cl),gV=y(":"),TV=y(bi),_V=y(mb),SV=[0,y(mb)],AV=y(ua),EV=y(ua),xV=[0,1],IV=[0,1],CV=[0,1],NV=[0,1],LV=y(lf),RV=y(Uc),PV=y(lf),OV=y(Uc),UV=y(Su),DV=[0,0],MV=y(jl),FV=[0,1],XV=y($o),BV=y($o),jV=y($o),GV=y(Nc),qV=y($o),YV=y(Nc),JV=y($o),HV=y($o),WV=y(Nc),zV=[0,y(Va),1141,15],VV=y("other than an interface declaration!"),$V=y("Internal Flow Error! Parsed `export interface` into something "),KV=[0,1],QV=[0,1],ZV=y("other than a type alias!"),t$=y("Internal Flow Error! Parsed `export type` into something "),r$=y($o),e$=y($o),n$=y(hb),a$=y(Nc),u$=y("Internal Flow Error! Unexpected export statement declaration!"),i$=y($o),f$=y($o),c$=y(Nc),s$=[0,1],o$=y("module"),v$=[0,1],l$=y("module"),b$=y("exports"),k$=[0,1],p$=[0,1],h$=y("mixins"),d$=y("mixins"),m$=[0,1],y$=[0,1],w$=y("Label"),g$=[0,27],T$=[0,0,0],_$=[0,y(Va),197,20],S$=[0,y(Va),214,20],A$=y("Parser error: No such thing as an expression pattern!"),E$=[0,1],x$=[0,1],I$=y("use strict"),C$=[0,0,0],N$=y("\n"),L$=y("Nooo: "),R$=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],P$=[0,y("src/parser/parser_flow.ml"),37,28],O$=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],U$=y("Internal error: ");J();var D$=Qc;!function(t){var r=Gd.fds[t];r.flags.wronly&&Xt(ca+t+" is writeonly"),r.file,r.offset;}(0);var M$=$t(1),F$=$t(2),X$=[0,function(t){return function(t){for(n=t;;){if(!n)return 0;var r=n[2],e=n[1];try{Bt(e);}catch(n){}var n=r;}}(Kt())}],B$=R,j$=function(){return[0,y("Unix"),32,0]}()[1],G$=function(){return Qc/4|0}(),q$=(4*G$|0)-1|0;J(),J(),J();var Y$=[Ov,Jm,J()];J(),J();var J$=-6,H$=[Ov,Ww,J()],W$=[0,0];try{V$=lr(sg);}catch(y){if((y=mr(y))!==nm)throw y;try{z$=lr(og);}catch(y){if((y=mr(y))!==nm)throw y;var z$=vg;}var V$=z$;}var $$=function(t,r){return Qr(t,0,r)}(V$,82),K$=[ls,function(t){for(var r=br(),e=[0,Dt(55,0),0],n=0==r.length-1?[0,0]:r,a=n.length-1,u=0;;){I(e[1],u)[u+1]=u;var i=u+1|0;if(54===u){var f=[0,cg],c=54+Cr(55,a)|0;if(!(c<0))for(g=0;;){var s=g%55|0,o=rr(g,a),v=I(n,o)[o+1],l=Lr(f[1],y(mb+v));f[1]=$d(l,0,wt(l));var b=f[1],k=cr(b,3)<<24,p=cr(b,2)<<16,h=cr(b,1)<<8,d=((cr(b,0)+h|0)+p|0)+k|0,m=(I(e[1],s)[s+1]^d)℘I(e[1],s)[s+1]=m;var w=g+1|0;if(c===g)break;var g=w;}return e[2]=0,e}u=i;}}],Q$=[Ov,yg,J()],Z$=1000000010,tK=[0,[0,-1,[0,-1,wg,0]],0],rK=zr(80,32),eK=Hn,nK=function(t){return ue(eK)}(),aK=yn(M$);yn(F$),function(t){function r(t){return 0}mn(function(r,e,n){var a=e<0?1:0;if(a)i=a;else var u=n<0?1:0,i=u||((wt(r)-n|0)>>6|0)?1:0;if(l)k=l;else var b=2!=(o>>>6|0)?1:0,k=b||(2!=(v>>>6|0)?1:0);if(k)throw fK;var p=(7&c)<<18|(63&s)<<12|(63&o)<<6|63&v,h=1;}else if(Jl<=c){var d=cr(t,u+1|0),m=cr(t,u+2|0);if((2!=(d>>>6|0)?1:0)||(2!=(m>>>6|0)?1:0))throw fK;var y=(15&c)<<12|(63&d)<<6|63&m,w=Zu<=y?1:0;if(w?y<=57088?1:0:w)throw fK;var p=y,h=1;}else{var g=cr(t,u+1|0);if(2!=(g>>>6|0))throw fK;var p=(31&c)<<6|63&g,h=1;}else if(Zn<=c)h=0;else var p=c,h=1;if(h){I(a,i)[i+1]=p;var T=cr(t,u),u=u+I(oK,T)[T+1]|0,i=i+1|0,f=f-1|0;continue}throw fK}var _=a.length-1;return[0,wn,Zr(_,function(t){return I(a,t)[t+1]}),_,0,0,0,0,0,1]}throw fK}var S=cr(t,n),A=I(oK,S)[S+1];if(!(0>>18|0)),ce(u,jr(Zn|63&(c>>>12|0))),ce(u,jr(Zn|63&(c>>>6|0))),ce(u,jr(Zn|63&c));}else{var s=Zu<=c?1:0;if(s?c>>12|0)),ce(u,jr(Zn|63&(c>>>6|0))),ce(u,jr(Zn|63&c));}else ce(u,jr(Io|c>>>6|0)),ce(u,jr(Zn|63&c));else ce(u,jr(c));var i=i+1|0,f=f-1|0;}},mK=function(t){return dK(t,0,t[5]-t[6]|0)},yK=t,wK=null,gK=function(t){return void 0!==t?1:0},TK=yK.Array,_K=[Ov,xg,J()],SK=yK.Error;!function(t,r){ir(t,ar(r)===Ov?r:r[1]);}(Ig,[0,_K,{}]);var AK=function(t){throw t};He(function(t){return t[1]===_K?[0,it(t[2].toString())]:0}),He(function(t){return t instanceof TK?0:[0,it(t.toString())]});var EK=function(t,r){return[0,t[1],t[2],r[3]]},xK=function(t){return"number"==typeof t?Cg:t[1]},IK=function(t){if("number"==typeof t)return 1;switch(t[0]){case 0:return 2;case 1:case 2:return 3;default:return 4}},CK=function(t,r){var e=t[1]-r[1]|0;return 0===e?t[2]-r[2]|0:e},NK=wr(iK,Lg,Ng),LK=wr(iK,Pg,Rg),RK=wr(iK,Ug,Og),PK=wr(iK,Mg,Dg),OK=wr(iK,Xg,Fg),UK=wr(iK,jg,Bg),DK=wr(iK,qg,Gg),MK=wr(iK,Jg,Yg),FK=wr(iK,Wg,Hg),XK=wr(iK,Vg,zg),BK=wr(iK,Kg,$g);gr(uK,Qg,NK,NK),gr(uK,Zg,LK,LK),gr(uK,tT,RK,RK),gr(uK,rT,PK,PK),gr(uK,eT,OK,OK),gr(uK,nT,UK,UK),gr(uK,aT,DK,DK),gr(uK,uT,MK,MK),gr(uK,iT,FK,FK),gr(uK,fT,XK,XK),gr(uK,cT,BK,BK);var jK=[Ov,F_,J()],GK=function(t,r,e){return[0,t,r,eP,0,e,om]},qK=function(t,r){return[0,r[1],t,r[3],r[4],r[5],r[6]]},YK=function(t){return t[3][1]},JK=function(t){return t[3][2]},HK=function(t,r){return t!==r[4]?[0,r[1],r[2],r[3],t,r[5],r[6]]:r},WK=function(t){return 35>>6|0)),r],n=[0,jr(Zn|63&(t>>>12|0)),e];return[0,jr(Kp|t>>>18|0),n]}if(Mc<=t){var a=[0,jr(Zn|63&t),0],u=[0,jr(Zn|63&(t>>>6|0)),a];return[0,jr(Jl|t>>>12|0),u]}if(Zn<=t){var i=[0,jr(Zn|63&t),0];return[0,jr(Io|t>>>6|0),i]}return[0,jr(t),0]},tZ=function(t,r){if(45===cr(r,0))var e=1,n=Vr(r,1,wt(r)-1|0);else var e=0,n=r;if(0===t)c=0;else{switch(t-1|0){case 0:var a=1;try{var u=It(xt(Lr(nH,n)));}catch(r){if(a=0,(r=mr(r))[1]!==rm)throw r;var i=xr(Lr(aH,n)),f=1;}if(a)var i=u,f=1;break;case 1:var c=0,f=0;break;default:var s=1;try{var o=KQ(n);}catch(r){if(s=0,(r=mr(r))[1]!==rm)throw r;var i=xr(Lr(uH,n)),f=1;}if(s)var i=o,f=1;}if(f)var v=i,c=1;}if(!c)try{v=It(xt(n));}catch(f){if((f=mr(f))[1]!==rm)throw f;v=xr(Lr(iH,n));}return[5,t,e?-v:v]},rZ=function(t,r,e){var n=VQ(t,JQ(t,r));return An(r),wr(e,n,r)},eZ=We(0,53),nZ=We(0,53);Fr(function(t){return Ve(eZ,t[1],t[2])},mW),Fr(function(t){return Ve(nZ,t[1],t[2])},yW);var aZ=function(t,r){for(p=t;;){var e=function(t){for(;;)if(_n(t,20),0!==hQ(gn(t)))return Sn(t)},n=function(t){if(0===uQ(gn(t)))for(;;){_n(t,19);var r=zK(gn(t));if(0===r)for(;;)if(_n(t,18),0!==hQ(gn(t)))return Sn(t);if(1!==r)return Sn(t)}return Sn(t)},a=function(t,r){return function(e){_n(e,20);var n=qQ(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:return r(e);default:for(;;){_n(e,19);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,18),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(e,n),u=function(t,r){return function(e){for(;;){_n(e,21);var n=WK(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:continue;default:return r(e)}}}}(e,a),i=function(t,r){return function(e){_n(e,21);var n=zK(gn(e));return 0===n?r(e):1===n?t(e):Sn(e)}}(u,e),f=function(t,r,e){return function(n){for(;;){_n(n,21);var a=QK(gn(n));if(3>>0)return Sn(n);switch(a){case 0:return t(n);case 1:return e(n);case 2:continue;default:return r(n)}}}}(e,a,i),c=function(t){for(;;)if(_n(t,14),0!==hQ(gn(t)))return Sn(t)},s=function(t,r,e,n,a,u,i,f,c,s){return function(o){var v=gn(o),l=Fo>>0)return Sn(o);switch(l){case 0:return 76;case 1:return 77;case 2:if(_n(o,2),0===tQ(gn(o)))for(;;)if(_n(o,2),0!==tQ(gn(o)))return Sn(o);return Sn(o);case 3:return 0;case 4:return _n(o,0),0===kQ(gn(o))?0:Sn(o);case 5:return _n(o,69),0===SQ(gn(o))?(_n(o,42),0===SQ(gn(o))?38:Sn(o)):Sn(o);case 6:return 8;case 7:_n(o,77);var b=gn(o);return 0===(32>>0)return Sn(o);switch(h){case 0:return _n(o,64),0===SQ(gn(o))?54:Sn(o);case 1:return 5;default:return 53}case 14:_n(o,61);var d=gn(o),m=42>>0)return Sn(o);switch(T){case 0:_n(o,3);var _=gQ(gn(o));if(2<_>>>0)return Sn(o);switch(_){case 0:for(;;){var S=gQ(gn(o));if(2>>0)return Sn(o);switch(S){case 0:continue;case 1:return a(o);default:return u(o)}}case 1:return a(o);default:return u(o)}case 1:return 6;default:return 73}case 19:_n(o,21);var A=mQ(gn(o));if(7>>0)return Sn(o);switch(A){case 0:return e(o);case 1:return i(o);case 2:for(;;){_n(o,15);var E=XQ(gn(o));if(4>>0)return Sn(o);switch(E){case 0:return f(o);case 1:return i(o);case 2:continue;case 3:for(;;){_n(o,14);var x=QK(gn(o));if(3>>0)return Sn(o);switch(x){case 0:return f(o);case 1:return i(o);case 2:continue;default:return c(o)}}default:return c(o)}}case 3:return s(o);case 4:_n(o,20);var I=MQ(gn(o));if(0===I)return e(o);if(1===I)for(;;){_n(o,11);var C=MQ(gn(o));if(0===C)for(;;)if(_n(o,10),0!==hQ(gn(o)))return Sn(o);if(1!==C)return Sn(o)}return Sn(o);case 5:return n(o);case 6:_n(o,20);var N=$K(gn(o));if(0===N)return e(o);if(1===N)for(;;){_n(o,13);var L=$K(gn(o));if(0===L)for(;;)if(_n(o,12),0!==hQ(gn(o)))return Sn(o);if(1!==L)return Sn(o)}return Sn(o);default:_n(o,20);var R=lQ(gn(o));if(0===R)return e(o);if(1===R)for(;;){_n(o,17);var P=lQ(gn(o));if(0===P)for(;;)if(_n(o,16),0!==hQ(gn(o)))return Sn(o);if(1!==P)return Sn(o)}return Sn(o)}case 20:_n(o,21);var O=QK(gn(o));if(3>>0)return Sn(o);switch(O){case 0:return e(o);case 1:return i(o);case 2:return s(o);default:return n(o)}case 21:return 33;case 22:return 31;case 23:_n(o,59);var U=gn(o),D=59>>0)return Sn(e);switch(n){case 0:return r(e);case 1:return t(e);default:for(;;){_n(e,14);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,14),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(n,c),f);Tn(r);var o=s(r);if(77>>0)return xr(NU);var v=o;if(39<=v)switch(v){case 39:return[0,p,90];case 40:return[0,p,91];case 41:return[0,p,86];case 42:return[0,p,87];case 43:return[0,p,105];case 44:return[0,p,106];case 45:return[0,p,68];case 46:return[0,p,94];case 47:return[0,p,67];case 48:return[0,p,66];case 49:return[0,p,96];case 50:return[0,p,95];case 51:return[0,p,77];case 52:return[0,p,76];case 53:return[0,p,74];case 54:return[0,p,75];case 55:return[0,p,72];case 56:return[0,p,71];case 57:return[0,p,70];case 58:return[0,p,69];case 59:return[0,p,92];case 60:return[0,p,93];case 61:return[0,p,97];case 62:return[0,p,98];case 63:return[0,p,Tb];case 64:return[0,p,vu];case 65:return[0,p,cb];case 66:return[0,p,83];case 67:return[0,p,85];case 68:return[0,p,84];case 69:return[0,p,ai];case 70:return[0,p,tv];case 71:return[0,p,78];case 72:return[0,p,12];case 73:return[0,p,73];case 74:return[0,p,99];case 75:return[0,p,14];case 76:return[0,p[4]?WQ(p,JQ(p,r),4):p,rv];default:return[0,VQ(p,JQ(p,r)),zv]}switch(v){case 0:p=$Q(p,r);continue;case 1:p=VQ(p,JQ(p,r));continue;case 2:continue;case 3:var l=JQ(p,r),b=ue($b),k=cZ(p,b,r),p=QQ(k[1],l,k[2],b,1);continue;case 4:var h=mK(r);if(p[5]){var d=p[4]?zQ(p,JQ(p,r),h):p,m=HK(1,d),y=In(r);if(fr(dK(r,y-1|0,1),LU)&&sr(dK(r,y-2|0,1),RU))return[0,m,80];p=m;continue}var w=JQ(p,r),g=ue($b);se(g,Vr(h,2,wt(h)-2|0));var T=cZ(p,g,r),p=QQ(T[1],w,T[2],g,1);continue;case 5:if(p[4]){p=HK(0,p);continue}An(r);return Tn(r),0===function(t){return 0===FQ(gn(t))?0:Sn(t)}(r)?[0,p,Tb]:xr(PU);case 6:var _=JQ(p,r),S=ue($b),A=sZ(p,S,r),p=QQ(A[1],_,A[2],S,0);continue;case 7:if(0===En(r)){p=sZ(p,ue($b),r)[1];continue}return[0,p,zv];case 8:var E=mK(r),x=JQ(p,r),I=ue($b),C=ue($b);se(C,E);var N=iZ(p,E,I,C,0,r),L=N[3],R=N[1],P=EK(x,N[2]),O=ie(C);return[0,R,[1,[0,P,ie(I),O,L]]];case 9:var U=ue($b),D=ue($b),M=ue($b);se(M,mK(r));var F=vZ(p,JQ(p,r),U,D,M,r),X=F[3],B=F[2],j=F[1],G=ie(M),q=ie(D);return[0,j,[2,[0,B,[0,ie(U),q,G],X]]];case 10:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===IQ(gn(r)))if(0===_Q(gn(r))){for(;;)if(_n(r,0),0!==_Q(gn(r))){e=Sn(r);break}}else e=Sn(r);else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,CU]:xr(IU)});case 11:return[0,p,OU];case 12:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===DQ(gn(r)))if(0===CQ(gn(r))){for(;;)if(_n(r,0),0!==CQ(gn(r))){e=Sn(r);break}}else e=Sn(r);else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,xU]:xr(EU)});case 13:return[0,p,UU];case 14:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===CQ(gn(r))){for(;;)if(_n(r,0),0!==CQ(gn(r))){e=Sn(r);break}}else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,AU]:xr(SU)});case 15:return[0,p,DU];case 16:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===bQ(gn(r)))if(0===oQ(gn(r))){for(;;)if(_n(r,0),0!==oQ(gn(r))){e=Sn(r);break}}else e=Sn(r);else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,_U]:xr(TU)});case 17:return[0,p,MU];case 18:return rZ(p,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}function n(t){var r=iQ(gn(t));return 0===r?0===uQ(gn(t))?e(t):Sn(t):1===r?e(t):Sn(t)}function a(t){if(0===uQ(gn(t)))for(;;){var r=ZK(gn(t));if(0!==r)return 1===r?n(t):Sn(t)}return Sn(t)}Tn(r);var u=sQ(gn(r));if(0===u)f=a(r);else if(1===u)for(;;){var i=UQ(gn(r));if(2>>0)f=Sn(r);else switch(i){case 0:f=a(r);break;case 1:continue;default:f=n(r);}break}else var f=Sn(r);return 0===f?[0,t,gU]:xr(wU)});case 19:return[0,p,FU];case 20:return rZ(p,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}Tn(r);var n=sQ(gn(r));if(0===n)u=0===uQ(gn(r))?e(r):Sn(r);else if(1===n)for(;;){_n(r,0);var a=sQ(gn(r));if(0===a){_n(r,0);u=0===uQ(gn(r))?e(r):Sn(r);}else{if(1===a)continue;u=Sn(r);}break}else var u=Sn(r);return 0===u?[0,t,yU]:xr(mU)});case 21:return[0,p,XU];case 22:var Y=mK(r);if(64===cr(Y,0))if(64===cr(Y,1))var J=Vr(Y,2,wt(Y)-2|0),H=1;else H=0;else H=0;if(!H)J=Y;try{return[0,p,$e(eZ,J)]}catch(r){if((r=mr(r))===nm)return[0,p,0];throw r}case 23:return[0,p,1];case 24:return[0,p,2];case 25:return[0,p,5];case 26:return[0,p,6];case 27:return[0,p,7];case 28:return[0,p,8];case 29:return[0,p,13];case 30:return[0,p,11];case 31:return[0,p,9];case 32:return[0,p,10];case 33:return[0,p,80];case 34:return[0,p,79];case 35:return[0,p,82];case 36:return[0,p,81];case 37:return[0,p,88];default:return[0,p,89]}}},uZ=function(t,r){for(g=t;;){var e=function(t){return 0===fQ(gn(t))&&0===LQ(gn(t))&&0===EQ(gn(t))&&0===nQ(gn(t))&&0===aQ(gn(t))&&0===NQ(gn(t))&&0===RQ(gn(t))&&0===fQ(gn(t))&&0===BQ(gn(t))&&0===cQ(gn(t))&&0===wQ(gn(t))?3:Sn(t)},n=function(t){return _n(t,3),0===GQ(gn(t))?3:Sn(t)},a=function(t){for(;;)if(_n(t,17),0!==hQ(gn(t)))return Sn(t)},u=function(t){return function(r){_n(r,17);var e=lQ(gn(r));if(0===e)return t(r);if(1===e)for(;;){_n(r,14);var n=lQ(gn(r));if(0===n)for(;;)if(_n(r,13),0!==hQ(gn(r)))return Sn(r);if(1!==n)return Sn(r)}return Sn(r)}}(a),i=function(t){return function(r){_n(r,17);var e=$K(gn(r));if(0===e)return t(r);if(1===e)for(;;){_n(r,10);var n=$K(gn(r));if(0===n)for(;;)if(_n(r,9),0!==hQ(gn(r)))return Sn(r);if(1!==n)return Sn(r)}return Sn(r)}}(a),f=function(t){return function(r){_n(r,17);var e=MQ(gn(r));if(0===e)return t(r);if(1===e)for(;;){_n(r,8);var n=MQ(gn(r));if(0===n)for(;;)if(_n(r,7),0!==hQ(gn(r)))return Sn(r);if(1!==n)return Sn(r)}return Sn(r)}}(a),c=function(t){if(0===uQ(gn(t)))for(;;){_n(t,16);var r=zK(gn(t));if(0===r)for(;;)if(_n(t,15),0!==hQ(gn(t)))return Sn(t);if(1!==r)return Sn(t)}return Sn(t)},s=function(t,r){return function(e){_n(e,17);var n=qQ(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:return r(e);default:for(;;){_n(e,16);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,15),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(a,c),o=function(t,r){return function(e){for(;;){_n(e,18);var n=WK(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:continue;default:return r(e)}}}}(a,s),v=function(t,r){return function(e){_n(e,18);var n=zK(gn(e));return 0===n?r(e):1===n?t(e):Sn(e)}}(o,a),l=function(t,r,e){return function(n){for(;;){_n(n,18);var a=QK(gn(n));if(3>>0)return Sn(n);switch(a){case 0:return t(n);case 1:return e(n);case 2:continue;default:return r(n)}}}}(a,s,v),b=function(t){for(;;)if(_n(t,11),0!==hQ(gn(t)))return Sn(t)},k=function(t,r,e){return function(n){for(;;){_n(n,12);var a=XQ(gn(n));if(4>>0)return Sn(n);switch(a){case 0:return r(n);case 1:return t(n);case 2:continue;case 3:for(;;){_n(n,11);var u=QK(gn(n));if(3>>0)return Sn(n);switch(u){case 0:return r(n);case 1:return t(n);case 2:continue;default:return e(n)}}default:return e(n)}}}}(v,b,function(t,r){return function(e){_n(e,11);var n=qQ(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return r(e);case 1:return t(e);default:for(;;){_n(e,11);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,11),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(c,b)),p=function(t,r,e,n,a,u,i,f){return function(c){_n(c,18);var s=mQ(gn(c));if(7>>0)return Sn(c);switch(s){case 0:return t(c);case 1:return e(c);case 2:return n(c);case 3:return a(c);case 4:return u(c);case 5:return r(c);case 6:return i(c);default:return f(c)}}}(a,s,v,k,l,f,i,u),h=function(t,r,e,n,a,u,i,f,c,s,o,v,l,b){return function(k){var p=gn(k),h=Fo>>0)return Sn(k);switch(h){case 0:return 50;case 1:return 51;case 2:if(_n(k,1),0===tQ(gn(k)))for(;;)if(_n(k,1),0!==tQ(gn(k)))return Sn(k);return Sn(k);case 3:return 0;case 4:return _n(k,0),0===kQ(gn(k))?0:Sn(k);case 5:return 6;case 6:return _n(k,19),0===AQ(gn(k))?t(k):Sn(k);case 7:if(_n(k,51),0===RQ(gn(k))){var d=gn(k);if(0===(ai>>0)return Sn(k);switch(w){case 0:for(;;){var g=OQ(gn(k));if(3>>0)return Sn(k);switch(g){case 0:continue;case 1:return r(k);case 2:return u(k);default:return c(k)}}case 1:return r(k);case 2:return u(k);default:return c(k)}case 15:_n(k,30);var T=sQ(gn(k));return 0===T?0===KK(gn(k))?29:Sn(k):1===T?e(k):Sn(k);case 16:_n(k,51);var _=TQ(gn(k));if(0===_){_n(k,2);var S=gQ(gn(k));if(2>>0)return Sn(k);switch(S){case 0:for(;;){var A=gQ(gn(k));if(2>>0)return Sn(k);switch(A){case 0:continue;case 1:return l(k);default:return b(k)}}case 1:return l(k);default:return b(k)}}return 1===_?5:Sn(k);case 17:_n(k,18);var E=mQ(gn(k));if(7>>0)return Sn(k);switch(E){case 0:return n(k);case 1:return i(k);case 2:return f(k);case 3:return c(k);case 4:return s(k);case 5:return a(k);case 6:return o(k);default:return v(k)}case 18:_n(k,18);var x=QK(gn(k));if(3>>0)return Sn(k);switch(x){case 0:return n(k);case 1:return i(k);case 2:return c(k);default:return a(k)}case 19:return 33;case 20:return 31;case 21:return 37;case 22:_n(k,39);var I=gn(k);return 0===(61>>0)return xr(HU);switch(d){case 0:g=$Q(g,r);continue;case 1:continue;case 2:var m=JQ(g,r),y=ue($b),w=cZ(g,y,r),g=QQ(w[1],m,w[2],y,1);continue;case 3:var T=mK(r);if(g[5]){var _=g[4]?zQ(g,JQ(g,r),T):g,S=HK(1,_),A=In(r);if(fr(dK(r,A-1|0,1),WU)&&sr(dK(r,A-2|0,1),zU))return[0,S,80];g=S;continue}var E=JQ(g,r),x=ue($b);se(x,T);var I=cZ(g,x,r),g=QQ(I[1],E,I[2],x,1);continue;case 4:if(g[4]){g=HK(0,g);continue}An(r);return Tn(r),0===function(t){return 0===FQ(gn(t))?0:Sn(t)}(r)?[0,g,Tb]:xr(VU);case 5:var C=JQ(g,r),N=ue($b),L=sZ(g,N,r),g=QQ(L[1],C,L[2],N,0);continue;case 6:var R=mK(r),P=JQ(g,r),O=ue($b),U=ue($b);se(U,R);var D=iZ(g,R,O,U,0,r),M=D[3],F=D[1],X=EK(P,D[2]),B=ie(U);return[0,F,[1,[0,X,ie(O),B,M]]];case 7:return rZ(g,r,function(t,r){function e(t){if(0===IQ(gn(t))){if(0===_Q(gn(t)))for(;;)if(_n(t,0),0!==_Q(gn(t)))return Sn(t);return Sn(t)}return Sn(t)}Tn(r);var n=eQ(gn(r));if(0===n)for(;;){var a=pQ(gn(r));if(0!==a){u=1===a?e(r):Sn(r);break}}else var u=1===n?e(r):Sn(r);return 0===u?[0,t,tZ(0,mK(r))]:xr(JU)});case 8:return[0,g,tZ(0,mK(r))];case 9:return rZ(g,r,function(t,r){function e(t){if(0===DQ(gn(t))){if(0===CQ(gn(t)))for(;;)if(_n(t,0),0!==CQ(gn(t)))return Sn(t);return Sn(t)}return Sn(t)}Tn(r);var n=eQ(gn(r));if(0===n)for(;;){var a=pQ(gn(r));if(0!==a){u=1===a?e(r):Sn(r);break}}else var u=1===n?e(r):Sn(r);return 0===u?[0,t,tZ(2,mK(r))]:xr(YU)});case 10:return[0,g,tZ(2,mK(r))];case 11:return rZ(g,r,function(t,r){function e(t){if(0===CQ(gn(t)))for(;;)if(_n(t,0),0!==CQ(gn(t)))return Sn(t);return Sn(t)}Tn(r);var n=eQ(gn(r));if(0===n)for(;;){var a=pQ(gn(r));if(0!==a){u=1===a?e(r):Sn(r);break}}else var u=1===n?e(r):Sn(r);return 0===u?[0,t,tZ(1,mK(r))]:xr(qU)});case 12:return[0,g,tZ(1,mK(r))];case 13:return rZ(g,r,function(t,r){function e(t){if(0===bQ(gn(t))){if(0===oQ(gn(t)))for(;;)if(_n(t,0),0!==oQ(gn(t)))return Sn(t);return Sn(t)}return Sn(t)}if(Tn(r),0===function(t){var r=eQ(gn(t));if(0===r)for(;;){var n=pQ(gn(t));if(0!==n)return 1===n?e(t):Sn(t)}return 1===r?e(t):Sn(t)}(r)){var n=mK(r);try{return[0,t,tZ(3,n)]}catch(e){throw e=mr(e)}}return xr(GU)});case 14:var j=mK(r);try{return[0,g,tZ(3,j)]}catch(t){throw t=mr(t)}case 15:return rZ(g,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}function n(t){var r=iQ(gn(t));return 0===r?0===uQ(gn(t))?e(t):Sn(t):1===r?e(t):Sn(t)}function a(t){if(0===uQ(gn(t)))for(;;){var r=ZK(gn(t));if(0!==r)return 1===r?n(t):Sn(t)}return Sn(t)}function u(t){for(;;){var r=UQ(gn(t));if(2>>0)return Sn(t);switch(r){case 0:return a(t);case 1:continue;default:return n(t)}}}Tn(r);var i=vQ(gn(r));if(2>>0)s=Sn(r);else switch(i){case 0:for(;;){var f=gn(r),c=8>>0)s=Sn(r);else switch(c){case 0:continue;case 1:s=a(r);break;default:s=u(r);}break}break;case 1:s=a(r);break;default:var s=u(r);}return 0===s?[0,t,tZ(3,mK(r))]:xr(jU)});case 16:return[0,g,tZ(3,mK(r))];case 17:return rZ(g,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}Tn(r);var n=vQ(gn(r));if(2>>0)c=Sn(r);else switch(n){case 0:for(;;){var a=gn(r),u=8>>0)o=Sn(u);else switch(s){case 0:o=2;break;case 1:o=3;break;case 2:o=2;break;case 3:o=0;break;default:var o=1;}if(3>>0)return xr($U);switch(o){case 0:var v=mK(u);if(se(n,v),fr(r,v))return[0,i,JQ(i,u),f];se(e,v);continue;case 1:se(n,KU);var l=fZ(i,e,u),b=l[2],k=l[1],p=b||f;se(n,mK(u));var i=k,f=p;continue;case 2:var h=mK(u);se(n,h);var d=VQ(i,JQ(i,u));return se(e,h),[0,d,JQ(d,u),f];default:var m=mK(u);se(n,m),se(e,m);continue}}},fZ=function(t,r,e){function n(t){return _n(t,4),0===CQ(gn(t))?3:Sn(t)}Tn(e);var a=gn(e),u=Pf>>0)o=Sn(e);else switch(u){case 0:o=0;break;case 1:o=17;break;case 2:o=16;break;case 3:_n(e,16);o=0===kQ(gn(e))?16:Sn(e);break;case 4:_n(e,5);o=0===CQ(gn(e))?n(e):Sn(e);break;case 5:_n(e,12);o=0===CQ(gn(e))?n(e):Sn(e);break;case 6:o=1;break;case 7:o=6;break;case 8:o=7;break;case 9:o=8;break;case 10:o=9;break;case 11:o=10;break;case 12:_n(e,15);var i=gn(e),f=47>>0)return xr(QU);switch(o){case 0:return[0,t,0];case 1:return se(r,ZU),[0,t,0];case 2:return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(tD,mK(e))))),[0,t,0];case 3:var v=Ct(Lr(rD,mK(e)));if(256<=v){var l=7&v;Fr(function(t){return ce(r,t)},ZQ(v>>>3|0)),ce(r,jr(48+l|0));}else Fr(function(t){return ce(r,t)},ZQ(v));return[0,t,1];case 4:return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(eD,mK(e))))),[0,t,1];case 5:return ce(r,jr(0)),[0,t,0];case 6:return ce(r,jr(8)),[0,t,0];case 7:return ce(r,jr(12)),[0,t,0];case 8:return ce(r,jr(10)),[0,t,0];case 9:return ce(r,jr(13)),[0,t,0];case 10:return ce(r,jr(9)),[0,t,0];case 11:return ce(r,jr(11)),[0,t,0];case 12:return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(nD,mK(e))))),[0,t,1];case 13:var b=mK(e);return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(aD,Vr(b,1,wt(b)-1|0))))),[0,t,0];case 14:var k=mK(e),p=Ct(Lr(uD,Vr(k,2,wt(k)-3|0))),h=nl>>0)f=Sn(e);else switch(a){case 0:f=3;break;case 1:f=0;break;case 2:_n(e,0);f=0===kQ(gn(e))?0:Sn(e);break;default:_n(e,3);var u=gn(e),i=44>>0){var c=VQ(o,JQ(o,e));return[0,c,JQ(c,e)]}switch(f){case 0:var s=$Q(o,e);se(r,mK(e));var o=s;continue;case 1:var v=JQ(o,e);return[0,o[4]?WQ(o,v,[2,fD,iD]):o,v];case 2:if(o[4])return[0,o,JQ(o,e)];se(r,cD);continue;default:se(r,mK(e));continue}}},sZ=function(t,r,e){for(;;){Tn(e);var n=gn(e),a=13>>0)u=Sn(e);else switch(a){case 0:u=0;break;case 1:u=2;break;case 2:u=1;break;default:_n(e,1);var u=0===kQ(gn(e))?1:Sn(e);}if(2>>0)return xr(sD);switch(u){case 0:return[0,t,JQ(t,e)];case 1:var i=JQ(t,e),f=i[3],c=f[3],s=f[2],o=f[1],v=i[2],l=i[1],b=$Q(t,e),k=In(e);return[0,b,[0,l,v,[0,o,s-k|0,c-k|0]]];default:se(r,mK(e));continue}}},oZ=function(t,r,e,n,a){for(C=t;;){Tn(a);var u=gn(a),i=123>>0)_=Sn(a);else switch(i){case 0:_=1;break;case 1:_=6;break;case 2:_=2;break;case 3:_n(a,2);_=0===kQ(gn(a))?2:Sn(a);break;case 4:_=0;break;default:_n(a,6);var f=gn(a),c=34>>0)return xr(gD);switch(_){case 0:var S=mK(a);switch(r){case 0:A=sr(S,TD)?0:1;break;case 1:A=sr(S,_D)?0:1;break;default:if(sr(S,SD))if(sr(S,AD))var A=0,E=0;else E=1;else E=1;if(E)return An(a),[0,C,JQ(C,a)]}if(A)return[0,C,JQ(C,a)];se(n,S),se(e,S);continue;case 1:var x=VQ(C,JQ(C,a));return[0,x,JQ(x,a)];case 2:var I=mK(a);se(n,I),se(e,I);var C=$Q(C,a);continue;case 3:var N=mK(a),L=Vr(N,3,wt(N)-4|0);se(n,N),Fr(function(t){return ce(e,t)},ZQ(Ct(Lr(ED,L))));continue;case 4:var P=mK(a),O=Vr(P,2,wt(P)-3|0);se(n,P),Fr(function(t){return ce(e,t)},ZQ(Ct(O)));continue;case 5:var U=mK(a),D=Vr(U,1,wt(U)-2|0);se(n,U);var M=R(D,xD);if(0<=M)if(0>>0)s=Sn(u);else switch(f){case 0:s=0;break;case 1:s=6;break;case 2:s=5;break;case 3:_n(u,5);s=0===kQ(gn(u))?4:Sn(u);break;case 4:_n(u,6);var c=gn(u),s=0===(xs>>0)return xr(QJ);switch(s){case 0:var o=VQ(k,JQ(k,u));return[0,o,EK(r,JQ(o,u)),1];case 1:return ce(a,96),[0,k,EK(r,JQ(k,u)),1];case 2:return se(a,ZJ),[0,k,EK(r,JQ(k,u)),0];case 3:ce(n,92),ce(a,92);var v=fZ(k,e,u)[1],l=mK(u);se(n,l),se(a,l);k=v;continue;case 4:se(n,tH),se(a,rH),se(e,eH);k=$Q(k,u);continue;case 5:var b=mK(u);se(n,b),se(a,b),ce(e,10);var k=$Q(k,u);continue;default:var p=mK(u);se(n,p),se(a,p),se(e,p);continue}}},lZ=ee([0,B$]),bZ=function(t,r){return[0,[0],0,r,qK(t[2].slice(),t)]},kZ=function(t,r){var e=r+1|0;if(t[1].length-1>>0)o=Sn(u);else switch(c){case 0:o=0;break;case 1:o=14;break;case 2:if(_n(u,2),0===tQ(gn(u))){for(;;)if(_n(u,2),0!==tQ(gn(u))){o=Sn(u);break}}else o=Sn(u);break;case 3:o=1;break;case 4:_n(u,1);o=0===kQ(gn(u))?1:Sn(u);break;case 5:o=13;break;case 6:if(_n(u,12),0===yQ(gn(u))){for(;;)if(_n(u,12),0!==yQ(gn(u))){o=Sn(u);break}}else o=Sn(u);break;case 7:o=10;break;case 8:_n(u,6);var s=TQ(gn(u)),o=0===s?4:1===s?3:Sn(u);break;case 9:o=9;break;case 10:o=5;break;case 11:o=11;break;case 12:o=7;break;default:o=8;}if(14>>0)x=xr(mD);else switch(o){case 0:x=[0,i,rv];break;case 1:i=$Q(i,u);continue;case 2:continue;case 3:var v=JQ(i,u),l=ue($b),b=sZ(i,l,u),i=QQ(b[1],v,b[2],l,0);continue;case 4:var k=JQ(i,u),p=ue($b),h=cZ(i,p,u),i=QQ(h[1],k,h[2],p,1);continue;case 5:x=[0,i,92];break;case 6:x=[0,i,99];break;case 7:x=[0,i,93];break;case 8:x=[0,i,1];break;case 9:x=[0,i,80];break;case 10:x=[0,i,11];break;case 11:x=[0,i,78];break;case 12:x=[0,i,Ka];break;case 13:var d=mK(u),m=JQ(i,u),y=ue($b),w=ue($b);se(w,d);var g=fr(d,yD)?0:1,T=oZ(i,g,y,w,u),_=T[2],S=T[1];se(w,d);var A=ie(y),E=ie(w),x=[0,S,[4,[0,EK(m,_),A,E]]];break;default:x=[0,i,zv];}Qt=HQ(x);break}break;case 3:var C=xn(a[2]),N=YQ(a,C,C),L=ue($b),R=ue($b),P=a[2];Tn(P);var O=gn(P),U=123>>0)D=Sn(P);else switch(U){case 0:D=1;break;case 1:D=4;break;case 2:D=0;break;case 3:_n(P,0);D=0===kQ(gn(P))?0:Sn(P);break;case 4:D=2;break;default:var D=3;}if(4>>0)q=xr(wD);else switch(D){case 0:var M=mK(P);se(R,M),se(L,M);var F=oZ($Q(a,P),2,L,R,P),X=F[2],B=F[1],j=ie(L),G=ie(R),q=[0,B,[4,[0,EK(N,X),j,G]]];break;case 1:q=[0,a,rv];break;case 2:q=[0,a,92];break;case 3:q=[0,a,1];break;default:var Y=mK(P);se(R,Y),se(L,Y);var J=oZ(a,2,L,R,P),H=J[2],W=J[1],z=ie(L),V=ie(R),q=[0,W,[4,[0,EK(N,H),z,V]]];}Qt=HQ([0,q[1],q[2]]);break;case 4:for(var $=a[2],K=a;;){Tn($);var Q=gn($),Z=-1>>0)rt=Sn($);else switch(Z){case 0:rt=5;break;case 1:if(_n($,1),0===tQ(gn($))){for(;;)if(_n($,1),0!==tQ(gn($))){rt=Sn($);break}}else rt=Sn($);break;case 2:rt=0;break;case 3:_n($,0);rt=0===kQ(gn($))?0:Sn($);break;case 4:_n($,5);var tt=TQ(gn($)),rt=0===tt?3:1===tt?2:Sn($);break;default:rt=4;}if(5>>0)mt=xr(VJ);else switch(rt){case 0:K=$Q(K,$);continue;case 1:continue;case 2:var et=JQ(K,$),nt=ue($b),at=sZ(K,nt,$),K=QQ(at[1],et,at[2],nt,0);continue;case 3:var ut=JQ(K,$),it=ue($b),ft=cZ(K,it,$),K=QQ(ft[1],ut,ft[2],it,1);continue;case 4:var ct=JQ(K,$),st=ue($b),ot=ue($b),vt=ue($b);se(vt,$J);var lt=vZ(K,ct,st,ot,vt,$),bt=lt[3],kt=lt[2],pt=lt[1],ht=ie(vt),dt=ie(ot),mt=[0,pt,[2,[0,kt,[0,ie(st),dt,ht],bt]]];break;default:var yt=VQ(K,JQ(K,$)),mt=[0,yt,[2,[0,JQ(yt,$),KJ,1]]];}Qt=HQ(mt);break}break;default:for(var gt=a[2],Tt=a;;){Tn(gt);var _t=gn(gt),St=Fo<_t?up<_t?Oc<_t?1:2:wf<_t?Mn<_t?Bl<_t?1:2:Lh<_t?1:2:as<_t?$a<_t?1:2:jn<_t?1:2:cr(HH,_t+1|0)-1|0;if(5>>0)Et=Sn(gt);else switch(St){case 0:Et=0;break;case 1:Et=6;break;case 2:if(_n(gt,2),0===tQ(gn(gt))){for(;;)if(_n(gt,2),0!==tQ(gn(gt))){Et=Sn(gt);break}}else Et=Sn(gt);break;case 3:Et=1;break;case 4:_n(gt,1);Et=0===kQ(gn(gt))?1:Sn(gt);break;default:_n(gt,5);var At=TQ(gn(gt)),Et=0===At?4:1===At?3:Sn(gt);}if(6>>0)Kt=xr(oD);else switch(Et){case 0:Kt=[0,Tt,rv];break;case 1:Tt=$Q(Tt,gt);continue;case 2:continue;case 3:var xt=JQ(Tt,gt),It=ue($b),Ct=sZ(Tt,It,gt),Tt=QQ(Ct[1],xt,Ct[2],It,0);continue;case 4:var Nt=JQ(Tt,gt),Lt=ue($b),Rt=cZ(Tt,Lt,gt),Tt=QQ(Rt[1],Nt,Rt[2],Lt,1);continue;case 5:var Pt=JQ(Tt,gt),Ot=ue($b),Ut=Tt;t:for(;;){Tn(gt);var Dt=gn(gt),Mt=92>>0)Bt=Sn(gt);else switch(Mt){case 0:Bt=0;break;case 1:Bt=7;break;case 2:Bt=6;break;case 3:_n(gt,6);Bt=0===kQ(gn(gt))?6:Sn(gt);break;case 4:if(_n(gt,4),0===dQ(gn(gt))){for(;;)if(_n(gt,3),0!==dQ(gn(gt))){Bt=Sn(gt);break}}else Bt=Sn(gt);break;case 5:Bt=5;break;default:_n(gt,7);var Ft=gn(gt),Xt=-1>>0)Bt=Sn(gt);else switch(Xt){case 0:Bt=2;break;case 1:Bt=1;break;default:_n(gt,1);var Bt=0===kQ(gn(gt))?1:Sn(gt);}}if(7>>0)Gt=xr(vD);else switch(Bt){case 0:Gt=[0,WQ(Ut,JQ(Ut,gt),14),lD];break;case 1:Gt=[0,WQ(Ut,JQ(Ut,gt),14),bD];break;case 2:se(Ot,mK(gt));continue;case 3:var jt=mK(gt),Gt=[0,Ut,Vr(jt,1,wt(jt)-1|0)];break;case 4:Gt=[0,Ut,kD];break;case 5:for(ce(Ot,91);;){Tn(gt);var qt=gn(gt),Yt=93>>0)Wt=Sn(gt);else switch(Yt){case 0:Wt=0;break;case 1:Wt=4;break;case 2:_n(gt,4);var Jt=gn(gt),Ht=91>>0)zt=xr(hD);else switch(Wt){case 0:zt=Ut;break;case 1:se(Ot,dD);continue;case 2:ce(Ot,92),ce(Ot,93);continue;case 3:ce(Ot,93);var zt=Ut;break;default:se(Ot,mK(gt));continue}Ut=zt;continue t}case 6:Gt=[0,WQ(Ut,JQ(Ut,gt),14),pD];break;default:se(Ot,mK(gt));continue}var Vt=Gt[1],$t=Gt[2],Kt=[0,Vt,[3,[0,EK(Pt,JQ(Vt,gt)),ie(Ot),$t]]];break}break;default:Kt=[0,VQ(Tt,JQ(Tt,gt)),zv];}var Qt=HQ(Kt);break}}var Zt=Qt[1],tr=Qt[2],rr=qK(Zt[2].slice(),Zt);t[4]=Zt;var er=t[2];I(t[1],er)[er+1]=[0,[0,rr,tr]],t[2]=t[2]+1|0;}},pZ=function(t,r,e,n){var a=t?t[1]:0,u=r?r[1]:0;try{var i=hK(n),f=0;}catch(s){if((s=mr(s))!==fK)throw s;var c=[0,[0,[0,e,sm[2],sm[3]],67],0],i=hK(OW),f=c;}var s=u?u[1]:bm,o=GK(e,i,s[5]),v=[0,bZ(o,0)];return[0,[0,f],[0,0],lZ[1],[0,lZ[1]],[0,0],s[6],0,0,0,0,0,0,0,0,0,1,0,0,0,[0,UW],[0,o],v,[0,a],s,e]},hZ=function(t){return Or(t[20][1])},dZ=function(t){return t[24][5]},mZ=function(t,r){var e=r[2];t[1][1]=[0,[0,r[1],e],t[1][1]];var n=t[19];return n?wr(n[1],t,e):0},yZ=function(t,r){var e=r[2],n=r[1];if(wr(lZ[3],e,t[4][1]))return mZ(t,[0,n,[7,e]]);var a=wr(lZ[4],e,t[4][1]);return t[4][1]=a,0},wZ=function(t,r){var e=t?t[1]:0;if(e<2){var n=r[22][1];kZ(n,e);var a=I(n[1],e)[e+1];return a?a[1][2]:xr(MW)}throw[0,im,PW]},gZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],t,r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},TZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],t,r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},_Z=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],t,r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},SZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],t,r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},AZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],t,r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},EZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],t,r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},xZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],t,r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},IZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],t,r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},CZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],[0,t],r[20],r[21],r[22],r[23],r[24],r[25]]},NZ=function(t){function r(r){return mZ(t,r)}return function(t){return Fr(r,t)}},LZ=function(t){var r=t[5][1];return r?[0,r[1][2]]:0},RZ=function(t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],0,t[20],t[21],t[22],t[23],t[24],t[25]]},PZ=function(t,r,e){return[0,t[1],t[2],lZ[1],t[4],t[5],t[6],t[7],0,0,1,t[11],t[12],t[13],t[14],t[15],e,r,t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25]]},OZ=function(t){return sr(t,RW)?0:1},UZ=function(t){return sr(t,SW)&&sr(t,AW)&&sr(t,EW)&&sr(t,xW)&&sr(t,IW)&&sr(t,CW)&&sr(t,NW)&&sr(t,LW)?0:1},DZ=function(t){return sr(t,TW)&&sr(t,_W)?0:1},MZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[1]},FZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[3]},XZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[2]},BZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[4]},jZ=function(t){var r=LZ(t);return r&&r[1][2][1]>>0){if(!(106<(e+1|0)>>>0))return 1}else if(6===e)return 0}return jZ(t)},qZ=function(t,r){var e=t?t[1]:0;return 9===MZ([0,e],r)?[0,XZ([0,e],r)]:0},YZ=function(t,r){var e=t?t[1]:0,n=FZ([0,e],r),a=MZ([0,e],r);if(!UZ(n)&&!DZ(n)&&!OZ(n)){if("number"==typeof a){var u=a-1|0;if(58>>0?64<=u?0:1:27===u?1:0)return 1}return 0}return 1},JZ=function(t,r){var e=t?t[1]:0,n=15===MZ([0,e],r)?1:0;if(n)u=n;else var a=63===MZ([0,e],r)?1:0,u=a?15===MZ([0,e+1|0],r)?1:0:a;return u},HZ=function(t,r){var e=t?t[1]:0,n=MZ([0,e],r);return"number"==typeof n&&(14===n?1:40===n?1:0)?1:0},WZ=function(t,r){return mZ(t,[0,XZ(0,t),r])},zZ=function(t){var r=t[1];if("number"==typeof r)switch(r){case 0:return 2;case 108:return 4}else switch(r[0]){case 0:return 0;case 1:case 4:return 1}var e=t[2];return OZ(e)?3:UZ(e)?40:[1,e]},VZ=function(t){var r=BZ(0,t);yr(NZ(t),r);var e=FZ(0,t);return WZ(t,zZ([0,MZ(0,t),e]))},$Z=function(t){function r(r){return mZ(t,[0,r[1],57])}return function(t){return Fr(r,t)}},KZ=function(t,r){var e=t[6];return e?WZ(t,r):e},QZ=function(t,r){var e=t[6],n=r[2],a=r[1];return e?mZ(t,[0,a,n]):e},ZZ=function(t){var r=t[23][1];if(r){var e=r[1],n=XZ(0,t),a=MZ(0,t),u=FZ(0,t);yr(e,[0,n,a,hZ(t),u]);}var i=t[22][1];kZ(i,0);var f=I(i[1],0)[1],c=f?f[1][1]:xr(DW);t[21][1]=c;var s=BZ(0,t);yr(NZ(t),s),Fr(function(r){return t[2][1]=[0,r,t[2][1]],0},wZ([0,0],t)[5]);var o=[0,wZ(0,t)];t[5][1]=o;var v=t[22][1];kZ(v,0),1>>0?wr(M,r,yr(g,r)):wr(F,r,yr(t[14],r)[1])}function e(t,r,e){var n=yr(B,t);n0(t,80);var a=yr(g,t);return[0,EK(r,a[1]),[0,n,a,e]]}function n(t,r,n,a){var u=e(t,r,wr(W,0,t)),i=[0,u[1],[1,u[2]]];return[0,[0,i[1],[0,a,[0,i],0,n,1,0]]]}function u(t,r,e,n,a){1-dZ(t)&&WZ(t,7);var u=a0(t,79);n0(t,80);var i=yr(g,t);return[0,[0,EK(r,i[1]),[0,a,[0,i],u,e,0,n]]]}function i(t,r){var e=MZ(0,r);if("number"==typeof e&&!(11<=e))switch(e){case 2:if(!t)return 0;break;case 4:if(t)return 0;break;case 9:case 10:return ZZ(r)}return VZ(r)}function f(t,r){return r?mZ(t,[0,r[1][1],5]):0}function c(r){var e=EZ(0,r),n=MZ(0,e);if("number"==typeof n&&65===n){var a=XZ(0,e);if(n0(e,65),5===MZ(0,e)){n0(e,5),t0(e,0);var u=yr(t[8],e);r0(e);var i=XZ(0,e);n0(e,6);f=[0,EK(a,i),[0,u]];}else var f=[0,a,0];return[0,f]}return 0}function s(t){var r=MZ(0,t),e=MZ(BW,t);return"number"==typeof r&&80===r?"number"==typeof e&&65===e?(n0(t,80),[0,0,c(t)]):[0,yr(Q,t),c(t)]:jW}function o(t,r){var e=gZ(1,r);t0(e,1);var n=yr(t,e);return r0(e),n}function v(t){return o(g,t)}function l(t){return o(Z,t)}function b(t){return o(tt,t)}function k(t){return o(z,t)}function p(t,r){return o(gr(H,t,0,0),r)}function h(t){return o(B,t)}function d(t){return o(T,t)}function m(t){return o(Q,t)}function y(t){return o(c,t)}function w(t){return o(s,t)}var g=function t(r){return t.fun(r)},T=function t(r){return t.fun(r)},_=function t(r){return t.fun(r)},S=function t(r){return t.fun(r)},A=function t(r){return t.fun(r)},E=function t(r,e){return t.fun(r,e)},x=function t(r){return t.fun(r)},I=function t(r,e){return t.fun(r,e)},C=function t(r){return t.fun(r)},N=function t(r,e){return t.fun(r,e)},L=function t(r){return t.fun(r)},R=function t(r){return t.fun(r)},P=function t(r,e){return t.fun(r,e)},O=function t(r){return t.fun(r)},U=function t(r){return t.fun(r)},D=function t(r){return t.fun(r)},M=function t(r,e){return t.fun(r,e)},F=function t(r,e){return t.fun(r,e)},X=function t(r){return t.fun(r)},B=function t(r){return t.fun(r)},j=function t(r){return t.fun(r)},G=function t(r){return t.fun(r)},q=function t(r){return t.fun(r)},Y=function t(r){return t.fun(r)},J=function t(r,e,n,a){return t.fun(r,e,n,a)},H=function t(r,e,n,a){return t.fun(r,e,n,a)},W=function t(r,e){return t.fun(r,e)},z=function t(r){return t.fun(r)},V=function t(r){return t.fun(r)},$=function t(r,e){return t.fun(r,e)},K=function t(r,e){return t.fun(r,e)},Q=function t(r){return t.fun(r)};a(g,function(t){return yr(A,t)}),a(T,function(t){1-dZ(t)&&WZ(t,7);var r=XZ(0,t);n0(t,80);var e=yr(g,t),n=LZ(t);if(n)return[0,EK(r,n[1]),e];throw[0,im,oz]}),a(_,function(t){var r=XZ(0,t),e=MZ(0,t);if("number"==typeof e){if(97===e)return ZZ(t),[0,[0,r,0]];if(98===e)return ZZ(t),[0,[0,r,1]]}return 0}),a(S,function(t){if(t){var r=t[1][1],e=Dr(t);if(e)return[0,EK(e[1][1],r),e];throw[0,im,sz]}throw[0,im,cz]}),a(A,function(t){return a0(t,83),wr(E,t,yr(x,t))}),a(E,function(t,r){if(83===MZ(0,t))for(f=[0,r,0];;){var e=MZ(0,t);if("number"!=typeof e||83!==e){var n=yr(S,f),a=n[2],u=n[1];if(a){var i=a[2];if(i)return[0,u,[5,a[1],i[1],i[2]]]}throw[0,im,fz]}n0(t,83);var f=[0,yr(x,t),f];}return r}),a(x,function(t){return a0(t,85),wr(I,t,yr(C,t))}),a(I,function(t,r){if(85===MZ(0,t))for(f=[0,r,0];;){var e=MZ(0,t);if("number"!=typeof e||85!==e){var n=yr(S,f),a=n[2],u=n[1];if(a){var i=a[2];if(i)return[0,u,[6,a[1],i[1],i[2]]]}throw[0,im,iz]}n0(t,85);var f=[0,yr(C,t),f];}return r}),a(C,function(t){return wr(N,t,yr(L,t))}),a(N,function(t,r){var e=MZ(0,t);if("number"==typeof e&&12===e&&!t[14]){var n=wr(M,t,r);return Tr(J,t,n[1],0,[0,[0,n,0],0])}return r}),a(L,function(t){var r=MZ(0,t);if("number"==typeof r&&79===r){var e=XZ(0,t);n0(t,79);var n=yr(L,t);return[0,EK(e,n[1]),[0,n]]}return yr(R,t)}),a(R,function(t){return wr(P,t,yr(O,t))}),a(P,function(t,r){if(!jZ(t)&&a0(t,7)){var e=XZ(0,t);return n0(t,8),wr(P,t,[0,EK(r[1],e),[3,r]])}return r}),a(O,function(t){var r=XZ(0,t),e=MZ(0,t);if("number"==typeof e)switch(e){case 0:var n=yr(V,t);return[0,n[1],[4,n[2]]];case 5:return yr(q,t);case 7:return yr(D,t);case 46:var a=XZ(0,t);n0(t,46);var u=yr(O,t);return[0,EK(a,u[1]),[7,u]];case 92:return yr(Y,t);case 100:return n0(t,Tb),[0,r,8];case 1:case 3:var i=Tr(H,0,1,1,t);return[0,i[1],[2,i[2]]];case 30:case 31:var f=FZ(0,t);return n0(t,e),[0,r,[11,[0,31===e?1:0,f]]]}else switch(e[0]){case 1:var c=e[1],s=c[4],o=c[3],v=c[2],l=c[1];return s&&KZ(t,32),n0(t,[1,[0,l,v,o,s]]),[0,l,[9,[0,v,o]]];case 5:var b=e[2],k=e[1],p=FZ(0,t);return n0(t,[5,k,b]),1===k&&KZ(t,32),[0,r,[10,[0,b,p]]]}var h=yr(U,e);if(h){var d=h[1];return n0(t,e),[0,r,d]}return VZ(t),[0,r,0]}),a(U,function(t){if("number"==typeof t){if(29===t)return uz;if(ol<=t)switch(t-110|0){case 0:return QW;case 1:return ZW;case 2:return tz;case 3:return rz;case 4:return ez;case 5:return nz;default:return az}}return 0}),a(D,function(t){var r=XZ(0,t);n0(t,7);for(i=0;;){var e=MZ(0,t);if("number"==typeof e&&(8===e?1:rv===e?1:0)){var n=Dr(i),a=XZ(0,t);return n0(t,8),[0,EK(r,a),[8,n]]}var u=[0,yr(g,t),i];8!==MZ(0,t)&&n0(t,10);var i=u;}}),a(M,function(t,r){return[0,r[1],[0,0,r,0]]}),a(F,function(t,r){1-dZ(t)&&WZ(t,7);var e=a0(t,79);n0(t,80);var n=yr(g,t);return[0,EK(r[1],n[1]),[0,[0,r],n,e]]}),a(X,function(t){return function(e){for(s=e;;){var n=MZ(0,t);if("number"==typeof n){var a=n-6|0;if(7>>0?cb===a?1:0:5<(a-1|0)>>>0?1:0){if(13===n){var u=XZ(0,t);n0(t,13);var i=r(t),f=[0,[0,EK(u,i[1]),[0,i]]];}else f=0;return[0,Dr(s),f]}}var c=[0,r(t),s];6!==MZ(0,t)&&n0(t,10);var s=c;}}}),a(B,function(t){n0(t,5);var r=wr(X,t,0);return n0(t,6),r}),a(j,function(t){n0(t,5);var r=EZ(0,t),e=MZ(0,r);if("number"==typeof e)if(13<=e){if(rv===e)a=1;else if(14<=e)var n=0,a=0;else a=1;if(a)var u=[0,wr(X,r,0)],n=1;}else if(6===e)var u=zW,n=1;else if(0===e)var u=yr(G,r),n=1;else n=0;else n=0;if(!n){if(yr(U,e)){var i=MZ(VW,r);if("number"==typeof i)if(1<(i+Fh|0)>>>0)c=0;else var f=[0,wr(X,r,0)],c=1;else c=0;if(!c)f=[1,yr(g,r)];s=f;}else var s=[1,yr(g,r)];u=s;}if(0===u[0])p=u;else{var o=u[1];if(t[14])k=u;else{var v=MZ(0,t);if("number"==typeof v)if(6===v)if(12===MZ($W,t))var l=[0,wr(X,t,[0,wr(M,t,o),0])],b=1;else var l=[1,o],b=1;else if(10===v){n0(t,10);var l=[0,wr(X,t,[0,wr(M,t,o),0])],b=1;}else b=0;else b=0;if(!b)l=u;var k=l;}var p=k;}return n0(t,6),p}),a(G,function(r){var e=wr(t[13],0,r),n=MZ(0,r);if("number"==typeof n&&!(1<(n+Fh|0)>>>0)){var a=wr(F,r,e);return a0(r,10),[0,wr(X,r,[0,a,0])]}return[1,wr(E,r,wr(I,r,wr(N,r,wr(P,r,wr(K,r,e)))))]}),a(q,function(t){var r=XZ(0,t),e=yr(j,t);return 0===e[0]?Tr(J,t,r,0,e[1]):e[1]}),a(Y,function(t){var r=XZ(0,t),e=wr(W,0,t);return Tr(J,t,r,e,yr(B,t))}),a(J,function(t,r,e,n){n0(t,12);var a=yr(g,t);return[0,EK(r,a[1]),[1,[0,n,a,e]]]}),a(H,function(r,a,c,s){var o=a?3===MZ(0,s)?1:0:a,v=XZ(0,s);n0(s,o?3:1);for(vt=0;;){if(r&&c)throw[0,im,GW];var l=XZ(0,s),b=r?a0(s,42):r,k=yr(_,s),p=MZ(0,s);if("number"==typeof p){if(92===p)m=1;else{if(rv===p)var h=Dr(vt),d=1;else if(14<=p)var m=0,d=0;else switch(p){case 2:if(o)var m=0,d=0;else var h=Dr(vt),d=1;break;case 4:if(o)var h=Dr(vt),d=1;else var m=0,d=0;break;case 7:if(n0(s,7),80===MZ(WW,s)){var y=yr(t[14],s)[1];n0(s,80);w=[0,y];}else var w=0;var T=yr(g,s);n0(s,8),n0(s,80);var S=yr(g,s),A=[2,[0,EK(l,S[1]),[0,w,T,S,b,k]]];i(o,s);vt=[0,A,vt];continue;case 13:if(c){f(s,k),ZZ(s);var E=yr(g,s),x=[1,[0,EK(l,E[1]),[0,E]]];i(o,s);vt=[0,x,vt];continue}var m=0,d=0;break;case 5:var m=1,d=0;break;default:var m=0,d=0;}if(d){var I=XZ(0,s);return n0(s,o?4:2),[0,EK(v,I),[0,o,h]]}}if(m){f(s,k);var C=wr(W,0,s),N=e(s,XZ(0,s),C),L=[3,[0,EK(l,N[1]),[0,N,b]]];i(o,s);vt=[0,L,vt];continue}}if(0===b)F=0;else if(k)F=0;else if("number"==typeof p)if(80===p){QZ(s,[0,l,40]);var R=[1,[0,l,qW]],P=MZ(0,s);if("number"==typeof P){if(5===P)U=1;else if(92===P)U=1;else var O=0,U=0;if(U){f(s,k);var D=n(s,l,0,R),O=1;}}else O=0;if(!O)D=u(s,l,0,k,R);var M=D,F=1;}else F=0;else F=0;if(!F){var X=function(r){t0(r,0);var e=yr(t[21],r);return r0(r),e},B=X(s)[2];if(1===B[0]){var j=B[1][2];if(sr(j,YW))if(sr(j,JW))var G=0,q=0;else q=1;else q=1;if(q){var Y=MZ(0,s);if("number"==typeof Y){var J=Y-6|0;if(85>>0)if(87<(J+1|0)>>>0)var H=0,z=0;else{f(s,k);var V=n(s,l,b,B),z=1;}else if(1<(J-73|0)>>>0)var H=0,z=0;else var V=u(s,l,b,k,B),z=1;if(z)var $=V,H=1;}else H=0;if(!H){var K=X(s),Q=fr(j,HW);f(s,k);var Z=e(s,l,0),tt=K[1],rt=Z[2][1],et=K[2];if(0===Q){var nt=rt[1];if(rt[2]){mZ(s,[0,tt,63]);}else{if(nt)if(nt[2])at=1;else at=0;else var at=1;if(at){mZ(s,[0,tt,63]);}}}else(rt[1]?0:rt[2]?0:1)||mZ(s,[0,tt,62]);var ut=Q?[1,Z]:[2,Z],$=[0,[0,EK(l,Z[1]),[0,et,ut,0,b,0,0]]];}var it=$,G=1;}}else G=0;if(!G){var ft=MZ(0,s);if("number"==typeof ft){if(5===ft)st=1;else if(92===ft)st=1;else var ct=0,st=0;if(st){f(s,k);var ot=n(s,l,b,B),ct=1;}}else ct=0;if(!ct)ot=u(s,l,b,k,B);it=ot;}M=it;}i(o,s);var vt=[0,M,vt];}}),a(W,function(r,e){var n=XZ(0,e);if(92===MZ(0,e)){1-dZ(e)&&WZ(e,7),n0(e,92);for(var a=0,u=0;;){var i=yr(_,e),f=gr(t[15],e,0,29),c=f[2],s=f[1],o=c[2],v=c[1][2],l=MZ(0,e);if(0===r)var b=0,k=0;else{if("number"==typeof l)if(78===l){ZZ(e);var b=[0,yr(g,e)],k=1,p=1;}else p=0;else p=0;if(!p){a&&mZ(e,[0,s,58]);var b=0,k=a;}}var h=[0,[0,s,[0,v,o,i,b]],u],d=MZ(0,e);if("number"==typeof d){if(93===d)y=1;else if(rv===d)y=1;else var m=0,y=0;if(y)var w=Dr(h),m=1;}else m=0;if(!m){if(n0(e,10),93!==MZ(0,e)){var a=k,u=h;continue}w=Dr(h);}var T=EK(n,XZ(0,e));return n0(e,93),[0,[0,T,[0,w]]]}}return 0}),a(z,function(t){var r=XZ(0,t);if(92===MZ(0,t)){n0(t,92);for(i=0;;){var e=MZ(0,t);if("number"==typeof e&&(93===e?1:rv===e?1:0)){var n=Dr(i),a=EK(r,XZ(0,t));return n0(t,93),[0,[0,a,[0,n]]]}var u=[0,yr(g,t),i];93!==MZ(0,t)&&n0(t,10);var i=u;}}return 0}),a(V,function(r){return wr($,r,wr(t[13],0,r))}),a($,function(r,e){for(c=[0,e[1],[0,e]];;){var n=c[2],a=c[1];if(11!==MZ(0,r)){var u=yr(z,r);return[0,u?EK(a,u[1][1]):a,[0,n,u]]}n0(r,11);var i=wr(t[13],0,r),f=EK(a,i[1]),c=[0,f,[1,[0,f,[0,n,i]]]];}}),a(K,function(t,r){var e=wr($,t,r);return[0,e[1],[4,e[2]]]}),a(Q,function(t){var r=MZ(0,t);return"number"==typeof r&&80===r?[0,yr(T,t)]:0});var Z=yr(W,1),tt=yr(W,0);return[0,v,b,l,k,function(t){return o(V,t)},p,h,d,m,y,w]}(h0),m0=yr(function(t){return function(r){function e(t,r){for(c=r;;){var e=c[2],i=c[1],f=t[1];switch(e[0]){case 0:return Xr(n,t,e[1][1]);case 1:return Xr(a,t,e[1][1]);case 2:var c=e[1][1];continue;case 3:var s=e[1][1],o=s[2],v=t[2],l=t[1],b=s[1];wr(b0[3],o,v)&&mZ(l,[0,b,30]);var k=u([0,l,v],s);return[0,k[1],wr(b0[4],o,k[2])];default:return mZ(f,[0,i,19]),t}}}function n(t,r){if(0===r[0]){var n=r[1][2],a=n[1];return e(1===a[0]?u(t,a[1]):t,n[2])}return e(t,r[1][2][1])}function a(t,r){if(r){var n=r[1];return 0===n[0]?e(t,n[1]):e(t,n[1][2][1])}return t}function u(t,r){var e=r[2],n=r[1],a=t[1],u=t[2];return DZ(e)&&QZ(a,[0,n,29]),(OZ(e)||UZ(e))&&QZ(a,[0,n,40]),[0,a,u]}function i(t,r,n,a,u){var i=u[2],f=u[1],c=r||1-n;if(c){var s=r?gZ(1-t[6],t):t;if(a){var o=a[1],v=o[2],l=o[1];DZ(v)&&QZ(s,[0,l,31]),(OZ(v)||UZ(v))&&QZ(s,[0,l,40]);}var b=Xr(e,[0,s,b0[1]],f);if(i)return e(b,i[1][2][1]),0;k=0;}else var k=c;return k}function f(r){n0(r,5);for(v=0;;){var e=MZ(0,r);if("number"==typeof e){var n=e-6|0;if(7>>0?cb===n?1:0:5<(n-1|0)>>>0?1:0){if(13===e){var a=XZ(0,r);n0(r,13);var u=wr(t[19],r,29),i=[0,[0,EK(a,u[1]),[0,u]]];}else i=0;6!==MZ(0,r)&&WZ(r,48);var f=[0,Dr(v),i];return n0(r,6),f}}var c=wr(t[19],r,29);if(78===MZ(0,r)){n0(r,78);var s=yr(t[9],r),o=[0,EK(c[1],s[1]),[2,[0,c,s]]];}else o=c;6!==MZ(0,r)&&n0(r,10);var v=[0,o,v];}}function c(r,e,n){var a=PZ(r,e,n),u=yr(t[17],a),i=u[1];return[0,i,[0,[0,i,u[2]]],u[3]]}function s(r,e,n){var a=[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],1,r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]],u=MZ(0,a);if("number"==typeof u&&1===u){var i=c(a,e,n);return[0,i[2],i[3]]}var f=PZ(a,e,n);return[0,[1,yr(t[9],f)],f[6]]}function o(t,r,e){var n=XZ(0,t),a=MZ(0,t);if("number"==typeof a)if(97===a){ZZ(t);var u=[0,[0,n,0]],i=1;}else if(98===a){ZZ(t);var u=[0,[0,n,1]],i=1;}else i=0;else i=0;if(!i)u=0;if(u){var f=u[1][1];if(!(r?0:e?0:1))return mZ(t,[0,f,5]),0}return u}function v(t){return a0(t,Tb)}function l(t){return a0(t,63)}function b(t){var r=0===t[2]?1:0,e=t[1];if(r)for(u=e;;){if(u){var n=u[2],a=3===u[1][2][0]?1:0;if(a){var u=n;continue}return a}return 1}return r}function k(e){var n=XZ(0,e),a=l(e);n0(e,15);var u=v(e),s=e[7],o=MZ(0,e);if(0===s)h=0;else if("number"==typeof o)if(5===o)var k=0,p=0,h=1;else if(92===o)var d=yr(r[2],e),m=5===MZ(0,e)?0:[0,wr(t[13],vz,e)],k=d,p=m,h=1;else h=0;else h=0;if(!h)var y=[0,wr(t[13],lz,e)],k=yr(r[2],e),p=y;var w=f(e),g=yr(r[11],e),T=g[2],_=g[1],S=c(e,a,u),A=S[2];i(e,S[3],b(w),p,w);var E=0===A[0]?[0,A[1][1],0]:[0,A[1][1],1],x=[17,[0,p,w,A,a,u,T,E[2],_,k]];return[0,EK(n,E[1]),x]}function p(r){for(var e=0,n=0;;){var a=wr(t[19],r,28);if(78===MZ(0,r)){n0(r,78);var u=[0,yr(t[9],r)],i=0;}else{var f=a[1];if(3===a[2][0])var u=km[1],i=km[2];else var u=0,i=[0,[0,f,44],0];}var c=u?u[1][1]:a[1],s=[0,[0,EK(a[1],c),[0,a,u]],e],o=Rr(i,n);if(10!==MZ(0,r)){var v=Or(s)[1],l=Dr(s),b=Or(s)[1],k=Dr(o);return[0,EK(b,v),l,k]}n0(r,10);var e=s,n=o;}}function h(t,r,e){var n=XZ(0,e);n0(e,t);var a=p(e),u=a[3],i=[0,a[2],r];return[0,[0,EK(n,a[1]),i],u]}function d(t){return h(g,w,t)}function m(t){var r=h(27,2,_Z(1,t)),e=r[1],n=e[2],a=r[2];return[0,[0,e[1],n],Dr(Xr(function(t,r){var e=r[1];return r[2][2]?t:[0,[0,e,43],t]},a,n[1]))]}function y(t){return h(28,1,_Z(1,t))}var w=0,g=24;return[0,l,v,o,f,c,b,i,s,function(t){var r=XZ(0,t),e=MZ(0,t);if("number"==typeof e){var n=e+-24|0;if(4>>0)i=0;else{switch(n){case 0:var a=d(t),u=1;break;case 3:var a=m(t),u=1;break;case 4:var a=y(t),u=1;break;default:var i=0,u=0;}if(u)var f=a,i=1;}}else i=0;if(!i){VZ(t);f=d(t);}var c=f[1],s=f[2],o=[27,c[2]];return[0,[0,EK(r,c[1]),o],s]},p,y,m,d,k]}}(h0),d0),y0=yr(yr(function(t){return function(r){return function(e){function n(r){var e=yr(h,r),n=yr(p,r);if(n){var a=n[1];1-yr(k,e)&&mZ(r,[0,e[1],15]);var u=e[2],i=e[1],f=("number"==typeof u||10===u[0]&&DZ(u[1][2])&&QZ(r,[0,i,37]),wr(t[20],r,e)),c=yr(v,r);return[0,EK(f[1],c[1]),[2,[0,a,f,c]]]}return e}function u(t,r){throw i0}function i(t){var r=CZ(u,t),e=n(r),a=MZ(0,r);if("number"==typeof a){if(12===a)throw i0;if(80===a){var i=r[5][1];if(D(i?[0,i[1][1]]:0,yV))throw i0}}if(YZ(0,r)){var f=e[2];if("number"!=typeof f&&10===f[0]&&!sr(f[1][2],wV)&&!jZ(r))throw i0;return e}return e}function f(t,r,e,n){return[0,n,[14,[0,e,t,r]]]}function c(t,r,e){for(var n=r,a=e;;){var u=MZ(0,t);if("number"!=typeof u||82!==u)return[0,a,n];n0(t,82);var i=l0(m,t),c=i[2],s=EK(a,i[1]),n=f(n,c,1,s),a=s;}}function s(t,r,e,n){return[0,n,[3,[0,e,t,r]]]}function o(t,r){if("number"==typeof r){var e=r-29|0;if(16>>0?19===e?1:0:14<(e-1|0)>>>0?1:0)return 0}throw i0}var v=function t(r){return t.fun(r)},l=function t(r){return t.fun(r)},b=function t(r){return t.fun(r)},k=function t(r){return t.fun(r)},p=function t(r){return t.fun(r)},h=function t(r){return t.fun(r)},d=function t(r){return t.fun(r)},m=function t(r){return t.fun(r)},y=function t(r){return t.fun(r)},w=function t(r){return t.fun(r)},g=function t(r){return t.fun(r)},T=function t(r){return t.fun(r)},_=function t(r,e){return t.fun(r,e)},S=function t(r,e,n){return t.fun(r,e,n)},A=function t(r){return t.fun(r)},E=function t(r){return t.fun(r)},x=function t(r,e,n){return t.fun(r,e,n)},I=function t(r){return t.fun(r)},C=function t(r,e){return t.fun(r,e)},N=function t(r){return t.fun(r)},L=function t(r){return t.fun(r)},R=function t(r,e){return t.fun(r,e)},P=function t(r,e,n,a){return t.fun(r,e,n,a)},O=function t(r){return t.fun(r)},U=function t(r){return t.fun(r)},M=function t(r){return t.fun(r)},F=function t(r){return t.fun(r)},X=function t(r,e){return t.fun(r,e)},B=function t(r){return t.fun(r)};return a(v,function(t){var r=MZ(0,t),e=YZ(0,t);if("number"==typeof r){var a=r-6|0;if(85>>0)u=87<(a+1|0)>>>0?0:1;else if(52===a){if(t[16])return yr(l,t);u=0;}else u=0;}else var u=0;if(!u&&0===e)return n(t);var f=v0(t,i);if(f)return f[1];var c=v0(t,F);return c?c[1]:n(t)}),a(l,function(t){return l0(function(t){n0(t,58),1-t[16]&&WZ(t,25);var r=a0(t,Tb),e=1-((9===MZ(0,t)?1:0)||GZ(t));if(r)a=0;else if(e)a=0;else var n=0,a=1;if(!a)n=[0,yr(v,t)];return[25,[0,n,r]]},t)}),a(b,function(t){var r=t[2];if("number"!=typeof r)switch(r[0]){case 10:case 15:case 16:return 1}return 0}),a(k,function(t){var r=t[2];if("number"!=typeof r)switch(r[0]){case 0:case 10:case 15:case 16:case 18:return 1}return 0}),a(p,function(t){var r=MZ(0,t);if("number"==typeof r){var e=r+-66|0;if(12>>0)u=0;else{switch(e){case 0:n=iV;break;case 1:n=fV;break;case 2:n=cV;break;case 3:n=sV;break;case 4:n=oV;break;case 5:n=vV;break;case 6:n=lV;break;case 7:n=bV;break;case 8:n=kV;break;case 9:n=pV;break;case 10:n=hV;break;case 11:n=dV;break;default:var n=mV;}var a=n,u=1;}}else u=0;if(!u)a=0;return 0!==a&&ZZ(t),a}),a(h,function(t){var r=XZ(0,t),e=yr(d,t);if(79===MZ(0,t)){n0(t,79);var n=yr(v,AZ(0,t));n0(t,80);var a=l0(v,t),u=a[2];return[0,EK(r,a[1]),[7,[0,e,n,u]]]}return e}),a(d,function(t){for(var r=l0(m,t),e=c(t,r[2],r[1]),n=e[2],a=e[1];;){var u=MZ(0,t);if("number"!=typeof u||81!==u)return n;n0(t,81);var i=l0(m,t),s=c(t,i[2],i[1]),o=s[2],v=EK(a,s[1]),n=f(n,o,0,v),a=v;}}),a(m,function(t){M=0;t:for(;;){var r=XZ(0,t),e=0!==yr(y,t)?1:0,n=yr(w,AZ(0,t)),a=LZ(t),u=a?a[1]:n[1],i=EK(r,u);if(92===MZ(0,t)){var f=n[2];"number"==typeof f||12===f[0]&&WZ(t,47);}var c=MZ(0,t);if("number"==typeof c){var o=c+xb|0;if(1>>0)if(66<=o){switch(o+-66|0){case 0:var v=Fz,l=1;break;case 1:var v=Xz,l=1;break;case 2:var v=Bz,l=1;break;case 3:var v=jz,l=1;break;case 4:var v=Gz,l=1;break;case 5:var v=qz,l=1;break;case 6:var v=Yz,l=1;break;case 7:var v=Jz,l=1;break;case 8:var v=Hz,l=1;break;case 9:var v=Wz,l=1;break;case 10:var v=zz,l=1;break;case 11:var v=Vz,l=1;break;case 12:var v=$z,l=1;break;case 13:var v=Kz,l=1;break;case 14:var v=Qz,l=1;break;case 15:var v=Zz,l=1;break;case 16:var v=tV,l=1;break;case 17:var v=rV,l=1;break;case 18:var v=eV,l=1;break;case 19:var v=nV,l=1;break;default:var b=0,k=0,l=0;}if(l)var p=v,k=1;}else var b=0,k=0;else if(0===o)if(t[11])var p=0,k=1;else var p=uV,k=1;else var p=aV,k=1;if(k)var h=p,b=1;}else b=0;if(!b)h=0;if(0!==h&&ZZ(t),h){var d=h[1],m=d[1],g=d[2];(e?14===m?1:0:e)&&mZ(t,[0,i,16]);for(var T=n,_=[0,m,g],S=i,A=M;;){var E=_[2],x=_[1];if(A){var I=A[1],C=I[2],N=C[2],L=A[2],R=I[3],P=C[1],O=I[1],U=0===N[0]?N[1]:N[1]-1|0;if((E[0],E[1])<=U){var D=EK(R,S),T=s(O,T,P,D),_=[0,x,E],S=D,A=L;continue}}var M=[0,[0,T,[0,x,E],S],A];continue t}}for(var F=n,X=i,B=M;;){if(!B)return F;var j=B[1],G=B[2],q=j[2][1],Y=j[1],J=EK(j[3],X),F=s(Y,F,q,J),X=J,B=G;}}}),a(y,function(t){var r=MZ(0,t);if("number"==typeof r)if(48<=r){if(97<=r){if(!(105<=r))switch(r+al|0){case 0:return Nz;case 1:return Lz;case 6:return Rz;case 7:return Pz}}else if(64===r&&t[17])return Oz}else if(45<=r)switch(r+-45|0){case 0:return Uz;case 1:return Dz;default:return Mz}return 0}),a(w,function(t){var r=XZ(0,t),e=yr(y,t);if(e){var n=e[1];ZZ(t);var a=l0(w,t),u=a[2],i=EK(r,a[1]);if(6===n){var f=u[2];if("number"==typeof f)c=1;else if(10===f[0]){QZ(t,[0,i,33]);c=0;}else var c=1;if(c);}else;return[0,i,[23,[0,n,1,u]]]}var s=MZ(0,t);if("number"==typeof s)if(105===s)var o=Cz,v=1;else if(106===s)var o=Iz,v=1;else v=0;else v=0;if(!v)o=0;if(o){var l=o[1];ZZ(t);var k=l0(w,t),p=k[2],h=k[1];1-yr(b,p)&&mZ(t,[0,p[1],15]);var d=p[2];"number"==typeof d||10===d[0]&&DZ(d[1][2])&&KZ(t,39);return[0,EK(r,h),[24,[0,l,p,1]]]}return yr(g,t)}),a(g,function(t){var r=yr(T,t);if(jZ(t))return r;var e=MZ(0,t);if("number"==typeof e)if(105===e)var n=xz,a=1;else if(106===e)var n=Ez,a=1;else a=0;else a=0;if(!a)n=0;if(n){var u=n[1];1-yr(b,r)&&mZ(t,[0,r[1],15]);var i=r[2],f=("number"==typeof i||10===i[0]&&DZ(i[1][2])&&KZ(t,38),XZ(0,t));return ZZ(t),[0,EK(r[1],f),[24,[0,u,r,0]]]}return r}),a(T,function(t){var r=XZ(0,t),e=[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],0,t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25]],n=1-t[15],a=MZ(0,e);if("number"==typeof a)if(44===a)if(n)var u=yr(A,e),i=1;else i=0;else if(50===a)var u=wr(_,e,r),i=1;else i=0;else i=0;if(!i)u=JZ(0,e)?yr(I,e):yr(N,e);return gr(S,e,r,gr(x,e,r,u))}),a(_,function(t,r){n0(t,50),n0(t,5);var e=yr(v,AZ(0,t));return n0(t,6),[0,EK(r,e[1]),[11,e]]}),a(S,function(r,e,n){var a=MZ(0,r);if("number"==typeof a)switch(a){case 5:if(!r[12]){var u=yr(E,r),i=u[2];return gr(S,r,e,[0,EK(e,u[1]),[4,[0,n,i]]])}break;case 7:n0(r,7);var f=yr(t[7],r),c=EK(e,XZ(0,r));return n0(r,8),gr(S,r,e,[0,c,[15,[0,n,[1,f],1]]]);case 11:n0(r,11);var s=yr(B,r)[1];return gr(S,r,e,[0,EK(e,s[1]),[15,[0,n,[0,s],0]]])}else if(2===a[0])return gr(S,r,e,Tr(P,r,e,n,a[1]));return n}),a(A,function(r){var e=XZ(0,r);if(n0(r,44),r[10]&&11===MZ(0,r)){n0(r,11);var n=[0,e,Sz];if(fr(FZ(0,r),Az)){var a=wr(t[13],0,r);return[0,EK(e,a[1]),[16,[0,n,a]]]}return VZ(r),ZZ(r),[0,e,[10,n]]}var u=XZ(0,r),i=MZ(0,r);if("number"==typeof i)if(44===i)var f=yr(A,r),c=1;else c=0;else c=0;if(!c)f=JZ(0,r)?yr(I,r):yr(N,r);var s=gr(x,IZ(1,r),u,f),o=MZ(0,r);if("number"==typeof o)l=0;else if(2===o[0])var v=Tr(P,r,u,s,o[1]),l=1;else l=0;if(!l)v=s;var b=MZ(0,r);if("number"==typeof b)if(5===b)var k=yr(E,r),p=k[1],h=k[2],d=1;else d=0;else d=0;if(!d)var p=v[1],h=0;return[0,EK(e,p),[17,[0,v,h]]]}),a(E,function(t){var r=XZ(0,t);n0(t,5);for(l=0;;){var e=MZ(0,t);if("number"==typeof e&&(6===e?1:rv===e?1:0)){var n=Dr(l),a=XZ(0,t);return n0(t,6),[0,EK(r,a),n]}var u=MZ(0,t);if("number"==typeof u)if(13===u){var i=XZ(0,t);n0(t,13);var f=yr(v,t),c=[1,[0,EK(i,f[1]),[0,f]]],s=1;}else s=0;else s=0;if(!s)c=[0,yr(v,t)];var o=[0,c,l];6!==MZ(0,t)&&n0(t,10);var l=o;}}),a(x,function(r,e,n){var a=MZ(0,r);if("number"==typeof a)switch(a){case 7:n0(r,7);var u=IZ(0,r),i=yr(t[7],u),f=XZ(0,r);return n0(r,8),gr(S,r,e,[0,EK(e,f),[15,[0,n,[1,i],1]]]);case 11:n0(r,11);var c=yr(B,r)[1];return gr(S,r,e,[0,EK(e,c[1]),[15,[0,n,[0,c],0]]])}else if(2===a[0])return gr(S,r,e,Tr(P,r,e,n,a[1]));return n}),a(I,function(n){var a=XZ(0,n),u=yr(e[1],n);n0(n,15);var i=yr(e[2],n);if(5===MZ(0,n))var f=0,c=0;else{var s=MZ(0,n);if("number"==typeof s)if(92===s)var o=0,v=1;else v=0;else v=0;if(!v)o=[0,wr(t[13],_z,n)];var f=o,c=yr(r[2],n);}var l=yr(e[4],n),b=yr(r[11],n),k=b[2],p=b[1],h=gr(e[5],n,u,i),d=h[2],m=h[3],y=h[1],w=yr(e[6],l);_r(e[7],n,m,w,f,l);var g=0===d[0]?0:1;return[0,EK(a,y),[8,[0,f,l,d,u,i,k,g,p,c]]]}),a(C,function(t,r){var e=FZ(0,t);if(0===r)f=0;else{switch(r-1|0){case 0:KZ(t,32);var n=1;try{var a=It(xt(Lr(yz,e)));}catch(t){if(n=0,(t=mr(t))[1]!==rm)throw t;var u=xr(Lr(wz,e)),i=1;}if(n)var u=a,i=1;break;case 1:var f=0,i=0;break;default:var c=1;try{var s=KQ(e);}catch(t){c=0;if((t=mr(t))[1]!==rm)throw t;var u=xr(Lr(gz,e)),i=1;}if(c)var u=s,i=1;}if(i)var o=u,f=1;}if(!f)try{o=It(xt(e));}catch(i){if((i=mr(i))[1]!==rm)throw i;o=xr(Lr(Tz,e));}return n0(t,[0,r]),o}),a(N,function(r){var e=XZ(0,r),n=MZ(0,r);if("number"==typeof n)switch(n){case 1:return yr(L,r);case 5:return yr(O,r);case 7:var a=yr(U,r);return[0,a[1],[0,a[2]]];case 21:return n0(r,21),[0,e,1];case 29:var u=FZ(0,r);return n0(r,29),[0,e,[13,[0,0,u]]];case 40:return yr(t[23],r);case 51:var i=XZ(0,r);return n0(r,51),[0,i,0];case 92:var f=yr(t[18],r);return[0,f[1],[12,f[2]]];case 30:case 31:var c=FZ(0,r);return n0(r,n),[0,e,[13,[0,[1,31===n?1:0],c]]];case 73:case 99:return yr(M,r)}else switch(n[0]){case 0:var s=n[1],o=FZ(0,r);return[0,e,[13,[0,[2,wr(C,r,s)],o]]];case 1:var v=n[1],l=v[4],b=v[3],k=v[2],p=v[1];return l&&KZ(r,32),n0(r,[1,[0,p,k,b,l]]),[0,p,[13,[0,[0,k],b]]];case 2:var h=wr(R,r,n[1]);return[0,h[1],[21,h[2]]]}if(YZ(0,r)){var d=wr(t[13],0,r);return[0,d[1],[10,d]]}return VZ(r),zv===n&&ZZ(r),[0,e,[13,[0,0,mz]]]}),a(L,function(r){var e=yr(t[11],r);return[0,e[1],[18,e[2]]]}),a(R,function(r,e){var n=e[3],a=e[2],u=e[1],i=a[2],f=a[1];n0(r,[2,e]);var c=[0,u,[0,[0,i,f],n]];if(n)var s=u,o=[0,c,0],v=0;else for(var l=[0,c,0],b=0;;){var k=yr(t[7],r),p=[0,k,b],h=MZ(0,r);if("number"==typeof h)if(2===h){t0(r,4);var d=MZ(0,r);if("number"==typeof d)I=1;else if(2===d[0]){var m=d[1],y=m[3],w=m[2],g=m[1],T=w[2],_=w[1];ZZ(r),r0(r);var S=[0,[0,g,[0,[0,T,_],y]],l];if(!y){var l=S,b=p;continue}var A=Dr(p),E=[0,g,Dr(S),A],x=1,I=0;}else I=1;if(I)throw[0,im,hz]}else x=0;else x=0;if(!x){VZ(r);var C=[0,k[1],dz],N=Dr(p),L=Dr([0,C,l]),E=[0,k[1],L,N];}var s=E[1],o=E[2],v=E[3];break}return[0,EK(u,s),[0,o,v]]}),a(P,function(t,r,e,n){var a=wr(R,t,n);return[0,EK(r,a[1]),[20,[0,e,a]]]}),a(O,function(t){n0(t,5);var e=yr(v,t),n=MZ(0,t);if("number"==typeof n)if(10===n)var a=wr(X,t,[0,e,0]),u=1;else if(80===n)var i=yr(r[8],t),a=[0,EK(e[1],i[1]),[22,[0,e,i]]],u=1;else u=0;else u=0;if(!u)a=e;return n0(t,6),a}),a(U,function(t){var r=XZ(0,t);n0(t,7);for(o=0;;){var e=MZ(0,t);if("number"==typeof e){if(14<=e)i=rv===e?1:0;else if(8<=e)switch(e-8|0){case 0:i=1;break;case 2:n0(t,10);o=[0,0,o];continue;case 5:var n=XZ(0,t);n0(t,13);var a=yr(v,t),u=[1,[0,EK(n,a[1]),[0,a]]];8!==MZ(0,t)&&n0(t,10);o=[0,[0,u],o];continue;default:i=0;}else var i=0;if(i){var f=Dr(o),c=XZ(0,t);return n0(t,8),[0,EK(r,c),[0,f]]}}var s=[0,yr(v,t)];8!==MZ(0,t)&&n0(t,10);var o=[0,[0,s],o];}}),a(M,function(t){t0(t,5);var r=XZ(0,t),e=MZ(0,t);if("number"!=typeof e&&3===e[0]){var n=e[1],a=n[3],u=n[2],i=FZ(0,t);ZZ(t),r0(t);var f=ue(wt(a));$r(function(t){var r=t-103|0;if(!(18>>0))switch(r){case 0:case 2:case 6:case 14:case 18:return ce(f,t)}return 0},a);var c=ie(f);return sr(c,a)&&WZ(t,[3,a]),[0,r,[13,[0,[3,[0,u,c]],i]]]}throw[0,im,pz]}),a(F,function(n){var a=CZ(o,n),u=XZ(0,a),i=12!==MZ(bz,a)?1:0,f=i?yr(e[1],a):i,c=yr(r[2],a);if(YZ(0,a))if(0===c)var s=wr(t[13],kz,a),v=s[1],l=[0,[0,[0,v,[3,[0,[0,v,s[2]],0,0]]],0],0],b=0,k=0,p=1;else p=0;else p=0;if(!p)var h=yr(e[4],a),d=EZ(1,a),m=yr(r[11],d),l=h,b=m[1],k=m[2];var y=l[1];if(l[2])g=0;else if(y)var w=a,g=1;else g=0;if(!g)w=RZ(a);var T=jZ(w);(T?12===MZ(0,w)?1:0:T)&&WZ(w,45),n0(w,12);var _=RZ(w),S=e[8],A=l0(function(t){return gr(S,t,f,0)},_),E=A[2],x=E[1],I=E[2],C=A[1],N=yr(e[6],l);_r(e[7],_,I,N,0,l);var L=0===x[0]?0:1;return[0,EK(u,C),[1,[0,0,l,x,f,0,k,L,b,c]]]}),a(X,function(t,r){var e=MZ(0,t);if("number"==typeof e&&10===e)return n0(t,10),wr(X,t,[0,yr(v,t),r]);var n=Or(r)[1],a=Dr(r);return[0,EK(Or(a)[1],n),[19,[0,a]]]}),a(B,function(r){var e=MZ(0,r),n=FZ(0,r),a=XZ(0,r);if("number"==typeof e&&(60<=e?64<=e?0:1:0===e?1:0))return[0,wr(t[13],0,r),0];if("number"==typeof e){if(65<=e)if(ol===e)i=1;else if(113<=e)i=1;else var u=0,i=0;else if(60<=e)if(64<=e)i=1;else var u=0,i=0;else if(15<=e)i=1;else var u=0,i=0;if(i)var f=[0,[0,a,zZ([0,e,n])]],u=1;}else u=0;if(!u){VZ(r);f=0;}return ZZ(r),[0,[0,a,n],f]}),[0,U,v,h,B,k,T,C,X]}}}(h0),d0),m0),w0=yr(yr(yr(function(t){return function(r){return function(e){return function(n){function u(t){if(t[24][3])for(e=0;;){var r=MZ(0,t);if("number"!=typeof r||14!==r)return Dr(e);ZZ(t);var e=[0,yr(n[6],t),e];}return 0}function i(r){var e=MZ(0,r);if("number"==typeof e){if(7===e){var a=XZ(0,r);n0(r,7);var u=AZ(0,r),i=yr(t[9],u),f=XZ(0,r);return n0(r,8),[0,EK(a,f),[2,i]]}}else switch(e[0]){case 0:var c=e[1],s=FZ(0,r),o=XZ(0,r);return[0,o,[0,[0,o,[0,[2,wr(n[7],r,c)],s]]]];case 1:var v=e[1],l=v[4],b=v[3],k=v[2],p=v[1];return l&&KZ(r,32),n0(r,[1,[0,p,k,b,l]]),[0,p,[0,[0,p,[0,[0,k],b]]]]}var h=yr(n[4],r)[1];return[0,h[1],[1,h]]}function f(t,n){var a=yr(e[2],t),u=i(t),f=u[1],c=u[2],s=XZ(0,t),o=yr(e[4],t);if(0===n){var v=o[1];if(o[2]){mZ(t,[0,f,63]);}else{if(v)if(v[2])l=1;else l=0;else var l=1;if(l){mZ(t,[0,f,63]);}}}else(o[1]?0:o[2]?0:1)||mZ(t,[0,f,62]);var b=yr(r[9],t),k=gr(e[5],t,0,a),p=k[2],h=k[3],d=yr(e[6],o);_r(e[7],t,h,d,0,o);var m=0===p[0]?[0,p[1][1],0]:[0,p[1][1],1],y=m[2];return[0,c,[0,EK(s,m[1]),[0,0,o,p,0,a,0,y,b,0]]]}function c(t){var r=XZ(0,t);n0(t,1);var e=wr(h,t,0),n=XZ(0,t);return n0(t,2),[0,EK(r,n),[0,e]]}function s(t,r){return r?mZ(t,[0,r[1][1],5]):0}function o(n,a,u,i,f,c,o,v){for(;;){var l=MZ(0,n);if("number"==typeof l){var b=l-78|0;if(2>>0)k=ul===b?0:1;else{if(1===b){VZ(n),ZZ(n);continue}var k=0;}if(!k&&!f&&!c){var p=l0(function(e){var n=yr(r[9],e),a=e[24];if(78===MZ(0,e)){if(o&&a[2]?1:0)u=0;else{if(o)i=1;else if(a[1])var u=0,i=0;else i=1;if(i)var f=0,u=1;}if(!u){n0(e,78);f=[0,yr(t[7],e)];}}else f=0;return a0(e,9)||((7===MZ(0,e)?1:0)||(5===MZ(0,e)?1:0))&&VZ(e),[0,n,f]},n),h=p[2],d=h[2],m=h[1];return[1,[0,EK(a,p[1]),[0,i,d,m,o,v]]]}}s(n,v);var y=XZ(0,n),w=yr(r[2],n),g=yr(e[4],n),T=yr(r[9],n),_=gr(e[5],n,f,c),S=_[2],A=_[3],E=yr(e[6],g);_r(e[7],n,A,E,0,g);var x=0===S[0]?[0,S[1][1],0]:[0,S[1][1],1],I=x[1],C=x[2],N=[0,EK(y,I),[0,0,g,S,f,c,0,C,T,w]];if(0===o){switch(i[0]){case 0:var L=i[1][2][1];if("number"==typeof L)O=1;else if(0===L[0])if(sr(L[1],AV))var R=0,P=0,O=0;else var P=1,O=0;else O=1;if(O)var R=0,P=0;break;case 1:if(sr(i[1][2],EV))var R=0,P=0;else P=1;break;default:var R=0,P=0;}if(P)var U=0,R=1;}else R=0;if(!R)U=1;return[0,[0,EK(a,I),[0,U,i,N,o,u]]]}}function v(e,n){var a=gZ(1,e),i=XZ(0,a),f=Rr(n,u(a));n0(a,40);var c=_Z(1,a),s=a[7],o=YZ(0,c);if(0===s)l=0;else if(0===o)var v=0,l=1;else l=0;if(!l)v=[0,wr(t[13],0,c)];var b=yr(r[3],a),k=yr(d,a),p=k[1],h=k[4],m=k[3],y=k[2];return[0,EK(i,p[1]),[2,[0,v,p,y,b,m,h,f]]]}var l=function t(r){return t.fun(r)},b=function t(r,e){return t.fun(r,e)},k=function t(r,e){return t.fun(r,e)},p=function t(r,e,n,a,u){return t.fun(r,e,n,a,u)},h=function t(r,e){return t.fun(r,e)};a(l,function(r){var n=XZ(0,r);if(13===MZ(0,r)){n0(r,13);var a=yr(t[9],r);return[1,[0,EK(n,a[1]),[0,a]]]}var u=pm?pm[1]:0,f=YZ([0,u],r);if(f)var c=f,s=0;else{var o=MZ([0,u],r);if("number"==typeof o)v=1;else if(1>>0)if(ul<=S)var A=0,E=0;else switch(S+80|0){case 2:case 5:case 10:E=1;break;default:var A=0,E=0;}else if(10<(S-1|0)>>>0)E=1;else var A=0,E=0;if(E)var x=_r(p,r,n,y,0,0),A=1;}else A=0;if(!A)x=wr(k,r,n);var I=x,T=1;}else{var C=MZ(0,r);if("number"==typeof C){var N=C+Ha|0;if(12>>0)if(ul<=N)var L=0,R=0;else switch(N+80|0){case 2:case 5:case 10:R=1;break;default:var L=0,R=0;}else if(10<(N-1|0)>>>0)R=1;else var L=0,R=0;if(R)var P=_r(p,r,n,y,0,0),L=1;}else L=0;if(!L)P=wr(b,r,n);var I=P,T=1;}if(T)var O=I,g=1;}else g=0;}else g=0;else g=0;if(!g)O=_r(p,r,n,m[2],h,d);return[0,O]}),a(b,function(t,r){var e=f(t,1),n=e[2],a=n[1],u=[0,e[1],[1,[0,a,n[2]]],0,0];return[0,EK(r,a),u]}),a(k,function(t,r){var e=f(t,0),n=e[2],a=n[1],u=[0,e[1],[2,[0,a,n[2]]],0,0];return[0,EK(r,a),u]}),a(p,function(n,a,u,i,f){var c=l0(function(n){var a=MZ(0,n);if("number"==typeof a){if(92===a)v=1;else if(11<=a)v=0;else switch(a){case 5:v=1;break;case 2:case 10:switch(u[0]){case 0:var c=u[1],s=[0,c[1],[13,c[2]]];break;case 1:var o=u[1],s=[0,o[1],[10,o]];break;default:s=u[1];}return[0,s,1,0];default:var v=0;}if(v){var l=XZ(0,n),b=yr(r[2],n),k=yr(e[4],n),p=yr(r[9],n),h=gr(e[5],n,i,f),d=h[2],m=h[3],y=yr(e[6],k);_r(e[7],n,m,y,0,k);var w=0===d[0]?[0,d[1][1],0]:[0,d[1][1],1],g=w[2];return[0,[0,EK(l,w[1]),[8,[0,0,k,d,i,f,0,g,p,b]]],0,1]}}return n0(n,80),[0,yr(t[9],n),0,0]},n),s=c[2],o=[0,u,[0,s[1]],s[3],s[2]];return[0,EK(a,c[1]),o]}),a(h,function(t,r){var e=MZ(0,t);if("number"==typeof e&&(2===e?1:rv===e?1:0))return Dr(r);var n=yr(l,t);return 2!==MZ(0,t)&&n0(t,10),wr(h,t,[0,n,r])});var d=function t(r){return t.fun(r)},m=function t(r,e){return t.fun(r,e)},y=function t(r){return t.fun(r)},w=function t(r){return t.fun(r)};return a(d,function(t){if(41===MZ(0,t)){n0(t,41);var e=[0,yr(n[6],[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],0,t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25]])],a=yr(r[4],t);}else var e=0,a=0;if(52===MZ(0,t)){1-dZ(t)&&WZ(t,11),n0(t,52);u=wr(m,t,0);}else var u=0;return[0,yr(y,t),e,a,u]}),a(m,function(e,n){var a=wr(t[13],0,e),u=yr(r[4],e),i=[0,[0,u?EK(a[1],u[1][1]):a[1],[0,a,u]],n],f=MZ(0,e);return"number"==typeof f&&10===f?(n0(e,10),wr(m,e,i)):Dr(i)}),a(y,function(t){var r=XZ(0,t);n0(t,1);for(i=0;;){var e=MZ(0,t);if("number"==typeof e){var n=e-3|0;if(tv>>0){if(!(106<(n+1|0)>>>0)){var a=Dr(i),u=XZ(0,t);return n0(t,2),[0,EK(r,u),[0,a]]}}else if(6===n){n0(t,9);continue}}var i=[0,yr(w,t),i];}}),a(w,function(t){var r=XZ(0,t),n=u(t),a=5!==MZ(xV,t)?1:0;if(a)var c=92!==MZ(IV,t)?1:0,v=c?a0(t,42):c;else v=a;var l=5!==MZ(CV,t)?1:0;if(l)var b=80!==MZ(NV,t)?1:0,k=b?yr(e[1],t):b;else k=l;var p=yr(e[2],t),h=gr(e[3],t,k,p);if(0===p)if(h)var d=yr(e[2],t),m=1;else m=0;else m=0;if(!m)d=p;var y=i(t);if(0===k&&0===d){var w=y[2];if(1===w[0]){var g=w[1][2];if(!sr(g,LV)){var T=MZ(0,t);if("number"==typeof T&&(78<=T?81<=T?92===T?1:0:79===T?0:1:5===T?1:9===T?1:0))return o(t,r,n,w,k,d,v,h);s(t,h);var _=f(t,1),S=_[2],A=[0,2,_[1],S,v,n];return[0,[0,EK(r,S[1]),A]]}if(!sr(g,RV)){var E=MZ(0,t);if("number"==typeof E&&(78<=E?81<=E?92===E?1:0:79===E?0:1:5===E?1:9===E?1:0))return o(t,r,n,w,k,d,v,h);s(t,h);var x=f(t,0),I=x[2],C=[0,3,x[1],I,v,n];return[0,[0,EK(r,I[1]),C]]}}}return o(t,r,n,y[2],k,d,v,h)}),[0,i,c,v,function(e){var n=XZ(0,e),a=u(e);n0(e,40);var i=MZ(0,e);if("number"==typeof i){var f=i-1|0;if(40>>0)if(91===f)s=1;else var c=0,s=0;else if(38<(f-1|0)>>>0)s=1;else var c=0,s=0;if(s)var o=0,v=0,c=1;}else c=0;if(!c)var l=[0,wr(t[13],0,e)],o=l,v=yr(r[3],e);var b=yr(d,e),k=b[1],p=b[4],h=b[3],m=b[2];return[0,EK(n,k[1]),[5,[0,o,k,m,v,h,p,a]]]},u]}}}}(h0),d0),m0),y0),g0=yr(yr(yr(function(t){return function(r){return function(e){return function(n){function u(t,r){for(n=r;;){var e=n[2];switch(e[0]){case 0:return Xr(function(t,r){return u(t,0===r[0]?r[1][2][2]:r[1][2][1])},t,e[1][1]);case 1:return Xr(function(t,r){if(r){var e=r[1];return u(t,0===e[0]?e[1]:e[1][2][1])}return t},t,e[1][1]);case 2:var n=e[1][1];continue;case 3:return[0,e[1][1],t];default:return xr(A$)}}}function i(r,e,n){if(n){var a=n[1];if(0===a[0]){var u=a[1],i=u[2][1],f=u[1];return!i||i[1][2][2]||i[2]?mZ(r,[0,f,e]):0}var c=a[1],s=c[1],o=1-yr(t[24],[0,s,c[2]]);return o?mZ(r,[0,s,e]):o}return WZ(r,e)}function f(t,e){for(u=e;;){var n=[0,yr(r[5],t),u],a=MZ(0,t);if("number"!=typeof a||10!==a)return Dr(n);n0(t,10);var u=n;}}function c(t){u0(t,YV);var r=MZ(0,t);if("number"!=typeof r&&1===r[0]){var e=r[1],n=e[4],a=e[3],u=e[2],i=e[1];return n&&KZ(t,32),n0(t,[1,[0,i,u,a,n]]),[0,i,[0,[0,u],a]]}var f=FZ(0,t),c=[0,XZ(0,t),[0,[0,f],f]];return VZ(t),c}function s(r,e){var n=XZ(0,r),a=MZ(0,r);if("number"==typeof a&&Tb===a){n0(r,Tb),u0(r,qV);var u=wr(t[13],0,r);return[0,[2,[0,EK(n,u[1]),u]],0]}n0(r,1);for(var i=0,f=0;;){var c=i?i[1]:1,s=MZ(0,r);if("number"==typeof s&&(2===s?1:rv===s?1:0)){var o=Dr(f);return n0(r,2),o}1-c&&mZ(r,[0,XZ(0,r),66]);var v=yr(t[14],r),l=v[2],b=v[1],k=b[2];if(fr(k,UV))var p=1,h=DV;else if(fr(k,MV))var p=1,h=FV;else var p=0,h=0;if(fr(FZ(0,r),XV)){var d=wr(t[13],0,r);if(p)if(YZ(0,r))y=0;else{e&&mZ(r,[0,b[1],65]);var m=[0,[0,h,0,d]],y=1;}else y=0;if(!y)m=[0,[0,0,[0,wr(t[13],0,r)],b]];_=m;}else{if(p)if(YZ(0,r)){e&&mZ(r,[0,b[1],65]);var w=yr(t[14],r),g=w[2],T=w[1];g&&mZ(r,g[1]);var _=[0,[0,h,fr(FZ(0,r),BV)?(u0(r,jV),[0,wr(t[13],0,r)]):0,T]],S=1;}else S=0;else S=0;if(!S){l&&mZ(r,l[1]);_=[0,[0,0,0,b]];}}var i=[0,a0(r,10)],f=[0,_,f];}}var o=function t(r){return t.fun(r)},v=function t(r){return t.fun(r)},l=function t(r){return t.fun(r)},b=function t(r){return t.fun(r)},k=function t(r){return t.fun(r)},p=function t(r){return t.fun(r)},h=function t(r){return t.fun(r)},d=function t(r){return t.fun(r)},m=function t(r){return t.fun(r)},y=function t(r){return t.fun(r)},w=function t(r){return t.fun(r)},g=function t(r){return t.fun(r)},T=function t(r){return t.fun(r)},_=function t(r){return t.fun(r)},S=function t(r){return t.fun(r)},A=function t(r){return t.fun(r)},E=function t(r){return t.fun(r)},x=function t(r){return t.fun(r)},I=function t(r){return t.fun(r)},C=function t(r){return t.fun(r)},N=function t(r){return t.fun(r)},L=function t(r){return t.fun(r)},R=function t(r,e){return t.fun(r,e)},P=function t(r,e){return t.fun(r,e)},O=function t(r,e){return t.fun(r,e)},U=function t(r,e){return t.fun(r,e)},D=function t(r,e){return t.fun(r,e)},M=function t(r,e){return t.fun(r,e)},F=function t(r,e){return t.fun(r,e)},X=function t(r,e){return t.fun(r,e)},B=function t(r,e){return t.fun(r,e)},j=function t(r){return t.fun(r)},G=function t(r){return t.fun(r)},q=function t(r,e,n){return t.fun(r,e,n)},Y=function t(r,e){return t.fun(r,e)},J=function t(r,e){return t.fun(r,e)},H=function t(r){return t.fun(r)};return a(o,function(t){var r=XZ(0,t);return n0(t,9),[0,r,1]}),a(v,function(r){var e=XZ(0,r);if(n0(r,32),9===MZ(0,r))i=0;else if(GZ(r))i=0;else{var n=wr(t[13],0,r),a=n[2];1-wr(k0[3],a,r[3])&&WZ(r,[4,a]);var u=[0,n],i=1;}if(!i)u=0;var f=qZ(0,r),c=f?f[1]:u?u[1][1]:e,s=EK(e,c),o=0===u?1:0;if(o)var v=r[8],l=v||r[9],b=1-l;else b=o;return b&&mZ(r,[0,s,23]),e0(r),[0,s,[1,[0,u]]]}),a(l,function(r){var e=XZ(0,r);if(n0(r,35),9===MZ(0,r))i=0;else if(GZ(r))i=0;else{var n=wr(t[13],0,r),a=n[2];1-wr(k0[3],a,r[3])&&WZ(r,[4,a]);var u=[0,n],i=1;}if(!i)u=0;var f=qZ(0,r),c=f?f[1]:u?u[1][1]:e,s=EK(e,c);return 1-r[8]&&mZ(r,[0,s,22]),e0(r),[0,s,[3,[0,u]]]}),a(b,function(t){var r=XZ(0,t);n0(t,59);var e=qZ(0,t),n=e?e[1]:r;return e0(t),[0,EK(r,n),0]}),a(k,function(r){var e=XZ(0,r);n0(r,37);var n=SZ(1,r),a=yr(t[2],n);n0(r,25),n0(r,5);var u=yr(t[7],r),i=XZ(0,r);n0(r,6);var f=qZ(0,r),c=f?f[1]:i;return 9===MZ(0,r)&&e0(r),[0,EK(e,c),[10,[0,a,u]]]}),a(p,function(r){var n=XZ(0,r);n0(r,39);var a=r[17],u=a?a0(r,64):a;n0(r,5);var f=MZ(0,r);if("number"==typeof f)if(24<=f)if(29<=f)h=0;else{switch(f+-24|0){case 0:var c=AZ(1,r),s=yr(e[13],c),o=[0,[0,[0,s[1]]],s[2]],v=1;break;case 3:var l=AZ(1,r),b=yr(e[12],l),o=[0,[0,[0,b[1]]],b[2]],v=1;break;case 4:var k=AZ(1,r),p=yr(e[11],k),o=[0,[0,[0,p[1]]],p[2]],v=1;break;default:var h=0,v=0;}if(v)var d=o[1],m=o[2],h=1;}else if(9===f)var d=0,m=0,h=1;else h=0;else h=0;if(!h)var y=_Z(1,AZ(1,r)),d=[0,[1,yr(t[7],y)]],m=0;var w=MZ(0,r);if(62!==w&&!u){if("number"==typeof w&&17===w){if(i(r,17,d),d){var g=d[1],T=0===g[0]?[0,g[1]]:[1,g[1]];n0(r,17);var _=yr(t[7],r);n0(r,6);var S=SZ(1,r),A=yr(t[2],S);return[0,EK(n,A[1]),[15,[0,T,_,A,0]]]}throw[0,im,S$]}Fr(function(t){return mZ(r,t)},m),n0(r,9);var E=MZ(0,r);if("number"==typeof E)if(9===E)var x=0,I=1;else I=0;else I=0;if(!I)x=[0,yr(t[7],r)];n0(r,9);var C=MZ(0,r);if("number"==typeof C)if(6===C)var N=0,L=1;else L=0;else L=0;if(!L)N=[0,yr(t[7],r)];n0(r,6);var R=SZ(1,r),P=yr(t[2],R);return[0,EK(n,P[1]),[14,[0,d,x,N,P]]]}if(i(r,18,d),d){var O=d[1],U=0===O[0]?[0,O[1]]:[1,O[1]];n0(r,62);var D=yr(t[9],r);n0(r,6);var M=SZ(1,r),F=yr(t[2],M);return[0,EK(n,F[1]),[16,[0,U,D,F,u]]]}throw[0,im,_$]}),a(h,function(r){var n=XZ(0,r);n0(r,16),n0(r,5);var a=yr(t[7],r);n0(r,6),MZ(0,r);var u=JZ(0,r)?(KZ(r,46),yr(e[14],r)):yr(t[2],r),i=43===MZ(0,r)?(n0(r,43),[0,yr(t[2],r)]):0,f=i?i[1][1]:u[1];return[0,EK(n,f),[18,[0,a,u,i]]]}),a(d,function(r){1-r[10]&&WZ(r,24);var e=XZ(0,r);if(n0(r,19),9===MZ(0,r))a=0;else if(GZ(r))a=0;else var n=[0,yr(t[7],r)],a=1;if(!a)n=0;var u=qZ(0,r),i=u?u[1]:n?n[1][1]:e;return e0(r),[0,EK(e,i),[22,[0,n]]]}),a(m,function(r){var e=XZ(0,r);n0(r,20),n0(r,5);var n=yr(t[7],r);n0(r,6),n0(r,1);for(y=T$;;){var a=y[2],u=y[1],i=MZ(0,r);if("number"==typeof i&&(2===i?1:rv===i?1:0)){var f=Dr(a),c=XZ(0,r);return n0(r,2),[0,EK(e,c),[23,[0,n,f]]]}var s=XZ(0,r),o=MZ(0,r);if("number"==typeof o)if(36===o){u&&WZ(r,20),n0(r,36);var v=0,l=1;}else l=0;else l=0;if(!l){n0(r,33);v=[0,yr(t[7],r)];}var b=u||(0===v?1:0),k=XZ(0,r);n0(r,80);var p=function(t){if("number"==typeof t){var r=t-2|0;if(31>>0?34===r?1:0:29<(r-1|0)>>>0?1:0)return 1}return 0},h=wr(t[4],p,[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],1,r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]),d=Dr(h),m=d?d[1][1]:k,y=[0,b,[0,[0,EK(s,m),[0,v,h]],a]];}}),a(y,function(r){var e=XZ(0,r);n0(r,22),jZ(r)&&mZ(r,[0,e,12]);var n=yr(t[7],r),a=qZ(0,r),u=a?a[1]:n[1];return e0(r),[0,EK(e,u),[24,[0,n]]]}),a(w,function(r){var e=XZ(0,r);n0(r,23);var n=yr(t[16],r),a=MZ(0,r);if("number"==typeof a)if(34===a){var u=XZ(0,r);n0(r,34),n0(r,5);var i=wr(t[13],g$,r),f=[0,i[1],[3,[0,i,0,0]]];n0(r,6);var c=yr(t[16],r),s=[0,[0,EK(u,c[1]),[0,f,c]]],o=1;}else o=0;else o=0;if(!o)s=0;var v=MZ(0,r);if("number"==typeof v)if(38===v){n0(r,38);var l=[0,yr(t[16],r)],b=1;}else b=0;else b=0;if(!b)l=0;var k=l?l[1][1]:s?s[1][1]:(mZ(r,[0,n[1],21]),n[1]);return[0,EK(e,k),[25,[0,n,s,l]]]}),a(g,function(t){var r=yr(e[9],t),n=r[1],a=n[1],u=r[2],i=n[2],f=qZ(0,t),c=f?f[1]:a;return e0(t),Fr(function(r){return mZ(t,r)},u),[0,EK(a,c),i]}),a(T,function(t){var r=XZ(0,t);n0(t,28);var n=_Z(1,t),a=yr(e[10],n),u=a[3],i=a[1],f=[27,[0,a[2],1]],c=qZ(0,t),s=c?c[1]:i;return e0(t),Fr(function(r){return mZ(t,r)},u),[0,EK(r,s),f]}),a(_,function(r){var e=XZ(0,r);n0(r,25),n0(r,5);var n=yr(t[7],r);n0(r,6);var a=SZ(1,r),u=yr(t[2],a);return[0,EK(e,u[1]),[28,[0,n,u]]]}),a(S,function(r){var e=XZ(0,r);n0(r,26),n0(r,5);var n=yr(t[7],r);n0(r,6);var a=yr(t[2],r),u=EK(e,a[1]);return QZ(r,[0,u,26]),[0,u,[29,[0,n,a]]]}),a(A,function(r){var e=yr(t[16],r);return[0,e[1],[0,e[2]]]}),a(E,function(r){var e=yr(t[7],r),n=MZ(0,r),a=e[2],u=e[1];if("number"!=typeof a&&10===a[0]&&"number"==typeof n&&80===n){var i=a[1],f=i[2];n0(r,80),wr(k0[3],f,r[3])&&mZ(r,[0,u,[5,w$,f]]);var c=r[25],s=r[24],o=r[23],v=r[22],l=r[21],b=r[20],k=r[19],p=r[18],h=r[17],d=r[16],m=r[15],y=r[14],w=r[13],g=r[12],T=r[11],_=r[10],S=r[9],A=r[8],E=r[7],x=r[6],I=r[5],C=r[4],N=wr(lZ[4],f,r[3]),L=yr(t[2],[0,r[1],r[2],N,C,I,x,E,A,S,_,T,g,w,y,m,d,h,p,k,b,l,v,o,s,c]);return[0,EK(u,L[1]),[21,[0,i,L]]]}var R=qZ(0,r),P=R?R[1]:e[1];return e0(r),[0,EK(e[1],P),[13,[0,e,0]]]}),a(x,function(r){var e=l0(t[7],r),n=e[2],a=e[1],u=qZ(0,r),i=u?EK(a,u[1]):a;if(e0(r),r[18]){var f=n[2];if("number"==typeof f)l=0;else if(13===f[0]){var c=f[1],s=c[1];if("number"==typeof s)b=1;else if(0===s[0])var o=c[2],v=[0,Vr(o,1,wt(o)-2|0)],l=1,b=0;else b=1;if(b)l=0;}else l=0;if(!l)v=0;k=v;}else var k=0;return[0,i,[13,[0,n,k]]]}),a(I,function(e){var n=XZ(0,e);1-dZ(e)&&WZ(e,6),n0(e,61),t0(e,1);var a=wr(t[13],0,e),u=yr(r[3],e);n0(e,78);var i=yr(r[1],e),f=qZ(0,e),c=f?f[1]:i[1];return e0(e),r0(e),[0,EK(n,c),[0,a,u,i]]}),a(C,function(r){if(YZ(y$,r)){var e=yr(I,r);return[0,e[1],[26,e[2]]]}return yr(t[2],r)}),a(N,function(e){var n=XZ(0,e);1-dZ(e)&&WZ(e,11),n0(e,53);var a=wr(t[13],0,e),u=yr(r[3],e);if(41===MZ(0,e)){n0(e,41);for(c=0;;){var i=[0,yr(r[5],e),c],f=MZ(0,e);if("number"!=typeof f||10!==f){s=Dr(i);break}n0(e,10);var c=i;}}else var s=0;var o=wr(r[6],1,e);return[0,EK(n,o[1]),[0,a,u,o,s,0]]}),a(L,function(t){if(YZ(m$,t)){var r=yr(N,t);return[0,r[1],[20,r[2]]]}return yr(x,t)}),a(R,function(e,n){var a=gZ(1,e);n0(a,40);var u=wr(t[13],0,a),i=yr(r[3],a),c=41===MZ(0,a)?(n0(a,41),f(a,0)):0,s=fr(FZ(0,a),h$)?(u0(a,d$),f(a,0)):0,o=wr(r[6],1,a);return[0,EK(n,o[1]),[0,u,i,o,c,s]]}),a(P,function(t,r){var e=wr(R,t,r);return[0,e[1],[4,e[2]]]}),a(O,function(e,n){n0(e,15);var a=wr(t[13],0,e),u=XZ(0,e),i=yr(r[2],e),f=yr(r[7],e);n0(e,80);var c=yr(r[1],e),s=c[1],o=[0,EK(u,s),[1,[0,f,c,i]]],v=[0,o[1],o],l=a[2],b=[0,EK(a[1],s),l],k=yr(r[10],e),p=qZ(0,e),h=p?p[1]:k?k[1][1]:s;return e0(e),[0,EK(n,h),[0,b,v,k]]}),a(U,function(t,r){var e=wr(O,t,r);return[0,e[1],[6,e[2]]]}),a(D,function(r,e){n0(r,24);var n=gr(t[15],r,p$,28),a=n[2],u=a[2],i=a[1],f=n[1],c=qZ(0,r),s=c?c[1]:f,o=EK(e,s);return e0(r),[0,o,[0,i,u]]}),a(M,function(t,r){var e=wr(D,t,r);return[0,e[1],[9,e[2]]]}),a(F,function(r,e){var n=MZ(0,r);if("number"==typeof n)o=0;else if(1===n[0]){var a=n[1],u=a[4],i=a[3],f=a[2],c=a[1];u&&KZ(r,32),n0(r,[1,[0,c,f,i,u]]);var s=[1,[0,c,[0,[0,f],i]]],o=1;}else o=0;if(!o)s=[0,wr(t[13],0,r)];var v=l0(function(t){n0(t,1);for(var r=0,e=0;;){var n=MZ(0,t);if("number"==typeof n&&(2===n?1:rv===n?1:0)){var a=[0,r,Dr(e)];return n0(t,2),a}var u=wr(B,k$,t),i=u[2],f=u[1];if(r){if(0===r[1][0]){if("number"==typeof i)o=1;else switch(i[0]){case 5:var c=i[1][2];(c&&3>>0)X=0;else switch(x){case 22:n0(i,36),yZ(i,[0,EK(f,XZ(0,i)),n$]);var I=MZ(0,i);if("number"==typeof I)if(15===I)var N=yr(e[14],i),R=N[1],P=[0,N],O=1;else O=0;else O=0;if(!O)if(HZ(0,i))var U=wr(n[3],i,a),R=U[1],P=[0,U];else{var D=yr(t[9],i),M=qZ(0,i),F=M?M[1]:D[1];e0(i);var R=F,P=[1,D];}return[0,EK(f,R),[11,[0,P,1]]];case 0:case 1:case 10:case 13:case 14:case 26:X=1;break;default:var X=0;}}if(X){var B=wr(t[3],[0,a],i),Y=B[2],J=B[1];if("number"==typeof Y)z=0;else switch(Y[0]){case 2:var H=Y[1][1];if(H)var W=H[1],z=2;else{mZ(i,[0,J,55]);var V=0,z=1;}break;case 17:var $=Y[1][1];if($)var W=$[1],z=2;else{mZ(i,[0,J,56]);var V=0,z=1;}break;case 27:var V=Xr(function(t,r){return Xr(u,t,[0,r[2][1],0])},0,Y[1][1]),z=1;break;default:z=0;}switch(z){case 0:var V=xr(u$),K=0;break;case 1:K=0;break;default:var Q=[0,[0,J,yr(G,W)],0],K=1;}if(!K)Q=V;return Fr(function(t){return yZ(i,t)},Q),[0,EK(f,B[1]),[12,[0,[0,B],0,0,1]]]}}var Z=MZ(0,i);if("number"==typeof Z)if(61===Z){ZZ(i);var tt=0,rt=1;}else rt=0;else rt=0;if(!rt)tt=1;n0(i,1);var et=gr(q,i,0,0),nt=et[2],at=[0,[0,et[1]]],ut=XZ(0,i);n0(i,2);var it=fr(FZ(0,i),a$)?[0,yr(j,i)]:(Fr(function(t){return mZ(i,t)},nt),0),ft=qZ(0,i),ct=ft?ft[1]:it?it[1][1]:ut;return e0(i),[0,EK(f,ct),[12,[0,0,at,it,tt]]]}),a(J,function(e,n){var a=e?e[1]:0;1-dZ(n)&&WZ(n,8);var u=XZ(0,n);n0(n,60);var i=xZ(1,gZ(1,n));n0(i,49);var f=MZ(0,i);if("number"==typeof f)if(54<=f){if(61===f){if(a){var c=yr(I,i),s=c[1],o=c[2];return[0,EK(u,s),[5,[0,0,[0,[4,[0,s,o]]],0,0]]]}}else if(Tb===f){var v=XZ(0,i);n0(i,Tb);var l=i[24][4],b=fr(FZ(0,i),JV)?(u0(i,HV),l?[0,wr(t[13],0,i)]:(WZ(i,8),0)):0,k=yr(j,i),p=qZ(0,i),h=[0,[1,v,b]],d=p?p[1]:k[1];return e0(i),[0,EK(u,d),[5,[0,0,0,h,[0,k]]]]}}else if(41<=f){if(53<=f&&a){var m=yr(N,i),y=m[1],w=m[2];return[0,EK(u,y),[5,[0,0,[0,[5,[0,y,w]]],0,0]]]}}else if(15<=f)switch(f-15|0){case 21:n0(i,36);var g=MZ(0,i);if("number"==typeof g)if(15===g)var T=wr(O,i,u),_=T[1],S=[0,[1,T]],A=1;else if(40===g)var E=wr(R,i,u),_=E[1],S=[0,[2,E]],A=1;else A=0;else A=0;if(!A){var x=yr(r[1],i),C=qZ(0,i),L=C?C[1]:x[1];e0(i);var _=L,S=[0,[3,x]];}return[0,EK(u,_),[5,[0,1,S,0,0]]];case 0:case 9:case 12:case 13:case 25:var P=MZ(0,i);if("number"==typeof P){if(25<=P)if(29<=P)if(40===P)var U=wr(R,i,u),M=U[1],F=[0,[2,U]],X=2;else X=0;else X=27<=P?1:0;else if(15===P)var B=wr(O,i,u),M=B[1],F=[0,[1,B]],X=2;else X=24<=P?1:0;switch(X){case 0:Y=0;break;case 1:"number"==typeof P&&(27===P?WZ(i,51):28===P&&WZ(i,50));var G=wr(D,i,u),M=G[1],F=[0,[0,G]],Y=1;break;default:Y=1;}if(Y)return[0,EK(u,M),[5,[0,0,F,0,0]]]}throw[0,im,zV]}var J=MZ(0,i);"number"==typeof J&&(53===J?WZ(i,53):61===J&&WZ(i,52));n0(i,1);var H=gr(q,i,0,0),W=H[2],z=[0,[0,H[1]]],V=XZ(0,i);n0(i,2);var $=fr(FZ(0,i),WV)?[0,yr(j,i)]:(Fr(function(t){return mZ(i,t)},W),0),K=qZ(0,i),Q=K?K[1]:$?$[1][1]:V;return e0(i),[0,EK(u,Q),[5,[0,0,0,z,$]]]}),a(H,function(r){var e=gZ(1,r),n=XZ(0,e);n0(e,50);var a=MZ(0,e);if("number"==typeof a)if(46===a){1-dZ(e)&&WZ(e,9),n0(e,46);var u=1,i=0,f=1;}else if(61===a){1-dZ(e)&&WZ(e,9);var u=0,i=[0,wr(t[13],0,e)],f=1;}else f=0;else f=0;if(!f)var u=2,i=0;var o=2!==u?1:0,v=MZ(0,e),l=YZ(0,e);if("number"==typeof v)g=10===v?1:0;else if(1===v[0]){var b=v[1],k=b[4],p=b[3],h=b[2],d=b[1];if(2===u){k&&KZ(e,32),n0(e,[1,[0,d,h,p,k]]);var m=qZ(0,e),y=[0,d,[0,[0,h],p]],w=m?m[1]:d;return e0(e),[0,EK(n,w),[19,[0,u,y,0]]]}g=0;}else var g=0;if(!g&&0===l){var T=s(e,o),_=c(e),S=qZ(0,e),A=S?S[1]:_[1];return e0(e),[0,EK(n,A),[19,[0,u,_,T]]]}var E=MZ(0,e),x=FZ(0,e);if(i)if("number"==typeof E){var I=i[1];if(10===E)N=1;else if(0===E)if(sr(x,GV))var C=0,N=0;else N=1;else var C=0,N=0;if(N)var L=2,R=[1,I],C=1;}else C=0;else C=0;if(!C)var L=u,R=[1,wr(t[13],0,e)];var P=MZ(0,e);if("number"==typeof P)if(10===P){n0(e,10);var O=s(e,o),U=1;}else U=0;else U=0;if(!U)O=0;var D=c(e),M=qZ(0,e),F=M?M[1]:D[1];return e0(e),[0,EK(n,F),[19,[0,L,D,[0,R,O]]]]}),[0,p,h,T,w,_,S,A,v,l,b,B,J,k,o,Y,x,H,L,E,d,m,y,C,g]}}}}(h0),d0),m0),w0),T0=yr(function(t){return function(r){function e(r,e){return[0,e[1],[0,[0,Mr(function(e){if(0===e[0]){var n=e[1],a=n[2],u=a[2],i=a[1],f=a[4],c=n[1];switch(i[0]){case 0:s=[0,i[1]];break;case 1:s=[1,i[1]];break;default:var s=[2,i[1]];}if(0===u[0])b=wr(t[20],r,u[1]);else{var o=u[1],v=o[1],l=o[2];mZ(r,[0,v,2]);var b=[0,v,[4,[0,v,[8,l]]]];}return[0,[0,c,[0,s,b,f]]]}var k=e[1];return[1,[0,k[1],[0,wr(t[20],r,k[2][1])]]]},e[2][1]),0]]]}function n(r,e){return[0,e[1],[1,[0,Mr(function(e){if(e){var n=e[1];if(0===n[0]){var a=n[1];return[0,[0,wr(t[20],r,[0,a[1],a[2]])]]}var u=n[1];return[0,[1,[0,u[1],[0,wr(t[20],r,u[2][1])]]]]}return 0},e[2][1]),0]]]}function a(t,r){var a=r[2],u=r[1];if("number"!=typeof a)switch(a[0]){case 0:return n(t,[0,u,a[1]]);case 2:var i=a[1];if(0===i[1])return[0,u,[2,[0,i[2],i[3]]]];break;case 10:return[0,u,[3,[0,a[1],0,0]]];case 18:return e(t,[0,u,a[1]])}return[0,u,[4,[0,u,a]]]}function u(e){return function(n){var a=XZ(0,n);n0(n,1);for(C=0;;){var u=MZ(0,n);if("number"==typeof u&&(2===u?1:rv===u?1:0)){var i=Dr(C),c=XZ(0,n);if(n0(n,2),80===MZ(0,n))var s=yr(r[8],n),o=s[1],v=[0,s];else var o=c,v=0;return[0,EK(a,o),[0,[0,i,v]]]}var l=XZ(0,n);if(a0(n,13))var b=f(n,e),k=[0,[1,[0,EK(l,b[1]),[0,b]]]];else{var p=yr(t[21],n)[2];switch(p[0]){case 0:h=[0,p[1]];break;case 1:h=[1,p[1]];break;default:var h=[2,p[1]];}var d=MZ(0,n);if("number"==typeof d)if(80===d){n0(n,80);var m=[0,[0,f(n,e),0]],y=1;}else y=0;else y=0;if(!y)if(1===h[0])var w=h[1],m=[0,[0,[0,w[1],[3,[0,w,0,0]]],1]];else{VZ(n);m=0;}if(m){var g=m[1],T=g[1],_=g[2],S=MZ(0,n);if("number"==typeof S)if(78===S){n0(n,78);var A=yr(t[9],n),E=[0,EK(T[1],A[1]),[2,[0,T,A]]],x=1;}else x=0;else x=0;if(!x)E=T;k=[0,[0,[0,EK(l,E[1]),[0,h,E,_]]]];}else k=0;}if(k){var I=k[1];2!==MZ(0,n)&&n0(n,10);var C=[0,I,C];}else;}}}function i(e){return function(n){var a=XZ(0,n);n0(n,7);for(s=0;;){var u=MZ(0,n);if("number"==typeof u){if(14<=u)o=rv===u?1:0;else if(8<=u)switch(u-8|0){case 0:o=1;break;case 2:n0(n,10);s=[0,0,s];continue;case 5:var i=XZ(0,n);n0(n,13);var c=f(n,e),s=[0,[0,[1,[0,EK(i,c[1]),[0,c]]]],s];continue;default:o=0;}else var o=0;if(o){var v=Dr(s),l=XZ(0,n);if(n0(n,8),80===MZ(0,n))var b=yr(r[8],n),k=b[1],p=[0,b];else var k=l,p=0;return[0,EK(a,k),[1,[0,v,p]]]}}var h=f(n,e),d=MZ(0,n);if("number"==typeof d)if(78===d){n0(n,78);var m=yr(t[9],n),y=[0,EK(h[1],m[1]),[2,[0,h,m]]],w=1;}else w=0;else w=0;if(!w)y=h;var g=[0,y];8!==MZ(0,n)&&n0(n,10);s=[0,[0,g],s];}}}function f(r,e){var n=MZ(0,r);if("number"==typeof n){if(1===n)return yr(u(e),r);if(7===n)return yr(i(e),r)}var a=gr(t[15],r,0,e);return[0,a[1],[3,a[2]]]}return[0,e,n,a,u,i,f]}}(h0),d0),_0=function t(r){return t.fun(r)},S0=function t(r,e,n){return t.fun(r,e,n)},A0=function t(r){return t.fun(r)},E0=function t(r,e){return t.fun(r,e)},x0=function t(r,e){return t.fun(r,e)},I0=function t(r,e){return t.fun(r,e)},C0=function t(r,e){return t.fun(r,e)},N0=function t(r,e){return t.fun(r,e)},L0=function t(r){return t.fun(r)},R0=function t(r){return t.fun(r)},P0=function t(r,e){return t.fun(r,e)},O0=function t(r,e,n){return t.fun(r,e,n)},U0=function t(r){return t.fun(r)},D0=function t(r){return t.fun(r)},M0=function(t){function r(r){t0(r,0);var e=XZ(0,r);n0(r,1),n0(r,13);var n=yr(t[9],r),a=XZ(0,r);return n0(r,2),r0(r),[0,EK(e,a),[0,n]]}function e(r){t0(r,0);var e=XZ(0,r);if(n0(r,1),2===MZ(0,r))var n=XZ(0,r)[2],a=[1,[0,e[1],e[3],n]];else a=[0,yr(t[7],r)];var u=XZ(0,r);return n0(r,2),r0(r),[0,EK(e,u),[0,a]]}function n(t){var r=XZ(0,t),e=FZ(0,t);return n0(t,Ka),[0,r,[0,e]]}function u(t){var r=n(t),e=MZ(0,t);if("number"==typeof e){if(11===e){n0(t,11);for(var a=n(t),u=[0,EK(r[1],a[1]),[0,[0,r],a]];;){var i=MZ(0,t);if("number"!=typeof i||11!==i)return[2,u];n0(t,11);var f=n(t),u=[0,EK(u[1],f[1]),[0,[1,u],f]];}}if(80===e){n0(t,80);var c=n(t);return[1,[0,EK(r[1],c[1]),[0,r,c]]]}}return[0,r]}function i(t){var r=XZ(0,t),a=n(t);if(80===MZ(0,t)){n0(t,80);var u=n(t),i=EK(a[1],u[1]),f=i,c=[1,[0,i,[0,a,u]]];}else var f=a[1],c=[0,a];if(78===MZ(0,t)){n0(t,78);var s=MZ(0,t);if("number"==typeof s)if(1===s){var o=e(t),v=o[2],l=o[1];0!==v[1][0]&&mZ(t,[0,l,41]);var b=[0,l,[0,[1,l,v]]],k=0;}else k=1;else if(4===s[0]){var p=s[1],h=p[1],d=p[3],m=p[2];n0(t,s);var b=[0,h,[0,[0,h,[0,[0,m],d]]]],k=0;}else k=1;if(k){WZ(t,42);var y=XZ(0,t),w=y,g=[0,[0,y,[0,SV,_V]]];}else var w=b[1],g=b[2];}else var w=f,g=0;return[0,EK(r,w),[0,c,g]]}function f(t,e){for(var n=0,a=u(t);;){var f=MZ(0,t);if("number"==typeof f){if(94<=f)c=99===f?1:rv===f?1:0;else{if(1===f){n=[0,[1,r(t)],n];continue}var c=93<=f?1:0;}if(c){var s=Dr(n),o=99===MZ(0,t)?1:0;o&&n0(t,99);var v=XZ(0,t);return n0(t,93),r0(t),[0,EK(e,v),[0,a,o,s]]}}n=[0,[0,i(t)],n];}}function c(t,r){n0(t,99);var e=u(t),n=XZ(0,t);n0(t,93);var a=t[20][1];if(a){var i=a[2];if(i)var f=i[2],c=1;else c=0;}else c=0;if(!c)f=xr(wW);t[20][1]=f;var s=hZ(t),o=bZ(t[21][1],s);return t[22][1]=o,[0,EK(r,n),[0,e]]}function s(t){switch(t[0]){case 0:return t[1][2][1];case 1:var r=t[1][2],e=r[1],n=Lr(gV,r[2][2][1]);return Lr(e[2][1],n);default:var a=t[1][2],u=a[1],i=a[2];return Lr(0===u[0]?u[1][2][1]:s([2,u[1]]),Lr(TV,i[2][1]))}}var o=function t(r){return t.fun(r)},v=function t(r,e){return t.fun(r,e)},l=function t(r){return t.fun(r)};return a(o,function(t){var r=MZ(0,t);if("number"==typeof r){if(1===r){var n=e(t);return[0,n[1],[1,n[2]]]}}else if(4===r[0]){var a=r[1],u=a[3],i=a[2],f=a[1];return n0(t,r),[0,f,[2,[0,i,u]]]}var c=yr(l,t);return[0,c[1],[0,c[2]]]}),a(v,function(t,r){var e=f(t,r);if(e[2][2])var n=0,a=0;else{t0(t,3);for(d=0;;){var u=MZ(0,t);if("number"==typeof u){if(92===u){t0(t,2);var i=XZ(0,t);n0(t,92);var l=MZ(0,t);if("number"==typeof l){if(99===l)k=1;else if(rv===l)k=1;else var b=0,k=0;if(k)var p=[0,c(t,i)],b=1;}else b=0;if(!b)p=[1,wr(v,t,i)];if(0!==p[0]){var h=p[1],d=[0,[0,h[1],[0,h[2]]],d];continue}var m=[0,p[1]],y=[0,Dr(d),m],w=1;}else if(rv===u){VZ(t);var y=[0,Dr(d),0],w=1;}else var g=0,w=0;if(w)var n=y[1],a=y[2],g=1;}else g=0;if(g)break;d=[0,yr(o,t),d];}}if(a){var T=a[1],_=T[2][1],S=T[1],A=s(e[2][1]);sr(s(_),A)&&WZ(t,[6,A]);E=S;}else var E=e[1];return[0,EK(e[1],E),[0,e,a,n]]}),a(l,function(t){var r=XZ(0,t);return t0(t,2),n0(t,92),wr(v,t,r)}),[0,r,e,n,u,i,f,c,o,v,l]}(h0),F0=w0[3],X0=y0[3],B0=y0[2],j0=y0[6],G0=w0[2],q0=w0[1],Y0=w0[4],J0=y0[1],H0=y0[5],W0=y0[4],z0=M0[10],V0=T0[6],$0=T0[3];a(_0,function(t){var r=wr(E0,t,function(t){return 0}),e=XZ(0,t);if(n0(t,rv),r)var n=Or(Dr(r))[1],a=EK(Or(r)[1],n);else a=e;return[0,a,r,Dr(t[2][1])]}),a(S0,function(t,r,e){for(var n=TZ(1,t),a=C$;;){var u=a[2],i=a[1],f=MZ(0,n);if("number"==typeof f)if(rv===f)var c=[0,n,i,u],s=1;else s=0;else s=0;if(!s)if(yr(r,f))c=[0,n,i,u];else{if("number"==typeof f)d=0;else if(1===f[0]){var o=yr(e,n),v=[0,o,u],l=o[2];if("number"!=typeof l&&13===l[0]){var b=l[1][2];if(b){var k=n[6],p=b[1],h=k||fr(p,I$),n=gZ(h,n),a=[0,[0,f,i],v];continue}}var c=[0,n,i,v],d=1;}else d=0;if(!d)c=[0,n,i,u];}var m=c[3],y=TZ(0,n);return Fr(function(t){if("number"!=typeof t&&1===t[0]){var r=t[1],e=r[4],n=r[1];return e?QZ(y,[0,n,32]):e}if("number"==typeof t){var a=t;if(59<=a)switch(a){case 59:u=cO;break;case 60:u=sO;break;case 61:u=oO;break;case 62:u=vO;break;case 63:u=lO;break;case 64:u=bO;break;case 65:u=kO;break;case 66:u=pO;break;case 67:u=hO;break;case 68:u=dO;break;case 69:u=mO;break;case 70:u=yO;break;case 71:u=wO;break;case 72:u=gO;break;case 73:u=TO;break;case 74:u=_O;break;case 75:u=SO;break;case 76:u=AO;break;case 77:u=EO;break;case 78:u=xO;break;case 79:u=IO;break;case 80:u=CO;break;case 81:u=NO;break;case 82:u=LO;break;case 83:u=RO;break;case 84:u=PO;break;case 85:u=OO;break;case 86:u=UO;break;case 87:u=DO;break;case 88:u=MO;break;case 89:u=FO;break;case 90:u=XO;break;case 91:u=BO;break;case 92:u=jO;break;case 93:u=GO;break;case 94:u=qO;break;case 95:u=YO;break;case 96:u=JO;break;case 97:u=HO;break;case 98:u=WO;break;case 99:u=zO;break;case 100:u=VO;break;case 101:u=$O;break;case 102:u=KO;break;case 103:u=QO;break;case 104:u=ZO;break;case 105:u=tU;break;case 106:u=rU;break;case 107:u=eU;break;case 108:u=nU;break;case 109:u=aU;break;case 110:u=uU;break;case 111:u=iU;break;case 112:u=fU;break;case 113:u=cU;break;case 114:u=sU;break;case 115:u=oU;break;default:u=vU;}else switch(a){case 0:u=nP;break;case 1:u=aP;break;case 2:u=uP;break;case 3:u=iP;break;case 4:u=fP;break;case 5:u=cP;break;case 6:u=sP;break;case 7:u=oP;break;case 8:u=vP;break;case 9:u=lP;break;case 10:u=bP;break;case 11:u=kP;break;case 12:u=pP;break;case 13:u=hP;break;case 14:u=dP;break;case 15:u=mP;break;case 16:u=yP;break;case 17:u=wP;break;case 18:u=gP;break;case 19:u=TP;break;case 20:u=_P;break;case 21:u=SP;break;case 22:u=AP;break;case 23:u=EP;break;case 24:u=xP;break;case 25:u=IP;break;case 26:u=CP;break;case 27:u=NP;break;case 28:u=LP;break;case 29:u=RP;break;case 30:u=PP;break;case 31:u=OP;break;case 32:u=UP;break;case 33:u=DP;break;case 34:u=MP;break;case 35:u=FP;break;case 36:u=XP;break;case 37:u=BP;break;case 38:u=jP;break;case 39:u=GP;break;case 40:u=qP;break;case 41:u=YP;break;case 42:u=JP;break;case 43:u=HP;break;case 44:u=WP;break;case 45:u=zP;break;case 46:u=VP;break;case 47:u=$P;break;case 48:u=KP;break;case 49:u=QP;break;case 50:u=ZP;break;case 51:u=tO;break;case 52:u=rO;break;case 53:u=eO;break;case 54:u=nO;break;case 55:u=aO;break;case 56:u=uO;break;case 57:u=iO;break;default:u=fO;}}else switch(t[0]){case 0:u=lU;break;case 1:u=bU;break;case 2:u=kU;break;case 3:u=pU;break;case 4:u=hU;break;default:var u=dU;}return xr(Lr(L$,Lr(u,N$)))},Dr(i)),[0,y,m]}}),a(A0,function(t){var r=yr(w0[5],t),e=MZ(0,t);if("number"==typeof e){var n=e-49|0;if(!(11>>0))switch(n){case 0:return wr(g0[15],t,r);case 1:yr($Z(t),r);var a=MZ(E$,t);if("number"==typeof a)if(5===a)var u=yr(g0[16],t),i=1;else i=0;else i=0;if(!i)u=yr(g0[17],t);return u;case 11:if(49===MZ(x$,t))return yr($Z(t),r),wr(g0[12],0,t)}}return wr(N0,[0,r],t)}),a(E0,function(t,r){var e=gr(S0,t,r,A0),n=e[2];return Xr(function(t,r){return[0,r,t]},wr(x0,r,e[1]),n)}),a(x0,function(t,r){for(n=0;;){var e=MZ(0,r);if("number"==typeof e&&rv===e)return Dr(n);if(yr(t,e))return Dr(n);var n=[0,yr(A0,r),n];}}),a(I0,function(t,r){var e=gr(S0,r,t,function(t){return wr(N0,0,t)}),n=e[1],a=e[2];return[0,Xr(function(t,r){return[0,r,t]},wr(C0,t,n),a),n[6]]}),a(C0,function(t,r){for(n=0;;){var e=MZ(0,r);if("number"==typeof e&&rv===e)return Dr(n);if(yr(t,e))return Dr(n);var n=[0,wr(N0,0,r),n];}}),a(N0,function(t,r){var e=t?t[1]:0;1-HZ(0,r)&&yr($Z(r),e);var n=MZ(0,r);if("number"==typeof n){if(27===n)return yr(g0[24],r);if(28===n)return yr(g0[3],r)}if(JZ(0,r))return yr(m0[14],r);if(HZ(0,r))return wr(F0,r,e);if("number"==typeof n){var a=n+-53|0;if(!(8>>0))switch(a){case 0:return yr(g0[18],r);case 7:return wr(g0[11],0,r);case 8:return yr(g0[23],r)}}return yr(L0,r)}),a(L0,function(t){var r=MZ(0,t);if("number"==typeof r){if(rv===r)return VZ(t),[0,XZ(0,t),1];if(!(60<=r))switch(r){case 1:return yr(g0[7],t);case 9:return yr(g0[14],t);case 16:return yr(g0[2],t);case 19:return yr(g0[20],t);case 20:return yr(g0[21],t);case 22:return yr(g0[22],t);case 23:return yr(g0[4],t);case 24:return yr(g0[24],t);case 25:return yr(g0[5],t);case 26:return yr(g0[6],t);case 32:return yr(g0[8],t);case 35:return yr(g0[9],t);case 37:return yr(g0[13],t);case 39:return yr(g0[1],t);case 59:return yr(g0[10],t)}}if(YZ(0,t))return yr(g0[19],t);if("number"==typeof r){if(80===r)e=1;else if(50<=r)e=0;else switch(r){case 43:return yr(g0[2],t);case 2:case 6:case 8:case 10:case 11:case 12:case 13:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:e=1;break;default:var e=0;}if(e)return VZ(t),ZZ(t),yr(L0,t)}return yr(g0[16],t)}),a(R0,function(t){var r=yr(y0[2],t),e=MZ(0,t);return"number"==typeof e&&10===e?wr(y0[8],t,[0,r,0]):r}),a(P0,function(t,r){var e=XZ(0,r),n=FZ(0,r),a=MZ(0,r);if("number"==typeof a)if(28===a){r[6]?KZ(r,40):r[13]&&WZ(r,[1,n]),ZZ(r);u=1;}else u=0;else var u=0;if(u||(UZ(n)?(KZ(r,40),ZZ(r)):("number"==typeof a?4<(a+-60|0)>>>0?0:(n0(r,a),1):0)||n0(r,0)),t){var i=t[1];DZ(n)&&QZ(r,[0,e,i]);}else;return[0,e,n]}),a(O0,function(t,r,e){var n=r?r[1]:0;return l0(function(t){var r=1-n,a=wr(P0,[0,e],t),u=r?79===MZ(0,t)?1:0:r;return u&&(1-dZ(t)&&WZ(t,7),n0(t,79)),[0,a,80===MZ(0,t)?[0,yr(d0[8],t)]:0,u]},t)}),a(U0,function(t){var r=XZ(0,t);n0(t,1);var e=wr(C0,function(t){return 2===t?1:0},t),n=XZ(0,t);return n0(t,2),[0,EK(r,n),[0,e]]}),a(D0,function(t){var r=XZ(0,t);n0(t,1);var e=wr(I0,function(t){return 2===t?1:0},t),n=e[2],a=e[1],u=XZ(0,t);return n0(t,2),[0,EK(r,u),[0,a],n]}),gr(uK,O$,h0,[0,_0,L0,N0,C0,I0,x0,R0,X0,B0,j0,G0,J0,P0,W0,O0,U0,D0,z0,V0,$0,q0,F0,Y0,H0]);var K0=[0,0],Q0=Lt,Z0=function(t,r,e){try{n=new RegExp(r.toString(),e.toString());}catch(r){K0[1]=[0,[0,t,13],K0[1]];var n=new RegExp(mb,e.toString());}return n},t1=function(t,r){function e(t,r){return Nt(re(Mr(t,r)))}function n(t,r){return r?yr(t,r[1]):wK}function a(t){return{line:t[1],column:t[2]}}function u(t){var r=t[1];if(r)var e=r[1],n="number"==typeof e?xf:e[1].toString(),u=n;else u=wK;var i=a(t[3]);return{source:u,start:a(t[2]),end:i}}function f(t,r,e){var n=[0,ZR,Nt([0,r[2][3],r[3][3]])],a=[0,tP,u(r)],f=[0,[0,rP,t.toString()],a,n],s=f.length-1;if(0===s)var o=e.length-1,v=0===o?[0]:c(e,0,o);else v=0==e.length-1?c(f,0,s):i(f,e);return Rt(v)}function s(t){return e(d,t)}function o(t){var r=t[2],n=t[1];switch(r[2]){case 0:a=TN;break;case 1:a=_N;break;default:var a=SN;}var u=[0,AN,a.toString()];return f(xN,n,[0,[0,EN,e(G,r[1])],u])}function v(t){var r=t[2],a=t[1],u=[0,bC,e(R,r[4])],i=[0,kC,Y(r[3])],c=[0,pC,n(K,r[2])];return f(dC,a,[0,[0,hC,g(r[1])],c,i,u])}function l(t){var r=t[2],e=t[1],a=[0,SI,H(r[3])],u=[0,AI,n(K,r[2])];return f(xI,e,[0,[0,EI,g(r[1])],u,a])}function b(t){var r=t[2],a=t[1],u=[0,pI,e(R,r[4])],i=[0,hI,Y(r[3])],c=[0,dI,n(K,r[2])];return f(yI,a,[0,[0,mI,g(r[1])],c,i,u])}function k(t){var r=t[2],e=t[1],a=EK(r[1][1],r[2][1]),u=[0,lI,n(lt,r[3])];return f(kI,e,[0,[0,bI,S(a,[0,r[1],[0,r[2]],0])],u])}function p(t){var r=t[2],e=r[2],n=t[1],a=e?e[1][1]:r[1][1],u=EK(r[1][1],a);return f(vI,n,[0,[0,oI,S(u,[0,r[1],r[2],0])]])}function h(t){var r=t[1];return f(sI,r,[0,[0,cI,s(t[2][1])]])}function d(t){var r=t[2],a=t[1];if("number"==typeof r)return 0===r?f(G_,a,[0]):f(q_,a,[0]);switch(r[0]){case 0:return h([0,a,r[1]]);case 1:return f(J_,a,[0,[0,Y_,n(g,r[1][1])]]);case 2:var u=r[1],i=[0,II,e(_,u[7])],c=[0,CI,e(C,u[6])],s=[0,NI,n(Z,u[5])],m=[0,LI,n(K,u[4])],y=[0,RI,n(_,u[3])],T=[0,PI,N(u[2])];return f(UI,a,[0,[0,OI,n(g,u[1])],T,y,m,s,c,i]);case 3:return f(W_,a,[0,[0,H_,n(g,r[1][1])]]);case 4:return b([0,a,r[1]]);case 5:var S=r[1],L=S[3];if(L){var R=L[1];if(0!==R[0]&&!R[2])return f(V_,a,[0,[0,z_,n(w,S[4])]])}var P=S[2];if(P){var U=P[1];switch(U[0]){case 0:D=p(U[1]);break;case 1:D=k(U[1]);break;case 2:D=b(U[1]);break;case 3:D=H(U[1]);break;case 4:D=l(U[1]);break;default:var D=v(U[1]);}M=D;}else var M=wK;var F=[0,$_,n(w,S[4])],X=[0,K_,I(S[3])];return f(tS,a,[0,[0,Z_,!!S[1]],[0,Q_,M],X,F]);case 6:return k([0,a,r[1]]);case 7:var B=r[1],j=B[1],G=0===j[0]?g(j[1]):w(j[1]),q=0===B[3][0]?"CommonJS":"ES";return f(aS,a,[0,[0,nS,G],[0,eS,h(B[2])],[0,rS,q]]);case 8:return f(iS,a,[0,[0,uS,$(r[1])]]);case 9:return p([0,a,r[1]]);case 10:var Y=r[1],J=[0,fS,_(Y[2])];return f(sS,a,[0,[0,cS,d(Y[1])],J]);case 11:var W=r[1],z=W[1],V=0===z[0]?d(z[1]):_(z[1]);return f(lS,a,[0,[0,vS,V],[0,oS,x(W[2]).toString()]]);case 12:var Q=r[1],tt=Q[2];if(tt){var rt=tt[1];if(0!==rt[0]&&!rt[2]){var et=[0,bS,x(Q[4]).toString()];return f(pS,a,[0,[0,kS,n(w,Q[3])],et])}}var nt=[0,hS,x(Q[4]).toString()],at=[0,dS,n(w,Q[3])],ut=[0,mS,I(Q[2])];return f(wS,a,[0,[0,yS,n(d,Q[1])],ut,at,nt]);case 13:var it=r[1],ft=[0,gS,n(Q0,it[2])];return f(_S,a,[0,[0,TS,_(it[1])],ft]);case 14:var ct=r[1],st=function(t){return 0===t[0]?o(t[1]):_(t[1])},ot=[0,SS,d(ct[4])],vt=[0,AS,n(_,ct[3])],bt=[0,ES,n(_,ct[2])];return f(IS,a,[0,[0,xS,n(st,ct[1])],bt,vt,ot]);case 15:var kt=r[1],pt=kt[1],ht=0===pt[0]?o(pt[1]):_(pt[1]),dt=[0,CS,!!kt[4]],mt=[0,NS,d(kt[3])];return f(PS,a,[0,[0,RS,ht],[0,LS,_(kt[2])],mt,dt]);case 16:var yt=r[1],wt=yt[4]?OS:US,gt=yt[1],Tt=0===gt[0]?o(gt[1]):_(gt[1]),_t=[0,DS,d(yt[3])];return f(wt,a,[0,[0,FS,Tt],[0,MS,_(yt[2])],_t]);case 17:var St=r[1],At=St[3],Et=0===At[0]?h(At[1]):_(At[1]),xt=[0,Ix,n(K,St[9])],It=[0,Cx,n($,St[8])],Ct=[0,Nx,!!St[7]],Lt=[0,Lx,n(lt,St[6])],Rt=[0,Rx,!!St[5]],Pt=[0,Px,!!St[4]],Ot=[0,Ux,O(St[2])];return f(Mx,a,[0,[0,Dx,n(g,St[1])],Ot,[0,Ox,Et],Pt,Rt,Lt,Ct,It,xt]);case 18:var Ut=r[1],Dt=[0,XS,n(d,Ut[3])],Mt=[0,BS,d(Ut[2])];return f(GS,a,[0,[0,jS,_(Ut[1])],Mt,Dt]);case 19:var Ft=r[1],Xt=Mr(function(t){switch(t[0]){case 0:var r=t[1],e=r[3],n=r[2],a=r[1],u=n?EK(e[1],n[1][1]):e[1],i=n?n[1]:e;if(a){switch(a[1]){case 0:var c=Su,s=1;break;case 1:var c=jl,s=1;break;default:var o=0,s=0;}if(s)var v=c,o=1;}else o=0;if(!o)v=wK;var l=[0,YR,g(i)];return f(HR,u,[0,[0,JR,g(e)],l,[0,qR,v]]);case 1:var b=t[1],k=[0,[0,XR,g(b)]];return f(BR,b[1],k);default:var p=t[1],h=p[1];return f(GR,h,[0,[0,jR,g(p[2])]])}},Ft[3]);switch(Ft[1]){case 0:Bt=qS;break;case 1:Bt=YS;break;default:var Bt=JS;}var jt=[0,HS,Bt.toString()],Gt=[0,WS,w(Ft[2])];return f(VS,a,[0,[0,zS,Nt(re(Xt))],Gt,jt]);case 20:return v([0,a,r[1]]);case 21:var qt=r[1],Yt=[0,$S,d(qt[2])];return f(QS,a,[0,[0,KS,g(qt[1])],Yt]);case 22:return f(tA,a,[0,[0,ZS,n(_,r[1][1])]]);case 23:var Jt=r[1],Ht=[0,rA,e(A,Jt[2])];return f(nA,a,[0,[0,eA,_(Jt[1])],Ht]);case 24:return f(uA,a,[0,[0,aA,_(r[1][1])]]);case 25:var Wt=r[1],zt=[0,iA,n(h,Wt[3])],Vt=[0,fA,n(E,Wt[2])];return f(sA,a,[0,[0,cA,h(Wt[1])],Vt,zt]);case 26:return l([0,a,r[1]]);case 27:return o([0,a,r[1]]);case 28:var $t=r[1],Kt=[0,oA,d($t[2])];return f(lA,a,[0,[0,vA,_($t[1])],Kt]);default:var Qt=r[1],Zt=[0,bA,d(Qt[2])];return f(pA,a,[0,[0,kA,_(Qt[1])],Zt])}}function m(t){var r=t[2],a=t[1],u=[0,fR,e(nt,r[3])],i=[0,cR,n(rt,r[2])],c=r[1],s=c[2],o=c[1],v=[0,vR,!!s[2]],l=[0,lR,e(tt,s[3])];return f(oR,a,[0,[0,sR,f(kR,o,[0,[0,bR,ct(s[1])],l,v])],i,u])}function y(t){var r=t[2],n=t[1],a=[0,bN,e(_,r[2])];return f(pN,n,[0,[0,kN,e(j,r[1])],a])}function w(t){var r=t[2],e=t[1],n=r[2],a=r[1];if("number"==typeof a)i=wK;else switch(a[0]){case 0:i=a[1].toString();break;case 1:i=!!a[1];break;case 2:i=a[1];break;default:var u=a[1],i=Z0(e,u[1],u[2]);}if("number"==typeof a)o=0;else if(3===a[0])var c=a[1],s=[0,[0,sN,i],[0,cN,n.toString()],[0,fN,{pattern:c[1].toString(),flags:c[2].toString()}]],o=1;else o=0;if(!o)s=[0,[0,vN,i],[0,oN,n.toString()]];return f(lN,e,s)}function g(t){return f(Kx,t[1],[0,[0,$x,t[2].toString()],[0,Vx,wK],[0,zx,!1]])}function T(t){var r=t[2],e=r[3],a=t[1],u=0===e[0]?h(e[1]):_(e[1]),i=[0,Fx,n(K,r[9])],c=[0,Xx,n($,r[8])],s=[0,Bx,!!r[7]],o=[0,jx,n(lt,r[6])],v=[0,Gx,!!r[5]],l=[0,qx,!!r[4]],b=[0,Jx,O(r[2])];return f(Wx,a,[0,[0,Hx,n(g,r[1])],b,[0,Yx,u],l,v,o,s,c,i])}function _(t){var r=t[2],a=t[1];if("number"==typeof r)return 0===r?f(hA,a,[0]):f(dA,a,[0]);switch(r[0]){case 0:var u=r[1][1];return f(yA,a,[0,[0,mA,e(function(t){return n(X,t)},u)]]);case 1:var i=r[1],c=i[3],s=0===c[0]?h(c[1]):_(c[1]),o=[0,wA,n(K,i[9])],v=[0,gA,n($,i[8])],l=[0,TA,!!i[7]],b=[0,_A,n(lt,i[6])],k=[0,SA,!!i[5]],p=[0,AA,!!i[4]],d=[0,xA,O(i[2])];return f(CA,a,[0,[0,IA,n(g,i[1])],d,[0,EA,s],p,k,b,l,v,o]);case 2:var S=r[1];switch(S[1]){case 0:A=NA;break;case 1:A=LA;break;case 2:A=RA;break;case 3:A=PA;break;case 4:A=OA;break;case 5:A=UA;break;case 6:A=DA;break;case 7:A=MA;break;case 8:A=FA;break;case 9:A=XA;break;case 10:A=BA;break;case 11:A=jA;break;default:var A=GA;}var E=[0,qA,_(S[3])],x=[0,YA,P(S[2])];return f(HA,a,[0,[0,JA,A.toString()],x,E]);case 3:var I=r[1];switch(I[1]){case 0:L=WA;break;case 1:L=zA;break;case 2:L=VA;break;case 3:L=$A;break;case 4:L=KA;break;case 5:L=QA;break;case 6:L=ZA;break;case 7:L=tE;break;case 8:L=rE;break;case 9:L=eE;break;case 10:L=nE;break;case 11:L=aE;break;case 12:L=uE;break;case 13:L=iE;break;case 14:L=fE;break;case 15:L=cE;break;case 16:L=sE;break;case 17:L=oE;break;case 18:L=vE;break;case 19:L=lE;break;case 20:L=bE;break;default:var L=kE;}var R=[0,pE,_(I[3])],U=[0,hE,_(I[2])];return f(mE,a,[0,[0,dE,L.toString()],U,R]);case 4:var D=r[1],F=[0,yE,e(X,D[2])];return f(gE,a,[0,[0,wE,_(D[1])],F]);case 5:var j=r[1],G=[0,DI,e(_,j[7])],q=[0,MI,e(C,j[6])],Y=[0,FI,n(Z,j[5])],J=[0,XI,n(K,j[4])],H=[0,BI,n(_,j[3])],W=[0,jI,N(j[2])];return f(qI,a,[0,[0,GI,n(g,j[1])],W,H,J,Y,q,G]);case 6:var z=r[1],V=[0,TE,n(_,z[2])];return f(SE,a,[0,[0,_E,e(B,z[1])],V]);case 7:var Q=r[1],tt=[0,AE,_(Q[3])],rt=[0,EE,_(Q[2])];return f(IE,a,[0,[0,xE,_(Q[1])],rt,tt]);case 8:return T([0,a,r[1]]);case 9:var et=r[1],nt=[0,CE,n(_,et[2])];return f(LE,a,[0,[0,NE,e(B,et[1])],nt]);case 10:return g(r[1]);case 11:var at=r[1],ut=[0,RE,e(_,[0,at,0])];return f(UE,a,[0,[0,OE,f(PE,EK(a,at[1]),[0])],ut]);case 12:return m([0,a,r[1]]);case 13:return w([0,a,r[1]]);case 14:var it=r[1],ft=0===it[1]?ME:DE,ct=[0,FE,_(it[3])],st=[0,XE,_(it[2])];return f(jE,a,[0,[0,BE,ft.toString()],st,ct]);case 15:var ot=r[1],vt=ot[2],bt=0===vt[0]?g(vt[1]):_(vt[1]),kt=[0,GE,!!ot[3]];return f(JE,a,[0,[0,YE,_(ot[1])],[0,qE,bt],kt]);case 16:var pt=r[1],ht=[0,HE,g(pt[2])];return f(zE,a,[0,[0,WE,g(pt[1])],ht]);case 17:var dt=r[1],mt=[0,VE,e(X,dt[2])];return f(KE,a,[0,[0,$E,_(dt[1])],mt]);case 18:return f(ZE,a,[0,[0,QE,e(M,r[1][1])]]);case 19:return f(rx,a,[0,[0,tx,e(_,r[1][1])]]);case 20:var yt=r[1],wt=[0,yN,y(yt[2])];return f(gN,a,[0,[0,wN,_(yt[1])],wt]);case 21:return y([0,a,r[1]]);case 22:var gt=r[1],Tt=[0,ex,$(gt[2])];return f(ax,a,[0,[0,nx,_(gt[1])],Tt]);case 23:var _t=r[1];if(7<=_t[1])return f(ix,a,[0,[0,ux,_(_t[3])]]);switch(_t[1]){case 0:St=fx;break;case 1:St=cx;break;case 2:St=sx;break;case 3:St=ox;break;case 4:St=vx;break;case 5:St=lx;break;case 6:St=bx;break;default:var St=xr(kx);}var At=[0,px,_(_t[3])];return f(mx,a,[0,[0,dx,St.toString()],[0,hx,!!_t[2]],At]);case 24:var Et=r[1],xt=0===Et[1]?wx:yx,It=[0,gx,!!Et[3]],Ct=[0,Tx,_(Et[2])];return f(Sx,a,[0,[0,_x,xt.toString()],Ct,It]);default:var Nt=r[1],Lt=[0,Ax,!!Nt[2]];return f(xx,a,[0,[0,Ex,n(_,Nt[1])],Lt])}}function S(t,r){var e=r[1],a=[0,Qx,!!r[3]],u=[0,Zx,n($,r[2])];return f(rI,t,[0,[0,tI,e[2].toString()],u,a])}function A(t){var r=t[2],a=t[1],u=[0,eI,e(d,r[2])];return f(aI,a,[0,[0,nI,n(_,r[1])],u])}function E(t){var r=t[2],e=t[1],n=[0,uI,h(r[2])];return f(fI,e,[0,[0,iI,P(r[1])],n])}function x(t){return 0===t?gI:wI}function I(t){if(t){var r=t[1];if(0===r[0])return e(ot,r[1]);var n=r[2],a=r[1];return Nt(n?[0,f(_I,a,[0,[0,TI,g(n[1])]])]:[0])}return Nt([0])}function C(t){var r=t[2],e=t[1],a=[0,YI,n(Z,r[2])];return f(HI,e,[0,[0,JI,g(r[1])],a])}function N(t){var r=t[1];return f(zI,r,[0,[0,WI,e(L,t[2][1])]])}function L(t){if(0===t[0]){var r=t[1],a=r[2],u=a[2],i=r[1],c=a[5],s=a[4],o=a[3],v=a[1];switch(u[0]){case 0:l=[0,w(u[1]),0];break;case 1:l=[0,g(u[1]),0];break;default:var l=[0,_(u[1]),1];}var b=l[2],k=l[1];switch(v){case 0:p=VI;break;case 1:p=$I;break;case 2:p=KI;break;default:var p=QI;}var h=[0,ZI,e(_,c)],d=[0,eC,p.toString()];return f(uC,i,[0,[0,aC,k],[0,nC,T(o)],d,[0,rC,!!s],[0,tC,!!b],h])}var m=t[1],y=m[2],S=y[1],A=m[1];switch(S[0]){case 0:E=[0,w(S[1]),0];break;case 1:E=[0,g(S[1]),0];break;default:var E=[0,_(S[1]),1];}var x=E[2],I=E[1],C=[0,iC,n(q,y[5])],N=[0,fC,!!y[4]],L=[0,sC,n($,y[3])];return f(lC,A,[0,[0,vC,I],[0,oC,n(_,y[2])],L,[0,cC,!!x],N,C])}function R(t){var r=t[2],e=r[1],a=t[1],u=0===e[0]?g(e[1]):V(e[1]);return f(wC,a,[0,[0,yC,u],[0,mC,n(Z,r[2])]])}function P(t){var r=t[2],a=t[1];switch(r[0]){case 0:var u=r[1],i=[0,gC,n($,u[2])];return f(_C,a,[0,[0,TC,e(F,u[1])],i]);case 1:var c=r[1],s=[0,SC,n($,c[2])],o=c[1];return f(EC,a,[0,[0,AC,e(function(t){return n(U,t)},o)],s]);case 2:var v=r[1],l=v[1],b=[0,xC,_(v[2])];return f(CC,a,[0,[0,IC,P(l)],b]);case 3:return S(a,r[1]);default:return _(r[1])}}function O(t){var r=t[2],n=t[1];if(r){var a=r[1],u=a[1];return Nt(re(Dr([0,f(LC,u,[0,[0,NC,P(a[2][1])]]),Dr(Mr(P,n))])))}return e(P,n)}function U(t){if(0===t[0])return P(t[1]);var r=t[1],e=r[1];return f(PC,e,[0,[0,RC,P(r[2][1])]])}function M(t){if(0===t[0]){var r=t[1],e=r[2],n=e[1],a=r[1];switch(n[0]){case 0:u=[0,w(n[1]),0];break;case 1:u=[0,g(n[1]),0];break;default:var u=[0,_(n[1]),1];}var i=e[2],c=u[2],s=u[1];switch(i[0]){case 0:o=[0,_(i[1]),OC];break;case 1:o=[0,T(i[1]),UC];break;default:var o=[0,T(i[1]),DC];}return f(qC,a,[0,[0,GC,s],[0,jC,o[1]],[0,BC,o[2].toString()],[0,XC,!!e[3]],[0,FC,!!e[4]],[0,MC,!!c]])}var v=t[1],l=v[1];return f(JC,l,[0,[0,YC,_(v[2][1])]])}function F(t){if(0===t[0]){var r=t[1],e=r[2],n=e[1],a=r[1];switch(n[0]){case 0:u=[0,w(n[1]),0];break;case 1:u=[0,g(n[1]),0];break;default:var u=[0,_(n[1]),1];}var i=u[1],c=[0,HC,!!u[2]],s=[0,WC,!!e[3]];return f(QC,a,[0,[0,KC,i],[0,$C,P(e[2])],[0,VC,Ts],[0,zC,!1],s,c])}var o=t[1],v=o[1];return f(tN,v,[0,[0,ZC,P(o[2][1])]])}function X(t){if(0===t[0])return _(t[1]);var r=t[1],e=r[1];return f(eN,e,[0,[0,rN,_(r[2][1])]])}function B(t){var r=t[2],e=t[1],n=[0,nN,!!r[3]],a=[0,aN,_(r[2])];return f(iN,e,[0,[0,uN,P(r[1])],a,n])}function j(t){var r=t[2];return f(mN,t[1],[0,[0,dN,{raw:r[1][1].toString(),cooked:r[1][2].toString()}],[0,hN,!!r[2]]])}function G(t){var r=t[2],e=t[1],a=[0,IN,n(_,r[2])];return f(NN,e,[0,[0,CN,P(r[1])],a])}function q(t){return 0===t[2]?"plus":Uo}function Y(t){var r=t[2],e=t[1],a=r[2],u=Xr(function(t,r){var e=t[3],a=t[2],u=t[1];switch(r[0]){case 0:var i=r[1],c=i[2],s=c[1],o=i[1];switch(s[0]){case 0:v=w(s[1]);break;case 1:v=g(s[1]);break;default:var v=xr(eL);}var l=c[2];switch(l[0]){case 0:k=[0,H(l[1]),nL];break;case 1:var b=l[1],k=[0,J([0,b[1],b[2]]),aL];break;default:var p=l[1],k=[0,J([0,p[1],p[2]]),uL];}var h=k[1],d=[0,iL,k[2].toString()],m=[0,fL,n(q,c[6])];return[0,[0,f(lL,o,[0,[0,vL,v],[0,oL,h],[0,sL,!!c[3]],[0,cL,!!c[4]],m,d]),u],a,e];case 1:var y=r[1],T=y[1];return[0,[0,f(kL,T,[0,[0,bL,H(y[2][1])]]),u],a,e];case 2:var _=r[1],S=_[2],A=_[1],E=[0,pL,n(q,S[5])],x=[0,hL,!!S[4]],I=[0,dL,H(S[3])],C=[0,mL,H(S[2])];return[0,u,[0,f(wL,A,[0,[0,yL,n(g,S[1])],C,I,x,E]),a],e];default:var N=r[1],L=N[2],R=N[1],P=[0,gL,!!L[2]];return[0,u,a,[0,f(_L,R,[0,[0,TL,J(L[1])],P]),e]]}},$N,a),i=u[2],c=u[1],s=[0,KN,Nt(re(Dr(u[3])))],o=[0,QN,Nt(re(Dr(i)))],v=[0,ZN,Nt(re(Dr(c)))];return f(rL,e,[0,[0,tL,!!r[1]],v,o,s])}function J(t){var r=t[2],a=r[1],u=t[1],i=a[2],c=a[1],s=[0,jN,n(K,r[3])],o=[0,GN,n(z,i)],v=[0,qN,H(r[2])];return f(JN,u,[0,[0,YN,e(W,c)],v,o,s])}function H(t){var r=t[2],a=t[1];if("number"==typeof r)switch(r){case 0:return f(LN,a,[0]);case 1:return f(RN,a,[0]);case 2:return f(PN,a,[0]);case 3:return f(ON,a,[0]);case 4:return f(UN,a,[0]);case 5:return f(DN,a,[0]);case 6:return f(MN,a,[0]);case 7:return f(FN,a,[0]);default:return f(VL,a,[0])}else switch(r[0]){case 0:return f(BN,a,[0,[0,XN,H(r[1])]]);case 1:return J([0,a,r[1]]);case 2:return Y([0,a,r[1]]);case 3:return f(AL,a,[0,[0,SL,H(r[1])]]);case 4:var u=r[1],i=u[1],c=0===i[0]?g(i[1]):V(i[1]);return f(LL,a,[0,[0,NL,c],[0,CL,n(Z,u[2])]]);case 5:return f(PL,a,[0,[0,RL,e(H,[0,r[1],[0,r[2],r[3]]])]]);case 6:return f(UL,a,[0,[0,OL,e(H,[0,r[1],[0,r[2],r[3]]])]]);case 7:return f(ML,a,[0,[0,DL,H(r[1])]]);case 8:return f(XL,a,[0,[0,FL,e(H,r[1])]]);case 9:var s=r[1];return f(GL,a,[0,[0,jL,s[1].toString()],[0,BL,s[2].toString()]]);case 10:var o=r[1];return f(JL,a,[0,[0,YL,o[1]],[0,qL,o[2].toString()]]);default:var v=r[1];return f(zL,a,[0,[0,WL,!!v[1]],[0,HL,v[2].toString()]])}}function W(t){var r=t[2],e=t[1],a=[0,HN,!!r[3]],u=[0,WN,H(r[2])];return f(VN,e,[0,[0,zN,n(g,r[1])],u,a])}function z(t){return W(t[2][1])}function V(t){var r=t[2],e=r[1],n=t[1],a=0===e[0]?g(e[1]):V(e[1]);return f(IL,n,[0,[0,xL,a],[0,EL,g(r[2])]])}function $(t){var r=t[1];return f(KL,r,[0,[0,$L,H(t[2])]])}function K(t){var r=t[1];return f(ZL,r,[0,[0,QL,e(Q,t[2][1])]])}function Q(t){var r=t[2],e=t[1],a=[0,tR,n(H,r[4])],u=[0,rR,n(q,r[3])],i=[0,eR,n($,r[2])];return f(aR,e,[0,[0,nR,r[1].toString()],i,u,a])}function Z(t){var r=t[1];return f(iR,r,[0,[0,uR,e(H,t[2][1])]])}function tt(t){if(0===t[0]){var r=t[1],e=r[2],a=e[1],u=r[1],i=0===a[0]?at(a[1]):ut(a[1]);return f(yR,u,[0,[0,mR,i],[0,dR,n(st,e[2])]])}var c=t[1],s=c[1];return f(gR,s,[0,[0,wR,_(c[2][1])]])}function rt(t){var r=t[1];return f(hR,r,[0,[0,pR,ct(t[2][1])]])}function et(t){var r=t[2][1],e=t[1],n=0===r[0]?_(r[1]):f(TR,r[1],[0]);return f(SR,e,[0,[0,_R,n]])}function nt(t){var r=t[2],e=t[1];switch(r[0]){case 0:return m([0,e,r[1]]);case 1:return et([0,e,r[1]]);default:var n=r[1];return f(xR,e,[0,[0,ER,n[1].toString()],[0,AR,n[2].toString()]])}}function at(t){return f(UR,t[1],[0,[0,OR,t[2][1].toString()]])}function ut(t){var r=t[2],e=t[1],n=[0,LR,at(r[2])];return f(PR,e,[0,[0,RR,at(r[1])],n])}function ft(t){var r=t[2],e=r[1],n=t[1],a=0===e[0]?at(e[1]):ft(e[1]);return f(NR,n,[0,[0,CR,a],[0,IR,at(r[2])]])}function ct(t){switch(t[0]){case 0:return at(t[1]);case 1:return ut(t[1]);default:return ft(t[1])}}function st(t){return 0===t[0]?w([0,t[1],t[2]]):et([0,t[1],t[2]])}function ot(t){var r=t[2],e=r[2],n=t[1],a=g(e?e[1]:r[1]);return f(FR,n,[0,[0,MR,g(r[1])],[0,DR,a]])}function vt(t){var r=t[2],e=t[1],n=0===r[0]?[0,WR,r[1]]:[0,zR,r[1]];return f(n[1],e,[0,[0,VR,n[2].toString()]])}function lt(t){var r=t[2],e=t[1];if(r)var n=KR,a=[0,[0,$R,_(r[1])]];else var n=QR,a=[0];return f(n,e,a)}var bt=D(r,void 0)?{}:r,kt=bt.esproposal_decorators,pt=it(t),ht=gK(kt)?[0,bm[1],bm[2],0|kt,bm[4],bm[5],bm[6]]:bm,dt=bt.esproposal_class_instance_fields,mt=gK(dt)?[0,0|dt,ht[2],ht[3],ht[4],ht[5],ht[6]]:ht,yt=bt.esproposal_class_static_fields,wt=gK(yt)?[0,mt[1],0|yt,mt[3],mt[4],mt[5],mt[6]]:mt,gt=bt.esproposal_export_star_as,Tt=gK(gt)?[0,wt[1],wt[2],wt[3],0|gt,wt[5],wt[6]]:wt,_t=bt.types,St=[0,gK(_t)?[0,Tt[1],Tt[2],Tt[3],Tt[4],0|_t,Tt[6]]:Tt],At=[0,St],Et=hm?hm[1]:1,xt=At?St:0,It=pZ([0,0],[0,[0,xt]?xt:0],0,pt),Ct=yr(h0[1],It),Lt=Dr(It[1][1]),Pt=Dr(Xr(function(t,r){var e=t[2],n=t[1];return wr(p0[3],r,n)?[0,n,e]:[0,wr(p0[4],r,n),[0,r,e]]},[0,p0[1],0],Lt)[2]);if(Et?0!==Pt?1:0:Et)throw[0,jK,Pt];K0[1]=0;var Ot=Ct[2],Ut=Ct[1],Dt=[0,X_,e(vt,Ct[3])],Mt=f(j_,Ut,[0,[0,B_,s(Ot)],Dt]),Ft=Rr(Pt,K0[1]);return Mt.errors=e(function(t){var r=t[2],e=t[1];if("number"==typeof r){var n=r;if(34<=n)switch(n){case 34:f=YT;break;case 35:f=JT;break;case 36:f=HT;break;case 37:f=WT;break;case 38:f=zT;break;case 39:f=VT;break;case 40:f=$T;break;case 41:f=KT;break;case 42:f=QT;break;case 43:f=ZT;break;case 44:f=t_;break;case 45:f=r_;break;case 46:f=Lr(n_,e_);break;case 47:f=Lr(u_,a_);break;case 48:f=i_;break;case 49:f=f_;break;case 50:f=c_;break;case 51:f=s_;break;case 52:f=o_;break;case 53:f=v_;break;case 54:f=l_;break;case 55:f=b_;break;case 56:f=k_;break;case 57:f=p_;break;case 58:f=h_;break;case 59:f=d_;break;case 60:f=m_;break;case 61:f=y_;break;case 62:f=w_;break;case 63:f=g_;break;case 64:f=Lr(__,T_);break;case 65:f=S_;break;case 66:f=A_;break;default:f=E_;}else switch(n){case 0:f=sT;break;case 1:f=oT;break;case 2:f=vT;break;case 3:f=lT;break;case 4:f=bT;break;case 5:f=kT;break;case 6:f=pT;break;case 7:f=hT;break;case 8:f=dT;break;case 9:f=mT;break;case 10:f=yT;break;case 11:f=wT;break;case 12:f=gT;break;case 13:f=TT;break;case 14:f=_T;break;case 15:f=ST;break;case 16:f=AT;break;case 17:f=ET;break;case 18:f=xT;break;case 19:f=Lr(CT,IT);break;case 20:f=NT;break;case 21:f=LT;break;case 22:f=RT;break;case 23:f=PT;break;case 24:f=OT;break;case 25:f=UT;break;case 26:f=DT;break;case 27:f=MT;break;case 28:f=FT;break;case 29:f=XT;break;case 30:f=BT;break;case 31:f=jT;break;case 32:f=GT;break;default:f=qT;}}else switch(r[0]){case 0:f=Lr(x_,r[1]);break;case 1:f=Lr(I_,r[1]);break;case 2:var a=r[2],i=r[1],f=wr(Ge(C_),i,a);break;case 3:f=Lr(L_,Lr(r[1],N_));break;case 4:f=Lr(P_,Lr(r[1],R_));break;case 5:f=Lr(r[1],Lr(U_,Lr(r[2],O_)));break;case 6:f=Lr(D_,r[1]);break;default:var c=r[1],f=yr(Ge(M_),c);}var s=f.toString();return{loc:u(e),message:s}},Ft),Mt},r1=function(t){return t[1]===_K?yr(AK,t[2]):yr(AK,new SK(Lr(U$,function(r){for(d=r;;){if(!d){if(t===tm)return $w;if(t===um)return Kw;if(t[1]===am){var e=t[2],n=e[3],a=e[2],u=e[1];return _r(Ge(cm),u,a,n,n+5|0,Qw)}if(t[1]===im){var i=t[2],f=i[3],c=i[2],s=i[1];return _r(Ge(cm),s,c,f,f+6|0,Zw)}if(t[1]===fm){var o=t[2],v=o[3],l=o[2],b=o[1];return _r(Ge(cm),b,l,v,v+6|0,tg)}return 0===ar(t)?Lr(t[1][1],Je(t)):t[1]}var k=d[2],p=d[1];try{h=yr(p,t);}catch(t){var h=0;}if(h)return h[1];var d=k;}}(W$[1])).toString()))};return r.parse=function(t,r){try{return t1(t,r)}catch(r){return r=mr(r),r1(r)}},void function(t){yr(X$[1],0);}()}var e1=pK;}else var n1=kK;}else var a1=bK;}else vK=lK;}}(function(){return this}());});const createError=parserCreateError; const includeShebang=parserIncludeShebang;var parserFlow=parse;var parserFlow_1=parserFlow; +function createError$1(t,r){const e=new SyntaxError(t+" ("+r.start.line+":"+r.start.column+")");return e.loc=r,e}function includeShebang$1(t,r){if(!t.startsWith("#!"))return;const e=t.indexOf("\n"),n={type:"Line",value:t.slice(2,e),range:[0,e],loc:{source:null,start:{line:1,column:0},end:{line:1,column:e}}};r.comments=[n].concat(r.comments);}function createCommonjsModule(t,r){return r={exports:{}},t(r,r.exports),r.exports}function parse(t){"use strict";const r=flow_parser.parse(t,{esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_export_star_as:!0});if(r.errors.length>0){const t=r.errors[0].loc;throw createError(r.errors[0].message,{start:{line:t.start.line,column:t.start.column+1},end:{line:t.end.line,column:t.end.column+1}})}return includeShebang(t,r),r}var parserCreateError=createError$1; var parserIncludeShebang=includeShebang$1; var flow_parser=createCommonjsModule(function(t,r){!function(t){"use strict";function e(t,r){throw[0,t,r]}function n(t,r){function n(r){e(Gd.Undefined_recursive_module,t);}function a(t,r,e){if("number"==typeof t)switch(t){case 0:r[e]={fun:n};break;case 1:r[e]=[ls,n];break;default:r[e]=[];}else switch(t[0]){case 0:r[e]=[0];for(var u=1;u=1;u--)e[n+u]=t[r+u];return 0}function c(t,r,e){var n=new Array(e+1);n[0]=0;for(var a=1,u=r+1;a<=e;a++,u++)n[a]=t[u];return n}function s(t,r,e){for(var n=new Array(e),a=0;a=e.l||2==e.t&&a>=e.c.length))e.c=4==t.t?o(t.c,r,a):0==r&&t.c.length==a?t.c:t.c.substr(r,a),e.t=e.c.length==e.l?0:2;else if(2==e.t&&n==e.c.length)e.c+=4==t.t?o(t.c,r,a):0==r&&t.c.length==a?t.c:t.c.substr(r,a),e.t=e.c.length==e.l?0:2;else{4!=e.t&&v(e);var u=t.c,i=e.c;if(4==t.t)if(n<=r)for(c=0;c=0;c--)i[n+c]=u[r+c];else{for(var f=Math.min(a,u.length-r),c=0;c>=1))return e;r+=r,9==++n&&r.slice(0,1);}}function k(t){2==t.t?t.c+=b(t.l-t.c.length,"\0"):t.c=o(t.c,0,t.c.length),t.t=0;}function p(t){if(t.length<24){for(var r=0;r$b)return!1;return!0}return!/[^\x00-\x7f]/.test(t)}function h(t){for(var r,e,n,a,u=mb,i=mb,f=0,c=t.length;fHn?(i.substr(0,1),u+=i,i=mb,u+=t.slice(f,s)):i+=t.slice(f,s),s==c)break;f=s;}a=1,++f=55295&&anl)&&(a=3))))),a<4?(f-=a,i+="�"):i+=a>ki?String.fromCharCode(55232+(a>>10),Ji+(a&va)):String.fromCharCode(a),i.length>Nu&&(i.substr(0,1),u+=i,i=mb);}return u+i}function d(t){switch(t.t){case 9:return t.c;default:k(t);case 0:if(p(t.c))return t.t=9,t.c;t.t=8;case 8:return h(t.c)}}function m(t,r,e){this.t=t,this.c=r,this.l=e;}function y(t){return new m(0,t,t.length)}function w(t,r){e(t,y(r));}function g(t){w(Gd.Invalid_argument,t);}function T(){g(pu);}function _(t,r,e){if(e&=lh,4!=t.t){if(r==t.c.length)return t.c+=String.fromCharCode(e),r+1==t.l&&(t.t=0),0;v(t);}return t.c[r]=e,0}function S(t,r,e){return r>>>0>=t.l&&T(),_(t,r,e)}function A(t,r){for(var e=t.length,n=new Array(e+1),a=0;a>>0>=t.length-1&&x(),t}function C(t){return isFinite(t)?Math.abs(t)>=2.2250738585072014e-308?0:0!=t?1:2:isNaN(t)?4:3}function N(t,r){var e=t[3]<<16,n=r[3]<<16;return e>n?1:er[2]?1:t[2]r[1]?1:t[1]r.c?1:0}function P(t,r,e){for(var n=[];;){if(!e||t!==r)if(t instanceof m){if(!(r instanceof m))return 1;if(t!==r&&0!=(i=R(t,r)))return i}else if(t instanceof Array&&t[0]===(0|t[0])){var a=t[0];if(a===Cn&&(a=0),a===Ql){t=t[1];continue}if(!(r instanceof Array&&r[0]===(0|r[0])))return 1;var u=r[0];if(u===Cn&&(u=0),u===Ql){r=r[1];continue}if(a!=u)return a1&&n.push(t,r,1);}}else{if(r instanceof m||r instanceof Array&&r[0]===(0|r[0]))return-1;if("number"!=typeof t&&t&&t.compare)return t.compare(r,e);if(typeof t==Pk)g("equal: functional value");else{if(tr)return 1;if(t!=r){if(!e)return NaN;if(t==t)return 1;if(r==r)return-1}}}if(0==n.length)return 0;var f=n.pop();r=n.pop(),f+1<(t=n.pop()).length&&n.push(t,r,f+1),t=t[f],r=r[f];}}function O(t,r){return P(t,r,!0)}function U(t){return t<0&&g("Bytes.create"),new m(t?2:9,mb,t)}function D(t,r){return+(0==P(t,r,!1))}function M(t,r,e,n){if(e>0)if(0==r&&(e>=t.l||2==t.t&&e>=t.c.length))0==n?(t.c=mb,t.t=2):(t.c=b(e,String.fromCharCode(n)),t.t=e==t.l?0:2);else for(4!=t.t&&v(t),e+=r;r0&&r===r)return r;if(t=t.replace(/_/g,mb),r=+t,t.length>0&&r===r||/^[+-]?nan$/i.test(t))return r;var e=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(t);if(e){var n=e[3].replace(/0+$/,mb),a=parseInt(e[1]+e[2]+n,16),u=(0|e[4])-4*n.length;return r=a*Math.pow(2,u)}return/^\+?inf(inity)?$/i.test(t)?1/0:/^-inf(inity)?$/i.test(t)?-1/0:void F("float_of_string")}function j(t){var r=(t=X(t)).length;r>31&&g("format_int: format too long");for(var e={justify:Mb,signstyle:xl,filler:hd,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:"f"},n=0;n=0&&a<=9;)e.width=10*e.width+a,n++;n--;break;case".":for(e.prec=0,n++;(a=t.charCodeAt(n)-48)>=0&&a<=9;)e.prec=10*e.prec+a,n++;n--;case"d":case"i":e.signedconv=!0;case"u":e.base=10;break;case"x":e.base=16;break;case"X":e.base=16,e.uppercase=!0;break;case"o":e.base=8;break;case"e":case"f":case"g":e.signedconv=!0,e.conv=a;break;case"E":case"F":case"G":e.signedconv=!0,e.uppercase=!0,e.conv=a.toLowerCase();}}return e}function G(t,r){t.uppercase&&(r=r.toUpperCase());var e=r.length;t.signedconv&&(t.sign<0||t.signstyle!=xl)&&e++,t.alternate&&(8==t.base&&(e+=1),16==t.base&&(e+=2));var n=mb;if(t.justify==Mb&&t.filler==hd)for(a=e;a=1e21||r.toFixed(0).length>a){for(c=u-1;e.charAt(c)==Nv;)c--;e.charAt(c)==bi&&c--,c=(e=e.slice(0,c+1)+e.slice(u)).length,e.charAt(c-3)==za&&(e=e.slice(0,c-1)+Nv+e.slice(c-1));break}var f=a;if(i<0)f-=i+1,e=r.toFixed(f);else for(;(e=r.toFixed(f)).length>a+1;)f--;if(f){for(var c=e.length-1;e.charAt(c)==Nv;)c--;e.charAt(c)==bi&&c--,e=e.slice(0,c+1);}}else e="inf",n.filler=hd;return G(n,e)}function Y(t,r){if(X(t)==hc)return y(mb+r);var e=j(t);r<0&&(e.signedconv?(e.sign=-1,r=-r):r>>>=0);var n=r.toString(e.base);if(e.prec>=0){e.filler=hd;var a=e.prec-n.length;a>0&&(n=b(a,Nv)+n);}return G(e,n)}function J(){return Jd++}function H(t,r){return+(P(t,r,!1)>=0)}function W(t,r){return r=Hd(r,-862048943),r=r<<15|r>>>17,r=Hd(r,461845907),t^=r,((t=t<<13|t>>>19)+(t<<2)|0)-430675100|0}function z(t,r){var e=r[1]|r[2]<<24;return t=W(t,(r[2]>>>8|r[3]<<16)^e)}function V(t){if(Wd)return Math.floor(Math.log2(t));var r=0;if(0==t)return-1/0;if(t>=1)for(;t>=2;)t/=2,r++;else for(;t<1;)t*=2,r--;return r}function $(t){if(!isFinite(t))return isNaN(t)?[lh,1,0,jo]:t>0?[lh,0,0,jo]:[lh,0,0,65520];var r=0==t&&1/t==-1/0?oh:t>=0?0:oh;r&&(t=-t);var e=V(t)+va;e<=0?(e=0,t/=Math.pow(2,-1026)):((t/=Math.pow(2,e-1027))<16&&(t*=2,e-=1),0==e&&(t/=2));var n=Math.pow(2,24),a=0|t,u=0|(t=(t-a)*n);return a=15&a|r|e<<4,[lh,0|(t=(t-u)*n),u,a]}function K(t,r){var e=$(r),n=e[1]|e[2]<<24,a=e[2]>>>8|e[3]<<16;return t=W(t,n),t=W(t,a)}function Q(t,r){var e,n,a=r.length;for(e=0;e+4<=a;e+=4)t=W(t,n=r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24);switch(n=0,3&a){case 3:n=r[e+2]<<16;case 2:n|=r[e+1]<<8;case 1:t=W(t,n|=r[e]);}return t^=a}function Z(t,r){var e,n,a=r.length;for(e=0;e+4<=a;e+=4)t=W(t,n=r.charCodeAt(e)|r.charCodeAt(e+1)<<8|r.charCodeAt(e+2)<<16|r.charCodeAt(e+3)<<24);switch(n=0,3&a){case 3:n=r.charCodeAt(e+2)<<16;case 2:n|=r.charCodeAt(e+1)<<8;case 1:t=W(t,n|=r.charCodeAt(e));}return t^=a}function tt(t,r){switch(6&r.t){default:k(r);case 0:t=Z(t,r.c);break;case 2:t=Q(t,r.c);}return t}function rt(t){return t^=t>>>16,t=Hd(t,-2048144789),t^=t>>>13,t=Hd(t,-1028477387),t^=t>>>16}function et(t,r,e,n){var a,u,i,f,c,s,o,v,l;for(((f=r)<0||f>zd)&&(f=zd),c=t,s=e,a=[n],u=0,i=1;u0;)if((o=a[u++])instanceof Array&&o[0]===(0|o[0]))switch(o[0]){case 248:s=W(s,o[2]),c--;break;case 250:a[--u]=o[1];break;case 255:s=z(s,o),c--;break;default:for(s=W(s,o.length-1<<10|o[0]),v=1,l=o.length;v=f);v++)a[i++]=o[v];}else o instanceof m?(s=tt(s,o),c--):o===(0|o)?(s=W(s,o+o+1),c--):o===+o&&(s=K(s,o),c--);return(s=rt(s))&wp}function nt(t){return[t[3]>>8,t[3]&lh,t[2]>>16,t[2]>>8&lh,t[2]&lh,t[1]>>16,t[1]>>8&lh,t[1]&lh]}function at(t,r,e){function n(e){if(r--,!(t<0||r<0))if(e instanceof Array&&e[0]===(0|e[0]))switch(e[0]){case 248:t--,a=a*bv+e[2]|0;break;case 250:r++,n(e);break;case 255:t--,a=a*bv+e[1]+(e[2]<<24)|0;break;default:t--,a=19*a+e[0]|0;for(f=e.length-1;f>0;f--)n(e[f]);}else if(e instanceof m)switch(t--,6&e.t){default:k(e);case 0:for(var u=e.c,i=e.l,f=0;f=0;f--)a=19*a+s[f]|0;}}var a=0;return n(e),a&wp}function ut(t){for(var r,e,n=mb,a=n,u=0,i=t.length;uHn?(a.substr(0,1),n+=a,a=mb,n+=t.slice(u,f)):a+=t.slice(u,f),f==i)break;u=f;}r>6),a+=String.fromCharCode(Zn|63&r)):r=yc?a+=String.fromCharCode(Jl|r>>12,Zn|r>>6&63,Zn|63&r):r>=56319||u+1==i||(e=t.charCodeAt(u+1))yc?a+="�":(u++,r=(r<<10)+e-56613888,a+=String.fromCharCode(Kp|r>>18,Zn|r>>12&63,Zn|r>>6&63,Zn|63&r)),a.length>Nu&&(a.substr(0,1),n+=a,a=mb);}return n+a}function it(t){var r=9;return p(t)||(r=8,t=ut(t)),new m(r,t,t.length)}function ft(t,r,e){if(!isFinite(t))return it(isNaN(t)?ak:t>0?Bu:"-infinity");var n=0==t&&1/t==-1/0?1:t>=0?0:1;n&&(t=-t);var a=0;if(0==t);else if(t<1)for(;t<1&&a>-1022;)t*=2,a--;else for(;t>=2;)t/=2,a++;var u=a<0?mb:Mb,i=mb;if(n)i=xl;else switch(e){case 43:i=Mb;break;case 32:i=hd;}if(r>=0&&r<13){var f=Math.pow(2,4*r);t=Math.round(t*f)/f;}var c=t.toString(16);if(r>=0){var s=c.indexOf(bi);if(s<0)c+=bi+b(r,Nv);else{var o=s+1+r;c.length>24&On,t>>31&ki]}function ot(t){for(var r=t.length,e=new Array(r),n=0;n>24),a=t[3]-r[3]+(n>>24);return[lh,e&On,n&On,a&ki]}function lt(t,r){return t[3]>r[3]?1:t[3]r[2]?1:t[2]r[1]?1:t[1]>23,t[2]=(t[2]<<1|t[1]>>23)&On,t[1]=t[1]<<1&On;}function kt(t){t[1]=(t[1]>>>1|t[2]<<23)&On,t[2]=(t[2]>>>1|t[3]<<23)&On,t[3]=t[3]>>>1;}function pt(t,r){for(var e=0,n=ot(t),a=ot(r),u=[lh,0,0,0];lt(n,a)>0;)e++,bt(a);for(;e>=0;)e--,bt(u),lt(n,a)>=0&&(u[1]++,n=vt(n,a)),kt(a);return[0,u,n]}function ht(t){return t[1]|t[2]<<24}function dt(t){return t[3]<<16<0}function mt(t){var r=-t[1],e=-t[2]+(r>>24),n=-t[3]+(e>>24);return[lh,r&On,e&On,n&ki]}function yt(t,r){var e=j(t);e.signedconv&&dt(r)&&(e.sign=-1,r=mt(r));var n=mb,a=st(e.base);do{var u=pt(r,a);r=u[1],n="0123456789abcdef".charAt(ht(u[2]))+n;}while(!ct(r));if(e.prec>=0){e.filler=hd;var i=e.prec-n.length;i>0&&(n=b(i,Nv)+n);}return G(e,n)}function wt(t){return t.l}function gt(t,r){switch(6&t.t){default:if(r>=t.c.length)return 0;case 0:return t.c.charCodeAt(r);case 4:return t.c[r]}}function Tt(t,r){var e=t[1]+r[1],n=t[2]+r[2]+(e>>24),a=t[3]+r[3]+(n>>24);return[lh,e&On,n&On,a&ki]}function _t(t,r){var e=t[1]*r[1],n=(e*Vd|0)+t[2]*r[1]+t[1]*r[2],a=(n*Vd|0)+t[3]*r[1]+t[2]*r[2]+t[1]*r[3];return[lh,e&On,n&On,a&ki]}function St(t,r){return lt(t,r)<0}function At(t){var r=0,e=wt(t),n=10,a=e>0&&45==gt(t,0)?(r++,-1):1;if(r+1=48&&t<=57?t-48:t>=65&&t<=90?t-55:t>=97&&t<=xs?t-87:-1}function xt(t){var r=At(t),e=r[0],n=r[1],a=r[2],u=st(a),i=pt([lh,On,268435455,ki],u)[1],f=gt(t,e),c=Et(f);(c<0||c>=a)&&F(Ap);for(var s=st(c);;)if(e++,95!=(f=gt(t,e))){if((c=Et(f))<0||c>=a)break;St(i,s)&&F(Ap),c=st(c),St(s=Tt(_t(u,s),c),c)&&F(Ap);}return e!=wt(t)&&F(Ap),10==r[2]&&St([lh,0,0,oh],s)&&F(Ap),n<0&&(s=mt(s)),s}function It(t){return(t[3]<<16)*Math.pow(2,32)+t[2]*Math.pow(2,24)+t[1]}function Ct(t){var r=At(t),e=r[0],n=r[1],a=r[2],u=wt(t),i=e=a)&&F(Ap);var c=f;for(e++;e=a)break;(c=a*c+f)>-1>>>0&&F(Ap);}return e!=u&&F(Ap),c*=n,10==a&&(0|c)!=c&&F(Ap),0|c}function Nt(t){return s(t,1,t.length-1)}function Lt(t){return t.toString()}function Rt(t){for(var r={},e=1;e=0;e--)r=[0,t[e],r];return r}function Dt(t,r){var t=t+1|0,e=new Array(t);e[0]=0;for(var n=1;n=a){var i=jt(u+n);l(t.file.data,0,i,0,a),l(e,0,i,u,n),t.file.data=i;}return t.offset+=n,t.file.modified(),0}function $t(t){var r;switch(t){case 1:r=zt;break;case 2:r=Wt;break;default:r=Vt;}var e=Gd.fds[t];e.flags.rdonly&&Xt(ca+t+" is readonly");var n={file:e.file,offset:e.offset,fd:t,opened:!0,buffer:mb,output:r};return Qd[n.fd]=n,n}function Kt(){for(var t=0,r=0;r>>0>=t.l&&T(),gt(t,r)}function sr(t,r){return 1-fr(t,r)}function or(t,r,e){if(e&=lh,4!=t.t){if(r==t.c.length)return t.c+=String.fromCharCode(e),r+1==t.l&&(t.t=0),0;v(t);}return t.c[r]=e,0}function vr(){Zt(Gd.Not_found);}function lr(r){var e=t,n=r.toString();if(e.process&&e.process.env&&void 0!=e.process.env[n])return it(e.process.env[n]);vr();}function br(){return[0,new Date^4294967295*Math.random()]}function kr(t){for(var r=1;t&&t.joo_tramp;)t=t.joo_tramp.apply(null,t.joo_args),r++;return t}function pr(t,r){return{joo_tramp:t,joo_args:r}}function hr(t){return t}function dr(t){return Zd[t]}function mr(r){return r instanceof Array?r:t.RangeError&&r instanceof t.RangeError&&r.message&&r.message.match(/maximum call stack/i)?hr(Gd.Stack_overflow):t.InternalError&&r instanceof t.InternalError&&r.message&&r.message.match(/too much recursion/i)?hr(Gd.Stack_overflow):r instanceof t.Error?[0,dr(Mk),r]:[0,Gd.Failure,it(String(r))]}function yr(t,r){return 1==t.length?t(r):E(t,[r])}function wr(t,r,e){return 2==t.length?t(r,e):E(t,[r,e])}function gr(t,r,e,n){return 3==t.length?t(r,e,n):E(t,[r,e,n])}function Tr(t,r,e,n,a){return 4==t.length?t(r,e,n,a):E(t,[r,e,n,a])}function _r(t,r,e,n,a,u){return 5==t.length?t(r,e,n,a,u):E(t,[r,e,n,a,u])}function Sr(t){if("number"==typeof t)return 0;switch(t[0]){case 0:return[0,Sr(t[1])];case 1:return[1,Sr(t[1])];case 2:return[2,Sr(t[1])];case 3:return[3,Sr(t[1])];case 4:return[4,Sr(t[1])];case 5:return[5,Sr(t[1])];case 6:return[6,Sr(t[1])];case 7:return[7,Sr(t[1])];case 8:return[8,t[1],Sr(t[2])];case 9:var r=t[1];return[9,r,r,Sr(t[3])];case 10:return[10,Sr(t[1])];case 11:return[11,Sr(t[1])];case 12:return[12,Sr(t[1])];case 13:return[13,Sr(t[1])];default:return[14,Sr(t[1])]}}function Ar(t,r){if("number"==typeof t)return r;switch(t[0]){case 0:return[0,Ar(t[1],r)];case 1:return[1,Ar(t[1],r)];case 2:return[2,Ar(t[1],r)];case 3:return[3,Ar(t[1],r)];case 4:return[4,Ar(t[1],r)];case 5:return[5,Ar(t[1],r)];case 6:return[6,Ar(t[1],r)];case 7:return[7,Ar(t[1],r)];case 8:return[8,t[1],Ar(t[2],r)];case 9:var e=t[2];return[9,t[1],e,Ar(t[3],r)];case 10:return[10,Ar(t[1],r)];case 11:return[11,Ar(t[1],r)];case 12:return[12,Ar(t[1],r)];case 13:return[13,Ar(t[1],r)];default:return[14,Ar(t[1],r)]}}function Er(t,r){if("number"==typeof t)return r;switch(t[0]){case 0:return[0,Er(t[1],r)];case 1:return[1,Er(t[1],r)];case 2:return[2,t[1],Er(t[2],r)];case 3:return[3,t[1],Er(t[2],r)];case 4:var e=t[3],n=t[2];return[4,t[1],n,e,Er(t[4],r)];case 5:var a=t[3],u=t[2];return[5,t[1],u,a,Er(t[4],r)];case 6:var i=t[3],f=t[2];return[6,t[1],f,i,Er(t[4],r)];case 7:var c=t[3],s=t[2];return[7,t[1],s,c,Er(t[4],r)];case 8:var o=t[3],v=t[2];return[8,t[1],v,o,Er(t[4],r)];case 9:return[9,Er(t[1],r)];case 10:return[10,Er(t[1],r)];case 11:return[11,t[1],Er(t[2],r)];case 12:return[12,t[1],Er(t[2],r)];case 13:var l=t[2];return[13,t[1],l,Er(t[3],r)];case 14:var b=t[2];return[14,t[1],b,Er(t[3],r)];case 15:return[15,Er(t[1],r)];case 16:return[16,Er(t[1],r)];case 17:return[17,t[1],Er(t[2],r)];case 18:return[18,t[1],Er(t[2],r)];case 19:return[19,Er(t[1],r)];case 20:var k=t[2];return[20,t[1],k,Er(t[3],r)];case 21:return[21,t[1],Er(t[2],r)];case 22:return[22,Er(t[1],r)];case 23:return[23,t[1],Er(t[2],r)];default:var p=t[2];return[24,t[1],p,Er(t[3],r)]}}function xr(t){throw[0,rm,t]}function Ir(t){throw[0,em,t]}function Cr(t,r){return H(t,r)?t:r}function Nr(t){return 0<=t?t:0|-t}function Lr(t,r){var e=wt(t),n=wt(r),a=U(e+n|0);return l(t,0,a,0,e),l(r,0,a,e,n),a}function Rr(t,r){return t?[0,t[1],Rr(t[2],r)]:r}function Pr(t){for(var r=0,e=t;;){if(!e)return r;var r=r+1|0,e=e[2];}}function Or(t){return t?t[1]:xr(_m)}function Ur(t,r){for(var e=t,n=r;;){if(!e)return n;var a=[0,e[1],n],e=e[2],n=a;}}function Dr(t){return Ur(t,0)}function Mr(t,r){if(r){var e=r[2];return[0,yr(t,r[1]),Mr(t,e)]}return 0}function Fr(t,r){for(n=r;;){if(!n)return 0;var e=n[2];yr(t,n[1]);var n=e;}}function Xr(t,r,e){for(var n=r,a=e;;){if(!a)return n;var u=a[2],n=wr(t,n,a[1]),a=u;}}function Br(t,r){for(var e=t,n=r;;){if(0===e)return n;if(!n)throw[0,im,Tm];var e=e-1|0,n=n[2];}}function jr(t){return 0<=t&&!(lh>1,w=Br(y,r),g=p(y,r),T=p(t-y|0,w),_=0;;){if(g){if(T){var S=T[2],A=T[1],E=g[2],x=g[1],I=wr(b,x,A);if(0===I){var g=E,T=S,_=[0,x,_];continue}if(0>1,w=Br(y,r),g=k(y,r),T=k(t-y|0,w),_=0;;){if(g){if(T){var S=T[2],A=T[1],E=g[2],x=g[1],I=wr(b,x,A);if(0===I){var g=E,T=S,_=[0,x,_];continue}if(0<=I){var T=S,_=[0,A,_];continue}var g=E,_=[0,x,_];continue}return Ur(g,_)}return Ur(T,_)}},h=Pr(r),d=2<=h?k(h,r):r,m=function(t,r){if(!(3>>0))switch(t){case 0:return[0,0,r];case 1:if(r)return[0,[0,0,r[1],0,1],r[2]];break;case 2:if(r){var n=r[2];if(n)return[0,[0,[0,0,r[1],0,1],n[1],0,2],n[2]]}break;default:if(r){var a=r[2];if(a){var u=a[2];if(u)return[0,[0,[0,0,r[1],0,1],a[1],[0,0,u[1],0,1],2],u[2]]}}}var i=t/2|0,f=m(i,r),c=f[2],s=f[1];if(c){var o=c[1],v=m((t-i|0)-1|0,c[2]),l=v[2];return[0,e(s,o,v[1]),l]}throw[0,im,Bm]};return m(Pr(d),d)[1]}return a(v[1],a(l,a(o,a(c,u(i)))))}return a(l,a(o,a(c,u(i))))}return a(o,a(c,u(i)))}return a(c,u(i))}return u(i)}return 0}]}function ne(t){throw Y$}function ae(t){var r=t[1];t[1]=ne;try{var e=yr(r,0);return t[1]=e,nr(t,Ql),e}catch(r){throw r=mr(r),t[1]=function(t){throw r},r}}function ue(t){var r=1<=t?t:1,e=q$>>0?1:0:65<=a?0:1;else{if(32===a)f=1;else if(43<=a)switch(a+na|0){case 5:if(n<(e+2|0)&&1>>0)if(93<=e)n=0;else n=1;else if(56<(e-1|0)>>>0)n=0;else var n=1;if(n){var a=a+1|0;continue}}else;var u=1;}if(u){var i=[0,0],f=Ft(t)-1|0;if(!(f<0))for(p=0;;){var c=gt(t,p);if(32<=c){var s=c+kp|0;if(58>>0)if(93<=s)var o=0,v=0;else v=1;else if(56<(s-1|0)>>>0)var o=1,v=0;else v=1;if(v)var b=1,o=2;}else o=11<=c?13===c?1:0:8<=c?1:0;switch(o){case 0:b=4;break;case 1:b=2;}i[1]=i[1]+b|0;var k=p+1|0;if(f===p)break;var p=k;}if(i[1]===Ft(t)){var h=Ft(t),d=U(h);qd(t,0,d,0,h);S=d;}else{var m=U(i[1]);i[1]=0;var y=Ft(t)-1|0;if(!(y<0))for(_=0;;){var w=gt(t,_);if(35<=w)g=92===w?1:$b<=w?0:2;else if(32<=w)g=34<=w?1:2;else if(14<=w)g=0;else switch(w){case 8:or(m,i[1],92),or(m,++i[1],98);g=3;break;case 9:or(m,i[1],92),or(m,++i[1],Ad);g=3;break;case 10:or(m,i[1],92),or(m,++i[1],ol);g=3;break;case 13:or(m,i[1],92),or(m,++i[1],rf);g=3;break;default:var g=0;}switch(g){case 0:or(m,i[1],92),or(m,++i[1],48+(w/Tb|0)|0),or(m,++i[1],48+((w/10|0)%10|0)|0),or(m,++i[1],48+(w%10|0)|0);break;case 1:or(m,i[1],92),or(m,++i[1],w);break;case 2:or(m,i[1],w);}i[1]++;var T=_+1|0;if(y===_)break;var _=T;}S=m;}}else var S=t;var A=wt(S),E=qr(A+2|0,34);return l(S,0,E,1,A),E}}function xe(t,r){switch(t){case 0:e=Ew;break;case 1:e=xw;break;case 2:e=Iw;break;case 3:e=Cw;break;case 4:e=Nw;break;case 5:e=Lw;break;case 6:e=Rw;break;case 7:e=Pw;break;case 8:e=Ow;break;case 9:e=Uw;break;case 10:e=Dw;break;case 11:e=Mw;break;default:var e=Fw;}return Y(e,r)}function Ie(t,r){switch(t){case 0:e=tw;break;case 1:e=rw;break;case 2:e=ew;break;case 3:e=nw;break;case 4:e=aw;break;case 5:e=uw;break;case 6:e=iw;break;case 7:e=fw;break;case 8:e=cw;break;case 9:e=sw;break;case 10:e=ow;break;case 11:e=vw;break;default:var e=lw;}return Y(e,r)}function Ce(t,r){switch(t){case 0:e=jy;break;case 1:e=Gy;break;case 2:e=qy;break;case 3:e=Yy;break;case 4:e=Jy;break;case 5:e=Hy;break;case 6:e=Wy;break;case 7:e=zy;break;case 8:e=Vy;break;case 9:e=$y;break;case 10:e=Ky;break;case 11:e=Qy;break;default:var e=Zy;}return Y(e,r)}function Ne(t,r){switch(t){case 0:e=bw;break;case 1:e=kw;break;case 2:e=pw;break;case 3:e=hw;break;case 4:e=dw;break;case 5:e=mw;break;case 6:e=yw;break;case 7:e=ww;break;case 8:e=gw;break;case 9:e=Tw;break;case 10:e=_w;break;case 11:e=Sw;break;default:var e=Aw;}return yt(e,r)}function Le(t,r,e){if(16<=t){if(17<=t)switch(t+xb|0){case 2:a=0;break;case 0:case 3:var n=43,a=1;break;default:var n=32,a=1;}else a=0;if(!a)n=45;var u=ft(e,r,n);if(19<=t){var i=Ft(u);if(0===i)return u;var f=U(i),c=i-1|0;if(!(c<0))for(b=0;;){var s=gt(u,b);if(97<=s)if(xs>>0?55===T?1:0:21<(T-1|0)>>>0?1:0)){var _=_+1|0;continue}var S=1;}return S?m:Lr(m,My)}}return m}function Re(t,r,e,n,a,u,i,f){if("number"==typeof a){if("number"==typeof u)return 0===u?function(a){return Fe(t,r,[4,e,wr(i,f,a)],n)}:function(a,u){return Fe(t,r,[4,e,Ae(a,wr(i,f,u))],n)};var c=u[1];return function(a){return Fe(t,r,[4,e,Ae(c,wr(i,f,a))],n)}}if(0===a[0]){var s=a[2],o=a[1];if("number"==typeof u)return 0===u?function(a){return Fe(t,r,[4,e,Se(o,s,wr(i,f,a))],n)}:function(a,u){return Fe(t,r,[4,e,Se(o,s,Ae(a,wr(i,f,u)))],n)};var v=u[1];return function(a){return Fe(t,r,[4,e,Se(o,s,Ae(v,wr(i,f,a)))],n)}}var l=a[1];if("number"==typeof u)return 0===u?function(a,u){return Fe(t,r,[4,e,Se(l,a,wr(i,f,u))],n)}:function(a,u,c){return Fe(t,r,[4,e,Se(l,a,Ae(u,wr(i,f,c)))],n)};var b=u[1];return function(a,u){return Fe(t,r,[4,e,Se(l,a,Ae(b,wr(i,f,u)))],n)}}function Pe(t,r,e,n,a,u){if("number"==typeof a)return function(a){return Fe(t,r,[4,e,yr(u,a)],n)};if(0===a[0]){var i=a[2],f=a[1];return function(a){return Fe(t,r,[4,e,Se(f,i,yr(u,a))],n)}}var c=a[1];return function(a,i){return Fe(t,r,[4,e,Se(c,a,yr(u,i))],n)}}function Oe(t,r,e,n,a){for(var u=r,i=n,f=a;;){if("number"==typeof f)return wr(u,e,i);switch(f[0]){case 0:var c=f[1];return function(t){return Fe(u,e,[5,i,t],c)};case 1:var s=f[1];return function(t){var r=Gr(t),n=wt(r),a=qr(n+2|0,39);return l(r,0,a,1,n),Fe(u,e,[4,i,a],s)};case 2:var o=f[2],v=f[1];return Pe(u,e,i,o,v,function(t){return t});case 3:return Pe(u,e,i,f[2],f[1],Ee);case 4:return Re(u,e,i,f[4],f[2],f[3],xe,f[1]);case 5:return Re(u,e,i,f[4],f[2],f[3],Ie,f[1]);case 6:return Re(u,e,i,f[4],f[2],f[3],Ce,f[1]);case 7:return Re(u,e,i,f[4],f[2],f[3],Ne,f[1]);case 8:var b=f[4],k=f[3],p=f[2],h=f[1];if("number"==typeof p){if("number"==typeof k)return 0===k?function(t){return Fe(u,e,[4,i,Le(h,J$,t)],b)}:function(t,r){return Fe(u,e,[4,i,Le(h,t,r)],b)};var d=k[1];return function(t){return Fe(u,e,[4,i,Le(h,d,t)],b)}}if(0===p[0]){var m=p[2],y=p[1];if("number"==typeof k)return 0===k?function(t){return Fe(u,e,[4,i,Se(y,m,Le(h,J$,t))],b)}:function(t,r){return Fe(u,e,[4,i,Se(y,m,Le(h,t,r))],b)};var w=k[1];return function(t){return Fe(u,e,[4,i,Se(y,m,Le(h,w,t))],b)}}var g=p[1];if("number"==typeof k)return 0===k?function(t,r){return Fe(u,e,[4,i,Se(g,t,Le(h,J$,r))],b)}:function(t,r,n){return Fe(u,e,[4,i,Se(g,t,Le(h,r,n))],b)};var T=k[1];return function(t,r){return Fe(u,e,[4,i,Se(g,t,Le(h,T,r))],b)};case 9:var _=f[1];return function(t){return Fe(u,e,[4,i,t?wm:gm],_)};case 10:var i=[7,i],f=f[1];continue;case 11:var i=[2,i,f[1]],f=f[2];continue;case 12:var i=[3,i,f[1]],f=f[2];continue;case 13:var S=f[3],A=f[2],E=oe(16);pe(E,A);var x=ke(E);return function(t){return Fe(u,e,[4,i,x],S)};case 14:var I=f[3],C=f[2];return function(t){var r=Te(t[1],Sr(he(C)));if("number"==typeof r[2])return Fe(u,e,i,Er(r[1],I));throw H$};case 15:var N=f[1];return function(t,r){return Fe(u,e,[6,i,function(e){return wr(t,e,r)}],N)};case 16:var L=f[1];return function(t){return Fe(u,e,[6,i,t],L)};case 17:var i=[0,i,f[1]],f=f[2];continue;case 18:var R=f[1];if(0===R[0]){var P=f[2],O=R[1][1],u=function(t,r,e){return function(n,a){return Fe(r,n,[1,t,[0,a]],e)}}(i,u,P),i=0,f=O;continue}var U=f[2],D=R[1][1],u=function(t,r,e){return function(n,a){return Fe(r,n,[1,t,[1,a]],e)}}(i,u,U),i=0,f=D;continue;case 19:throw[0,im,Iy];case 20:var M=f[3],F=[8,i,Cy];return function(t){return Fe(u,e,F,M)};case 21:var X=f[2];return function(t){return Fe(u,e,[4,i,Y(xy,t)],X)};case 22:var B=f[1];return function(t){return Fe(u,e,[5,i,t],B)};case 23:var j=f[2],G=f[1];if("number"==typeof G)switch(G){case 0:case 1:case 2:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j]);case 3:throw[0,im,Ny];default:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j])}else switch(G[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j]);case 8:var q=G[2];return t<50?Ue(t+1|0,u,e,i,q,j):pr(Ue,[0,u,e,i,q,j]);case 9:default:return t<50?De(t+1|0,u,e,i,j):pr(De,[0,u,e,i,j])}default:var J=f[3],H=f[1],W=yr(f[2],0);return t<50?Me(t+1|0,u,e,i,J,H,W):pr(Me,[0,u,e,i,J,H,W])}}}function Ue(t,r,e,n,a,u){if("number"==typeof a)return t<50?De(t+1|0,r,e,n,u):pr(De,[0,r,e,n,u]);switch(a[0]){case 0:var i=a[1];return function(t){return Xe(r,e,n,i,u)};case 1:var f=a[1];return function(t){return Xe(r,e,n,f,u)};case 2:var c=a[1];return function(t){return Xe(r,e,n,c,u)};case 3:var s=a[1];return function(t){return Xe(r,e,n,s,u)};case 4:var o=a[1];return function(t){return Xe(r,e,n,o,u)};case 5:var v=a[1];return function(t){return Xe(r,e,n,v,u)};case 6:var l=a[1];return function(t){return Xe(r,e,n,l,u)};case 7:var b=a[1];return function(t){return Xe(r,e,n,b,u)};case 8:var k=a[2];return function(t){return Xe(r,e,n,k,u)};case 9:var p=a[3],h=a[2],d=me(he(a[1]),h);return function(t){return Xe(r,e,n,Ar(d,p),u)};case 10:var m=a[1];return function(t,a){return Xe(r,e,n,m,u)};case 11:var y=a[1];return function(t){return Xe(r,e,n,y,u)};case 12:var w=a[1];return function(t){return Xe(r,e,n,w,u)};case 13:throw[0,im,Ly];default:throw[0,im,Ry]}}function De(t,r,e,n,a){var u=[8,n,Py];return t<50?Oe(t+1|0,r,e,u,a):pr(Oe,[0,r,e,u,a])}function Me(t,r,e,n,a,u,i){if(u){var f=u[1];return function(t){return Be(r,e,n,a,f,yr(i,t))}}var c=[4,n,i];return t<50?Oe(t+1|0,r,e,c,a):pr(Oe,[0,r,e,c,a])}function Fe(t,r,e,n){return kr(Oe(0,t,r,e,n))}function Xe(t,r,e,n,a){return kr(Ue(0,t,r,e,n,a))}function Be(t,r,e,n,a,u){return kr(Me(0,t,r,e,n,a,u))}function je(t,r){for(o=r;;){if("number"==typeof o)return 0;switch(o[0]){case 0:var e=o[2],n=o[1];if("number"==typeof e)switch(e){case 0:a=Xw;break;case 1:a=Bw;break;case 2:a=jw;break;case 3:a=Gw;break;case 4:a=qw;break;case 5:a=Yw;break;default:a=Jw;}else switch(e[0]){case 0:case 1:a=e[1];break;default:var a=Lr(Hw,zr(1,e[1]));}return je(t,n),se(t,a);case 1:var u=o[2],i=o[1];if(0===u[0]){var f=u[1];je(t,i),se(t,Oy);o=f;continue}var c=u[1];je(t,i),se(t,Uy);o=c;continue;case 6:var s=o[2];return je(t,o[1]),se(t,yr(s,0));case 7:var o=o[1];continue;case 8:var v=o[2];return je(t,o[1]),Ir(v);case 2:case 4:var l=o[2];return je(t,o[1]),se(t,l);default:var b=o[2];return je(t,o[1]),ce(t,b)}}}function Ge(t){return Fe(function(t,r){var e=ue(64);return je(e,r),ie(e)},0,0,t[1])}function qe(t,r){var e=t[r+1];if(1-("number"==typeof e)){if(ar(e)===bd)return yr(Ge(ig),e);if(ar(e)===Sl)for(var n=q(mm,e),a=0,u=wt(n);;){if(u<=a)return Lr(n,ym);var i=cr(n,a);if(!(48<=i?58<=i?0:1:45===i?1:0))return n;a=a+1|0;}return fg}return yr(Ge(ug),e)}function Ye(t,r){if(t.length-1<=r)return zw;var e=Ye(t,r+1|0),n=qe(t,r);return wr(Ge(Vw),n,e)}function Je(t){var r=t.length-1;if(2>>0){var e=Ye(t,2),n=qe(t,1);return wr(Ge(rg),n,e)}switch(r){case 0:return eg;case 1:return ng;default:var a=qe(t,1);return yr(Ge(ag),a)}}function He(t){return W$[1]=[0,t,W$[1]],0}function We(t,r){for(var e=t?t[1]:$$,n=16;;){if(r<=n||G$<(2*n|0)){if(e){var a=ar(K$),u=Ql===a?K$[1]:ls===a?ae(K$):K$;u[2]=(u[2]+1|0)%55|0;var i=u[2],f=I(u[1],i)[i+1],c=(u[2]+24|0)%55|0,s=(I(u[1],c)[c+1]+(f^31&(f>>>25|0))|0)&wp,o=u[2];I(u[1],o)[o+1]=s;v=s;}else var v=0;return[0,0,Dt(n,0),v,n]}n=2*n|0;}}function ze(t,r){return 3<=t.length-1?et(10,Tb,t[3],r)&(t[2].length-1-1|0):rr(at(10,Tb,r),t[2].length-1)}function Ve(t,r,e){var n=ze(t,r),a=[0,r,e,I(t[2],n)[n+1]];I(t[2],n)[n+1]=a,t[1]=t[1]+1|0;var u=t[2].length-1<<1>16)*r<<16)+(t&ki)*r|0});var Hd=Math.imul,Wd=Math.log2&&1020==Math.log2(1.1235582092889474e307),zd=256,Vd=Math.pow(2,-24),$d=function(){function t(t,r){return t+r|0}function r(r,e,n,a,u,i){return e=t(t(e,r),t(a,i)),t(e<>>32-u,n)}function e(t,e,n,a,u,i,f){return r(e&n|~e&a,t,e,u,i,f)}function n(t,e,n,a,u,i,f){return r(e&a|n&~a,t,e,u,i,f)}function a(t,e,n,a,u,i,f){return r(e^n^a,t,e,u,i,f)}function u(t,e,n,a,u,i,f){return r(n^(e|~a),t,e,u,i,f)}function i(r,i){for(r[(b=i)>>2]|=Zn<<8*(3&b),b=8+(-4&b);(63&b)<60;b+=4)r[(b>>2)-1]=0;r[(b>>2)-1]=i<<3,r[b>>2]=i>>29&536870911;var f=[1732584193,4023233417,2562383102,271733878];for(b=0;b>8*k&lh;return l}return function(t,r,e){var n=[];switch(6&t.t){default:k(t);case 0:for(var a=t.c,u=0;u>2]=a.charCodeAt(c)|a.charCodeAt(c+1)<<8|a.charCodeAt(c+2)<<16|a.charCodeAt(c+3)<<24;}for(;u>2]|=a.charCodeAt(u+r)<<8*(3&u);break;case 4:for(var f=t.c,u=0;u>2]=f[c]|f[c+1]<<8|f[c+2]<<16|f[c+3]<<24;}for(;u>2]|=f[u+r]<<8*(3&u);}return Mt(i(n,e))}}(),Kd=0;Yt.prototype={truncate:function(){this.data=jt(0),this.modified();},modified:function(){var t=qt();this.atime=t,this.mtime=t;}};Jt.prototype={exists:function(t){return this.content[t]?1:0},mk:function(t,r){this.content[t]=r;},get:function(t){return this.content[t]},list:function(){var t=[];for(var r in this.content)t.push(r);return t},remove:function(t){delete this.content[t];}},(new Jt).mk(mb,new Jt),Ht(0,new Yt(jt(0))),Ht(1,new Yt(jt(0))),Ht(2,new Yt(jt(0)));var Qd=new Array,Zd={},tm=[Ov,y(fu),-1],rm=[Ov,y($k),-3],em=[Ov,y(av),-4],nm=[Ov,y(Gs),-7],am=[Ov,y(Lb),-8],um=[Ov,y(Ls),-9],im=[Ov,y(Qi),-11],fm=[Ov,y(yd),-12],cm=[0,[11,y('File "'),[2,0,[11,y('", line '),[4,0,0,0,[11,y(", characters "),[4,0,0,0,[12,45,[4,0,0,0,[11,y(": "),[2,0,0]]]]]]]]]],y('File "%s", line %d, characters %d-%d: %s')],sm=[0,0,[0,0,0,0],[0,0,0,0]],om=[0,0,0],vm=y(""),lm=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),bm=[0,0,0,0,0,1,0],km=[0,0,0],pm=[0,1],hm=[0,0];ur(11,fm,yd),ur(10,im,Qi),ur(9,[Ov,y(Fv),-10],Fv),ur(8,um,Ls),ur(7,am,Lb),ur(6,nm,Gs),ur(5,[Ov,y(ec),-6],ec),ur(4,[Ov,y(Hk),-5],Hk),ur(3,em,av),ur(2,rm,$k),ur(1,[Ov,y(pp),-2],pp),ur(0,tm,fu);var dm=y("output_substring"),mm=y("%.12g"),ym=y(bi),wm=y(Ko),gm=y(ko),Tm=[0,y("list.ml"),227,11],_m=y("hd"),Sm=y("\\\\"),Am=y("\\'"),Em=y("\\b"),xm=y("\\t"),Im=y("\\n"),Cm=y("\\r"),Nm=y("Char.chr"),Lm=y("String.blit / Bytes.blit_string"),Rm=y("Bytes.blit"),Pm=y("String.sub / Bytes.sub"),Om=y("String.contains_from / Bytes.contains_from"),Um=(y(mb),y("String.concat"),y("Array.blit")),Dm=y("Array.init"),Mm=y("Set.remove_min_elt"),Fm=[0,0,0,0],Xm=[0,0,0],Bm=[0,y("set.ml"),405,18],jm=y(Od),Gm=y(Od),qm=y(Od),Ym=y(Od),Jm=y("CamlinternalLazy.Undefined"),Hm=y("Buffer.add_substring/add_subbytes"),Wm=y("Buffer.add: cannot grow buffer"),zm=y("%c"),Vm=y("%s"),$m=y("%i"),Km=y("%li"),Qm=y("%ni"),Zm=y("%Li"),ty=y("%f"),ry=y("%B"),ey=y("%{"),ny=y("%}"),ay=y("%("),uy=y("%)"),iy=y("%a"),fy=y("%t"),cy=y("%?"),sy=y("%r"),oy=y("%_r"),vy=[0,y(vp),845,23],ly=[0,y(vp),809,21],by=[0,y(vp),810,21],ky=[0,y(vp),813,21],py=[0,y(vp),814,21],hy=[0,y(vp),817,19],dy=[0,y(vp),818,19],my=[0,y(vp),821,22],yy=[0,y(vp),822,22],wy=[0,y(vp),826,30],gy=[0,y(vp),827,30],Ty=[0,y(vp),831,26],_y=[0,y(vp),832,26],Sy=[0,y(vp),841,28],Ay=[0,y(vp),842,28],Ey=[0,y(vp),846,23],xy=y("%u"),Iy=[0,y(vp),1520,4],Cy=y("Printf: bad conversion %["),Ny=[0,y(vp),1588,39],Ly=[0,y(vp),1611,31],Ry=[0,y(vp),1612,31],Py=y("Printf: bad conversion %_"),Oy=y("@{"),Uy=y("@["),Dy=y(ak),My=y(bi),Fy=y("neg_infinity"),Xy=y(Bu),By=y("%.12g"),jy=y("%nd"),Gy=y("%+nd"),qy=y("% nd"),Yy=y("%ni"),Jy=y("%+ni"),Hy=y("% ni"),Wy=y("%nx"),zy=y("%#nx"),Vy=y("%nX"),$y=y("%#nX"),Ky=y("%no"),Qy=y("%#no"),Zy=y("%nu"),tw=y("%ld"),rw=y("%+ld"),ew=y("% ld"),nw=y("%li"),aw=y("%+li"),uw=y("% li"),iw=y("%lx"),fw=y("%#lx"),cw=y("%lX"),sw=y("%#lX"),ow=y("%lo"),vw=y("%#lo"),lw=y("%lu"),bw=y("%Ld"),kw=y("%+Ld"),pw=y("% Ld"),hw=y("%Li"),dw=y("%+Li"),mw=y("% Li"),yw=y("%Lx"),ww=y("%#Lx"),gw=y("%LX"),Tw=y("%#LX"),_w=y("%Lo"),Sw=y("%#Lo"),Aw=y("%Lu"),Ew=y(hc),xw=y("%+d"),Iw=y("% d"),Cw=y("%i"),Nw=y("%+i"),Lw=y("% i"),Rw=y("%x"),Pw=y("%#x"),Ow=y("%X"),Uw=y("%#X"),Dw=y("%o"),Mw=y("%#o"),Fw=y("%u"),Xw=y("@]"),Bw=y("@}"),jw=y("@?"),Gw=y("@\n"),qw=y("@."),Yw=y("@@"),Jw=y("@%"),Hw=y("@"),Ww=y("CamlinternalFormat.Type_mismatch"),zw=y(mb),Vw=[0,[11,y(", "),[2,0,[2,0,0]]],y(", %s%s")],$w=y("Out of memory"),Kw=y("Stack overflow"),Qw=y("Pattern matching failed"),Zw=y("Assertion failed"),tg=y("Undefined recursive module"),rg=[0,[12,40,[2,0,[2,0,[12,41,0]]]],y("(%s%s)")],eg=y(mb),ng=y(mb),ag=[0,[12,40,[2,0,[12,41,0]]],y("(%s)")],ug=[0,[4,0,0,0,0],y(hc)],ig=[0,[3,0,0],y("%S")],fg=y("_"),cg=y("x"),sg=y("OCAMLRUNPARAM"),og=y("CAMLRUNPARAM"),vg=y(mb),lg=[3,0,3],bg=y(bi),kg=y(">"),pg=y(""),dg=y("<"),mg=y("\n"),yg=y("Format.Empty_queue"),wg=[0,y(mb)],gg=y("TMPDIR"),Tg=y("TEMP"),_g=y("Cygwin"),Sg=y("Win32"),Ag=[0,y("sedlexing.ml"),51,25],Eg=y("Sedlexing.MalFormed"),xg=y("Js.Error"),Ig=y(Mk),Cg=y(xf),Ng=[0,[0]],Lg=[0,y(Ib),18,6],Rg=[0,[0,[0,[0]]]],Pg=[0,y(Ib),39,6],Og=[0,[0]],Ug=[0,y(Ib),44,6],Dg=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],Mg=[0,y(Ib),218,6],Fg=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],Xg=[0,y(Ib),516,6],Bg=[0,[0,[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0,[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]]]],jg=[0,y(Ib),782,6],Gg=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],qg=[0,y(Ib),885,6],Yg=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],Jg=[0,y(Ib),950,6],Hg=[0,[0]],Wg=[0,y(Ib),957,6],zg=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],Vg=[0,y(Ib),1010,6],$g=[0,[0,[0,[0]]]],Kg=[0,y(Ib),1033,6],Qg=[0,[0]],Zg=[0,[0,[0,[0]]]],tT=[0,[0]],rT=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],eT=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],nT=[0,[0,[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0,[0,[0]],[0,[0]]]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]],[0,[0]]]],aT=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],uT=[0,[0,[0,[0,[0,[0]],[0,[0]]]],[0,[0,[0,[0]]]],[0,[0]],[0,[0]]]],iT=[0,[0]],fT=[0,[0,[0,[0]],[0,[0]],[0,[0]],[0,[0]]]],cT=[0,[0,[0,[0]]]],sT=y("Unexpected number"),oT=y("Unexpected string"),vT=y("Unexpected identifier"),lT=y("Unexpected reserved word"),bT=y("Unexpected end of input"),kT=y("Unexpected variance sigil"),pT=y("Type aliases are not allowed in untyped mode"),hT=y("Type annotations are not allowed in untyped mode"),dT=y("Type declarations are not allowed in untyped mode"),mT=y("Type imports are not allowed in untyped mode"),yT=y("Type exports are not allowed in untyped mode"),wT=y("Interfaces are not allowed in untyped mode"),gT=y("Illegal newline after throw"),TT=y("Invalid regular expression"),_T=y("Invalid regular expression: missing /"),ST=y("Invalid left-hand side in assignment"),AT=y("Invalid left-hand side in exponentiation expression"),ET=y("Invalid left-hand side in for-in"),xT=y("Invalid left-hand side in for-of"),IT=y("found an expression instead"),CT=y("Expected an object pattern, array pattern, or an identifier but "),NT=y("More than one default clause in switch statement"),LT=y("Missing catch or finally after try"),RT=y("Illegal continue statement"),PT=y("Illegal break statement"),OT=y("Illegal return statement"),UT=y("Illegal yield expression"),DT=y("Strict mode code may not include a with statement"),MT=y("Catch variable may not be eval or arguments in strict mode"),FT=y("Variable name may not be eval or arguments in strict mode"),XT=y("Parameter name eval or arguments is not allowed in strict mode"),BT=y("Strict mode function may not have duplicate parameter names"),jT=y("Function name may not be eval or arguments in strict mode"),GT=y("Octal literals are not allowed in strict mode."),qT=y("Delete of an unqualified identifier in strict mode."),YT=y("Duplicate data property in object literal not allowed in strict mode"),JT=y("Object literal may not have data and accessor property with the same name"),HT=y("Object literal may not have multiple get/set accessors with the same name"),WT=y("Assignment to eval or arguments is not allowed in strict mode"),zT=y("Postfix increment/decrement may not have eval or arguments operand in strict mode"),VT=y("Prefix increment/decrement may not have eval or arguments operand in strict mode"),$T=y("Use of future reserved word in strict mode"),KT=y("JSX attributes must only be assigned a non-empty expression"),QT=y("JSX value should be either an expression or a quoted JSX text"),ZT=y("Const must be initialized"),t_=y("Destructuring assignment must be initialized"),r_=y("Illegal newline before arrow"),e_=y(" declared at top level or immediately within another function."),n_=y("In strict mode code, functions can only be"),a_=y("elements must be wrapped in an enclosing parent tag"),u_=y("Unexpected token <. Remember, adjacent JSX "),i_=y("Rest parameter must be final parameter of an argument list"),f_=y("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),c_=y("`declare export let` is not supported. Use `declare export var` instead."),s_=y("`declare export const` is not supported. Use `declare export var` instead."),o_=y("`declare export type` is not supported. Use `export type` instead."),v_=y("`declare export interface` is not supported. Use `export interface` instead."),l_=y("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),b_=y("When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?"),k_=y("When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?"),p_=y("Found a decorator in an unsupported position."),h_=y("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),d_=y("The Windows version of OCaml has a bug in how it parses hexidecimal numbers. It is fixed in OCaml 4.03.0. Until we can switch to 4.03.0, please avoid either hexidecimal notation or Windows."),m_=y("Duplicate `declare module.exports` statement!"),y_=y("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),w_=y("Getter should have zero parameters"),g_=y("Setter should have exactly one parameter"),T_=y("`import type` or `import typeof`!"),__=y("Imports within a `declare module` body must always be "),S_=y("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),A_=y("Missing comma between import specifiers"),E_=y("Malformed unicode"),x_=y("Unexpected parser state: "),I_=y("Unexpected token "),C_=[0,[11,y("Unexpected token `"),[2,0,[11,y("`. Did you mean `"),[2,0,[11,y("`?"),0]]]]],y("Unexpected token `%s`. Did you mean `%s`?")],N_=y("'"),L_=y("Invalid flags supplied to RegExp constructor '"),R_=y("'"),P_=y("Undefined label '"),O_=y("' has already been declared"),U_=y(" '"),D_=y("Expected corresponding JSX closing tag for "),M_=[0,[11,y("Duplicate export for `"),[2,0,[12,96,0]]],y("Duplicate export for `%s`")],F_=y("Parse_error.Error"),X_=y("comments"),B_=y(Gc),j_=y("Program"),G_=y("DebuggerStatement"),q_=y("EmptyStatement"),Y_=y(yv),J_=y("BreakStatement"),H_=y(yv),W_=y("ContinueStatement"),z_=y(gh),V_=y("DeclareExportAllDeclaration"),$_=y(gh),K_=y(Pd),Q_=y(hs),Z_=y(hb),tS=y("DeclareExportDeclaration"),rS=y(hi),eS=y(Gc),nS=y(Vo),aS=y("DeclareModule"),uS=y(Id),iS=y("DeclareModuleExports"),fS=y(yo),cS=y(Gc),sS=y("DoWhileStatement"),oS=y(yb),vS=y(hs),lS=y("ExportDefaultDeclaration"),bS=y(yb),kS=y(gh),pS=y("ExportAllDeclaration"),hS=y(yb),dS=y(gh),mS=y(Pd),yS=y(hs),wS=y("ExportNamedDeclaration"),gS=y("directive"),TS=y(ji),_S=y("ExpressionStatement"),SS=y(Gc),AS=y("update"),ES=y(yo),xS=y(Ts),IS=y("ForStatement"),CS=y("each"),NS=y(Gc),LS=y(Xc),RS=y(Rl),PS=y("ForInStatement"),OS=y("ForAwaitStatement"),US=y("ForOfStatement"),DS=y(Gc),MS=y(Xc),FS=y(Rl),XS=y(ci),BS=y(Jn),jS=y(yo),GS=y("IfStatement"),qS=y(Su),YS=y(jl),JS=y(qi),HS=y(Bd),WS=y(gh),zS=y(Pd),VS=y("ImportDeclaration"),$S=y(Gc),KS=y(yv),QS=y("LabeledStatement"),ZS=y(_b),tA=y("ReturnStatement"),rA=y("cases"),eA=y("discriminant"),nA=y("SwitchStatement"),aA=y(_b),uA=y("ThrowStatement"),iA=y("finalizer"),fA=y("handler"),cA=y("block"),sA=y("TryStatement"),oA=y(Gc),vA=y(yo),lA=y("WhileStatement"),bA=y(Gc),kA=y(sl),pA=y("WithStatement"),hA=y("Super"),dA=y("ThisExpression"),mA=y(lp),yA=y("ArrayExpression"),wA=y(lo),gA=y(Al),TA=y(ji),_A=y(Jp),SA=y(Ch),AA=y(Cl),EA=y(Gc),xA=y(Qn),IA=y(Vo),CA=y("ArrowFunctionExpression"),NA=y("="),LA=y("+="),RA=y("-="),PA=y("*="),OA=y("**="),UA=y("/="),DA=y("%="),MA=y("<<="),FA=y(">>="),XA=y(">>>="),BA=y("|="),jA=y("^="),GA=y("&="),qA=y(Xc),YA=y(Rl),JA=y(Cp),HA=y("AssignmentExpression"),WA=y("=="),zA=y("!="),VA=y("==="),$A=y("!=="),KA=y("<"),QA=y("<="),ZA=y(">"),tE=y(">="),rE=y("<<"),eE=y(">>"),nE=y(">>>"),aE=y(Mb),uE=y(xl),iE=y("*"),fE=y("**"),cE=y("/"),sE=y("%"),oE=y("|"),vE=y("^"),lE=y("&"),bE=y("in"),kE=y(wb),pE=y(Xc),hE=y(Rl),dE=y(Cp),mE=y("BinaryExpression"),yE=y(fs),wE=y(Dp),gE=y(Vs),TE=y("filter"),_E=y("blocks"),SE=y("ComprehensionExpression"),AE=y(ci),EE=y(Jn),xE=y(yo),IE=y("ConditionalExpression"),CE=y("filter"),NE=y("blocks"),LE=y("GeneratorExpression"),RE=y(fs),PE=y("Import"),OE=y(Dp),UE=y(Vs),DE=y("&&"),ME=y("||"),FE=y(Xc),XE=y(Rl),BE=y(Cp),jE=y("LogicalExpression"),GE=y(qo),qE=y(mk),YE=y(sl),JE=y("MemberExpression"),HE=y(mk),WE=y("meta"),zE=y("MetaProperty"),VE=y(fs),$E=y(Dp),KE=y("NewExpression"),QE=y(es),ZE=y("ObjectExpression"),tx=y(of),rx=y("SequenceExpression"),ex=y(Id),nx=y(ji),ax=y("TypeCastExpression"),ux=y(_b),ix=y("AwaitExpression"),fx=y(xl),cx=y(Mb),sx=y("!"),ox=y("~"),vx=y(jl),lx=y(tk),bx=y("delete"),kx=y("matched above"),px=y(_b),hx=y("prefix"),dx=y(Cp),mx=y("UnaryExpression"),yx=y("--"),wx=y("++"),gx=y("prefix"),Tx=y(_b),_x=y(Cp),Sx=y("UpdateExpression"),Ax=y("delegate"),Ex=y(_b),xx=y("YieldExpression"),Ix=y(lo),Cx=y(Al),Nx=y(ji),Lx=y(Jp),Rx=y(Ch),Px=y(Cl),Ox=y(Gc),Ux=y(Qn),Dx=y(Vo),Mx=y("FunctionDeclaration"),Fx=y(lo),Xx=y(Al),Bx=y(ji),jx=y(Jp),Gx=y(Ch),qx=y(Cl),Yx=y(Gc),Jx=y(Qn),Hx=y(Vo),Wx=y("FunctionExpression"),zx=y(ah),Vx=y(Id),$x=y(Np),Kx=y(Pn),Qx=y(ah),Zx=y(Id),tI=y(Np),rI=y(Pn),eI=y(Jn),nI=y(yo),aI=y("SwitchCase"),uI=y(Gc),iI=y("param"),fI=y("CatchClause"),cI=y(Gc),sI=y("BlockStatement"),oI=y(Vo),vI=y("DeclareVariable"),lI=y(Jp),bI=y(Vo),kI=y("DeclareFunction"),pI=y(Xd),hI=y(Gc),dI=y(lo),mI=y(Vo),yI=y("DeclareClass"),wI=y(qi),gI=y(Su),TI=y(kf),_I=y("ExportNamespaceSpecifier"),SI=y(Xc),AI=y(lo),EI=y(Vo),xI=y("TypeAlias"),II=y(Ta),CI=y(ti),NI=y(Bv),LI=y(lo),RI=y(co),PI=y(Gc),OI=y(Vo),UI=y("ClassDeclaration"),DI=y(Ta),MI=y(ti),FI=y(Bv),XI=y(lo),BI=y(co),jI=y(Gc),GI=y(Vo),qI=y("ClassExpression"),YI=y(lo),JI=y(Vo),HI=y("ClassImplements"),WI=y(Gc),zI=y("ClassBody"),VI=y(ua),$I=y(Oa),KI=y(lf),QI=y(Uc),ZI=y(Ta),tC=y(qo),rC=y(ps),eC=y(hi),nC=y(qi),aC=y(pd),uC=y("MethodDefinition"),iC=y(Fn),fC=y(ps),cC=y(qo),sC=y(Id),oC=y(qi),vC=y(pd),lC=y("ClassProperty"),bC=y(Xd),kC=y(Gc),pC=y(lo),hC=y(Vo),dC=y("InterfaceDeclaration"),mC=y(lo),yC=y(Vo),wC=y("InterfaceExtends"),gC=y(Id),TC=y(es),_C=y("ObjectPattern"),SC=y(Id),AC=y(lp),EC=y("ArrayPattern"),xC=y(Xc),IC=y(Rl),CC=y("AssignmentPattern"),NC=y(_b),LC=y(md),RC=y(_b),PC=y(md),OC=y(Ts),UC=y(lf),DC=y(Uc),MC=y(qo),FC=y(Av),XC=y(Oa),BC=y(hi),jC=y(qi),GC=y(pd),qC=y(Ku),YC=y(_b),JC=y("SpreadProperty"),HC=y(qo),WC=y(Av),zC=y(Oa),VC=y(hi),$C=y(qi),KC=y(pd),QC=y(Ku),ZC=y(_b),tN=y("RestProperty"),rN=y(_b),eN=y("SpreadElement"),nN=y("each"),aN=y(Xc),uN=y(Rl),iN=y("ComprehensionBlock"),fN=y("regex"),cN=y(ui),sN=y(qi),oN=y(ui),vN=y(qi),lN=y("Literal"),bN=y(of),kN=y("quasis"),pN=y("TemplateLiteral"),hN=y("tail"),dN=y(qi),mN=y("TemplateElement"),yN=y("quasi"),wN=y("tag"),gN=y("TaggedTemplateExpression"),TN=y("var"),_N=y("let"),SN=y("const"),AN=y(hi),EN=y("declarations"),xN=y("VariableDeclaration"),IN=y(Ts),CN=y(Vo),NN=y("VariableDeclarator"),LN=y("AnyTypeAnnotation"),RN=y("MixedTypeAnnotation"),PN=y("EmptyTypeAnnotation"),ON=y("VoidTypeAnnotation"),UN=y("NullLiteralTypeAnnotation"),DN=y("NumberTypeAnnotation"),MN=y("StringTypeAnnotation"),FN=y("BooleanTypeAnnotation"),XN=y(Id),BN=y("NullableTypeAnnotation"),jN=y(lo),GN=y("rest"),qN=y(Al),YN=y(Qn),JN=y("FunctionTypeAnnotation"),HN=y(ah),WN=y(Id),zN=y(Np),VN=y("FunctionTypeParam"),$N=[0,0,0,0],KN=y("callProperties"),QN=y("indexers"),ZN=y(es),tL=y("exact"),rL=y("ObjectTypeAnnotation"),eL=y("There should not be computed object type property keys"),nL=y(Ts),aL=y(lf),uL=y(Uc),iL=y(hi),fL=y(Fn),cL=y(ps),sL=y(ah),oL=y(qi),vL=y(pd),lL=y("ObjectTypeProperty"),bL=y(_b),kL=y("ObjectTypeSpreadProperty"),pL=y(Fn),hL=y(ps),dL=y(qi),mL=y(pd),yL=y(Vo),wL=y("ObjectTypeIndexer"),gL=y(ps),TL=y(qi),_L=y("ObjectTypeCallProperty"),SL=y("elementType"),AL=y("ArrayTypeAnnotation"),EL=y(Vo),xL=y("qualification"),IL=y("QualifiedTypeIdentifier"),CL=y(lo),NL=y(Vo),LL=y("GenericTypeAnnotation"),RL=y(Wp),PL=y("UnionTypeAnnotation"),OL=y(Wp),UL=y("IntersectionTypeAnnotation"),DL=y(_b),ML=y("TypeofTypeAnnotation"),FL=y(Wp),XL=y("TupleTypeAnnotation"),BL=y(ui),jL=y(qi),GL=y("StringLiteralTypeAnnotation"),qL=y(ui),YL=y(qi),JL=y("NumberLiteralTypeAnnotation"),HL=y(ui),WL=y(qi),zL=y("BooleanLiteralTypeAnnotation"),VL=y("ExistsTypeAnnotation"),$L=y(Id),KL=y("TypeAnnotation"),QL=y(Qn),ZL=y("TypeParameterDeclaration"),tR=y(hb),rR=y(Fn),eR=y("bound"),nR=y(Np),aR=y("TypeParameter"),uR=y(Qn),iR=y("TypeParameterInstantiation"),fR=y("children"),cR=y("closingElement"),sR=y("openingElement"),oR=y("JSXElement"),vR=y("selfClosing"),lR=y("attributes"),bR=y(Np),kR=y("JSXOpeningElement"),pR=y(Np),hR=y("JSXClosingElement"),dR=y(qi),mR=y(Np),yR=y("JSXAttribute"),wR=y(_b),gR=y("JSXSpreadAttribute"),TR=y("JSXEmptyExpression"),_R=y(ji),SR=y("JSXExpressionContainer"),AR=y(ui),ER=y(qi),xR=y("JSXText"),IR=y(mk),CR=y(sl),NR=y("JSXMemberExpression"),LR=y(Np),RR=y("namespace"),PR=y("JSXNamespacedName"),OR=y(Np),UR=y("JSXIdentifier"),DR=y(kf),MR=y(Qk),FR=y("ExportSpecifier"),XR=y(Qk),BR=y("ImportDefaultSpecifier"),jR=y(Qk),GR=y("ImportNamespaceSpecifier"),qR=y(Bd),YR=y(Qk),JR=y("imported"),HR=y("ImportSpecifier"),WR=y("Block"),zR=y("Line"),VR=y(qi),$R=y(qi),KR=y("DeclaredPredicate"),QR=y("InferredPredicate"),ZR=y("range"),tP=y("loc"),rP=y(Su),eP=[0,1,0],nP=y("T_IDENTIFIER"),aP=y("T_LCURLY"),uP=y("T_RCURLY"),iP=y("T_LCURLYBAR"),fP=y("T_RCURLYBAR"),cP=y("T_LPAREN"),sP=y("T_RPAREN"),oP=y("T_LBRACKET"),vP=y("T_RBRACKET"),lP=y("T_SEMICOLON"),bP=y("T_COMMA"),kP=y("T_PERIOD"),pP=y("T_ARROW"),hP=y("T_ELLIPSIS"),dP=y("T_AT"),mP=y("T_FUNCTION"),yP=y("T_IF"),wP=y("T_IN"),gP=y("T_INSTANCEOF"),TP=y("T_RETURN"),_P=y("T_SWITCH"),SP=y("T_THIS"),AP=y("T_THROW"),EP=y("T_TRY"),xP=y("T_VAR"),IP=y("T_WHILE"),CP=y("T_WITH"),NP=y("T_CONST"),LP=y("T_LET"),RP=y("T_NULL"),PP=y("T_FALSE"),OP=y("T_TRUE"),UP=y("T_BREAK"),DP=y("T_CASE"),MP=y("T_CATCH"),FP=y("T_CONTINUE"),XP=y("T_DEFAULT"),BP=y("T_DO"),jP=y("T_FINALLY"),GP=y("T_FOR"),qP=y("T_CLASS"),YP=y("T_EXTENDS"),JP=y("T_STATIC"),HP=y("T_ELSE"),WP=y("T_NEW"),zP=y("T_DELETE"),VP=y("T_TYPEOF"),$P=y("T_VOID"),KP=y("T_ENUM"),QP=y("T_EXPORT"),ZP=y("T_IMPORT"),tO=y("T_SUPER"),rO=y("T_IMPLEMENTS"),eO=y("T_INTERFACE"),nO=y("T_PACKAGE"),aO=y("T_PRIVATE"),uO=y("T_PROTECTED"),iO=y("T_PUBLIC"),fO=y("T_YIELD"),cO=y("T_DEBUGGER"),sO=y("T_DECLARE"),oO=y("T_TYPE"),vO=y("T_OF"),lO=y("T_ASYNC"),bO=y("T_AWAIT"),kO=y("T_CHECKS"),pO=y("T_RSHIFT3_ASSIGN"),hO=y("T_RSHIFT_ASSIGN"),dO=y("T_LSHIFT_ASSIGN"),mO=y("T_BIT_XOR_ASSIGN"),yO=y("T_BIT_OR_ASSIGN"),wO=y("T_BIT_AND_ASSIGN"),gO=y("T_MOD_ASSIGN"),TO=y("T_DIV_ASSIGN"),_O=y("T_MULT_ASSIGN"),SO=y("T_EXP_ASSIGN"),AO=y("T_MINUS_ASSIGN"),EO=y("T_PLUS_ASSIGN"),xO=y("T_ASSIGN"),IO=y("T_PLING"),CO=y("T_COLON"),NO=y("T_OR"),LO=y("T_AND"),RO=y("T_BIT_OR"),PO=y("T_BIT_XOR"),OO=y("T_BIT_AND"),UO=y("T_EQUAL"),DO=y("T_NOT_EQUAL"),MO=y("T_STRICT_EQUAL"),FO=y("T_STRICT_NOT_EQUAL"),XO=y("T_LESS_THAN_EQUAL"),BO=y("T_GREATER_THAN_EQUAL"),jO=y("T_LESS_THAN"),GO=y("T_GREATER_THAN"),qO=y("T_LSHIFT"),YO=y("T_RSHIFT"),JO=y("T_RSHIFT3"),HO=y("T_PLUS"),WO=y("T_MINUS"),zO=y("T_DIV"),VO=y("T_MULT"),$O=y("T_EXP"),KO=y("T_MOD"),QO=y("T_NOT"),ZO=y("T_BIT_NOT"),tU=y("T_INCR"),rU=y("T_DECR"),eU=y("T_ERROR"),nU=y("T_EOF"),aU=y("T_JSX_IDENTIFIER"),uU=y("T_ANY_TYPE"),iU=y("T_MIXED_TYPE"),fU=y("T_EMPTY_TYPE"),cU=y("T_BOOLEAN_TYPE"),sU=y("T_NUMBER_TYPE"),oU=y("T_STRING_TYPE"),vU=y("T_VOID_TYPE"),lU=y("T_NUMBER"),bU=y("T_STRING"),kU=y("T_TEMPLATE_PART"),pU=y("T_REGEXP"),hU=y("T_JSX_TEXT"),dU=y("T_NUMBER_SINGLETON_TYPE"),mU=y(Yk),yU=[0,3],wU=y(Yk),gU=[0,3],TU=y(Yk),_U=[0,3],SU=y(Yk),AU=[0,1],EU=y(Yk),xU=[0,2],IU=y(Yk),CU=[0,0],NU=y(Yk),LU=y(":"),RU=y(":"),PU=y(Pi),OU=[0,0],UU=[0,2],DU=[0,1],MU=[0,3],FU=[0,3],XU=[0,3],BU=y(Yk),jU=y(Yk),GU=y(Yk),qU=y(Yk),YU=y(Yk),JU=y(Yk),HU=y(Yk),WU=y(":"),zU=y(":"),VU=y(Pi),$U=y(Yk),KU=y("\\"),QU=y(Yk),ZU=y("\\"),tD=y(Nv),rD=y(ha),eD=y(ha),nD=y(ha),aD=y(eh),uD=y(eh),iD=y("*-/"),fD=y("*/"),cD=y("*-/"),sD=y(Yk),oD=y(Yk),vD=y(Yk),lD=y(mb),bD=y(mb),kD=y(mb),pD=y(mb),hD=y(Yk),dD=y("\\\\"),mD=y(Yk),yD=y("'"),wD=y(Yk),gD=y(Yk),TD=y("'"),_D=y('"'),SD=y("<"),AD=y("{"),ED=y(eh),xD=y("iexcl"),ID=y("aelig"),CD=y("Nu"),ND=y("Eacute"),LD=y("Atilde"),RD=y("'int'"),PD=y("AElig"),OD=y("Aacute"),UD=y("Acirc"),DD=y("Agrave"),MD=y("Alpha"),FD=y("Aring"),XD=[0,197],BD=[0,913],jD=[0,Io],GD=[0,194],qD=[0,193],YD=[0,198],JD=[0,8747],HD=y("Auml"),WD=y("Beta"),zD=y("Ccedil"),VD=y("Chi"),$D=y("Dagger"),KD=y("Delta"),QD=y("ETH"),ZD=[0,208],tM=[0,916],rM=[0,8225],eM=[0,935],nM=[0,199],aM=[0,914],uM=[0,196],iM=[0,195],fM=y("Icirc"),cM=y("Ecirc"),sM=y("Egrave"),oM=y("Epsilon"),vM=y("Eta"),lM=y("Euml"),bM=y("Gamma"),kM=y("Iacute"),pM=[0,205],hM=[0,915],dM=[0,203],mM=[0,919],yM=[0,917],wM=[0,200],gM=[0,202],TM=y("Igrave"),_M=y("Iota"),SM=y("Iuml"),AM=y("Kappa"),EM=y("Lambda"),xM=y("Mu"),IM=y("Ntilde"),CM=[0,209],NM=[0,924],LM=[0,923],RM=[0,922],PM=[0,207],OM=[0,921],UM=[0,204],DM=[0,206],MM=[0,201],FM=y("Sigma"),XM=y("Otilde"),BM=y("OElig"),jM=y("Oacute"),GM=y("Ocirc"),qM=y("Ograve"),YM=y("Omega"),JM=y("Omicron"),HM=y("Oslash"),WM=[0,216],zM=[0,927],VM=[0,937],$M=[0,210],KM=[0,212],QM=[0,211],ZM=[0,338],tF=y("Ouml"),rF=y("Phi"),eF=y("Pi"),nF=y("Prime"),aF=y("Psi"),uF=y("Rho"),iF=y("Scaron"),fF=[0,352],cF=[0,929],sF=[0,936],oF=[0,8243],vF=[0,928],lF=[0,934],bF=[0,214],kF=[0,213],pF=y("Uuml"),hF=y("THORN"),dF=y("Tau"),mF=y("Theta"),yF=y("Uacute"),wF=y("Ucirc"),gF=y("Ugrave"),TF=y("Upsilon"),_F=[0,933],SF=[0,217],AF=[0,219],EF=[0,218],xF=[0,920],IF=[0,932],CF=[0,222],NF=y("Xi"),LF=y("Yacute"),RF=y("Yuml"),PF=y("Zeta"),OF=y("aacute"),UF=y("acirc"),DF=y("acute"),MF=[0,180],FF=[0,226],XF=[0,225],BF=[0,918],jF=[0,376],GF=[0,221],qF=[0,926],YF=[0,220],JF=[0,931],HF=[0,925],WF=y("delta"),zF=y("cap"),VF=y("aring"),$F=y("agrave"),KF=y("alefsym"),QF=y("alpha"),ZF=y("amp"),tX=y("and"),rX=y("ang"),eX=y("apos"),nX=[0,39],aX=[0,8736],uX=[0,8743],iX=[0,38],fX=[0,945],cX=[0,8501],sX=[0,Jl],oX=y("asymp"),vX=y("atilde"),lX=y("auml"),bX=y("bdquo"),kX=y("beta"),pX=y("brvbar"),hX=y("bull"),dX=[0,8226],mX=[0,166],yX=[0,946],wX=[0,8222],gX=[0,228],TX=[0,227],_X=[0,8776],SX=[0,229],AX=y("copy"),EX=y("ccedil"),xX=y("cedil"),IX=y("cent"),CX=y("chi"),NX=y("circ"),LX=y("clubs"),RX=y("cong"),PX=[0,8773],OX=[0,9827],UX=[0,710],DX=[0,967],MX=[0,162],FX=[0,184],XX=[0,231],BX=y("crarr"),jX=y("cup"),GX=y("curren"),qX=y("dArr"),YX=y("dagger"),JX=y("darr"),HX=y("deg"),WX=[0,176],zX=[0,8595],VX=[0,8224],$X=[0,8659],KX=[0,164],QX=[0,8746],ZX=[0,8629],tB=[0,169],rB=[0,8745],eB=y("fnof"),nB=y("ensp"),aB=y("diams"),uB=y("divide"),iB=y("eacute"),fB=y("ecirc"),cB=y("egrave"),sB=y("empty"),oB=y("emsp"),vB=[0,8195],lB=[0,8709],bB=[0,232],kB=[0,234],pB=[0,233],hB=[0,247],dB=[0,9830],mB=y("epsilon"),yB=y("equiv"),wB=y("eta"),gB=y("eth"),TB=y("euml"),_B=y("euro"),SB=y("exist"),AB=[0,8707],EB=[0,8364],xB=[0,235],IB=[0,Kp],CB=[0,951],NB=[0,8801],LB=[0,949],RB=[0,8194],PB=y("gt"),OB=y("forall"),UB=y("frac12"),DB=y("frac14"),MB=y("frac34"),FB=y("frasl"),XB=y("gamma"),BB=y("ge"),jB=[0,8805],GB=[0,947],qB=[0,8260],YB=[0,190],JB=[0,188],HB=[0,189],WB=[0,8704],zB=y("hArr"),VB=y("harr"),$B=y("hearts"),KB=y("hellip"),QB=y("iacute"),ZB=y("icirc"),tj=[0,238],rj=[0,237],ej=[0,8230],nj=[0,9829],aj=[0,8596],uj=[0,8660],ij=[0,62],fj=[0,402],cj=[0,948],sj=[0,230],oj=y("prime"),vj=y("ndash"),lj=y("le"),bj=y("kappa"),kj=y("igrave"),pj=y("image"),hj=y("infin"),dj=y("iota"),mj=y("iquest"),yj=y("isin"),wj=y("iuml"),gj=[0,239],Tj=[0,8712],_j=[0,191],Sj=[0,953],Aj=[0,8734],Ej=[0,8465],xj=[0,236],Ij=y("lArr"),Cj=y("lambda"),Nj=y("lang"),Lj=y("laquo"),Rj=y("larr"),Pj=y("lceil"),Oj=y("ldquo"),Uj=[0,8220],Dj=[0,8968],Mj=[0,8592],Fj=[0,171],Xj=[0,10216],Bj=[0,955],jj=[0,8656],Gj=[0,954],qj=y("macr"),Yj=y("lfloor"),Jj=y("lowast"),Hj=y("loz"),Wj=y("lrm"),zj=y("lsaquo"),Vj=y("lsquo"),$j=y("lt"),Kj=[0,60],Qj=[0,8216],Zj=[0,8249],tG=[0,8206],rG=[0,9674],eG=[0,8727],nG=[0,8970],aG=y("mdash"),uG=y("micro"),iG=y("middot"),fG=y(Uo),cG=y("mu"),sG=y("nabla"),oG=y("nbsp"),vG=[0,160],lG=[0,8711],bG=[0,956],kG=[0,8722],pG=[0,183],hG=[0,181],dG=[0,8212],mG=[0,175],yG=[0,8804],wG=y("or"),gG=y("oacute"),TG=y("ne"),_G=y("ni"),SG=y("not"),AG=y("notin"),EG=y("nsub"),xG=y("ntilde"),IG=y("nu"),CG=[0,957],NG=[0,241],LG=[0,8836],RG=[0,8713],PG=[0,172],OG=[0,8715],UG=[0,8800],DG=y("ocirc"),MG=y("oelig"),FG=y("ograve"),XG=y("oline"),BG=y("omega"),jG=y("omicron"),GG=y("oplus"),qG=[0,8853],YG=[0,959],JG=[0,969],HG=[0,Wu],WG=[0,242],zG=[0,339],VG=[0,244],$G=[0,243],KG=y("part"),QG=y("ordf"),ZG=y("ordm"),tq=y("oslash"),rq=y("otilde"),eq=y("otimes"),nq=y("ouml"),aq=y("para"),uq=[0,182],iq=[0,ls],fq=[0,8855],cq=[0,Mo],sq=[0,Ov],oq=[0,186],vq=[0,170],lq=y("permil"),bq=y("perp"),kq=y("phi"),pq=y("pi"),hq=y("piv"),dq=y("plusmn"),mq=y("pound"),yq=[0,163],wq=[0,177],gq=[0,982],Tq=[0,960],_q=[0,966],Sq=[0,8869],Aq=[0,8240],Eq=[0,8706],xq=[0,8744],Iq=[0,8211],Cq=y("sup1"),Nq=y("rlm"),Lq=y("raquo"),Rq=y("prod"),Pq=y("prop"),Oq=y("psi"),Uq=y("quot"),Dq=y("rArr"),Mq=y("radic"),Fq=y("rang"),Xq=[0,10217],Bq=[0,8730],jq=[0,8658],Gq=[0,34],qq=[0,968],Yq=[0,8733],Jq=[0,8719],Hq=y("rarr"),Wq=y("rceil"),zq=y("rdquo"),Vq=y("real"),$q=y("reg"),Kq=y("rfloor"),Qq=y("rho"),Zq=[0,961],tY=[0,8971],rY=[0,174],eY=[0,8476],nY=[0,8221],aY=[0,8969],uY=[0,8594],iY=[0,187],fY=y("sigma"),cY=y("rsaquo"),sY=y("rsquo"),oY=y("sbquo"),vY=y("scaron"),lY=y("sdot"),bY=y("sect"),kY=y("shy"),pY=[0,173],hY=[0,167],dY=[0,8901],mY=[0,353],yY=[0,8218],wY=[0,8217],gY=[0,8250],TY=y("sigmaf"),_Y=y("sim"),SY=y("spades"),AY=y("sub"),EY=y("sube"),xY=y("sum"),IY=y("sup"),CY=[0,8835],NY=[0,8721],LY=[0,8838],RY=[0,8834],PY=[0,9824],OY=[0,8764],UY=[0,962],DY=[0,963],MY=[0,8207],FY=y("uarr"),XY=y("thetasym"),BY=y("sup2"),jY=y("sup3"),GY=y("supe"),qY=y("szlig"),YY=y("tau"),JY=y("there4"),HY=y("theta"),WY=[0,952],zY=[0,8756],VY=[0,964],$Y=[0,223],KY=[0,8839],QY=[0,179],ZY=[0,178],tJ=y("thinsp"),rJ=y("thorn"),eJ=y("tilde"),nJ=y("times"),aJ=y("trade"),uJ=y("uArr"),iJ=y("uacute"),fJ=[0,Ql],cJ=[0,8657],sJ=[0,8482],oJ=[0,215],vJ=[0,732],lJ=[0,Cn],bJ=[0,8201],kJ=[0,977],pJ=y("xi"),hJ=y("ucirc"),dJ=y("ugrave"),mJ=y("uml"),yJ=y("upsih"),wJ=y("upsilon"),gJ=y("uuml"),TJ=y("weierp"),_J=[0,8472],SJ=[0,bd],AJ=[0,965],EJ=[0,978],xJ=[0,168],IJ=[0,249],CJ=[0,251],NJ=y("yacute"),LJ=y("yen"),RJ=y("yuml"),PJ=y("zeta"),OJ=y("zwj"),UJ=y("zwnj"),DJ=[0,8204],MJ=[0,Il],FJ=[0,950],XJ=[0,lh],BJ=[0,165],jJ=[0,Sl],GJ=[0,958],qJ=[0,8593],YJ=[0,185],JJ=[0,8242],HJ=[0,161],WJ=y(";"),zJ=y("&"),VJ=y(Yk),$J=y("}"),KJ=[0,y(mb),y(mb),y(mb)],QJ=y(Yk),ZJ=y("${"),tH=y("\r\n"),rH=y("\r\n"),eH=y("\n"),nH=y(ha),aH=y(Xl),uH=y(Hc),iH=y(au),fH=(y("src/parser/lexer.ml"),y(mb),[1,y("ILLEGAL")]),cH=y("/"),sH=y("/"),oH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),vH=y(""),lH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),bH=y(""),kH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),pH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),hH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),dH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),mH=y("\b\t\n\v\f\r"),yH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),wH=y(""),gH=y("\0"),TH=y("\0"),_H=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),SH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),AH=y(""),EH=y(""),xH=y(""),IH=y(""),CH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),NH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),LH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),RH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),PH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),OH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),UH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),DH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),MH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b\0\0\0\0\0\b"),FH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),XH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),BH=y("\0\0\0"),jH=y('\b\t\n\v\f\r\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t!\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"#$%\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'),GH=y("\b\t\n\v\f\r"),qH=y("\0\0\0\0"),YH=y(""),JH=y("\b\t\n\v\f\r"),HH=y(""),WH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),zH=y("\0\0"),VH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),$H=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),KH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),QH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ZH=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),tW=y("\0"),rW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),eW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),nW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),aW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),uW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),iW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),fW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),cW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),sW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),oW=y(""),vW=y(""),lW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),bW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),kW=y("\0"),pW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),hW=y("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),dW=y("Lexer.FloatOfString.No_good"),mW=Ut([[0,y(Pk),15],[0,y("if"),16],[0,y("in"),17],[0,y(wb),18],[0,y("return"),19],[0,y("switch"),20],[0,y("this"),21],[0,y("throw"),22],[0,y("try"),23],[0,y("var"),24],[0,y("while"),25],[0,y("with"),26],[0,y("const"),27],[0,y("let"),28],[0,y(ff),29],[0,y(ko),30],[0,y(Ko),31],[0,y("break"),32],[0,y("case"),33],[0,y("catch"),34],[0,y("continue"),35],[0,y(hb),36],[0,y("do"),37],[0,y("finally"),38],[0,y("for"),39],[0,y("class"),40],[0,y(Xd),41],[0,y(ps),42],[0,y("else"),43],[0,y("new"),44],[0,y("delete"),45],[0,y(jl),46],[0,y(tk),47],[0,y("enum"),48],[0,y("export"),49],[0,y("import"),50],[0,y("super"),51],[0,y(ti),52],[0,y(ab),53],[0,y(hu),54],[0,y(Gu),55],[0,y(rl),56],[0,y("public"),57],[0,y("yield"),58],[0,y("debugger"),59],[0,y("declare"),60],[0,y(Su),61],[0,y("of"),62],[0,y(Cl),63],[0,y("await"),64]]),yW=Ut([[0,y(ps),42],[0,y(jl),46],[0,y("any"),ol],[0,y("mixed"),111],[0,y("empty"),112],[0,y("bool"),113],[0,y("boolean"),113],[0,y(Ko),31],[0,y(ko),30],[0,y("number"),rf],[0,y("string"),115],[0,y(tk),Ad],[0,y(ff),29]]),wW=y(Ga),gW=y(Ga),TW=y(fs),_W=y("eval"),SW=y(ti),AW=y(ab),EW=y(hu),xW=y(Gu),IW=y(rl),CW=y("public"),NW=y(ps),LW=y("yield"),RW=y("enum"),PW=[0,y("src/parser/parser_env.ml"),289,2],OW=y(mb),UW=[0,0,0],DW=y(Kc),MW=y(Kc),FW=y("Parser_env.Try.Rollback"),XW=[0,y("did not consume any tokens")],BW=[0,1],jW=[0,0,0],GW=[0,y(ni),494,6],qW=y(ps),YW=y(lf),JW=y(Uc),HW=y(lf),WW=[0,1],zW=[0,[0,0,0]],VW=[0,1],$W=[0,1],KW=[0,1],QW=[0,0],ZW=[0,1],tz=[0,2],rz=[0,7],ez=[0,5],nz=[0,6],az=[0,3],uz=[0,4],iz=[0,y(ni),106,17],fz=[0,y(ni),85,17],cz=[0,y(ni),63,11],sz=[0,y(ni),67,11],oz=[0,y(ni),45,14],vz=[0,31],lz=[0,31],bz=[0,1],kz=[0,29],pz=[0,y(Ef),826,13],hz=[0,y(Ef),728,17],dz=[0,[0,y(mb),y(mb)],1],mz=y(ff),yz=y(ha),wz=y(Xl),gz=y(Hc),Tz=y(au),_z=[0,31],Sz=y("new"),Az=y("target"),Ez=[0,1],xz=[0,0],Iz=[0,1],Cz=[0,0],Nz=[0,1],Lz=[0,0],Rz=[0,2],Pz=[0,3],Oz=[0,7],Uz=[0,6],Dz=[0,4],Mz=[0,5],Fz=[0,[0,17,[0,2]]],Xz=[0,[0,18,[0,3]]],Bz=[0,[0,19,[0,4]]],jz=[0,[0,0,[0,5]]],Gz=[0,[0,1,[0,5]]],qz=[0,[0,2,[0,5]]],Yz=[0,[0,3,[0,5]]],Jz=[0,[0,5,[0,6]]],Hz=[0,[0,7,[0,6]]],Wz=[0,[0,4,[0,6]]],zz=[0,[0,6,[0,6]]],Vz=[0,[0,8,[0,7]]],$z=[0,[0,9,[0,7]]],Kz=[0,[0,10,[0,7]]],Qz=[0,[0,11,[0,8]]],Zz=[0,[0,12,[0,8]]],tV=[0,[0,15,[0,9]]],rV=[0,[0,13,[0,9]]],eV=[0,[0,14,[1,10]]],nV=[0,[0,16,[0,9]]],aV=[0,[0,21,[0,6]]],uV=[0,[0,20,[0,6]]],iV=[0,9],fV=[0,8],cV=[0,7],sV=[0,11],oV=[0,10],vV=[0,12],lV=[0,6],bV=[0,5],kV=[0,3],pV=[0,4],hV=[0,2],dV=[0,1],mV=[0,0],yV=[0,6],wV=y(Cl),gV=y(":"),TV=y(bi),_V=y(mb),SV=[0,y(mb)],AV=y(ua),EV=y(ua),xV=[0,1],IV=[0,1],CV=[0,1],NV=[0,1],LV=y(lf),RV=y(Uc),PV=y(lf),OV=y(Uc),UV=y(Su),DV=[0,0],MV=y(jl),FV=[0,1],XV=y($o),BV=y($o),jV=y($o),GV=y(Nc),qV=y($o),YV=y(Nc),JV=y($o),HV=y($o),WV=y(Nc),zV=[0,y(Va),1141,15],VV=y("other than an interface declaration!"),$V=y("Internal Flow Error! Parsed `export interface` into something "),KV=[0,1],QV=[0,1],ZV=y("other than a type alias!"),t$=y("Internal Flow Error! Parsed `export type` into something "),r$=y($o),e$=y($o),n$=y(hb),a$=y(Nc),u$=y("Internal Flow Error! Unexpected export statement declaration!"),i$=y($o),f$=y($o),c$=y(Nc),s$=[0,1],o$=y("module"),v$=[0,1],l$=y("module"),b$=y("exports"),k$=[0,1],p$=[0,1],h$=y("mixins"),d$=y("mixins"),m$=[0,1],y$=[0,1],w$=y("Label"),g$=[0,27],T$=[0,0,0],_$=[0,y(Va),197,20],S$=[0,y(Va),214,20],A$=y("Parser error: No such thing as an expression pattern!"),E$=[0,1],x$=[0,1],I$=y("use strict"),C$=[0,0,0],N$=y("\n"),L$=y("Nooo: "),R$=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],P$=[0,y("src/parser/parser_flow.ml"),37,28],O$=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],U$=y("Internal error: ");J();var D$=Qc;!function(t){var r=Gd.fds[t];r.flags.wronly&&Xt(ca+t+" is writeonly"),r.file,r.offset;}(0);var M$=$t(1),F$=$t(2),X$=[0,function(t){return function(t){for(n=t;;){if(!n)return 0;var r=n[2],e=n[1];try{Bt(e);}catch(n){}var n=r;}}(Kt())}],B$=R,j$=function(){return[0,y("Unix"),32,0]}()[1],G$=function(){return Qc/4|0}(),q$=(4*G$|0)-1|0;J(),J(),J();var Y$=[Ov,Jm,J()];J(),J();var J$=-6,H$=[Ov,Ww,J()],W$=[0,0];try{V$=lr(sg);}catch(y){if((y=mr(y))!==nm)throw y;try{z$=lr(og);}catch(y){if((y=mr(y))!==nm)throw y;var z$=vg;}var V$=z$;}var $$=function(t,r){return Qr(t,0,r)}(V$,82),K$=[ls,function(t){for(var r=br(),e=[0,Dt(55,0),0],n=0==r.length-1?[0,0]:r,a=n.length-1,u=0;;){I(e[1],u)[u+1]=u;var i=u+1|0;if(54===u){var f=[0,cg],c=54+Cr(55,a)|0;if(!(c<0))for(g=0;;){var s=g%55|0,o=rr(g,a),v=I(n,o)[o+1],l=Lr(f[1],y(mb+v));f[1]=$d(l,0,wt(l));var b=f[1],k=cr(b,3)<<24,p=cr(b,2)<<16,h=cr(b,1)<<8,d=((cr(b,0)+h|0)+p|0)+k|0,m=(I(e[1],s)[s+1]^d)℘I(e[1],s)[s+1]=m;var w=g+1|0;if(c===g)break;var g=w;}return e[2]=0,e}u=i;}}],Q$=[Ov,yg,J()],Z$=1000000010,tK=[0,[0,-1,[0,-1,wg,0]],0],rK=zr(80,32),eK=Hn,nK=function(t){return ue(eK)}(),aK=yn(M$);yn(F$),function(t){function r(t){return 0}mn(function(r,e,n){var a=e<0?1:0;if(a)i=a;else var u=n<0?1:0,i=u||((wt(r)-n|0)>>6|0)?1:0;if(l)k=l;else var b=2!=(o>>>6|0)?1:0,k=b||(2!=(v>>>6|0)?1:0);if(k)throw fK;var p=(7&c)<<18|(63&s)<<12|(63&o)<<6|63&v,h=1;}else if(Jl<=c){var d=cr(t,u+1|0),m=cr(t,u+2|0);if((2!=(d>>>6|0)?1:0)||(2!=(m>>>6|0)?1:0))throw fK;var y=(15&c)<<12|(63&d)<<6|63&m,w=Zu<=y?1:0;if(w?y<=57088?1:0:w)throw fK;var p=y,h=1;}else{var g=cr(t,u+1|0);if(2!=(g>>>6|0))throw fK;var p=(31&c)<<6|63&g,h=1;}else if(Zn<=c)h=0;else var p=c,h=1;if(h){I(a,i)[i+1]=p;var T=cr(t,u),u=u+I(oK,T)[T+1]|0,i=i+1|0,f=f-1|0;continue}throw fK}var _=a.length-1;return[0,wn,Zr(_,function(t){return I(a,t)[t+1]}),_,0,0,0,0,0,1]}throw fK}var S=cr(t,n),A=I(oK,S)[S+1];if(!(0>>18|0)),ce(u,jr(Zn|63&(c>>>12|0))),ce(u,jr(Zn|63&(c>>>6|0))),ce(u,jr(Zn|63&c));}else{var s=Zu<=c?1:0;if(s?c>>12|0)),ce(u,jr(Zn|63&(c>>>6|0))),ce(u,jr(Zn|63&c));}else ce(u,jr(Io|c>>>6|0)),ce(u,jr(Zn|63&c));else ce(u,jr(c));var i=i+1|0,f=f-1|0;}},mK=function(t){return dK(t,0,t[5]-t[6]|0)},yK=t,wK=null,gK=function(t){return void 0!==t?1:0},TK=yK.Array,_K=[Ov,xg,J()],SK=yK.Error;!function(t,r){ir(t,ar(r)===Ov?r:r[1]);}(Ig,[0,_K,{}]);var AK=function(t){throw t};He(function(t){return t[1]===_K?[0,it(t[2].toString())]:0}),He(function(t){return t instanceof TK?0:[0,it(t.toString())]});var EK=function(t,r){return[0,t[1],t[2],r[3]]},xK=function(t){return"number"==typeof t?Cg:t[1]},IK=function(t){if("number"==typeof t)return 1;switch(t[0]){case 0:return 2;case 1:case 2:return 3;default:return 4}},CK=function(t,r){var e=t[1]-r[1]|0;return 0===e?t[2]-r[2]|0:e},NK=wr(iK,Lg,Ng),LK=wr(iK,Pg,Rg),RK=wr(iK,Ug,Og),PK=wr(iK,Mg,Dg),OK=wr(iK,Xg,Fg),UK=wr(iK,jg,Bg),DK=wr(iK,qg,Gg),MK=wr(iK,Jg,Yg),FK=wr(iK,Wg,Hg),XK=wr(iK,Vg,zg),BK=wr(iK,Kg,$g);gr(uK,Qg,NK,NK),gr(uK,Zg,LK,LK),gr(uK,tT,RK,RK),gr(uK,rT,PK,PK),gr(uK,eT,OK,OK),gr(uK,nT,UK,UK),gr(uK,aT,DK,DK),gr(uK,uT,MK,MK),gr(uK,iT,FK,FK),gr(uK,fT,XK,XK),gr(uK,cT,BK,BK);var jK=[Ov,F_,J()],GK=function(t,r,e){return[0,t,r,eP,0,e,om]},qK=function(t,r){return[0,r[1],t,r[3],r[4],r[5],r[6]]},YK=function(t){return t[3][1]},JK=function(t){return t[3][2]},HK=function(t,r){return t!==r[4]?[0,r[1],r[2],r[3],t,r[5],r[6]]:r},WK=function(t){return 35>>6|0)),r],n=[0,jr(Zn|63&(t>>>12|0)),e];return[0,jr(Kp|t>>>18|0),n]}if(Mc<=t){var a=[0,jr(Zn|63&t),0],u=[0,jr(Zn|63&(t>>>6|0)),a];return[0,jr(Jl|t>>>12|0),u]}if(Zn<=t){var i=[0,jr(Zn|63&t),0];return[0,jr(Io|t>>>6|0),i]}return[0,jr(t),0]},tZ=function(t,r){if(45===cr(r,0))var e=1,n=Vr(r,1,wt(r)-1|0);else var e=0,n=r;if(0===t)c=0;else{switch(t-1|0){case 0:var a=1;try{var u=It(xt(Lr(nH,n)));}catch(r){if(a=0,(r=mr(r))[1]!==rm)throw r;var i=xr(Lr(aH,n)),f=1;}if(a)var i=u,f=1;break;case 1:var c=0,f=0;break;default:var s=1;try{var o=KQ(n);}catch(r){if(s=0,(r=mr(r))[1]!==rm)throw r;var i=xr(Lr(uH,n)),f=1;}if(s)var i=o,f=1;}if(f)var v=i,c=1;}if(!c)try{v=It(xt(n));}catch(f){if((f=mr(f))[1]!==rm)throw f;v=xr(Lr(iH,n));}return[5,t,e?-v:v]},rZ=function(t,r,e){var n=VQ(t,JQ(t,r));return An(r),wr(e,n,r)},eZ=We(0,53),nZ=We(0,53);Fr(function(t){return Ve(eZ,t[1],t[2])},mW),Fr(function(t){return Ve(nZ,t[1],t[2])},yW);var aZ=function(t,r){for(p=t;;){var e=function(t){for(;;)if(_n(t,20),0!==hQ(gn(t)))return Sn(t)},n=function(t){if(0===uQ(gn(t)))for(;;){_n(t,19);var r=zK(gn(t));if(0===r)for(;;)if(_n(t,18),0!==hQ(gn(t)))return Sn(t);if(1!==r)return Sn(t)}return Sn(t)},a=function(t,r){return function(e){_n(e,20);var n=qQ(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:return r(e);default:for(;;){_n(e,19);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,18),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(e,n),u=function(t,r){return function(e){for(;;){_n(e,21);var n=WK(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:continue;default:return r(e)}}}}(e,a),i=function(t,r){return function(e){_n(e,21);var n=zK(gn(e));return 0===n?r(e):1===n?t(e):Sn(e)}}(u,e),f=function(t,r,e){return function(n){for(;;){_n(n,21);var a=QK(gn(n));if(3>>0)return Sn(n);switch(a){case 0:return t(n);case 1:return e(n);case 2:continue;default:return r(n)}}}}(e,a,i),c=function(t){for(;;)if(_n(t,14),0!==hQ(gn(t)))return Sn(t)},s=function(t,r,e,n,a,u,i,f,c,s){return function(o){var v=gn(o),l=Fo>>0)return Sn(o);switch(l){case 0:return 76;case 1:return 77;case 2:if(_n(o,2),0===tQ(gn(o)))for(;;)if(_n(o,2),0!==tQ(gn(o)))return Sn(o);return Sn(o);case 3:return 0;case 4:return _n(o,0),0===kQ(gn(o))?0:Sn(o);case 5:return _n(o,69),0===SQ(gn(o))?(_n(o,42),0===SQ(gn(o))?38:Sn(o)):Sn(o);case 6:return 8;case 7:_n(o,77);var b=gn(o);return 0===(32>>0)return Sn(o);switch(h){case 0:return _n(o,64),0===SQ(gn(o))?54:Sn(o);case 1:return 5;default:return 53}case 14:_n(o,61);var d=gn(o),m=42>>0)return Sn(o);switch(T){case 0:_n(o,3);var _=gQ(gn(o));if(2<_>>>0)return Sn(o);switch(_){case 0:for(;;){var S=gQ(gn(o));if(2>>0)return Sn(o);switch(S){case 0:continue;case 1:return a(o);default:return u(o)}}case 1:return a(o);default:return u(o)}case 1:return 6;default:return 73}case 19:_n(o,21);var A=mQ(gn(o));if(7>>0)return Sn(o);switch(A){case 0:return e(o);case 1:return i(o);case 2:for(;;){_n(o,15);var E=XQ(gn(o));if(4>>0)return Sn(o);switch(E){case 0:return f(o);case 1:return i(o);case 2:continue;case 3:for(;;){_n(o,14);var x=QK(gn(o));if(3>>0)return Sn(o);switch(x){case 0:return f(o);case 1:return i(o);case 2:continue;default:return c(o)}}default:return c(o)}}case 3:return s(o);case 4:_n(o,20);var I=MQ(gn(o));if(0===I)return e(o);if(1===I)for(;;){_n(o,11);var C=MQ(gn(o));if(0===C)for(;;)if(_n(o,10),0!==hQ(gn(o)))return Sn(o);if(1!==C)return Sn(o)}return Sn(o);case 5:return n(o);case 6:_n(o,20);var N=$K(gn(o));if(0===N)return e(o);if(1===N)for(;;){_n(o,13);var L=$K(gn(o));if(0===L)for(;;)if(_n(o,12),0!==hQ(gn(o)))return Sn(o);if(1!==L)return Sn(o)}return Sn(o);default:_n(o,20);var R=lQ(gn(o));if(0===R)return e(o);if(1===R)for(;;){_n(o,17);var P=lQ(gn(o));if(0===P)for(;;)if(_n(o,16),0!==hQ(gn(o)))return Sn(o);if(1!==P)return Sn(o)}return Sn(o)}case 20:_n(o,21);var O=QK(gn(o));if(3>>0)return Sn(o);switch(O){case 0:return e(o);case 1:return i(o);case 2:return s(o);default:return n(o)}case 21:return 33;case 22:return 31;case 23:_n(o,59);var U=gn(o),D=59>>0)return Sn(e);switch(n){case 0:return r(e);case 1:return t(e);default:for(;;){_n(e,14);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,14),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(n,c),f);Tn(r);var o=s(r);if(77>>0)return xr(NU);var v=o;if(39<=v)switch(v){case 39:return[0,p,90];case 40:return[0,p,91];case 41:return[0,p,86];case 42:return[0,p,87];case 43:return[0,p,105];case 44:return[0,p,106];case 45:return[0,p,68];case 46:return[0,p,94];case 47:return[0,p,67];case 48:return[0,p,66];case 49:return[0,p,96];case 50:return[0,p,95];case 51:return[0,p,77];case 52:return[0,p,76];case 53:return[0,p,74];case 54:return[0,p,75];case 55:return[0,p,72];case 56:return[0,p,71];case 57:return[0,p,70];case 58:return[0,p,69];case 59:return[0,p,92];case 60:return[0,p,93];case 61:return[0,p,97];case 62:return[0,p,98];case 63:return[0,p,Tb];case 64:return[0,p,vu];case 65:return[0,p,cb];case 66:return[0,p,83];case 67:return[0,p,85];case 68:return[0,p,84];case 69:return[0,p,ai];case 70:return[0,p,tv];case 71:return[0,p,78];case 72:return[0,p,12];case 73:return[0,p,73];case 74:return[0,p,99];case 75:return[0,p,14];case 76:return[0,p[4]?WQ(p,JQ(p,r),4):p,rv];default:return[0,VQ(p,JQ(p,r)),zv]}switch(v){case 0:p=$Q(p,r);continue;case 1:p=VQ(p,JQ(p,r));continue;case 2:continue;case 3:var l=JQ(p,r),b=ue($b),k=cZ(p,b,r),p=QQ(k[1],l,k[2],b,1);continue;case 4:var h=mK(r);if(p[5]){var d=p[4]?zQ(p,JQ(p,r),h):p,m=HK(1,d),y=In(r);if(fr(dK(r,y-1|0,1),LU)&&sr(dK(r,y-2|0,1),RU))return[0,m,80];p=m;continue}var w=JQ(p,r),g=ue($b);se(g,Vr(h,2,wt(h)-2|0));var T=cZ(p,g,r),p=QQ(T[1],w,T[2],g,1);continue;case 5:if(p[4]){p=HK(0,p);continue}An(r);return Tn(r),0===function(t){return 0===FQ(gn(t))?0:Sn(t)}(r)?[0,p,Tb]:xr(PU);case 6:var _=JQ(p,r),S=ue($b),A=sZ(p,S,r),p=QQ(A[1],_,A[2],S,0);continue;case 7:if(0===En(r)){p=sZ(p,ue($b),r)[1];continue}return[0,p,zv];case 8:var E=mK(r),x=JQ(p,r),I=ue($b),C=ue($b);se(C,E);var N=iZ(p,E,I,C,0,r),L=N[3],R=N[1],P=EK(x,N[2]),O=ie(C);return[0,R,[1,[0,P,ie(I),O,L]]];case 9:var U=ue($b),D=ue($b),M=ue($b);se(M,mK(r));var F=vZ(p,JQ(p,r),U,D,M,r),X=F[3],B=F[2],j=F[1],G=ie(M),q=ie(D);return[0,j,[2,[0,B,[0,ie(U),q,G],X]]];case 10:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===IQ(gn(r)))if(0===_Q(gn(r))){for(;;)if(_n(r,0),0!==_Q(gn(r))){e=Sn(r);break}}else e=Sn(r);else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,CU]:xr(IU)});case 11:return[0,p,OU];case 12:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===DQ(gn(r)))if(0===CQ(gn(r))){for(;;)if(_n(r,0),0!==CQ(gn(r))){e=Sn(r);break}}else e=Sn(r);else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,xU]:xr(EU)});case 13:return[0,p,UU];case 14:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===CQ(gn(r))){for(;;)if(_n(r,0),0!==CQ(gn(r))){e=Sn(r);break}}else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,AU]:xr(SU)});case 15:return[0,p,DU];case 16:return rZ(p,r,function(t,r){if(Tn(r),0===PQ(gn(r)))if(0===bQ(gn(r)))if(0===oQ(gn(r))){for(;;)if(_n(r,0),0!==oQ(gn(r))){e=Sn(r);break}}else e=Sn(r);else e=Sn(r);else var e=Sn(r);return 0===e?[0,t,_U]:xr(TU)});case 17:return[0,p,MU];case 18:return rZ(p,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}function n(t){var r=iQ(gn(t));return 0===r?0===uQ(gn(t))?e(t):Sn(t):1===r?e(t):Sn(t)}function a(t){if(0===uQ(gn(t)))for(;;){var r=ZK(gn(t));if(0!==r)return 1===r?n(t):Sn(t)}return Sn(t)}Tn(r);var u=sQ(gn(r));if(0===u)f=a(r);else if(1===u)for(;;){var i=UQ(gn(r));if(2>>0)f=Sn(r);else switch(i){case 0:f=a(r);break;case 1:continue;default:f=n(r);}break}else var f=Sn(r);return 0===f?[0,t,gU]:xr(wU)});case 19:return[0,p,FU];case 20:return rZ(p,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}Tn(r);var n=sQ(gn(r));if(0===n)u=0===uQ(gn(r))?e(r):Sn(r);else if(1===n)for(;;){_n(r,0);var a=sQ(gn(r));if(0===a){_n(r,0);u=0===uQ(gn(r))?e(r):Sn(r);}else{if(1===a)continue;u=Sn(r);}break}else var u=Sn(r);return 0===u?[0,t,yU]:xr(mU)});case 21:return[0,p,XU];case 22:var Y=mK(r);if(64===cr(Y,0))if(64===cr(Y,1))var J=Vr(Y,2,wt(Y)-2|0),H=1;else H=0;else H=0;if(!H)J=Y;try{return[0,p,$e(eZ,J)]}catch(r){if((r=mr(r))===nm)return[0,p,0];throw r}case 23:return[0,p,1];case 24:return[0,p,2];case 25:return[0,p,5];case 26:return[0,p,6];case 27:return[0,p,7];case 28:return[0,p,8];case 29:return[0,p,13];case 30:return[0,p,11];case 31:return[0,p,9];case 32:return[0,p,10];case 33:return[0,p,80];case 34:return[0,p,79];case 35:return[0,p,82];case 36:return[0,p,81];case 37:return[0,p,88];default:return[0,p,89]}}},uZ=function(t,r){for(g=t;;){var e=function(t){return 0===fQ(gn(t))&&0===LQ(gn(t))&&0===EQ(gn(t))&&0===nQ(gn(t))&&0===aQ(gn(t))&&0===NQ(gn(t))&&0===RQ(gn(t))&&0===fQ(gn(t))&&0===BQ(gn(t))&&0===cQ(gn(t))&&0===wQ(gn(t))?3:Sn(t)},n=function(t){return _n(t,3),0===GQ(gn(t))?3:Sn(t)},a=function(t){for(;;)if(_n(t,17),0!==hQ(gn(t)))return Sn(t)},u=function(t){return function(r){_n(r,17);var e=lQ(gn(r));if(0===e)return t(r);if(1===e)for(;;){_n(r,14);var n=lQ(gn(r));if(0===n)for(;;)if(_n(r,13),0!==hQ(gn(r)))return Sn(r);if(1!==n)return Sn(r)}return Sn(r)}}(a),i=function(t){return function(r){_n(r,17);var e=$K(gn(r));if(0===e)return t(r);if(1===e)for(;;){_n(r,10);var n=$K(gn(r));if(0===n)for(;;)if(_n(r,9),0!==hQ(gn(r)))return Sn(r);if(1!==n)return Sn(r)}return Sn(r)}}(a),f=function(t){return function(r){_n(r,17);var e=MQ(gn(r));if(0===e)return t(r);if(1===e)for(;;){_n(r,8);var n=MQ(gn(r));if(0===n)for(;;)if(_n(r,7),0!==hQ(gn(r)))return Sn(r);if(1!==n)return Sn(r)}return Sn(r)}}(a),c=function(t){if(0===uQ(gn(t)))for(;;){_n(t,16);var r=zK(gn(t));if(0===r)for(;;)if(_n(t,15),0!==hQ(gn(t)))return Sn(t);if(1!==r)return Sn(t)}return Sn(t)},s=function(t,r){return function(e){_n(e,17);var n=qQ(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:return r(e);default:for(;;){_n(e,16);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,15),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(a,c),o=function(t,r){return function(e){for(;;){_n(e,18);var n=WK(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return t(e);case 1:continue;default:return r(e)}}}}(a,s),v=function(t,r){return function(e){_n(e,18);var n=zK(gn(e));return 0===n?r(e):1===n?t(e):Sn(e)}}(o,a),l=function(t,r,e){return function(n){for(;;){_n(n,18);var a=QK(gn(n));if(3>>0)return Sn(n);switch(a){case 0:return t(n);case 1:return e(n);case 2:continue;default:return r(n)}}}}(a,s,v),b=function(t){for(;;)if(_n(t,11),0!==hQ(gn(t)))return Sn(t)},k=function(t,r,e){return function(n){for(;;){_n(n,12);var a=XQ(gn(n));if(4>>0)return Sn(n);switch(a){case 0:return r(n);case 1:return t(n);case 2:continue;case 3:for(;;){_n(n,11);var u=QK(gn(n));if(3>>0)return Sn(n);switch(u){case 0:return r(n);case 1:return t(n);case 2:continue;default:return e(n)}}default:return e(n)}}}}(v,b,function(t,r){return function(e){_n(e,11);var n=qQ(gn(e));if(2>>0)return Sn(e);switch(n){case 0:return r(e);case 1:return t(e);default:for(;;){_n(e,11);var a=zK(gn(e));if(0===a)for(;;)if(_n(e,11),0!==hQ(gn(e)))return Sn(e);if(1!==a)return Sn(e)}}}}(c,b)),p=function(t,r,e,n,a,u,i,f){return function(c){_n(c,18);var s=mQ(gn(c));if(7>>0)return Sn(c);switch(s){case 0:return t(c);case 1:return e(c);case 2:return n(c);case 3:return a(c);case 4:return u(c);case 5:return r(c);case 6:return i(c);default:return f(c)}}}(a,s,v,k,l,f,i,u),h=function(t,r,e,n,a,u,i,f,c,s,o,v,l,b){return function(k){var p=gn(k),h=Fo>>0)return Sn(k);switch(h){case 0:return 50;case 1:return 51;case 2:if(_n(k,1),0===tQ(gn(k)))for(;;)if(_n(k,1),0!==tQ(gn(k)))return Sn(k);return Sn(k);case 3:return 0;case 4:return _n(k,0),0===kQ(gn(k))?0:Sn(k);case 5:return 6;case 6:return _n(k,19),0===AQ(gn(k))?t(k):Sn(k);case 7:if(_n(k,51),0===RQ(gn(k))){var d=gn(k);if(0===(ai>>0)return Sn(k);switch(w){case 0:for(;;){var g=OQ(gn(k));if(3>>0)return Sn(k);switch(g){case 0:continue;case 1:return r(k);case 2:return u(k);default:return c(k)}}case 1:return r(k);case 2:return u(k);default:return c(k)}case 15:_n(k,30);var T=sQ(gn(k));return 0===T?0===KK(gn(k))?29:Sn(k):1===T?e(k):Sn(k);case 16:_n(k,51);var _=TQ(gn(k));if(0===_){_n(k,2);var S=gQ(gn(k));if(2>>0)return Sn(k);switch(S){case 0:for(;;){var A=gQ(gn(k));if(2>>0)return Sn(k);switch(A){case 0:continue;case 1:return l(k);default:return b(k)}}case 1:return l(k);default:return b(k)}}return 1===_?5:Sn(k);case 17:_n(k,18);var E=mQ(gn(k));if(7>>0)return Sn(k);switch(E){case 0:return n(k);case 1:return i(k);case 2:return f(k);case 3:return c(k);case 4:return s(k);case 5:return a(k);case 6:return o(k);default:return v(k)}case 18:_n(k,18);var x=QK(gn(k));if(3>>0)return Sn(k);switch(x){case 0:return n(k);case 1:return i(k);case 2:return c(k);default:return a(k)}case 19:return 33;case 20:return 31;case 21:return 37;case 22:_n(k,39);var I=gn(k);return 0===(61>>0)return xr(HU);switch(d){case 0:g=$Q(g,r);continue;case 1:continue;case 2:var m=JQ(g,r),y=ue($b),w=cZ(g,y,r),g=QQ(w[1],m,w[2],y,1);continue;case 3:var T=mK(r);if(g[5]){var _=g[4]?zQ(g,JQ(g,r),T):g,S=HK(1,_),A=In(r);if(fr(dK(r,A-1|0,1),WU)&&sr(dK(r,A-2|0,1),zU))return[0,S,80];g=S;continue}var E=JQ(g,r),x=ue($b);se(x,T);var I=cZ(g,x,r),g=QQ(I[1],E,I[2],x,1);continue;case 4:if(g[4]){g=HK(0,g);continue}An(r);return Tn(r),0===function(t){return 0===FQ(gn(t))?0:Sn(t)}(r)?[0,g,Tb]:xr(VU);case 5:var C=JQ(g,r),N=ue($b),L=sZ(g,N,r),g=QQ(L[1],C,L[2],N,0);continue;case 6:var R=mK(r),P=JQ(g,r),O=ue($b),U=ue($b);se(U,R);var D=iZ(g,R,O,U,0,r),M=D[3],F=D[1],X=EK(P,D[2]),B=ie(U);return[0,F,[1,[0,X,ie(O),B,M]]];case 7:return rZ(g,r,function(t,r){function e(t){if(0===IQ(gn(t))){if(0===_Q(gn(t)))for(;;)if(_n(t,0),0!==_Q(gn(t)))return Sn(t);return Sn(t)}return Sn(t)}Tn(r);var n=eQ(gn(r));if(0===n)for(;;){var a=pQ(gn(r));if(0!==a){u=1===a?e(r):Sn(r);break}}else var u=1===n?e(r):Sn(r);return 0===u?[0,t,tZ(0,mK(r))]:xr(JU)});case 8:return[0,g,tZ(0,mK(r))];case 9:return rZ(g,r,function(t,r){function e(t){if(0===DQ(gn(t))){if(0===CQ(gn(t)))for(;;)if(_n(t,0),0!==CQ(gn(t)))return Sn(t);return Sn(t)}return Sn(t)}Tn(r);var n=eQ(gn(r));if(0===n)for(;;){var a=pQ(gn(r));if(0!==a){u=1===a?e(r):Sn(r);break}}else var u=1===n?e(r):Sn(r);return 0===u?[0,t,tZ(2,mK(r))]:xr(YU)});case 10:return[0,g,tZ(2,mK(r))];case 11:return rZ(g,r,function(t,r){function e(t){if(0===CQ(gn(t)))for(;;)if(_n(t,0),0!==CQ(gn(t)))return Sn(t);return Sn(t)}Tn(r);var n=eQ(gn(r));if(0===n)for(;;){var a=pQ(gn(r));if(0!==a){u=1===a?e(r):Sn(r);break}}else var u=1===n?e(r):Sn(r);return 0===u?[0,t,tZ(1,mK(r))]:xr(qU)});case 12:return[0,g,tZ(1,mK(r))];case 13:return rZ(g,r,function(t,r){function e(t){if(0===bQ(gn(t))){if(0===oQ(gn(t)))for(;;)if(_n(t,0),0!==oQ(gn(t)))return Sn(t);return Sn(t)}return Sn(t)}if(Tn(r),0===function(t){var r=eQ(gn(t));if(0===r)for(;;){var n=pQ(gn(t));if(0!==n)return 1===n?e(t):Sn(t)}return 1===r?e(t):Sn(t)}(r)){var n=mK(r);try{return[0,t,tZ(3,n)]}catch(e){throw e=mr(e)}}return xr(GU)});case 14:var j=mK(r);try{return[0,g,tZ(3,j)]}catch(t){throw t=mr(t)}case 15:return rZ(g,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}function n(t){var r=iQ(gn(t));return 0===r?0===uQ(gn(t))?e(t):Sn(t):1===r?e(t):Sn(t)}function a(t){if(0===uQ(gn(t)))for(;;){var r=ZK(gn(t));if(0!==r)return 1===r?n(t):Sn(t)}return Sn(t)}function u(t){for(;;){var r=UQ(gn(t));if(2>>0)return Sn(t);switch(r){case 0:return a(t);case 1:continue;default:return n(t)}}}Tn(r);var i=vQ(gn(r));if(2>>0)s=Sn(r);else switch(i){case 0:for(;;){var f=gn(r),c=8>>0)s=Sn(r);else switch(c){case 0:continue;case 1:s=a(r);break;default:s=u(r);}break}break;case 1:s=a(r);break;default:var s=u(r);}return 0===s?[0,t,tZ(3,mK(r))]:xr(jU)});case 16:return[0,g,tZ(3,mK(r))];case 17:return rZ(g,r,function(t,r){function e(t){for(;;)if(_n(t,0),0!==uQ(gn(t)))return Sn(t)}Tn(r);var n=vQ(gn(r));if(2>>0)c=Sn(r);else switch(n){case 0:for(;;){var a=gn(r),u=8>>0)o=Sn(u);else switch(s){case 0:o=2;break;case 1:o=3;break;case 2:o=2;break;case 3:o=0;break;default:var o=1;}if(3>>0)return xr($U);switch(o){case 0:var v=mK(u);if(se(n,v),fr(r,v))return[0,i,JQ(i,u),f];se(e,v);continue;case 1:se(n,KU);var l=fZ(i,e,u),b=l[2],k=l[1],p=b||f;se(n,mK(u));var i=k,f=p;continue;case 2:var h=mK(u);se(n,h);var d=VQ(i,JQ(i,u));return se(e,h),[0,d,JQ(d,u),f];default:var m=mK(u);se(n,m),se(e,m);continue}}},fZ=function(t,r,e){function n(t){return _n(t,4),0===CQ(gn(t))?3:Sn(t)}Tn(e);var a=gn(e),u=Pf>>0)o=Sn(e);else switch(u){case 0:o=0;break;case 1:o=17;break;case 2:o=16;break;case 3:_n(e,16);o=0===kQ(gn(e))?16:Sn(e);break;case 4:_n(e,5);o=0===CQ(gn(e))?n(e):Sn(e);break;case 5:_n(e,12);o=0===CQ(gn(e))?n(e):Sn(e);break;case 6:o=1;break;case 7:o=6;break;case 8:o=7;break;case 9:o=8;break;case 10:o=9;break;case 11:o=10;break;case 12:_n(e,15);var i=gn(e),f=47>>0)return xr(QU);switch(o){case 0:return[0,t,0];case 1:return se(r,ZU),[0,t,0];case 2:return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(tD,mK(e))))),[0,t,0];case 3:var v=Ct(Lr(rD,mK(e)));if(256<=v){var l=7&v;Fr(function(t){return ce(r,t)},ZQ(v>>>3|0)),ce(r,jr(48+l|0));}else Fr(function(t){return ce(r,t)},ZQ(v));return[0,t,1];case 4:return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(eD,mK(e))))),[0,t,1];case 5:return ce(r,jr(0)),[0,t,0];case 6:return ce(r,jr(8)),[0,t,0];case 7:return ce(r,jr(12)),[0,t,0];case 8:return ce(r,jr(10)),[0,t,0];case 9:return ce(r,jr(13)),[0,t,0];case 10:return ce(r,jr(9)),[0,t,0];case 11:return ce(r,jr(11)),[0,t,0];case 12:return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(nD,mK(e))))),[0,t,1];case 13:var b=mK(e);return Fr(function(t){return ce(r,t)},ZQ(Ct(Lr(aD,Vr(b,1,wt(b)-1|0))))),[0,t,0];case 14:var k=mK(e),p=Ct(Lr(uD,Vr(k,2,wt(k)-3|0))),h=nl>>0)f=Sn(e);else switch(a){case 0:f=3;break;case 1:f=0;break;case 2:_n(e,0);f=0===kQ(gn(e))?0:Sn(e);break;default:_n(e,3);var u=gn(e),i=44>>0){var c=VQ(o,JQ(o,e));return[0,c,JQ(c,e)]}switch(f){case 0:var s=$Q(o,e);se(r,mK(e));var o=s;continue;case 1:var v=JQ(o,e);return[0,o[4]?WQ(o,v,[2,fD,iD]):o,v];case 2:if(o[4])return[0,o,JQ(o,e)];se(r,cD);continue;default:se(r,mK(e));continue}}},sZ=function(t,r,e){for(;;){Tn(e);var n=gn(e),a=13>>0)u=Sn(e);else switch(a){case 0:u=0;break;case 1:u=2;break;case 2:u=1;break;default:_n(e,1);var u=0===kQ(gn(e))?1:Sn(e);}if(2>>0)return xr(sD);switch(u){case 0:return[0,t,JQ(t,e)];case 1:var i=JQ(t,e),f=i[3],c=f[3],s=f[2],o=f[1],v=i[2],l=i[1],b=$Q(t,e),k=In(e);return[0,b,[0,l,v,[0,o,s-k|0,c-k|0]]];default:se(r,mK(e));continue}}},oZ=function(t,r,e,n,a){for(C=t;;){Tn(a);var u=gn(a),i=123>>0)_=Sn(a);else switch(i){case 0:_=1;break;case 1:_=6;break;case 2:_=2;break;case 3:_n(a,2);_=0===kQ(gn(a))?2:Sn(a);break;case 4:_=0;break;default:_n(a,6);var f=gn(a),c=34>>0)return xr(gD);switch(_){case 0:var S=mK(a);switch(r){case 0:A=sr(S,TD)?0:1;break;case 1:A=sr(S,_D)?0:1;break;default:if(sr(S,SD))if(sr(S,AD))var A=0,E=0;else E=1;else E=1;if(E)return An(a),[0,C,JQ(C,a)]}if(A)return[0,C,JQ(C,a)];se(n,S),se(e,S);continue;case 1:var x=VQ(C,JQ(C,a));return[0,x,JQ(x,a)];case 2:var I=mK(a);se(n,I),se(e,I);var C=$Q(C,a);continue;case 3:var N=mK(a),L=Vr(N,3,wt(N)-4|0);se(n,N),Fr(function(t){return ce(e,t)},ZQ(Ct(Lr(ED,L))));continue;case 4:var P=mK(a),O=Vr(P,2,wt(P)-3|0);se(n,P),Fr(function(t){return ce(e,t)},ZQ(Ct(O)));continue;case 5:var U=mK(a),D=Vr(U,1,wt(U)-2|0);se(n,U);var M=R(D,xD);if(0<=M)if(0>>0)s=Sn(u);else switch(f){case 0:s=0;break;case 1:s=6;break;case 2:s=5;break;case 3:_n(u,5);s=0===kQ(gn(u))?4:Sn(u);break;case 4:_n(u,6);var c=gn(u),s=0===(xs>>0)return xr(QJ);switch(s){case 0:var o=VQ(k,JQ(k,u));return[0,o,EK(r,JQ(o,u)),1];case 1:return ce(a,96),[0,k,EK(r,JQ(k,u)),1];case 2:return se(a,ZJ),[0,k,EK(r,JQ(k,u)),0];case 3:ce(n,92),ce(a,92);var v=fZ(k,e,u)[1],l=mK(u);se(n,l),se(a,l);k=v;continue;case 4:se(n,tH),se(a,rH),se(e,eH);k=$Q(k,u);continue;case 5:var b=mK(u);se(n,b),se(a,b),ce(e,10);var k=$Q(k,u);continue;default:var p=mK(u);se(n,p),se(a,p),se(e,p);continue}}},lZ=ee([0,B$]),bZ=function(t,r){return[0,[0],0,r,qK(t[2].slice(),t)]},kZ=function(t,r){var e=r+1|0;if(t[1].length-1>>0)o=Sn(u);else switch(c){case 0:o=0;break;case 1:o=14;break;case 2:if(_n(u,2),0===tQ(gn(u))){for(;;)if(_n(u,2),0!==tQ(gn(u))){o=Sn(u);break}}else o=Sn(u);break;case 3:o=1;break;case 4:_n(u,1);o=0===kQ(gn(u))?1:Sn(u);break;case 5:o=13;break;case 6:if(_n(u,12),0===yQ(gn(u))){for(;;)if(_n(u,12),0!==yQ(gn(u))){o=Sn(u);break}}else o=Sn(u);break;case 7:o=10;break;case 8:_n(u,6);var s=TQ(gn(u)),o=0===s?4:1===s?3:Sn(u);break;case 9:o=9;break;case 10:o=5;break;case 11:o=11;break;case 12:o=7;break;default:o=8;}if(14>>0)x=xr(mD);else switch(o){case 0:x=[0,i,rv];break;case 1:i=$Q(i,u);continue;case 2:continue;case 3:var v=JQ(i,u),l=ue($b),b=sZ(i,l,u),i=QQ(b[1],v,b[2],l,0);continue;case 4:var k=JQ(i,u),p=ue($b),h=cZ(i,p,u),i=QQ(h[1],k,h[2],p,1);continue;case 5:x=[0,i,92];break;case 6:x=[0,i,99];break;case 7:x=[0,i,93];break;case 8:x=[0,i,1];break;case 9:x=[0,i,80];break;case 10:x=[0,i,11];break;case 11:x=[0,i,78];break;case 12:x=[0,i,Ka];break;case 13:var d=mK(u),m=JQ(i,u),y=ue($b),w=ue($b);se(w,d);var g=fr(d,yD)?0:1,T=oZ(i,g,y,w,u),_=T[2],S=T[1];se(w,d);var A=ie(y),E=ie(w),x=[0,S,[4,[0,EK(m,_),A,E]]];break;default:x=[0,i,zv];}Qt=HQ(x);break}break;case 3:var C=xn(a[2]),N=YQ(a,C,C),L=ue($b),R=ue($b),P=a[2];Tn(P);var O=gn(P),U=123>>0)D=Sn(P);else switch(U){case 0:D=1;break;case 1:D=4;break;case 2:D=0;break;case 3:_n(P,0);D=0===kQ(gn(P))?0:Sn(P);break;case 4:D=2;break;default:var D=3;}if(4>>0)q=xr(wD);else switch(D){case 0:var M=mK(P);se(R,M),se(L,M);var F=oZ($Q(a,P),2,L,R,P),X=F[2],B=F[1],j=ie(L),G=ie(R),q=[0,B,[4,[0,EK(N,X),j,G]]];break;case 1:q=[0,a,rv];break;case 2:q=[0,a,92];break;case 3:q=[0,a,1];break;default:var Y=mK(P);se(R,Y),se(L,Y);var J=oZ(a,2,L,R,P),H=J[2],W=J[1],z=ie(L),V=ie(R),q=[0,W,[4,[0,EK(N,H),z,V]]];}Qt=HQ([0,q[1],q[2]]);break;case 4:for(var $=a[2],K=a;;){Tn($);var Q=gn($),Z=-1>>0)rt=Sn($);else switch(Z){case 0:rt=5;break;case 1:if(_n($,1),0===tQ(gn($))){for(;;)if(_n($,1),0!==tQ(gn($))){rt=Sn($);break}}else rt=Sn($);break;case 2:rt=0;break;case 3:_n($,0);rt=0===kQ(gn($))?0:Sn($);break;case 4:_n($,5);var tt=TQ(gn($)),rt=0===tt?3:1===tt?2:Sn($);break;default:rt=4;}if(5>>0)mt=xr(VJ);else switch(rt){case 0:K=$Q(K,$);continue;case 1:continue;case 2:var et=JQ(K,$),nt=ue($b),at=sZ(K,nt,$),K=QQ(at[1],et,at[2],nt,0);continue;case 3:var ut=JQ(K,$),it=ue($b),ft=cZ(K,it,$),K=QQ(ft[1],ut,ft[2],it,1);continue;case 4:var ct=JQ(K,$),st=ue($b),ot=ue($b),vt=ue($b);se(vt,$J);var lt=vZ(K,ct,st,ot,vt,$),bt=lt[3],kt=lt[2],pt=lt[1],ht=ie(vt),dt=ie(ot),mt=[0,pt,[2,[0,kt,[0,ie(st),dt,ht],bt]]];break;default:var yt=VQ(K,JQ(K,$)),mt=[0,yt,[2,[0,JQ(yt,$),KJ,1]]];}Qt=HQ(mt);break}break;default:for(var gt=a[2],Tt=a;;){Tn(gt);var _t=gn(gt),St=Fo<_t?up<_t?Oc<_t?1:2:wf<_t?Mn<_t?Bl<_t?1:2:Lh<_t?1:2:as<_t?$a<_t?1:2:jn<_t?1:2:cr(HH,_t+1|0)-1|0;if(5>>0)Et=Sn(gt);else switch(St){case 0:Et=0;break;case 1:Et=6;break;case 2:if(_n(gt,2),0===tQ(gn(gt))){for(;;)if(_n(gt,2),0!==tQ(gn(gt))){Et=Sn(gt);break}}else Et=Sn(gt);break;case 3:Et=1;break;case 4:_n(gt,1);Et=0===kQ(gn(gt))?1:Sn(gt);break;default:_n(gt,5);var At=TQ(gn(gt)),Et=0===At?4:1===At?3:Sn(gt);}if(6>>0)Kt=xr(oD);else switch(Et){case 0:Kt=[0,Tt,rv];break;case 1:Tt=$Q(Tt,gt);continue;case 2:continue;case 3:var xt=JQ(Tt,gt),It=ue($b),Ct=sZ(Tt,It,gt),Tt=QQ(Ct[1],xt,Ct[2],It,0);continue;case 4:var Nt=JQ(Tt,gt),Lt=ue($b),Rt=cZ(Tt,Lt,gt),Tt=QQ(Rt[1],Nt,Rt[2],Lt,1);continue;case 5:var Pt=JQ(Tt,gt),Ot=ue($b),Ut=Tt;t:for(;;){Tn(gt);var Dt=gn(gt),Mt=92>>0)Bt=Sn(gt);else switch(Mt){case 0:Bt=0;break;case 1:Bt=7;break;case 2:Bt=6;break;case 3:_n(gt,6);Bt=0===kQ(gn(gt))?6:Sn(gt);break;case 4:if(_n(gt,4),0===dQ(gn(gt))){for(;;)if(_n(gt,3),0!==dQ(gn(gt))){Bt=Sn(gt);break}}else Bt=Sn(gt);break;case 5:Bt=5;break;default:_n(gt,7);var Ft=gn(gt),Xt=-1>>0)Bt=Sn(gt);else switch(Xt){case 0:Bt=2;break;case 1:Bt=1;break;default:_n(gt,1);var Bt=0===kQ(gn(gt))?1:Sn(gt);}}if(7>>0)Gt=xr(vD);else switch(Bt){case 0:Gt=[0,WQ(Ut,JQ(Ut,gt),14),lD];break;case 1:Gt=[0,WQ(Ut,JQ(Ut,gt),14),bD];break;case 2:se(Ot,mK(gt));continue;case 3:var jt=mK(gt),Gt=[0,Ut,Vr(jt,1,wt(jt)-1|0)];break;case 4:Gt=[0,Ut,kD];break;case 5:for(ce(Ot,91);;){Tn(gt);var qt=gn(gt),Yt=93>>0)Wt=Sn(gt);else switch(Yt){case 0:Wt=0;break;case 1:Wt=4;break;case 2:_n(gt,4);var Jt=gn(gt),Ht=91>>0)zt=xr(hD);else switch(Wt){case 0:zt=Ut;break;case 1:se(Ot,dD);continue;case 2:ce(Ot,92),ce(Ot,93);continue;case 3:ce(Ot,93);var zt=Ut;break;default:se(Ot,mK(gt));continue}Ut=zt;continue t}case 6:Gt=[0,WQ(Ut,JQ(Ut,gt),14),pD];break;default:se(Ot,mK(gt));continue}var Vt=Gt[1],$t=Gt[2],Kt=[0,Vt,[3,[0,EK(Pt,JQ(Vt,gt)),ie(Ot),$t]]];break}break;default:Kt=[0,VQ(Tt,JQ(Tt,gt)),zv];}var Qt=HQ(Kt);break}}var Zt=Qt[1],tr=Qt[2],rr=qK(Zt[2].slice(),Zt);t[4]=Zt;var er=t[2];I(t[1],er)[er+1]=[0,[0,rr,tr]],t[2]=t[2]+1|0;}},pZ=function(t,r,e,n){var a=t?t[1]:0,u=r?r[1]:0;try{var i=hK(n),f=0;}catch(s){if((s=mr(s))!==fK)throw s;var c=[0,[0,[0,e,sm[2],sm[3]],67],0],i=hK(OW),f=c;}var s=u?u[1]:bm,o=GK(e,i,s[5]),v=[0,bZ(o,0)];return[0,[0,f],[0,0],lZ[1],[0,lZ[1]],[0,0],s[6],0,0,0,0,0,0,0,0,0,1,0,0,0,[0,UW],[0,o],v,[0,a],s,e]},hZ=function(t){return Or(t[20][1])},dZ=function(t){return t[24][5]},mZ=function(t,r){var e=r[2];t[1][1]=[0,[0,r[1],e],t[1][1]];var n=t[19];return n?wr(n[1],t,e):0},yZ=function(t,r){var e=r[2],n=r[1];if(wr(lZ[3],e,t[4][1]))return mZ(t,[0,n,[7,e]]);var a=wr(lZ[4],e,t[4][1]);return t[4][1]=a,0},wZ=function(t,r){var e=t?t[1]:0;if(e<2){var n=r[22][1];kZ(n,e);var a=I(n[1],e)[e+1];return a?a[1][2]:xr(MW)}throw[0,im,PW]},gZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],t,r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},TZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],t,r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},_Z=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],t,r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},SZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],t,r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},AZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],t,r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},EZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],t,r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},xZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],t,r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},IZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],t,r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]},CZ=function(t,r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],[0,t],r[20],r[21],r[22],r[23],r[24],r[25]]},NZ=function(t){function r(r){return mZ(t,r)}return function(t){return Fr(r,t)}},LZ=function(t){var r=t[5][1];return r?[0,r[1][2]]:0},RZ=function(t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],0,t[20],t[21],t[22],t[23],t[24],t[25]]},PZ=function(t,r,e){return[0,t[1],t[2],lZ[1],t[4],t[5],t[6],t[7],0,0,1,t[11],t[12],t[13],t[14],t[15],e,r,t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25]]},OZ=function(t){return sr(t,RW)?0:1},UZ=function(t){return sr(t,SW)&&sr(t,AW)&&sr(t,EW)&&sr(t,xW)&&sr(t,IW)&&sr(t,CW)&&sr(t,NW)&&sr(t,LW)?0:1},DZ=function(t){return sr(t,TW)&&sr(t,_W)?0:1},MZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[1]},FZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[3]},XZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[2]},BZ=function(t,r){var e=t?t[1]:0;return wZ([0,e],r)[4]},jZ=function(t){var r=LZ(t);return r&&r[1][2][1]>>0){if(!(106<(e+1|0)>>>0))return 1}else if(6===e)return 0}return jZ(t)},qZ=function(t,r){var e=t?t[1]:0;return 9===MZ([0,e],r)?[0,XZ([0,e],r)]:0},YZ=function(t,r){var e=t?t[1]:0,n=FZ([0,e],r),a=MZ([0,e],r);if(!UZ(n)&&!DZ(n)&&!OZ(n)){if("number"==typeof a){var u=a-1|0;if(58>>0?64<=u?0:1:27===u?1:0)return 1}return 0}return 1},JZ=function(t,r){var e=t?t[1]:0,n=15===MZ([0,e],r)?1:0;if(n)u=n;else var a=63===MZ([0,e],r)?1:0,u=a?15===MZ([0,e+1|0],r)?1:0:a;return u},HZ=function(t,r){var e=t?t[1]:0,n=MZ([0,e],r);return"number"==typeof n&&(14===n?1:40===n?1:0)?1:0},WZ=function(t,r){return mZ(t,[0,XZ(0,t),r])},zZ=function(t){var r=t[1];if("number"==typeof r)switch(r){case 0:return 2;case 108:return 4}else switch(r[0]){case 0:return 0;case 1:case 4:return 1}var e=t[2];return OZ(e)?3:UZ(e)?40:[1,e]},VZ=function(t){var r=BZ(0,t);yr(NZ(t),r);var e=FZ(0,t);return WZ(t,zZ([0,MZ(0,t),e]))},$Z=function(t){function r(r){return mZ(t,[0,r[1],57])}return function(t){return Fr(r,t)}},KZ=function(t,r){var e=t[6];return e?WZ(t,r):e},QZ=function(t,r){var e=t[6],n=r[2],a=r[1];return e?mZ(t,[0,a,n]):e},ZZ=function(t){var r=t[23][1];if(r){var e=r[1],n=XZ(0,t),a=MZ(0,t),u=FZ(0,t);yr(e,[0,n,a,hZ(t),u]);}var i=t[22][1];kZ(i,0);var f=I(i[1],0)[1],c=f?f[1][1]:xr(DW);t[21][1]=c;var s=BZ(0,t);yr(NZ(t),s),Fr(function(r){return t[2][1]=[0,r,t[2][1]],0},wZ([0,0],t)[5]);var o=[0,wZ(0,t)];t[5][1]=o;var v=t[22][1];kZ(v,0),1>>0?wr(M,r,yr(g,r)):wr(F,r,yr(t[14],r)[1])}function e(t,r,e){var n=yr(B,t);n0(t,80);var a=yr(g,t);return[0,EK(r,a[1]),[0,n,a,e]]}function n(t,r,n,a){var u=e(t,r,wr(W,0,t)),i=[0,u[1],[1,u[2]]];return[0,[0,i[1],[0,a,[0,i],0,n,1,0]]]}function u(t,r,e,n,a){1-dZ(t)&&WZ(t,7);var u=a0(t,79);n0(t,80);var i=yr(g,t);return[0,[0,EK(r,i[1]),[0,a,[0,i],u,e,0,n]]]}function i(t,r){var e=MZ(0,r);if("number"==typeof e&&!(11<=e))switch(e){case 2:if(!t)return 0;break;case 4:if(t)return 0;break;case 9:case 10:return ZZ(r)}return VZ(r)}function f(t,r){return r?mZ(t,[0,r[1][1],5]):0}function c(r){var e=EZ(0,r),n=MZ(0,e);if("number"==typeof n&&65===n){var a=XZ(0,e);if(n0(e,65),5===MZ(0,e)){n0(e,5),t0(e,0);var u=yr(t[8],e);r0(e);var i=XZ(0,e);n0(e,6);f=[0,EK(a,i),[0,u]];}else var f=[0,a,0];return[0,f]}return 0}function s(t){var r=MZ(0,t),e=MZ(BW,t);return"number"==typeof r&&80===r?"number"==typeof e&&65===e?(n0(t,80),[0,0,c(t)]):[0,yr(Q,t),c(t)]:jW}function o(t,r){var e=gZ(1,r);t0(e,1);var n=yr(t,e);return r0(e),n}function v(t){return o(g,t)}function l(t){return o(Z,t)}function b(t){return o(tt,t)}function k(t){return o(z,t)}function p(t,r){return o(gr(H,t,0,0),r)}function h(t){return o(B,t)}function d(t){return o(T,t)}function m(t){return o(Q,t)}function y(t){return o(c,t)}function w(t){return o(s,t)}var g=function t(r){return t.fun(r)},T=function t(r){return t.fun(r)},_=function t(r){return t.fun(r)},S=function t(r){return t.fun(r)},A=function t(r){return t.fun(r)},E=function t(r,e){return t.fun(r,e)},x=function t(r){return t.fun(r)},I=function t(r,e){return t.fun(r,e)},C=function t(r){return t.fun(r)},N=function t(r,e){return t.fun(r,e)},L=function t(r){return t.fun(r)},R=function t(r){return t.fun(r)},P=function t(r,e){return t.fun(r,e)},O=function t(r){return t.fun(r)},U=function t(r){return t.fun(r)},D=function t(r){return t.fun(r)},M=function t(r,e){return t.fun(r,e)},F=function t(r,e){return t.fun(r,e)},X=function t(r){return t.fun(r)},B=function t(r){return t.fun(r)},j=function t(r){return t.fun(r)},G=function t(r){return t.fun(r)},q=function t(r){return t.fun(r)},Y=function t(r){return t.fun(r)},J=function t(r,e,n,a){return t.fun(r,e,n,a)},H=function t(r,e,n,a){return t.fun(r,e,n,a)},W=function t(r,e){return t.fun(r,e)},z=function t(r){return t.fun(r)},V=function t(r){return t.fun(r)},$=function t(r,e){return t.fun(r,e)},K=function t(r,e){return t.fun(r,e)},Q=function t(r){return t.fun(r)};a(g,function(t){return yr(A,t)}),a(T,function(t){1-dZ(t)&&WZ(t,7);var r=XZ(0,t);n0(t,80);var e=yr(g,t),n=LZ(t);if(n)return[0,EK(r,n[1]),e];throw[0,im,oz]}),a(_,function(t){var r=XZ(0,t),e=MZ(0,t);if("number"==typeof e){if(97===e)return ZZ(t),[0,[0,r,0]];if(98===e)return ZZ(t),[0,[0,r,1]]}return 0}),a(S,function(t){if(t){var r=t[1][1],e=Dr(t);if(e)return[0,EK(e[1][1],r),e];throw[0,im,sz]}throw[0,im,cz]}),a(A,function(t){return a0(t,83),wr(E,t,yr(x,t))}),a(E,function(t,r){if(83===MZ(0,t))for(f=[0,r,0];;){var e=MZ(0,t);if("number"!=typeof e||83!==e){var n=yr(S,f),a=n[2],u=n[1];if(a){var i=a[2];if(i)return[0,u,[5,a[1],i[1],i[2]]]}throw[0,im,fz]}n0(t,83);var f=[0,yr(x,t),f];}return r}),a(x,function(t){return a0(t,85),wr(I,t,yr(C,t))}),a(I,function(t,r){if(85===MZ(0,t))for(f=[0,r,0];;){var e=MZ(0,t);if("number"!=typeof e||85!==e){var n=yr(S,f),a=n[2],u=n[1];if(a){var i=a[2];if(i)return[0,u,[6,a[1],i[1],i[2]]]}throw[0,im,iz]}n0(t,85);var f=[0,yr(C,t),f];}return r}),a(C,function(t){return wr(N,t,yr(L,t))}),a(N,function(t,r){var e=MZ(0,t);if("number"==typeof e&&12===e&&!t[14]){var n=wr(M,t,r);return Tr(J,t,n[1],0,[0,[0,n,0],0])}return r}),a(L,function(t){var r=MZ(0,t);if("number"==typeof r&&79===r){var e=XZ(0,t);n0(t,79);var n=yr(L,t);return[0,EK(e,n[1]),[0,n]]}return yr(R,t)}),a(R,function(t){return wr(P,t,yr(O,t))}),a(P,function(t,r){if(!jZ(t)&&a0(t,7)){var e=XZ(0,t);return n0(t,8),wr(P,t,[0,EK(r[1],e),[3,r]])}return r}),a(O,function(t){var r=XZ(0,t),e=MZ(0,t);if("number"==typeof e)switch(e){case 0:var n=yr(V,t);return[0,n[1],[4,n[2]]];case 5:return yr(q,t);case 7:return yr(D,t);case 46:var a=XZ(0,t);n0(t,46);var u=yr(O,t);return[0,EK(a,u[1]),[7,u]];case 92:return yr(Y,t);case 100:return n0(t,Tb),[0,r,8];case 1:case 3:var i=Tr(H,0,1,1,t);return[0,i[1],[2,i[2]]];case 30:case 31:var f=FZ(0,t);return n0(t,e),[0,r,[11,[0,31===e?1:0,f]]]}else switch(e[0]){case 1:var c=e[1],s=c[4],o=c[3],v=c[2],l=c[1];return s&&KZ(t,32),n0(t,[1,[0,l,v,o,s]]),[0,l,[9,[0,v,o]]];case 5:var b=e[2],k=e[1],p=FZ(0,t);return n0(t,[5,k,b]),1===k&&KZ(t,32),[0,r,[10,[0,b,p]]]}var h=yr(U,e);if(h){var d=h[1];return n0(t,e),[0,r,d]}return VZ(t),[0,r,0]}),a(U,function(t){if("number"==typeof t){if(29===t)return uz;if(ol<=t)switch(t-110|0){case 0:return QW;case 1:return ZW;case 2:return tz;case 3:return rz;case 4:return ez;case 5:return nz;default:return az}}return 0}),a(D,function(t){var r=XZ(0,t);n0(t,7);for(i=0;;){var e=MZ(0,t);if("number"==typeof e&&(8===e?1:rv===e?1:0)){var n=Dr(i),a=XZ(0,t);return n0(t,8),[0,EK(r,a),[8,n]]}var u=[0,yr(g,t),i];8!==MZ(0,t)&&n0(t,10);var i=u;}}),a(M,function(t,r){return[0,r[1],[0,0,r,0]]}),a(F,function(t,r){1-dZ(t)&&WZ(t,7);var e=a0(t,79);n0(t,80);var n=yr(g,t);return[0,EK(r[1],n[1]),[0,[0,r],n,e]]}),a(X,function(t){return function(e){for(s=e;;){var n=MZ(0,t);if("number"==typeof n){var a=n-6|0;if(7>>0?cb===a?1:0:5<(a-1|0)>>>0?1:0){if(13===n){var u=XZ(0,t);n0(t,13);var i=r(t),f=[0,[0,EK(u,i[1]),[0,i]]];}else f=0;return[0,Dr(s),f]}}var c=[0,r(t),s];6!==MZ(0,t)&&n0(t,10);var s=c;}}}),a(B,function(t){n0(t,5);var r=wr(X,t,0);return n0(t,6),r}),a(j,function(t){n0(t,5);var r=EZ(0,t),e=MZ(0,r);if("number"==typeof e)if(13<=e){if(rv===e)a=1;else if(14<=e)var n=0,a=0;else a=1;if(a)var u=[0,wr(X,r,0)],n=1;}else if(6===e)var u=zW,n=1;else if(0===e)var u=yr(G,r),n=1;else n=0;else n=0;if(!n){if(yr(U,e)){var i=MZ(VW,r);if("number"==typeof i)if(1<(i+Fh|0)>>>0)c=0;else var f=[0,wr(X,r,0)],c=1;else c=0;if(!c)f=[1,yr(g,r)];s=f;}else var s=[1,yr(g,r)];u=s;}if(0===u[0])p=u;else{var o=u[1];if(t[14])k=u;else{var v=MZ(0,t);if("number"==typeof v)if(6===v)if(12===MZ($W,t))var l=[0,wr(X,t,[0,wr(M,t,o),0])],b=1;else var l=[1,o],b=1;else if(10===v){n0(t,10);var l=[0,wr(X,t,[0,wr(M,t,o),0])],b=1;}else b=0;else b=0;if(!b)l=u;var k=l;}var p=k;}return n0(t,6),p}),a(G,function(r){var e=wr(t[13],0,r),n=MZ(0,r);if("number"==typeof n&&!(1<(n+Fh|0)>>>0)){var a=wr(F,r,e);return a0(r,10),[0,wr(X,r,[0,a,0])]}return[1,wr(E,r,wr(I,r,wr(N,r,wr(P,r,wr(K,r,e)))))]}),a(q,function(t){var r=XZ(0,t),e=yr(j,t);return 0===e[0]?Tr(J,t,r,0,e[1]):e[1]}),a(Y,function(t){var r=XZ(0,t),e=wr(W,0,t);return Tr(J,t,r,e,yr(B,t))}),a(J,function(t,r,e,n){n0(t,12);var a=yr(g,t);return[0,EK(r,a[1]),[1,[0,n,a,e]]]}),a(H,function(r,a,c,s){var o=a?3===MZ(0,s)?1:0:a,v=XZ(0,s);n0(s,o?3:1);for(vt=0;;){if(r&&c)throw[0,im,GW];var l=XZ(0,s),b=r?a0(s,42):r,k=yr(_,s),p=MZ(0,s);if("number"==typeof p){if(92===p)m=1;else{if(rv===p)var h=Dr(vt),d=1;else if(14<=p)var m=0,d=0;else switch(p){case 2:if(o)var m=0,d=0;else var h=Dr(vt),d=1;break;case 4:if(o)var h=Dr(vt),d=1;else var m=0,d=0;break;case 7:if(n0(s,7),80===MZ(WW,s)){var y=yr(t[14],s)[1];n0(s,80);w=[0,y];}else var w=0;var T=yr(g,s);n0(s,8),n0(s,80);var S=yr(g,s),A=[2,[0,EK(l,S[1]),[0,w,T,S,b,k]]];i(o,s);vt=[0,A,vt];continue;case 13:if(c){f(s,k),ZZ(s);var E=yr(g,s),x=[1,[0,EK(l,E[1]),[0,E]]];i(o,s);vt=[0,x,vt];continue}var m=0,d=0;break;case 5:var m=1,d=0;break;default:var m=0,d=0;}if(d){var I=XZ(0,s);return n0(s,o?4:2),[0,EK(v,I),[0,o,h]]}}if(m){f(s,k);var C=wr(W,0,s),N=e(s,XZ(0,s),C),L=[3,[0,EK(l,N[1]),[0,N,b]]];i(o,s);vt=[0,L,vt];continue}}if(0===b)F=0;else if(k)F=0;else if("number"==typeof p)if(80===p){QZ(s,[0,l,40]);var R=[1,[0,l,qW]],P=MZ(0,s);if("number"==typeof P){if(5===P)U=1;else if(92===P)U=1;else var O=0,U=0;if(U){f(s,k);var D=n(s,l,0,R),O=1;}}else O=0;if(!O)D=u(s,l,0,k,R);var M=D,F=1;}else F=0;else F=0;if(!F){var X=function(r){t0(r,0);var e=yr(t[21],r);return r0(r),e},B=X(s)[2];if(1===B[0]){var j=B[1][2];if(sr(j,YW))if(sr(j,JW))var G=0,q=0;else q=1;else q=1;if(q){var Y=MZ(0,s);if("number"==typeof Y){var J=Y-6|0;if(85>>0)if(87<(J+1|0)>>>0)var H=0,z=0;else{f(s,k);var V=n(s,l,b,B),z=1;}else if(1<(J-73|0)>>>0)var H=0,z=0;else var V=u(s,l,b,k,B),z=1;if(z)var $=V,H=1;}else H=0;if(!H){var K=X(s),Q=fr(j,HW);f(s,k);var Z=e(s,l,0),tt=K[1],rt=Z[2][1],et=K[2];if(0===Q){var nt=rt[1];if(rt[2]){mZ(s,[0,tt,63]);}else{if(nt)if(nt[2])at=1;else at=0;else var at=1;if(at){mZ(s,[0,tt,63]);}}}else(rt[1]?0:rt[2]?0:1)||mZ(s,[0,tt,62]);var ut=Q?[1,Z]:[2,Z],$=[0,[0,EK(l,Z[1]),[0,et,ut,0,b,0,0]]];}var it=$,G=1;}}else G=0;if(!G){var ft=MZ(0,s);if("number"==typeof ft){if(5===ft)st=1;else if(92===ft)st=1;else var ct=0,st=0;if(st){f(s,k);var ot=n(s,l,b,B),ct=1;}}else ct=0;if(!ct)ot=u(s,l,b,k,B);it=ot;}M=it;}i(o,s);var vt=[0,M,vt];}}),a(W,function(r,e){var n=XZ(0,e);if(92===MZ(0,e)){1-dZ(e)&&WZ(e,7),n0(e,92);for(var a=0,u=0;;){var i=yr(_,e),f=gr(t[15],e,0,29),c=f[2],s=f[1],o=c[2],v=c[1][2],l=MZ(0,e);if(0===r)var b=0,k=0;else{if("number"==typeof l)if(78===l){ZZ(e);var b=[0,yr(g,e)],k=1,p=1;}else p=0;else p=0;if(!p){a&&mZ(e,[0,s,58]);var b=0,k=a;}}var h=[0,[0,s,[0,v,o,i,b]],u],d=MZ(0,e);if("number"==typeof d){if(93===d)y=1;else if(rv===d)y=1;else var m=0,y=0;if(y)var w=Dr(h),m=1;}else m=0;if(!m){if(n0(e,10),93!==MZ(0,e)){var a=k,u=h;continue}w=Dr(h);}var T=EK(n,XZ(0,e));return n0(e,93),[0,[0,T,[0,w]]]}}return 0}),a(z,function(t){var r=XZ(0,t);if(92===MZ(0,t)){n0(t,92);for(i=0;;){var e=MZ(0,t);if("number"==typeof e&&(93===e?1:rv===e?1:0)){var n=Dr(i),a=EK(r,XZ(0,t));return n0(t,93),[0,[0,a,[0,n]]]}var u=[0,yr(g,t),i];93!==MZ(0,t)&&n0(t,10);var i=u;}}return 0}),a(V,function(r){return wr($,r,wr(t[13],0,r))}),a($,function(r,e){for(c=[0,e[1],[0,e]];;){var n=c[2],a=c[1];if(11!==MZ(0,r)){var u=yr(z,r);return[0,u?EK(a,u[1][1]):a,[0,n,u]]}n0(r,11);var i=wr(t[13],0,r),f=EK(a,i[1]),c=[0,f,[1,[0,f,[0,n,i]]]];}}),a(K,function(t,r){var e=wr($,t,r);return[0,e[1],[4,e[2]]]}),a(Q,function(t){var r=MZ(0,t);return"number"==typeof r&&80===r?[0,yr(T,t)]:0});var Z=yr(W,1),tt=yr(W,0);return[0,v,b,l,k,function(t){return o(V,t)},p,h,d,m,y,w]}(h0),m0=yr(function(t){return function(r){function e(t,r){for(c=r;;){var e=c[2],i=c[1],f=t[1];switch(e[0]){case 0:return Xr(n,t,e[1][1]);case 1:return Xr(a,t,e[1][1]);case 2:var c=e[1][1];continue;case 3:var s=e[1][1],o=s[2],v=t[2],l=t[1],b=s[1];wr(b0[3],o,v)&&mZ(l,[0,b,30]);var k=u([0,l,v],s);return[0,k[1],wr(b0[4],o,k[2])];default:return mZ(f,[0,i,19]),t}}}function n(t,r){if(0===r[0]){var n=r[1][2],a=n[1];return e(1===a[0]?u(t,a[1]):t,n[2])}return e(t,r[1][2][1])}function a(t,r){if(r){var n=r[1];return 0===n[0]?e(t,n[1]):e(t,n[1][2][1])}return t}function u(t,r){var e=r[2],n=r[1],a=t[1],u=t[2];return DZ(e)&&QZ(a,[0,n,29]),(OZ(e)||UZ(e))&&QZ(a,[0,n,40]),[0,a,u]}function i(t,r,n,a,u){var i=u[2],f=u[1],c=r||1-n;if(c){var s=r?gZ(1-t[6],t):t;if(a){var o=a[1],v=o[2],l=o[1];DZ(v)&&QZ(s,[0,l,31]),(OZ(v)||UZ(v))&&QZ(s,[0,l,40]);}var b=Xr(e,[0,s,b0[1]],f);if(i)return e(b,i[1][2][1]),0;k=0;}else var k=c;return k}function f(r){n0(r,5);for(v=0;;){var e=MZ(0,r);if("number"==typeof e){var n=e-6|0;if(7>>0?cb===n?1:0:5<(n-1|0)>>>0?1:0){if(13===e){var a=XZ(0,r);n0(r,13);var u=wr(t[19],r,29),i=[0,[0,EK(a,u[1]),[0,u]]];}else i=0;6!==MZ(0,r)&&WZ(r,48);var f=[0,Dr(v),i];return n0(r,6),f}}var c=wr(t[19],r,29);if(78===MZ(0,r)){n0(r,78);var s=yr(t[9],r),o=[0,EK(c[1],s[1]),[2,[0,c,s]]];}else o=c;6!==MZ(0,r)&&n0(r,10);var v=[0,o,v];}}function c(r,e,n){var a=PZ(r,e,n),u=yr(t[17],a),i=u[1];return[0,i,[0,[0,i,u[2]]],u[3]]}function s(r,e,n){var a=[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],1,r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]],u=MZ(0,a);if("number"==typeof u&&1===u){var i=c(a,e,n);return[0,i[2],i[3]]}var f=PZ(a,e,n);return[0,[1,yr(t[9],f)],f[6]]}function o(t,r,e){var n=XZ(0,t),a=MZ(0,t);if("number"==typeof a)if(97===a){ZZ(t);var u=[0,[0,n,0]],i=1;}else if(98===a){ZZ(t);var u=[0,[0,n,1]],i=1;}else i=0;else i=0;if(!i)u=0;if(u){var f=u[1][1];if(!(r?0:e?0:1))return mZ(t,[0,f,5]),0}return u}function v(t){return a0(t,Tb)}function l(t){return a0(t,63)}function b(t){var r=0===t[2]?1:0,e=t[1];if(r)for(u=e;;){if(u){var n=u[2],a=3===u[1][2][0]?1:0;if(a){var u=n;continue}return a}return 1}return r}function k(e){var n=XZ(0,e),a=l(e);n0(e,15);var u=v(e),s=e[7],o=MZ(0,e);if(0===s)h=0;else if("number"==typeof o)if(5===o)var k=0,p=0,h=1;else if(92===o)var d=yr(r[2],e),m=5===MZ(0,e)?0:[0,wr(t[13],vz,e)],k=d,p=m,h=1;else h=0;else h=0;if(!h)var y=[0,wr(t[13],lz,e)],k=yr(r[2],e),p=y;var w=f(e),g=yr(r[11],e),T=g[2],_=g[1],S=c(e,a,u),A=S[2];i(e,S[3],b(w),p,w);var E=0===A[0]?[0,A[1][1],0]:[0,A[1][1],1],x=[17,[0,p,w,A,a,u,T,E[2],_,k]];return[0,EK(n,E[1]),x]}function p(r){for(var e=0,n=0;;){var a=wr(t[19],r,28);if(78===MZ(0,r)){n0(r,78);var u=[0,yr(t[9],r)],i=0;}else{var f=a[1];if(3===a[2][0])var u=km[1],i=km[2];else var u=0,i=[0,[0,f,44],0];}var c=u?u[1][1]:a[1],s=[0,[0,EK(a[1],c),[0,a,u]],e],o=Rr(i,n);if(10!==MZ(0,r)){var v=Or(s)[1],l=Dr(s),b=Or(s)[1],k=Dr(o);return[0,EK(b,v),l,k]}n0(r,10);var e=s,n=o;}}function h(t,r,e){var n=XZ(0,e);n0(e,t);var a=p(e),u=a[3],i=[0,a[2],r];return[0,[0,EK(n,a[1]),i],u]}function d(t){return h(g,w,t)}function m(t){var r=h(27,2,_Z(1,t)),e=r[1],n=e[2],a=r[2];return[0,[0,e[1],n],Dr(Xr(function(t,r){var e=r[1];return r[2][2]?t:[0,[0,e,43],t]},a,n[1]))]}function y(t){return h(28,1,_Z(1,t))}var w=0,g=24;return[0,l,v,o,f,c,b,i,s,function(t){var r=XZ(0,t),e=MZ(0,t);if("number"==typeof e){var n=e+-24|0;if(4>>0)i=0;else{switch(n){case 0:var a=d(t),u=1;break;case 3:var a=m(t),u=1;break;case 4:var a=y(t),u=1;break;default:var i=0,u=0;}if(u)var f=a,i=1;}}else i=0;if(!i){VZ(t);f=d(t);}var c=f[1],s=f[2],o=[27,c[2]];return[0,[0,EK(r,c[1]),o],s]},p,y,m,d,k]}}(h0),d0),y0=yr(yr(function(t){return function(r){return function(e){function n(r){var e=yr(h,r),n=yr(p,r);if(n){var a=n[1];1-yr(k,e)&&mZ(r,[0,e[1],15]);var u=e[2],i=e[1],f=("number"==typeof u||10===u[0]&&DZ(u[1][2])&&QZ(r,[0,i,37]),wr(t[20],r,e)),c=yr(v,r);return[0,EK(f[1],c[1]),[2,[0,a,f,c]]]}return e}function u(t,r){throw i0}function i(t){var r=CZ(u,t),e=n(r),a=MZ(0,r);if("number"==typeof a){if(12===a)throw i0;if(80===a){var i=r[5][1];if(D(i?[0,i[1][1]]:0,yV))throw i0}}if(YZ(0,r)){var f=e[2];if("number"!=typeof f&&10===f[0]&&!sr(f[1][2],wV)&&!jZ(r))throw i0;return e}return e}function f(t,r,e,n){return[0,n,[14,[0,e,t,r]]]}function c(t,r,e){for(var n=r,a=e;;){var u=MZ(0,t);if("number"!=typeof u||82!==u)return[0,a,n];n0(t,82);var i=l0(m,t),c=i[2],s=EK(a,i[1]),n=f(n,c,1,s),a=s;}}function s(t,r,e,n){return[0,n,[3,[0,e,t,r]]]}function o(t,r){if("number"==typeof r){var e=r-29|0;if(16>>0?19===e?1:0:14<(e-1|0)>>>0?1:0)return 0}throw i0}var v=function t(r){return t.fun(r)},l=function t(r){return t.fun(r)},b=function t(r){return t.fun(r)},k=function t(r){return t.fun(r)},p=function t(r){return t.fun(r)},h=function t(r){return t.fun(r)},d=function t(r){return t.fun(r)},m=function t(r){return t.fun(r)},y=function t(r){return t.fun(r)},w=function t(r){return t.fun(r)},g=function t(r){return t.fun(r)},T=function t(r){return t.fun(r)},_=function t(r,e){return t.fun(r,e)},S=function t(r,e,n){return t.fun(r,e,n)},A=function t(r){return t.fun(r)},E=function t(r){return t.fun(r)},x=function t(r,e,n){return t.fun(r,e,n)},I=function t(r){return t.fun(r)},C=function t(r,e){return t.fun(r,e)},N=function t(r){return t.fun(r)},L=function t(r){return t.fun(r)},R=function t(r,e){return t.fun(r,e)},P=function t(r,e,n,a){return t.fun(r,e,n,a)},O=function t(r){return t.fun(r)},U=function t(r){return t.fun(r)},M=function t(r){return t.fun(r)},F=function t(r){return t.fun(r)},X=function t(r,e){return t.fun(r,e)},B=function t(r){return t.fun(r)};return a(v,function(t){var r=MZ(0,t),e=YZ(0,t);if("number"==typeof r){var a=r-6|0;if(85>>0)u=87<(a+1|0)>>>0?0:1;else if(52===a){if(t[16])return yr(l,t);u=0;}else u=0;}else var u=0;if(!u&&0===e)return n(t);var f=v0(t,i);if(f)return f[1];var c=v0(t,F);return c?c[1]:n(t)}),a(l,function(t){return l0(function(t){n0(t,58),1-t[16]&&WZ(t,25);var r=a0(t,Tb),e=1-((9===MZ(0,t)?1:0)||GZ(t));if(r)a=0;else if(e)a=0;else var n=0,a=1;if(!a)n=[0,yr(v,t)];return[25,[0,n,r]]},t)}),a(b,function(t){var r=t[2];if("number"!=typeof r)switch(r[0]){case 10:case 15:case 16:return 1}return 0}),a(k,function(t){var r=t[2];if("number"!=typeof r)switch(r[0]){case 0:case 10:case 15:case 16:case 18:return 1}return 0}),a(p,function(t){var r=MZ(0,t);if("number"==typeof r){var e=r+-66|0;if(12>>0)u=0;else{switch(e){case 0:n=iV;break;case 1:n=fV;break;case 2:n=cV;break;case 3:n=sV;break;case 4:n=oV;break;case 5:n=vV;break;case 6:n=lV;break;case 7:n=bV;break;case 8:n=kV;break;case 9:n=pV;break;case 10:n=hV;break;case 11:n=dV;break;default:var n=mV;}var a=n,u=1;}}else u=0;if(!u)a=0;return 0!==a&&ZZ(t),a}),a(h,function(t){var r=XZ(0,t),e=yr(d,t);if(79===MZ(0,t)){n0(t,79);var n=yr(v,AZ(0,t));n0(t,80);var a=l0(v,t),u=a[2];return[0,EK(r,a[1]),[7,[0,e,n,u]]]}return e}),a(d,function(t){for(var r=l0(m,t),e=c(t,r[2],r[1]),n=e[2],a=e[1];;){var u=MZ(0,t);if("number"!=typeof u||81!==u)return n;n0(t,81);var i=l0(m,t),s=c(t,i[2],i[1]),o=s[2],v=EK(a,s[1]),n=f(n,o,0,v),a=v;}}),a(m,function(t){M=0;t:for(;;){var r=XZ(0,t),e=0!==yr(y,t)?1:0,n=yr(w,AZ(0,t)),a=LZ(t),u=a?a[1]:n[1],i=EK(r,u);if(92===MZ(0,t)){var f=n[2];"number"==typeof f||12===f[0]&&WZ(t,47);}var c=MZ(0,t);if("number"==typeof c){var o=c+xb|0;if(1>>0)if(66<=o){switch(o+-66|0){case 0:var v=Fz,l=1;break;case 1:var v=Xz,l=1;break;case 2:var v=Bz,l=1;break;case 3:var v=jz,l=1;break;case 4:var v=Gz,l=1;break;case 5:var v=qz,l=1;break;case 6:var v=Yz,l=1;break;case 7:var v=Jz,l=1;break;case 8:var v=Hz,l=1;break;case 9:var v=Wz,l=1;break;case 10:var v=zz,l=1;break;case 11:var v=Vz,l=1;break;case 12:var v=$z,l=1;break;case 13:var v=Kz,l=1;break;case 14:var v=Qz,l=1;break;case 15:var v=Zz,l=1;break;case 16:var v=tV,l=1;break;case 17:var v=rV,l=1;break;case 18:var v=eV,l=1;break;case 19:var v=nV,l=1;break;default:var b=0,k=0,l=0;}if(l)var p=v,k=1;}else var b=0,k=0;else if(0===o)if(t[11])var p=0,k=1;else var p=uV,k=1;else var p=aV,k=1;if(k)var h=p,b=1;}else b=0;if(!b)h=0;if(0!==h&&ZZ(t),h){var d=h[1],m=d[1],g=d[2];(e?14===m?1:0:e)&&mZ(t,[0,i,16]);for(var T=n,_=[0,m,g],S=i,A=M;;){var E=_[2],x=_[1];if(A){var I=A[1],C=I[2],N=C[2],L=A[2],R=I[3],P=C[1],O=I[1],U=0===N[0]?N[1]:N[1]-1|0;if((E[0],E[1])<=U){var D=EK(R,S),T=s(O,T,P,D),_=[0,x,E],S=D,A=L;continue}}var M=[0,[0,T,[0,x,E],S],A];continue t}}for(var F=n,X=i,B=M;;){if(!B)return F;var j=B[1],G=B[2],q=j[2][1],Y=j[1],J=EK(j[3],X),F=s(Y,F,q,J),X=J,B=G;}}}),a(y,function(t){var r=MZ(0,t);if("number"==typeof r)if(48<=r){if(97<=r){if(!(105<=r))switch(r+al|0){case 0:return Nz;case 1:return Lz;case 6:return Rz;case 7:return Pz}}else if(64===r&&t[17])return Oz}else if(45<=r)switch(r+-45|0){case 0:return Uz;case 1:return Dz;default:return Mz}return 0}),a(w,function(t){var r=XZ(0,t),e=yr(y,t);if(e){var n=e[1];ZZ(t);var a=l0(w,t),u=a[2],i=EK(r,a[1]);if(6===n){var f=u[2];if("number"==typeof f)c=1;else if(10===f[0]){QZ(t,[0,i,33]);c=0;}else var c=1;if(c);}else;return[0,i,[23,[0,n,1,u]]]}var s=MZ(0,t);if("number"==typeof s)if(105===s)var o=Cz,v=1;else if(106===s)var o=Iz,v=1;else v=0;else v=0;if(!v)o=0;if(o){var l=o[1];ZZ(t);var k=l0(w,t),p=k[2],h=k[1];1-yr(b,p)&&mZ(t,[0,p[1],15]);var d=p[2];"number"==typeof d||10===d[0]&&DZ(d[1][2])&&KZ(t,39);return[0,EK(r,h),[24,[0,l,p,1]]]}return yr(g,t)}),a(g,function(t){var r=yr(T,t);if(jZ(t))return r;var e=MZ(0,t);if("number"==typeof e)if(105===e)var n=xz,a=1;else if(106===e)var n=Ez,a=1;else a=0;else a=0;if(!a)n=0;if(n){var u=n[1];1-yr(b,r)&&mZ(t,[0,r[1],15]);var i=r[2],f=("number"==typeof i||10===i[0]&&DZ(i[1][2])&&KZ(t,38),XZ(0,t));return ZZ(t),[0,EK(r[1],f),[24,[0,u,r,0]]]}return r}),a(T,function(t){var r=XZ(0,t),e=[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],0,t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25]],n=1-t[15],a=MZ(0,e);if("number"==typeof a)if(44===a)if(n)var u=yr(A,e),i=1;else i=0;else if(50===a)var u=wr(_,e,r),i=1;else i=0;else i=0;if(!i)u=JZ(0,e)?yr(I,e):yr(N,e);return gr(S,e,r,gr(x,e,r,u))}),a(_,function(t,r){n0(t,50),n0(t,5);var e=yr(v,AZ(0,t));return n0(t,6),[0,EK(r,e[1]),[11,e]]}),a(S,function(r,e,n){var a=MZ(0,r);if("number"==typeof a)switch(a){case 5:if(!r[12]){var u=yr(E,r),i=u[2];return gr(S,r,e,[0,EK(e,u[1]),[4,[0,n,i]]])}break;case 7:n0(r,7);var f=yr(t[7],r),c=EK(e,XZ(0,r));return n0(r,8),gr(S,r,e,[0,c,[15,[0,n,[1,f],1]]]);case 11:n0(r,11);var s=yr(B,r)[1];return gr(S,r,e,[0,EK(e,s[1]),[15,[0,n,[0,s],0]]])}else if(2===a[0])return gr(S,r,e,Tr(P,r,e,n,a[1]));return n}),a(A,function(r){var e=XZ(0,r);if(n0(r,44),r[10]&&11===MZ(0,r)){n0(r,11);var n=[0,e,Sz];if(fr(FZ(0,r),Az)){var a=wr(t[13],0,r);return[0,EK(e,a[1]),[16,[0,n,a]]]}return VZ(r),ZZ(r),[0,e,[10,n]]}var u=XZ(0,r),i=MZ(0,r);if("number"==typeof i)if(44===i)var f=yr(A,r),c=1;else c=0;else c=0;if(!c)f=JZ(0,r)?yr(I,r):yr(N,r);var s=gr(x,IZ(1,r),u,f),o=MZ(0,r);if("number"==typeof o)l=0;else if(2===o[0])var v=Tr(P,r,u,s,o[1]),l=1;else l=0;if(!l)v=s;var b=MZ(0,r);if("number"==typeof b)if(5===b)var k=yr(E,r),p=k[1],h=k[2],d=1;else d=0;else d=0;if(!d)var p=v[1],h=0;return[0,EK(e,p),[17,[0,v,h]]]}),a(E,function(t){var r=XZ(0,t);n0(t,5);for(l=0;;){var e=MZ(0,t);if("number"==typeof e&&(6===e?1:rv===e?1:0)){var n=Dr(l),a=XZ(0,t);return n0(t,6),[0,EK(r,a),n]}var u=MZ(0,t);if("number"==typeof u)if(13===u){var i=XZ(0,t);n0(t,13);var f=yr(v,t),c=[1,[0,EK(i,f[1]),[0,f]]],s=1;}else s=0;else s=0;if(!s)c=[0,yr(v,t)];var o=[0,c,l];6!==MZ(0,t)&&n0(t,10);var l=o;}}),a(x,function(r,e,n){var a=MZ(0,r);if("number"==typeof a)switch(a){case 7:n0(r,7);var u=IZ(0,r),i=yr(t[7],u),f=XZ(0,r);return n0(r,8),gr(S,r,e,[0,EK(e,f),[15,[0,n,[1,i],1]]]);case 11:n0(r,11);var c=yr(B,r)[1];return gr(S,r,e,[0,EK(e,c[1]),[15,[0,n,[0,c],0]]])}else if(2===a[0])return gr(S,r,e,Tr(P,r,e,n,a[1]));return n}),a(I,function(n){var a=XZ(0,n),u=yr(e[1],n);n0(n,15);var i=yr(e[2],n);if(5===MZ(0,n))var f=0,c=0;else{var s=MZ(0,n);if("number"==typeof s)if(92===s)var o=0,v=1;else v=0;else v=0;if(!v)o=[0,wr(t[13],_z,n)];var f=o,c=yr(r[2],n);}var l=yr(e[4],n),b=yr(r[11],n),k=b[2],p=b[1],h=gr(e[5],n,u,i),d=h[2],m=h[3],y=h[1],w=yr(e[6],l);_r(e[7],n,m,w,f,l);var g=0===d[0]?0:1;return[0,EK(a,y),[8,[0,f,l,d,u,i,k,g,p,c]]]}),a(C,function(t,r){var e=FZ(0,t);if(0===r)f=0;else{switch(r-1|0){case 0:KZ(t,32);var n=1;try{var a=It(xt(Lr(yz,e)));}catch(t){if(n=0,(t=mr(t))[1]!==rm)throw t;var u=xr(Lr(wz,e)),i=1;}if(n)var u=a,i=1;break;case 1:var f=0,i=0;break;default:var c=1;try{var s=KQ(e);}catch(t){c=0;if((t=mr(t))[1]!==rm)throw t;var u=xr(Lr(gz,e)),i=1;}if(c)var u=s,i=1;}if(i)var o=u,f=1;}if(!f)try{o=It(xt(e));}catch(i){if((i=mr(i))[1]!==rm)throw i;o=xr(Lr(Tz,e));}return n0(t,[0,r]),o}),a(N,function(r){var e=XZ(0,r),n=MZ(0,r);if("number"==typeof n)switch(n){case 1:return yr(L,r);case 5:return yr(O,r);case 7:var a=yr(U,r);return[0,a[1],[0,a[2]]];case 21:return n0(r,21),[0,e,1];case 29:var u=FZ(0,r);return n0(r,29),[0,e,[13,[0,0,u]]];case 40:return yr(t[23],r);case 51:var i=XZ(0,r);return n0(r,51),[0,i,0];case 92:var f=yr(t[18],r);return[0,f[1],[12,f[2]]];case 30:case 31:var c=FZ(0,r);return n0(r,n),[0,e,[13,[0,[1,31===n?1:0],c]]];case 73:case 99:return yr(M,r)}else switch(n[0]){case 0:var s=n[1],o=FZ(0,r);return[0,e,[13,[0,[2,wr(C,r,s)],o]]];case 1:var v=n[1],l=v[4],b=v[3],k=v[2],p=v[1];return l&&KZ(r,32),n0(r,[1,[0,p,k,b,l]]),[0,p,[13,[0,[0,k],b]]];case 2:var h=wr(R,r,n[1]);return[0,h[1],[21,h[2]]]}if(YZ(0,r)){var d=wr(t[13],0,r);return[0,d[1],[10,d]]}return VZ(r),zv===n&&ZZ(r),[0,e,[13,[0,0,mz]]]}),a(L,function(r){var e=yr(t[11],r);return[0,e[1],[18,e[2]]]}),a(R,function(r,e){var n=e[3],a=e[2],u=e[1],i=a[2],f=a[1];n0(r,[2,e]);var c=[0,u,[0,[0,i,f],n]];if(n)var s=u,o=[0,c,0],v=0;else for(var l=[0,c,0],b=0;;){var k=yr(t[7],r),p=[0,k,b],h=MZ(0,r);if("number"==typeof h)if(2===h){t0(r,4);var d=MZ(0,r);if("number"==typeof d)I=1;else if(2===d[0]){var m=d[1],y=m[3],w=m[2],g=m[1],T=w[2],_=w[1];ZZ(r),r0(r);var S=[0,[0,g,[0,[0,T,_],y]],l];if(!y){var l=S,b=p;continue}var A=Dr(p),E=[0,g,Dr(S),A],x=1,I=0;}else I=1;if(I)throw[0,im,hz]}else x=0;else x=0;if(!x){VZ(r);var C=[0,k[1],dz],N=Dr(p),L=Dr([0,C,l]),E=[0,k[1],L,N];}var s=E[1],o=E[2],v=E[3];break}return[0,EK(u,s),[0,o,v]]}),a(P,function(t,r,e,n){var a=wr(R,t,n);return[0,EK(r,a[1]),[20,[0,e,a]]]}),a(O,function(t){n0(t,5);var e=yr(v,t),n=MZ(0,t);if("number"==typeof n)if(10===n)var a=wr(X,t,[0,e,0]),u=1;else if(80===n)var i=yr(r[8],t),a=[0,EK(e[1],i[1]),[22,[0,e,i]]],u=1;else u=0;else u=0;if(!u)a=e;return n0(t,6),a}),a(U,function(t){var r=XZ(0,t);n0(t,7);for(o=0;;){var e=MZ(0,t);if("number"==typeof e){if(14<=e)i=rv===e?1:0;else if(8<=e)switch(e-8|0){case 0:i=1;break;case 2:n0(t,10);o=[0,0,o];continue;case 5:var n=XZ(0,t);n0(t,13);var a=yr(v,t),u=[1,[0,EK(n,a[1]),[0,a]]];8!==MZ(0,t)&&n0(t,10);o=[0,[0,u],o];continue;default:i=0;}else var i=0;if(i){var f=Dr(o),c=XZ(0,t);return n0(t,8),[0,EK(r,c),[0,f]]}}var s=[0,yr(v,t)];8!==MZ(0,t)&&n0(t,10);var o=[0,[0,s],o];}}),a(M,function(t){t0(t,5);var r=XZ(0,t),e=MZ(0,t);if("number"!=typeof e&&3===e[0]){var n=e[1],a=n[3],u=n[2],i=FZ(0,t);ZZ(t),r0(t);var f=ue(wt(a));$r(function(t){var r=t-103|0;if(!(18>>0))switch(r){case 0:case 2:case 6:case 14:case 18:return ce(f,t)}return 0},a);var c=ie(f);return sr(c,a)&&WZ(t,[3,a]),[0,r,[13,[0,[3,[0,u,c]],i]]]}throw[0,im,pz]}),a(F,function(n){var a=CZ(o,n),u=XZ(0,a),i=12!==MZ(bz,a)?1:0,f=i?yr(e[1],a):i,c=yr(r[2],a);if(YZ(0,a))if(0===c)var s=wr(t[13],kz,a),v=s[1],l=[0,[0,[0,v,[3,[0,[0,v,s[2]],0,0]]],0],0],b=0,k=0,p=1;else p=0;else p=0;if(!p)var h=yr(e[4],a),d=EZ(1,a),m=yr(r[11],d),l=h,b=m[1],k=m[2];var y=l[1];if(l[2])g=0;else if(y)var w=a,g=1;else g=0;if(!g)w=RZ(a);var T=jZ(w);(T?12===MZ(0,w)?1:0:T)&&WZ(w,45),n0(w,12);var _=RZ(w),S=e[8],A=l0(function(t){return gr(S,t,f,0)},_),E=A[2],x=E[1],I=E[2],C=A[1],N=yr(e[6],l);_r(e[7],_,I,N,0,l);var L=0===x[0]?0:1;return[0,EK(u,C),[1,[0,0,l,x,f,0,k,L,b,c]]]}),a(X,function(t,r){var e=MZ(0,t);if("number"==typeof e&&10===e)return n0(t,10),wr(X,t,[0,yr(v,t),r]);var n=Or(r)[1],a=Dr(r);return[0,EK(Or(a)[1],n),[19,[0,a]]]}),a(B,function(r){var e=MZ(0,r),n=FZ(0,r),a=XZ(0,r);if("number"==typeof e&&(60<=e?64<=e?0:1:0===e?1:0))return[0,wr(t[13],0,r),0];if("number"==typeof e){if(65<=e)if(ol===e)i=1;else if(113<=e)i=1;else var u=0,i=0;else if(60<=e)if(64<=e)i=1;else var u=0,i=0;else if(15<=e)i=1;else var u=0,i=0;if(i)var f=[0,[0,a,zZ([0,e,n])]],u=1;}else u=0;if(!u){VZ(r);f=0;}return ZZ(r),[0,[0,a,n],f]}),[0,U,v,h,B,k,T,C,X]}}}(h0),d0),m0),w0=yr(yr(yr(function(t){return function(r){return function(e){return function(n){function u(t){if(t[24][3])for(e=0;;){var r=MZ(0,t);if("number"!=typeof r||14!==r)return Dr(e);ZZ(t);var e=[0,yr(n[6],t),e];}return 0}function i(r){var e=MZ(0,r);if("number"==typeof e){if(7===e){var a=XZ(0,r);n0(r,7);var u=AZ(0,r),i=yr(t[9],u),f=XZ(0,r);return n0(r,8),[0,EK(a,f),[2,i]]}}else switch(e[0]){case 0:var c=e[1],s=FZ(0,r),o=XZ(0,r);return[0,o,[0,[0,o,[0,[2,wr(n[7],r,c)],s]]]];case 1:var v=e[1],l=v[4],b=v[3],k=v[2],p=v[1];return l&&KZ(r,32),n0(r,[1,[0,p,k,b,l]]),[0,p,[0,[0,p,[0,[0,k],b]]]]}var h=yr(n[4],r)[1];return[0,h[1],[1,h]]}function f(t,n){var a=yr(e[2],t),u=i(t),f=u[1],c=u[2],s=XZ(0,t),o=yr(e[4],t);if(0===n){var v=o[1];if(o[2]){mZ(t,[0,f,63]);}else{if(v)if(v[2])l=1;else l=0;else var l=1;if(l){mZ(t,[0,f,63]);}}}else(o[1]?0:o[2]?0:1)||mZ(t,[0,f,62]);var b=yr(r[9],t),k=gr(e[5],t,0,a),p=k[2],h=k[3],d=yr(e[6],o);_r(e[7],t,h,d,0,o);var m=0===p[0]?[0,p[1][1],0]:[0,p[1][1],1],y=m[2];return[0,c,[0,EK(s,m[1]),[0,0,o,p,0,a,0,y,b,0]]]}function c(t){var r=XZ(0,t);n0(t,1);var e=wr(h,t,0),n=XZ(0,t);return n0(t,2),[0,EK(r,n),[0,e]]}function s(t,r){return r?mZ(t,[0,r[1][1],5]):0}function o(n,a,u,i,f,c,o,v){for(;;){var l=MZ(0,n);if("number"==typeof l){var b=l-78|0;if(2>>0)k=ul===b?0:1;else{if(1===b){VZ(n),ZZ(n);continue}var k=0;}if(!k&&!f&&!c){var p=l0(function(e){var n=yr(r[9],e),a=e[24];if(78===MZ(0,e)){if(o&&a[2]?1:0)u=0;else{if(o)i=1;else if(a[1])var u=0,i=0;else i=1;if(i)var f=0,u=1;}if(!u){n0(e,78);f=[0,yr(t[7],e)];}}else f=0;return a0(e,9)||((7===MZ(0,e)?1:0)||(5===MZ(0,e)?1:0))&&VZ(e),[0,n,f]},n),h=p[2],d=h[2],m=h[1];return[1,[0,EK(a,p[1]),[0,i,d,m,o,v]]]}}s(n,v);var y=XZ(0,n),w=yr(r[2],n),g=yr(e[4],n),T=yr(r[9],n),_=gr(e[5],n,f,c),S=_[2],A=_[3],E=yr(e[6],g);_r(e[7],n,A,E,0,g);var x=0===S[0]?[0,S[1][1],0]:[0,S[1][1],1],I=x[1],C=x[2],N=[0,EK(y,I),[0,0,g,S,f,c,0,C,T,w]];if(0===o){switch(i[0]){case 0:var L=i[1][2][1];if("number"==typeof L)O=1;else if(0===L[0])if(sr(L[1],AV))var R=0,P=0,O=0;else var P=1,O=0;else O=1;if(O)var R=0,P=0;break;case 1:if(sr(i[1][2],EV))var R=0,P=0;else P=1;break;default:var R=0,P=0;}if(P)var U=0,R=1;}else R=0;if(!R)U=1;return[0,[0,EK(a,I),[0,U,i,N,o,u]]]}}function v(e,n){var a=gZ(1,e),i=XZ(0,a),f=Rr(n,u(a));n0(a,40);var c=_Z(1,a),s=a[7],o=YZ(0,c);if(0===s)l=0;else if(0===o)var v=0,l=1;else l=0;if(!l)v=[0,wr(t[13],0,c)];var b=yr(r[3],a),k=yr(d,a),p=k[1],h=k[4],m=k[3],y=k[2];return[0,EK(i,p[1]),[2,[0,v,p,y,b,m,h,f]]]}var l=function t(r){return t.fun(r)},b=function t(r,e){return t.fun(r,e)},k=function t(r,e){return t.fun(r,e)},p=function t(r,e,n,a,u){return t.fun(r,e,n,a,u)},h=function t(r,e){return t.fun(r,e)};a(l,function(r){var n=XZ(0,r);if(13===MZ(0,r)){n0(r,13);var a=yr(t[9],r);return[1,[0,EK(n,a[1]),[0,a]]]}var u=pm?pm[1]:0,f=YZ([0,u],r);if(f)var c=f,s=0;else{var o=MZ([0,u],r);if("number"==typeof o)v=1;else if(1>>0)if(ul<=S)var A=0,E=0;else switch(S+80|0){case 2:case 5:case 10:E=1;break;default:var A=0,E=0;}else if(10<(S-1|0)>>>0)E=1;else var A=0,E=0;if(E)var x=_r(p,r,n,y,0,0),A=1;}else A=0;if(!A)x=wr(k,r,n);var I=x,T=1;}else{var C=MZ(0,r);if("number"==typeof C){var N=C+Ha|0;if(12>>0)if(ul<=N)var L=0,R=0;else switch(N+80|0){case 2:case 5:case 10:R=1;break;default:var L=0,R=0;}else if(10<(N-1|0)>>>0)R=1;else var L=0,R=0;if(R)var P=_r(p,r,n,y,0,0),L=1;}else L=0;if(!L)P=wr(b,r,n);var I=P,T=1;}if(T)var O=I,g=1;}else g=0;}else g=0;else g=0;if(!g)O=_r(p,r,n,m[2],h,d);return[0,O]}),a(b,function(t,r){var e=f(t,1),n=e[2],a=n[1],u=[0,e[1],[1,[0,a,n[2]]],0,0];return[0,EK(r,a),u]}),a(k,function(t,r){var e=f(t,0),n=e[2],a=n[1],u=[0,e[1],[2,[0,a,n[2]]],0,0];return[0,EK(r,a),u]}),a(p,function(n,a,u,i,f){var c=l0(function(n){var a=MZ(0,n);if("number"==typeof a){if(92===a)v=1;else if(11<=a)v=0;else switch(a){case 5:v=1;break;case 2:case 10:switch(u[0]){case 0:var c=u[1],s=[0,c[1],[13,c[2]]];break;case 1:var o=u[1],s=[0,o[1],[10,o]];break;default:s=u[1];}return[0,s,1,0];default:var v=0;}if(v){var l=XZ(0,n),b=yr(r[2],n),k=yr(e[4],n),p=yr(r[9],n),h=gr(e[5],n,i,f),d=h[2],m=h[3],y=yr(e[6],k);_r(e[7],n,m,y,0,k);var w=0===d[0]?[0,d[1][1],0]:[0,d[1][1],1],g=w[2];return[0,[0,EK(l,w[1]),[8,[0,0,k,d,i,f,0,g,p,b]]],0,1]}}return n0(n,80),[0,yr(t[9],n),0,0]},n),s=c[2],o=[0,u,[0,s[1]],s[3],s[2]];return[0,EK(a,c[1]),o]}),a(h,function(t,r){var e=MZ(0,t);if("number"==typeof e&&(2===e?1:rv===e?1:0))return Dr(r);var n=yr(l,t);return 2!==MZ(0,t)&&n0(t,10),wr(h,t,[0,n,r])});var d=function t(r){return t.fun(r)},m=function t(r,e){return t.fun(r,e)},y=function t(r){return t.fun(r)},w=function t(r){return t.fun(r)};return a(d,function(t){if(41===MZ(0,t)){n0(t,41);var e=[0,yr(n[6],[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],0,t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25]])],a=yr(r[4],t);}else var e=0,a=0;if(52===MZ(0,t)){1-dZ(t)&&WZ(t,11),n0(t,52);u=wr(m,t,0);}else var u=0;return[0,yr(y,t),e,a,u]}),a(m,function(e,n){var a=wr(t[13],0,e),u=yr(r[4],e),i=[0,[0,u?EK(a[1],u[1][1]):a[1],[0,a,u]],n],f=MZ(0,e);return"number"==typeof f&&10===f?(n0(e,10),wr(m,e,i)):Dr(i)}),a(y,function(t){var r=XZ(0,t);n0(t,1);for(i=0;;){var e=MZ(0,t);if("number"==typeof e){var n=e-3|0;if(tv>>0){if(!(106<(n+1|0)>>>0)){var a=Dr(i),u=XZ(0,t);return n0(t,2),[0,EK(r,u),[0,a]]}}else if(6===n){n0(t,9);continue}}var i=[0,yr(w,t),i];}}),a(w,function(t){var r=XZ(0,t),n=u(t),a=5!==MZ(xV,t)?1:0;if(a)var c=92!==MZ(IV,t)?1:0,v=c?a0(t,42):c;else v=a;var l=5!==MZ(CV,t)?1:0;if(l)var b=80!==MZ(NV,t)?1:0,k=b?yr(e[1],t):b;else k=l;var p=yr(e[2],t),h=gr(e[3],t,k,p);if(0===p)if(h)var d=yr(e[2],t),m=1;else m=0;else m=0;if(!m)d=p;var y=i(t);if(0===k&&0===d){var w=y[2];if(1===w[0]){var g=w[1][2];if(!sr(g,LV)){var T=MZ(0,t);if("number"==typeof T&&(78<=T?81<=T?92===T?1:0:79===T?0:1:5===T?1:9===T?1:0))return o(t,r,n,w,k,d,v,h);s(t,h);var _=f(t,1),S=_[2],A=[0,2,_[1],S,v,n];return[0,[0,EK(r,S[1]),A]]}if(!sr(g,RV)){var E=MZ(0,t);if("number"==typeof E&&(78<=E?81<=E?92===E?1:0:79===E?0:1:5===E?1:9===E?1:0))return o(t,r,n,w,k,d,v,h);s(t,h);var x=f(t,0),I=x[2],C=[0,3,x[1],I,v,n];return[0,[0,EK(r,I[1]),C]]}}}return o(t,r,n,y[2],k,d,v,h)}),[0,i,c,v,function(e){var n=XZ(0,e),a=u(e);n0(e,40);var i=MZ(0,e);if("number"==typeof i){var f=i-1|0;if(40>>0)if(91===f)s=1;else var c=0,s=0;else if(38<(f-1|0)>>>0)s=1;else var c=0,s=0;if(s)var o=0,v=0,c=1;}else c=0;if(!c)var l=[0,wr(t[13],0,e)],o=l,v=yr(r[3],e);var b=yr(d,e),k=b[1],p=b[4],h=b[3],m=b[2];return[0,EK(n,k[1]),[5,[0,o,k,m,v,h,p,a]]]},u]}}}}(h0),d0),m0),y0),g0=yr(yr(yr(function(t){return function(r){return function(e){return function(n){function u(t,r){for(n=r;;){var e=n[2];switch(e[0]){case 0:return Xr(function(t,r){return u(t,0===r[0]?r[1][2][2]:r[1][2][1])},t,e[1][1]);case 1:return Xr(function(t,r){if(r){var e=r[1];return u(t,0===e[0]?e[1]:e[1][2][1])}return t},t,e[1][1]);case 2:var n=e[1][1];continue;case 3:return[0,e[1][1],t];default:return xr(A$)}}}function i(r,e,n){if(n){var a=n[1];if(0===a[0]){var u=a[1],i=u[2][1],f=u[1];return!i||i[1][2][2]||i[2]?mZ(r,[0,f,e]):0}var c=a[1],s=c[1],o=1-yr(t[24],[0,s,c[2]]);return o?mZ(r,[0,s,e]):o}return WZ(r,e)}function f(t,e){for(u=e;;){var n=[0,yr(r[5],t),u],a=MZ(0,t);if("number"!=typeof a||10!==a)return Dr(n);n0(t,10);var u=n;}}function c(t){u0(t,YV);var r=MZ(0,t);if("number"!=typeof r&&1===r[0]){var e=r[1],n=e[4],a=e[3],u=e[2],i=e[1];return n&&KZ(t,32),n0(t,[1,[0,i,u,a,n]]),[0,i,[0,[0,u],a]]}var f=FZ(0,t),c=[0,XZ(0,t),[0,[0,f],f]];return VZ(t),c}function s(r,e){var n=XZ(0,r),a=MZ(0,r);if("number"==typeof a&&Tb===a){n0(r,Tb),u0(r,qV);var u=wr(t[13],0,r);return[0,[2,[0,EK(n,u[1]),u]],0]}n0(r,1);for(var i=0,f=0;;){var c=i?i[1]:1,s=MZ(0,r);if("number"==typeof s&&(2===s?1:rv===s?1:0)){var o=Dr(f);return n0(r,2),o}1-c&&mZ(r,[0,XZ(0,r),66]);var v=yr(t[14],r),l=v[2],b=v[1],k=b[2];if(fr(k,UV))var p=1,h=DV;else if(fr(k,MV))var p=1,h=FV;else var p=0,h=0;if(fr(FZ(0,r),XV)){var d=wr(t[13],0,r);if(p)if(YZ(0,r))y=0;else{e&&mZ(r,[0,b[1],65]);var m=[0,[0,h,0,d]],y=1;}else y=0;if(!y)m=[0,[0,0,[0,wr(t[13],0,r)],b]];_=m;}else{if(p)if(YZ(0,r)){e&&mZ(r,[0,b[1],65]);var w=yr(t[14],r),g=w[2],T=w[1];g&&mZ(r,g[1]);var _=[0,[0,h,fr(FZ(0,r),BV)?(u0(r,jV),[0,wr(t[13],0,r)]):0,T]],S=1;}else S=0;else S=0;if(!S){l&&mZ(r,l[1]);_=[0,[0,0,0,b]];}}var i=[0,a0(r,10)],f=[0,_,f];}}var o=function t(r){return t.fun(r)},v=function t(r){return t.fun(r)},l=function t(r){return t.fun(r)},b=function t(r){return t.fun(r)},k=function t(r){return t.fun(r)},p=function t(r){return t.fun(r)},h=function t(r){return t.fun(r)},d=function t(r){return t.fun(r)},m=function t(r){return t.fun(r)},y=function t(r){return t.fun(r)},w=function t(r){return t.fun(r)},g=function t(r){return t.fun(r)},T=function t(r){return t.fun(r)},_=function t(r){return t.fun(r)},S=function t(r){return t.fun(r)},A=function t(r){return t.fun(r)},E=function t(r){return t.fun(r)},x=function t(r){return t.fun(r)},I=function t(r){return t.fun(r)},C=function t(r){return t.fun(r)},N=function t(r){return t.fun(r)},L=function t(r){return t.fun(r)},R=function t(r,e){return t.fun(r,e)},P=function t(r,e){return t.fun(r,e)},O=function t(r,e){return t.fun(r,e)},U=function t(r,e){return t.fun(r,e)},D=function t(r,e){return t.fun(r,e)},M=function t(r,e){return t.fun(r,e)},F=function t(r,e){return t.fun(r,e)},X=function t(r,e){return t.fun(r,e)},B=function t(r,e){return t.fun(r,e)},j=function t(r){return t.fun(r)},G=function t(r){return t.fun(r)},q=function t(r,e,n){return t.fun(r,e,n)},Y=function t(r,e){return t.fun(r,e)},J=function t(r,e){return t.fun(r,e)},H=function t(r){return t.fun(r)};return a(o,function(t){var r=XZ(0,t);return n0(t,9),[0,r,1]}),a(v,function(r){var e=XZ(0,r);if(n0(r,32),9===MZ(0,r))i=0;else if(GZ(r))i=0;else{var n=wr(t[13],0,r),a=n[2];1-wr(k0[3],a,r[3])&&WZ(r,[4,a]);var u=[0,n],i=1;}if(!i)u=0;var f=qZ(0,r),c=f?f[1]:u?u[1][1]:e,s=EK(e,c),o=0===u?1:0;if(o)var v=r[8],l=v||r[9],b=1-l;else b=o;return b&&mZ(r,[0,s,23]),e0(r),[0,s,[1,[0,u]]]}),a(l,function(r){var e=XZ(0,r);if(n0(r,35),9===MZ(0,r))i=0;else if(GZ(r))i=0;else{var n=wr(t[13],0,r),a=n[2];1-wr(k0[3],a,r[3])&&WZ(r,[4,a]);var u=[0,n],i=1;}if(!i)u=0;var f=qZ(0,r),c=f?f[1]:u?u[1][1]:e,s=EK(e,c);return 1-r[8]&&mZ(r,[0,s,22]),e0(r),[0,s,[3,[0,u]]]}),a(b,function(t){var r=XZ(0,t);n0(t,59);var e=qZ(0,t),n=e?e[1]:r;return e0(t),[0,EK(r,n),0]}),a(k,function(r){var e=XZ(0,r);n0(r,37);var n=SZ(1,r),a=yr(t[2],n);n0(r,25),n0(r,5);var u=yr(t[7],r),i=XZ(0,r);n0(r,6);var f=qZ(0,r),c=f?f[1]:i;return 9===MZ(0,r)&&e0(r),[0,EK(e,c),[10,[0,a,u]]]}),a(p,function(r){var n=XZ(0,r);n0(r,39);var a=r[17],u=a?a0(r,64):a;n0(r,5);var f=MZ(0,r);if("number"==typeof f)if(24<=f)if(29<=f)h=0;else{switch(f+-24|0){case 0:var c=AZ(1,r),s=yr(e[13],c),o=[0,[0,[0,s[1]]],s[2]],v=1;break;case 3:var l=AZ(1,r),b=yr(e[12],l),o=[0,[0,[0,b[1]]],b[2]],v=1;break;case 4:var k=AZ(1,r),p=yr(e[11],k),o=[0,[0,[0,p[1]]],p[2]],v=1;break;default:var h=0,v=0;}if(v)var d=o[1],m=o[2],h=1;}else if(9===f)var d=0,m=0,h=1;else h=0;else h=0;if(!h)var y=_Z(1,AZ(1,r)),d=[0,[1,yr(t[7],y)]],m=0;var w=MZ(0,r);if(62!==w&&!u){if("number"==typeof w&&17===w){if(i(r,17,d),d){var g=d[1],T=0===g[0]?[0,g[1]]:[1,g[1]];n0(r,17);var _=yr(t[7],r);n0(r,6);var S=SZ(1,r),A=yr(t[2],S);return[0,EK(n,A[1]),[15,[0,T,_,A,0]]]}throw[0,im,S$]}Fr(function(t){return mZ(r,t)},m),n0(r,9);var E=MZ(0,r);if("number"==typeof E)if(9===E)var x=0,I=1;else I=0;else I=0;if(!I)x=[0,yr(t[7],r)];n0(r,9);var C=MZ(0,r);if("number"==typeof C)if(6===C)var N=0,L=1;else L=0;else L=0;if(!L)N=[0,yr(t[7],r)];n0(r,6);var R=SZ(1,r),P=yr(t[2],R);return[0,EK(n,P[1]),[14,[0,d,x,N,P]]]}if(i(r,18,d),d){var O=d[1],U=0===O[0]?[0,O[1]]:[1,O[1]];n0(r,62);var D=yr(t[9],r);n0(r,6);var M=SZ(1,r),F=yr(t[2],M);return[0,EK(n,F[1]),[16,[0,U,D,F,u]]]}throw[0,im,_$]}),a(h,function(r){var n=XZ(0,r);n0(r,16),n0(r,5);var a=yr(t[7],r);n0(r,6),MZ(0,r);var u=JZ(0,r)?(KZ(r,46),yr(e[14],r)):yr(t[2],r),i=43===MZ(0,r)?(n0(r,43),[0,yr(t[2],r)]):0,f=i?i[1][1]:u[1];return[0,EK(n,f),[18,[0,a,u,i]]]}),a(d,function(r){1-r[10]&&WZ(r,24);var e=XZ(0,r);if(n0(r,19),9===MZ(0,r))a=0;else if(GZ(r))a=0;else var n=[0,yr(t[7],r)],a=1;if(!a)n=0;var u=qZ(0,r),i=u?u[1]:n?n[1][1]:e;return e0(r),[0,EK(e,i),[22,[0,n]]]}),a(m,function(r){var e=XZ(0,r);n0(r,20),n0(r,5);var n=yr(t[7],r);n0(r,6),n0(r,1);for(y=T$;;){var a=y[2],u=y[1],i=MZ(0,r);if("number"==typeof i&&(2===i?1:rv===i?1:0)){var f=Dr(a),c=XZ(0,r);return n0(r,2),[0,EK(e,c),[23,[0,n,f]]]}var s=XZ(0,r),o=MZ(0,r);if("number"==typeof o)if(36===o){u&&WZ(r,20),n0(r,36);var v=0,l=1;}else l=0;else l=0;if(!l){n0(r,33);v=[0,yr(t[7],r)];}var b=u||(0===v?1:0),k=XZ(0,r);n0(r,80);var p=function(t){if("number"==typeof t){var r=t-2|0;if(31>>0?34===r?1:0:29<(r-1|0)>>>0?1:0)return 1}return 0},h=wr(t[4],p,[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],1,r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25]]),d=Dr(h),m=d?d[1][1]:k,y=[0,b,[0,[0,EK(s,m),[0,v,h]],a]];}}),a(y,function(r){var e=XZ(0,r);n0(r,22),jZ(r)&&mZ(r,[0,e,12]);var n=yr(t[7],r),a=qZ(0,r),u=a?a[1]:n[1];return e0(r),[0,EK(e,u),[24,[0,n]]]}),a(w,function(r){var e=XZ(0,r);n0(r,23);var n=yr(t[16],r),a=MZ(0,r);if("number"==typeof a)if(34===a){var u=XZ(0,r);n0(r,34),n0(r,5);var i=wr(t[13],g$,r),f=[0,i[1],[3,[0,i,0,0]]];n0(r,6);var c=yr(t[16],r),s=[0,[0,EK(u,c[1]),[0,f,c]]],o=1;}else o=0;else o=0;if(!o)s=0;var v=MZ(0,r);if("number"==typeof v)if(38===v){n0(r,38);var l=[0,yr(t[16],r)],b=1;}else b=0;else b=0;if(!b)l=0;var k=l?l[1][1]:s?s[1][1]:(mZ(r,[0,n[1],21]),n[1]);return[0,EK(e,k),[25,[0,n,s,l]]]}),a(g,function(t){var r=yr(e[9],t),n=r[1],a=n[1],u=r[2],i=n[2],f=qZ(0,t),c=f?f[1]:a;return e0(t),Fr(function(r){return mZ(t,r)},u),[0,EK(a,c),i]}),a(T,function(t){var r=XZ(0,t);n0(t,28);var n=_Z(1,t),a=yr(e[10],n),u=a[3],i=a[1],f=[27,[0,a[2],1]],c=qZ(0,t),s=c?c[1]:i;return e0(t),Fr(function(r){return mZ(t,r)},u),[0,EK(r,s),f]}),a(_,function(r){var e=XZ(0,r);n0(r,25),n0(r,5);var n=yr(t[7],r);n0(r,6);var a=SZ(1,r),u=yr(t[2],a);return[0,EK(e,u[1]),[28,[0,n,u]]]}),a(S,function(r){var e=XZ(0,r);n0(r,26),n0(r,5);var n=yr(t[7],r);n0(r,6);var a=yr(t[2],r),u=EK(e,a[1]);return QZ(r,[0,u,26]),[0,u,[29,[0,n,a]]]}),a(A,function(r){var e=yr(t[16],r);return[0,e[1],[0,e[2]]]}),a(E,function(r){var e=yr(t[7],r),n=MZ(0,r),a=e[2],u=e[1];if("number"!=typeof a&&10===a[0]&&"number"==typeof n&&80===n){var i=a[1],f=i[2];n0(r,80),wr(k0[3],f,r[3])&&mZ(r,[0,u,[5,w$,f]]);var c=r[25],s=r[24],o=r[23],v=r[22],l=r[21],b=r[20],k=r[19],p=r[18],h=r[17],d=r[16],m=r[15],y=r[14],w=r[13],g=r[12],T=r[11],_=r[10],S=r[9],A=r[8],E=r[7],x=r[6],I=r[5],C=r[4],N=wr(lZ[4],f,r[3]),L=yr(t[2],[0,r[1],r[2],N,C,I,x,E,A,S,_,T,g,w,y,m,d,h,p,k,b,l,v,o,s,c]);return[0,EK(u,L[1]),[21,[0,i,L]]]}var R=qZ(0,r),P=R?R[1]:e[1];return e0(r),[0,EK(e[1],P),[13,[0,e,0]]]}),a(x,function(r){var e=l0(t[7],r),n=e[2],a=e[1],u=qZ(0,r),i=u?EK(a,u[1]):a;if(e0(r),r[18]){var f=n[2];if("number"==typeof f)l=0;else if(13===f[0]){var c=f[1],s=c[1];if("number"==typeof s)b=1;else if(0===s[0])var o=c[2],v=[0,Vr(o,1,wt(o)-2|0)],l=1,b=0;else b=1;if(b)l=0;}else l=0;if(!l)v=0;k=v;}else var k=0;return[0,i,[13,[0,n,k]]]}),a(I,function(e){var n=XZ(0,e);1-dZ(e)&&WZ(e,6),n0(e,61),t0(e,1);var a=wr(t[13],0,e),u=yr(r[3],e);n0(e,78);var i=yr(r[1],e),f=qZ(0,e),c=f?f[1]:i[1];return e0(e),r0(e),[0,EK(n,c),[0,a,u,i]]}),a(C,function(r){if(YZ(y$,r)){var e=yr(I,r);return[0,e[1],[26,e[2]]]}return yr(t[2],r)}),a(N,function(e){var n=XZ(0,e);1-dZ(e)&&WZ(e,11),n0(e,53);var a=wr(t[13],0,e),u=yr(r[3],e);if(41===MZ(0,e)){n0(e,41);for(c=0;;){var i=[0,yr(r[5],e),c],f=MZ(0,e);if("number"!=typeof f||10!==f){s=Dr(i);break}n0(e,10);var c=i;}}else var s=0;var o=wr(r[6],1,e);return[0,EK(n,o[1]),[0,a,u,o,s,0]]}),a(L,function(t){if(YZ(m$,t)){var r=yr(N,t);return[0,r[1],[20,r[2]]]}return yr(x,t)}),a(R,function(e,n){var a=gZ(1,e);n0(a,40);var u=wr(t[13],0,a),i=yr(r[3],a),c=41===MZ(0,a)?(n0(a,41),f(a,0)):0,s=fr(FZ(0,a),h$)?(u0(a,d$),f(a,0)):0,o=wr(r[6],1,a);return[0,EK(n,o[1]),[0,u,i,o,c,s]]}),a(P,function(t,r){var e=wr(R,t,r);return[0,e[1],[4,e[2]]]}),a(O,function(e,n){n0(e,15);var a=wr(t[13],0,e),u=XZ(0,e),i=yr(r[2],e),f=yr(r[7],e);n0(e,80);var c=yr(r[1],e),s=c[1],o=[0,EK(u,s),[1,[0,f,c,i]]],v=[0,o[1],o],l=a[2],b=[0,EK(a[1],s),l],k=yr(r[10],e),p=qZ(0,e),h=p?p[1]:k?k[1][1]:s;return e0(e),[0,EK(n,h),[0,b,v,k]]}),a(U,function(t,r){var e=wr(O,t,r);return[0,e[1],[6,e[2]]]}),a(D,function(r,e){n0(r,24);var n=gr(t[15],r,p$,28),a=n[2],u=a[2],i=a[1],f=n[1],c=qZ(0,r),s=c?c[1]:f,o=EK(e,s);return e0(r),[0,o,[0,i,u]]}),a(M,function(t,r){var e=wr(D,t,r);return[0,e[1],[9,e[2]]]}),a(F,function(r,e){var n=MZ(0,r);if("number"==typeof n)o=0;else if(1===n[0]){var a=n[1],u=a[4],i=a[3],f=a[2],c=a[1];u&&KZ(r,32),n0(r,[1,[0,c,f,i,u]]);var s=[1,[0,c,[0,[0,f],i]]],o=1;}else o=0;if(!o)s=[0,wr(t[13],0,r)];var v=l0(function(t){n0(t,1);for(var r=0,e=0;;){var n=MZ(0,t);if("number"==typeof n&&(2===n?1:rv===n?1:0)){var a=[0,r,Dr(e)];return n0(t,2),a}var u=wr(B,k$,t),i=u[2],f=u[1];if(r){if(0===r[1][0]){if("number"==typeof i)o=1;else switch(i[0]){case 5:var c=i[1][2];(c&&3>>0)X=0;else switch(x){case 22:n0(i,36),yZ(i,[0,EK(f,XZ(0,i)),n$]);var I=MZ(0,i);if("number"==typeof I)if(15===I)var N=yr(e[14],i),R=N[1],P=[0,N],O=1;else O=0;else O=0;if(!O)if(HZ(0,i))var U=wr(n[3],i,a),R=U[1],P=[0,U];else{var D=yr(t[9],i),M=qZ(0,i),F=M?M[1]:D[1];e0(i);var R=F,P=[1,D];}return[0,EK(f,R),[11,[0,P,1]]];case 0:case 1:case 10:case 13:case 14:case 26:X=1;break;default:var X=0;}}if(X){var B=wr(t[3],[0,a],i),Y=B[2],J=B[1];if("number"==typeof Y)z=0;else switch(Y[0]){case 2:var H=Y[1][1];if(H)var W=H[1],z=2;else{mZ(i,[0,J,55]);var V=0,z=1;}break;case 17:var $=Y[1][1];if($)var W=$[1],z=2;else{mZ(i,[0,J,56]);var V=0,z=1;}break;case 27:var V=Xr(function(t,r){return Xr(u,t,[0,r[2][1],0])},0,Y[1][1]),z=1;break;default:z=0;}switch(z){case 0:var V=xr(u$),K=0;break;case 1:K=0;break;default:var Q=[0,[0,J,yr(G,W)],0],K=1;}if(!K)Q=V;return Fr(function(t){return yZ(i,t)},Q),[0,EK(f,B[1]),[12,[0,[0,B],0,0,1]]]}}var Z=MZ(0,i);if("number"==typeof Z)if(61===Z){ZZ(i);var tt=0,rt=1;}else rt=0;else rt=0;if(!rt)tt=1;n0(i,1);var et=gr(q,i,0,0),nt=et[2],at=[0,[0,et[1]]],ut=XZ(0,i);n0(i,2);var it=fr(FZ(0,i),a$)?[0,yr(j,i)]:(Fr(function(t){return mZ(i,t)},nt),0),ft=qZ(0,i),ct=ft?ft[1]:it?it[1][1]:ut;return e0(i),[0,EK(f,ct),[12,[0,0,at,it,tt]]]}),a(J,function(e,n){var a=e?e[1]:0;1-dZ(n)&&WZ(n,8);var u=XZ(0,n);n0(n,60);var i=xZ(1,gZ(1,n));n0(i,49);var f=MZ(0,i);if("number"==typeof f)if(54<=f){if(61===f){if(a){var c=yr(I,i),s=c[1],o=c[2];return[0,EK(u,s),[5,[0,0,[0,[4,[0,s,o]]],0,0]]]}}else if(Tb===f){var v=XZ(0,i);n0(i,Tb);var l=i[24][4],b=fr(FZ(0,i),JV)?(u0(i,HV),l?[0,wr(t[13],0,i)]:(WZ(i,8),0)):0,k=yr(j,i),p=qZ(0,i),h=[0,[1,v,b]],d=p?p[1]:k[1];return e0(i),[0,EK(u,d),[5,[0,0,0,h,[0,k]]]]}}else if(41<=f){if(53<=f&&a){var m=yr(N,i),y=m[1],w=m[2];return[0,EK(u,y),[5,[0,0,[0,[5,[0,y,w]]],0,0]]]}}else if(15<=f)switch(f-15|0){case 21:n0(i,36);var g=MZ(0,i);if("number"==typeof g)if(15===g)var T=wr(O,i,u),_=T[1],S=[0,[1,T]],A=1;else if(40===g)var E=wr(R,i,u),_=E[1],S=[0,[2,E]],A=1;else A=0;else A=0;if(!A){var x=yr(r[1],i),C=qZ(0,i),L=C?C[1]:x[1];e0(i);var _=L,S=[0,[3,x]];}return[0,EK(u,_),[5,[0,1,S,0,0]]];case 0:case 9:case 12:case 13:case 25:var P=MZ(0,i);if("number"==typeof P){if(25<=P)if(29<=P)if(40===P)var U=wr(R,i,u),M=U[1],F=[0,[2,U]],X=2;else X=0;else X=27<=P?1:0;else if(15===P)var B=wr(O,i,u),M=B[1],F=[0,[1,B]],X=2;else X=24<=P?1:0;switch(X){case 0:Y=0;break;case 1:"number"==typeof P&&(27===P?WZ(i,51):28===P&&WZ(i,50));var G=wr(D,i,u),M=G[1],F=[0,[0,G]],Y=1;break;default:Y=1;}if(Y)return[0,EK(u,M),[5,[0,0,F,0,0]]]}throw[0,im,zV]}var J=MZ(0,i);"number"==typeof J&&(53===J?WZ(i,53):61===J&&WZ(i,52));n0(i,1);var H=gr(q,i,0,0),W=H[2],z=[0,[0,H[1]]],V=XZ(0,i);n0(i,2);var $=fr(FZ(0,i),WV)?[0,yr(j,i)]:(Fr(function(t){return mZ(i,t)},W),0),K=qZ(0,i),Q=K?K[1]:$?$[1][1]:V;return e0(i),[0,EK(u,Q),[5,[0,0,0,z,$]]]}),a(H,function(r){var e=gZ(1,r),n=XZ(0,e);n0(e,50);var a=MZ(0,e);if("number"==typeof a)if(46===a){1-dZ(e)&&WZ(e,9),n0(e,46);var u=1,i=0,f=1;}else if(61===a){1-dZ(e)&&WZ(e,9);var u=0,i=[0,wr(t[13],0,e)],f=1;}else f=0;else f=0;if(!f)var u=2,i=0;var o=2!==u?1:0,v=MZ(0,e),l=YZ(0,e);if("number"==typeof v)g=10===v?1:0;else if(1===v[0]){var b=v[1],k=b[4],p=b[3],h=b[2],d=b[1];if(2===u){k&&KZ(e,32),n0(e,[1,[0,d,h,p,k]]);var m=qZ(0,e),y=[0,d,[0,[0,h],p]],w=m?m[1]:d;return e0(e),[0,EK(n,w),[19,[0,u,y,0]]]}g=0;}else var g=0;if(!g&&0===l){var T=s(e,o),_=c(e),S=qZ(0,e),A=S?S[1]:_[1];return e0(e),[0,EK(n,A),[19,[0,u,_,T]]]}var E=MZ(0,e),x=FZ(0,e);if(i)if("number"==typeof E){var I=i[1];if(10===E)N=1;else if(0===E)if(sr(x,GV))var C=0,N=0;else N=1;else var C=0,N=0;if(N)var L=2,R=[1,I],C=1;}else C=0;else C=0;if(!C)var L=u,R=[1,wr(t[13],0,e)];var P=MZ(0,e);if("number"==typeof P)if(10===P){n0(e,10);var O=s(e,o),U=1;}else U=0;else U=0;if(!U)O=0;var D=c(e),M=qZ(0,e),F=M?M[1]:D[1];return e0(e),[0,EK(n,F),[19,[0,L,D,[0,R,O]]]]}),[0,p,h,T,w,_,S,A,v,l,b,B,J,k,o,Y,x,H,L,E,d,m,y,C,g]}}}}(h0),d0),m0),w0),T0=yr(function(t){return function(r){function e(r,e){return[0,e[1],[0,[0,Mr(function(e){if(0===e[0]){var n=e[1],a=n[2],u=a[2],i=a[1],f=a[4],c=n[1];switch(i[0]){case 0:s=[0,i[1]];break;case 1:s=[1,i[1]];break;default:var s=[2,i[1]];}if(0===u[0])b=wr(t[20],r,u[1]);else{var o=u[1],v=o[1],l=o[2];mZ(r,[0,v,2]);var b=[0,v,[4,[0,v,[8,l]]]];}return[0,[0,c,[0,s,b,f]]]}var k=e[1];return[1,[0,k[1],[0,wr(t[20],r,k[2][1])]]]},e[2][1]),0]]]}function n(r,e){return[0,e[1],[1,[0,Mr(function(e){if(e){var n=e[1];if(0===n[0]){var a=n[1];return[0,[0,wr(t[20],r,[0,a[1],a[2]])]]}var u=n[1];return[0,[1,[0,u[1],[0,wr(t[20],r,u[2][1])]]]]}return 0},e[2][1]),0]]]}function a(t,r){var a=r[2],u=r[1];if("number"!=typeof a)switch(a[0]){case 0:return n(t,[0,u,a[1]]);case 2:var i=a[1];if(0===i[1])return[0,u,[2,[0,i[2],i[3]]]];break;case 10:return[0,u,[3,[0,a[1],0,0]]];case 18:return e(t,[0,u,a[1]])}return[0,u,[4,[0,u,a]]]}function u(e){return function(n){var a=XZ(0,n);n0(n,1);for(C=0;;){var u=MZ(0,n);if("number"==typeof u&&(2===u?1:rv===u?1:0)){var i=Dr(C),c=XZ(0,n);if(n0(n,2),80===MZ(0,n))var s=yr(r[8],n),o=s[1],v=[0,s];else var o=c,v=0;return[0,EK(a,o),[0,[0,i,v]]]}var l=XZ(0,n);if(a0(n,13))var b=f(n,e),k=[0,[1,[0,EK(l,b[1]),[0,b]]]];else{var p=yr(t[21],n)[2];switch(p[0]){case 0:h=[0,p[1]];break;case 1:h=[1,p[1]];break;default:var h=[2,p[1]];}var d=MZ(0,n);if("number"==typeof d)if(80===d){n0(n,80);var m=[0,[0,f(n,e),0]],y=1;}else y=0;else y=0;if(!y)if(1===h[0])var w=h[1],m=[0,[0,[0,w[1],[3,[0,w,0,0]]],1]];else{VZ(n);m=0;}if(m){var g=m[1],T=g[1],_=g[2],S=MZ(0,n);if("number"==typeof S)if(78===S){n0(n,78);var A=yr(t[9],n),E=[0,EK(T[1],A[1]),[2,[0,T,A]]],x=1;}else x=0;else x=0;if(!x)E=T;k=[0,[0,[0,EK(l,E[1]),[0,h,E,_]]]];}else k=0;}if(k){var I=k[1];2!==MZ(0,n)&&n0(n,10);var C=[0,I,C];}else;}}}function i(e){return function(n){var a=XZ(0,n);n0(n,7);for(s=0;;){var u=MZ(0,n);if("number"==typeof u){if(14<=u)o=rv===u?1:0;else if(8<=u)switch(u-8|0){case 0:o=1;break;case 2:n0(n,10);s=[0,0,s];continue;case 5:var i=XZ(0,n);n0(n,13);var c=f(n,e),s=[0,[0,[1,[0,EK(i,c[1]),[0,c]]]],s];continue;default:o=0;}else var o=0;if(o){var v=Dr(s),l=XZ(0,n);if(n0(n,8),80===MZ(0,n))var b=yr(r[8],n),k=b[1],p=[0,b];else var k=l,p=0;return[0,EK(a,k),[1,[0,v,p]]]}}var h=f(n,e),d=MZ(0,n);if("number"==typeof d)if(78===d){n0(n,78);var m=yr(t[9],n),y=[0,EK(h[1],m[1]),[2,[0,h,m]]],w=1;}else w=0;else w=0;if(!w)y=h;var g=[0,y];8!==MZ(0,n)&&n0(n,10);s=[0,[0,g],s];}}}function f(r,e){var n=MZ(0,r);if("number"==typeof n){if(1===n)return yr(u(e),r);if(7===n)return yr(i(e),r)}var a=gr(t[15],r,0,e);return[0,a[1],[3,a[2]]]}return[0,e,n,a,u,i,f]}}(h0),d0),_0=function t(r){return t.fun(r)},S0=function t(r,e,n){return t.fun(r,e,n)},A0=function t(r){return t.fun(r)},E0=function t(r,e){return t.fun(r,e)},x0=function t(r,e){return t.fun(r,e)},I0=function t(r,e){return t.fun(r,e)},C0=function t(r,e){return t.fun(r,e)},N0=function t(r,e){return t.fun(r,e)},L0=function t(r){return t.fun(r)},R0=function t(r){return t.fun(r)},P0=function t(r,e){return t.fun(r,e)},O0=function t(r,e,n){return t.fun(r,e,n)},U0=function t(r){return t.fun(r)},D0=function t(r){return t.fun(r)},M0=function(t){function r(r){t0(r,0);var e=XZ(0,r);n0(r,1),n0(r,13);var n=yr(t[9],r),a=XZ(0,r);return n0(r,2),r0(r),[0,EK(e,a),[0,n]]}function e(r){t0(r,0);var e=XZ(0,r);if(n0(r,1),2===MZ(0,r))var n=XZ(0,r)[2],a=[1,[0,e[1],e[3],n]];else a=[0,yr(t[7],r)];var u=XZ(0,r);return n0(r,2),r0(r),[0,EK(e,u),[0,a]]}function n(t){var r=XZ(0,t),e=FZ(0,t);return n0(t,Ka),[0,r,[0,e]]}function u(t){var r=n(t),e=MZ(0,t);if("number"==typeof e){if(11===e){n0(t,11);for(var a=n(t),u=[0,EK(r[1],a[1]),[0,[0,r],a]];;){var i=MZ(0,t);if("number"!=typeof i||11!==i)return[2,u];n0(t,11);var f=n(t),u=[0,EK(u[1],f[1]),[0,[1,u],f]];}}if(80===e){n0(t,80);var c=n(t);return[1,[0,EK(r[1],c[1]),[0,r,c]]]}}return[0,r]}function i(t){var r=XZ(0,t),a=n(t);if(80===MZ(0,t)){n0(t,80);var u=n(t),i=EK(a[1],u[1]),f=i,c=[1,[0,i,[0,a,u]]];}else var f=a[1],c=[0,a];if(78===MZ(0,t)){n0(t,78);var s=MZ(0,t);if("number"==typeof s)if(1===s){var o=e(t),v=o[2],l=o[1];0!==v[1][0]&&mZ(t,[0,l,41]);var b=[0,l,[0,[1,l,v]]],k=0;}else k=1;else if(4===s[0]){var p=s[1],h=p[1],d=p[3],m=p[2];n0(t,s);var b=[0,h,[0,[0,h,[0,[0,m],d]]]],k=0;}else k=1;if(k){WZ(t,42);var y=XZ(0,t),w=y,g=[0,[0,y,[0,SV,_V]]];}else var w=b[1],g=b[2];}else var w=f,g=0;return[0,EK(r,w),[0,c,g]]}function f(t,e){for(var n=0,a=u(t);;){var f=MZ(0,t);if("number"==typeof f){if(94<=f)c=99===f?1:rv===f?1:0;else{if(1===f){n=[0,[1,r(t)],n];continue}var c=93<=f?1:0;}if(c){var s=Dr(n),o=99===MZ(0,t)?1:0;o&&n0(t,99);var v=XZ(0,t);return n0(t,93),r0(t),[0,EK(e,v),[0,a,o,s]]}}n=[0,[0,i(t)],n];}}function c(t,r){n0(t,99);var e=u(t),n=XZ(0,t);n0(t,93);var a=t[20][1];if(a){var i=a[2];if(i)var f=i[2],c=1;else c=0;}else c=0;if(!c)f=xr(wW);t[20][1]=f;var s=hZ(t),o=bZ(t[21][1],s);return t[22][1]=o,[0,EK(r,n),[0,e]]}function s(t){switch(t[0]){case 0:return t[1][2][1];case 1:var r=t[1][2],e=r[1],n=Lr(gV,r[2][2][1]);return Lr(e[2][1],n);default:var a=t[1][2],u=a[1],i=a[2];return Lr(0===u[0]?u[1][2][1]:s([2,u[1]]),Lr(TV,i[2][1]))}}var o=function t(r){return t.fun(r)},v=function t(r,e){return t.fun(r,e)},l=function t(r){return t.fun(r)};return a(o,function(t){var r=MZ(0,t);if("number"==typeof r){if(1===r){var n=e(t);return[0,n[1],[1,n[2]]]}}else if(4===r[0]){var a=r[1],u=a[3],i=a[2],f=a[1];return n0(t,r),[0,f,[2,[0,i,u]]]}var c=yr(l,t);return[0,c[1],[0,c[2]]]}),a(v,function(t,r){var e=f(t,r);if(e[2][2])var n=0,a=0;else{t0(t,3);for(d=0;;){var u=MZ(0,t);if("number"==typeof u){if(92===u){t0(t,2);var i=XZ(0,t);n0(t,92);var l=MZ(0,t);if("number"==typeof l){if(99===l)k=1;else if(rv===l)k=1;else var b=0,k=0;if(k)var p=[0,c(t,i)],b=1;}else b=0;if(!b)p=[1,wr(v,t,i)];if(0!==p[0]){var h=p[1],d=[0,[0,h[1],[0,h[2]]],d];continue}var m=[0,p[1]],y=[0,Dr(d),m],w=1;}else if(rv===u){VZ(t);var y=[0,Dr(d),0],w=1;}else var g=0,w=0;if(w)var n=y[1],a=y[2],g=1;}else g=0;if(g)break;d=[0,yr(o,t),d];}}if(a){var T=a[1],_=T[2][1],S=T[1],A=s(e[2][1]);sr(s(_),A)&&WZ(t,[6,A]);E=S;}else var E=e[1];return[0,EK(e[1],E),[0,e,a,n]]}),a(l,function(t){var r=XZ(0,t);return t0(t,2),n0(t,92),wr(v,t,r)}),[0,r,e,n,u,i,f,c,o,v,l]}(h0),F0=w0[3],X0=y0[3],B0=y0[2],j0=y0[6],G0=w0[2],q0=w0[1],Y0=w0[4],J0=y0[1],H0=y0[5],W0=y0[4],z0=M0[10],V0=T0[6],$0=T0[3];a(_0,function(t){var r=wr(E0,t,function(t){return 0}),e=XZ(0,t);if(n0(t,rv),r)var n=Or(Dr(r))[1],a=EK(Or(r)[1],n);else a=e;return[0,a,r,Dr(t[2][1])]}),a(S0,function(t,r,e){for(var n=TZ(1,t),a=C$;;){var u=a[2],i=a[1],f=MZ(0,n);if("number"==typeof f)if(rv===f)var c=[0,n,i,u],s=1;else s=0;else s=0;if(!s)if(yr(r,f))c=[0,n,i,u];else{if("number"==typeof f)d=0;else if(1===f[0]){var o=yr(e,n),v=[0,o,u],l=o[2];if("number"!=typeof l&&13===l[0]){var b=l[1][2];if(b){var k=n[6],p=b[1],h=k||fr(p,I$),n=gZ(h,n),a=[0,[0,f,i],v];continue}}var c=[0,n,i,v],d=1;}else d=0;if(!d)c=[0,n,i,u];}var m=c[3],y=TZ(0,n);return Fr(function(t){if("number"!=typeof t&&1===t[0]){var r=t[1],e=r[4],n=r[1];return e?QZ(y,[0,n,32]):e}if("number"==typeof t){var a=t;if(59<=a)switch(a){case 59:u=cO;break;case 60:u=sO;break;case 61:u=oO;break;case 62:u=vO;break;case 63:u=lO;break;case 64:u=bO;break;case 65:u=kO;break;case 66:u=pO;break;case 67:u=hO;break;case 68:u=dO;break;case 69:u=mO;break;case 70:u=yO;break;case 71:u=wO;break;case 72:u=gO;break;case 73:u=TO;break;case 74:u=_O;break;case 75:u=SO;break;case 76:u=AO;break;case 77:u=EO;break;case 78:u=xO;break;case 79:u=IO;break;case 80:u=CO;break;case 81:u=NO;break;case 82:u=LO;break;case 83:u=RO;break;case 84:u=PO;break;case 85:u=OO;break;case 86:u=UO;break;case 87:u=DO;break;case 88:u=MO;break;case 89:u=FO;break;case 90:u=XO;break;case 91:u=BO;break;case 92:u=jO;break;case 93:u=GO;break;case 94:u=qO;break;case 95:u=YO;break;case 96:u=JO;break;case 97:u=HO;break;case 98:u=WO;break;case 99:u=zO;break;case 100:u=VO;break;case 101:u=$O;break;case 102:u=KO;break;case 103:u=QO;break;case 104:u=ZO;break;case 105:u=tU;break;case 106:u=rU;break;case 107:u=eU;break;case 108:u=nU;break;case 109:u=aU;break;case 110:u=uU;break;case 111:u=iU;break;case 112:u=fU;break;case 113:u=cU;break;case 114:u=sU;break;case 115:u=oU;break;default:u=vU;}else switch(a){case 0:u=nP;break;case 1:u=aP;break;case 2:u=uP;break;case 3:u=iP;break;case 4:u=fP;break;case 5:u=cP;break;case 6:u=sP;break;case 7:u=oP;break;case 8:u=vP;break;case 9:u=lP;break;case 10:u=bP;break;case 11:u=kP;break;case 12:u=pP;break;case 13:u=hP;break;case 14:u=dP;break;case 15:u=mP;break;case 16:u=yP;break;case 17:u=wP;break;case 18:u=gP;break;case 19:u=TP;break;case 20:u=_P;break;case 21:u=SP;break;case 22:u=AP;break;case 23:u=EP;break;case 24:u=xP;break;case 25:u=IP;break;case 26:u=CP;break;case 27:u=NP;break;case 28:u=LP;break;case 29:u=RP;break;case 30:u=PP;break;case 31:u=OP;break;case 32:u=UP;break;case 33:u=DP;break;case 34:u=MP;break;case 35:u=FP;break;case 36:u=XP;break;case 37:u=BP;break;case 38:u=jP;break;case 39:u=GP;break;case 40:u=qP;break;case 41:u=YP;break;case 42:u=JP;break;case 43:u=HP;break;case 44:u=WP;break;case 45:u=zP;break;case 46:u=VP;break;case 47:u=$P;break;case 48:u=KP;break;case 49:u=QP;break;case 50:u=ZP;break;case 51:u=tO;break;case 52:u=rO;break;case 53:u=eO;break;case 54:u=nO;break;case 55:u=aO;break;case 56:u=uO;break;case 57:u=iO;break;default:u=fO;}}else switch(t[0]){case 0:u=lU;break;case 1:u=bU;break;case 2:u=kU;break;case 3:u=pU;break;case 4:u=hU;break;default:var u=dU;}return xr(Lr(L$,Lr(u,N$)))},Dr(i)),[0,y,m]}}),a(A0,function(t){var r=yr(w0[5],t),e=MZ(0,t);if("number"==typeof e){var n=e-49|0;if(!(11>>0))switch(n){case 0:return wr(g0[15],t,r);case 1:yr($Z(t),r);var a=MZ(E$,t);if("number"==typeof a)if(5===a)var u=yr(g0[16],t),i=1;else i=0;else i=0;if(!i)u=yr(g0[17],t);return u;case 11:if(49===MZ(x$,t))return yr($Z(t),r),wr(g0[12],0,t)}}return wr(N0,[0,r],t)}),a(E0,function(t,r){var e=gr(S0,t,r,A0),n=e[2];return Xr(function(t,r){return[0,r,t]},wr(x0,r,e[1]),n)}),a(x0,function(t,r){for(n=0;;){var e=MZ(0,r);if("number"==typeof e&&rv===e)return Dr(n);if(yr(t,e))return Dr(n);var n=[0,yr(A0,r),n];}}),a(I0,function(t,r){var e=gr(S0,r,t,function(t){return wr(N0,0,t)}),n=e[1],a=e[2];return[0,Xr(function(t,r){return[0,r,t]},wr(C0,t,n),a),n[6]]}),a(C0,function(t,r){for(n=0;;){var e=MZ(0,r);if("number"==typeof e&&rv===e)return Dr(n);if(yr(t,e))return Dr(n);var n=[0,wr(N0,0,r),n];}}),a(N0,function(t,r){var e=t?t[1]:0;1-HZ(0,r)&&yr($Z(r),e);var n=MZ(0,r);if("number"==typeof n){if(27===n)return yr(g0[24],r);if(28===n)return yr(g0[3],r)}if(JZ(0,r))return yr(m0[14],r);if(HZ(0,r))return wr(F0,r,e);if("number"==typeof n){var a=n+-53|0;if(!(8>>0))switch(a){case 0:return yr(g0[18],r);case 7:return wr(g0[11],0,r);case 8:return yr(g0[23],r)}}return yr(L0,r)}),a(L0,function(t){var r=MZ(0,t);if("number"==typeof r){if(rv===r)return VZ(t),[0,XZ(0,t),1];if(!(60<=r))switch(r){case 1:return yr(g0[7],t);case 9:return yr(g0[14],t);case 16:return yr(g0[2],t);case 19:return yr(g0[20],t);case 20:return yr(g0[21],t);case 22:return yr(g0[22],t);case 23:return yr(g0[4],t);case 24:return yr(g0[24],t);case 25:return yr(g0[5],t);case 26:return yr(g0[6],t);case 32:return yr(g0[8],t);case 35:return yr(g0[9],t);case 37:return yr(g0[13],t);case 39:return yr(g0[1],t);case 59:return yr(g0[10],t)}}if(YZ(0,t))return yr(g0[19],t);if("number"==typeof r){if(80===r)e=1;else if(50<=r)e=0;else switch(r){case 43:return yr(g0[2],t);case 2:case 6:case 8:case 10:case 11:case 12:case 13:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:e=1;break;default:var e=0;}if(e)return VZ(t),ZZ(t),yr(L0,t)}return yr(g0[16],t)}),a(R0,function(t){var r=yr(y0[2],t),e=MZ(0,t);return"number"==typeof e&&10===e?wr(y0[8],t,[0,r,0]):r}),a(P0,function(t,r){var e=XZ(0,r),n=FZ(0,r),a=MZ(0,r);if("number"==typeof a)if(28===a){r[6]?KZ(r,40):r[13]&&WZ(r,[1,n]),ZZ(r);u=1;}else u=0;else var u=0;if(u||(UZ(n)?(KZ(r,40),ZZ(r)):("number"==typeof a?4<(a+-60|0)>>>0?0:(n0(r,a),1):0)||n0(r,0)),t){var i=t[1];DZ(n)&&QZ(r,[0,e,i]);}else;return[0,e,n]}),a(O0,function(t,r,e){var n=r?r[1]:0;return l0(function(t){var r=1-n,a=wr(P0,[0,e],t),u=r?79===MZ(0,t)?1:0:r;return u&&(1-dZ(t)&&WZ(t,7),n0(t,79)),[0,a,80===MZ(0,t)?[0,yr(d0[8],t)]:0,u]},t)}),a(U0,function(t){var r=XZ(0,t);n0(t,1);var e=wr(C0,function(t){return 2===t?1:0},t),n=XZ(0,t);return n0(t,2),[0,EK(r,n),[0,e]]}),a(D0,function(t){var r=XZ(0,t);n0(t,1);var e=wr(I0,function(t){return 2===t?1:0},t),n=e[2],a=e[1],u=XZ(0,t);return n0(t,2),[0,EK(r,u),[0,a],n]}),gr(uK,O$,h0,[0,_0,L0,N0,C0,I0,x0,R0,X0,B0,j0,G0,J0,P0,W0,O0,U0,D0,z0,V0,$0,q0,F0,Y0,H0]);var K0=[0,0],Q0=Lt,Z0=function(t,r,e){try{n=new RegExp(r.toString(),e.toString());}catch(r){K0[1]=[0,[0,t,13],K0[1]];var n=new RegExp(mb,e.toString());}return n},t1=function(t,r){function e(t,r){return Nt(re(Mr(t,r)))}function n(t,r){return r?yr(t,r[1]):wK}function a(t){return{line:t[1],column:t[2]}}function u(t){var r=t[1];if(r)var e=r[1],n="number"==typeof e?xf:e[1].toString(),u=n;else u=wK;var i=a(t[3]);return{source:u,start:a(t[2]),end:i}}function f(t,r,e){var n=[0,ZR,Nt([0,r[2][3],r[3][3]])],a=[0,tP,u(r)],f=[0,[0,rP,t.toString()],a,n],s=f.length-1;if(0===s)var o=e.length-1,v=0===o?[0]:c(e,0,o);else v=0==e.length-1?c(f,0,s):i(f,e);return Rt(v)}function s(t){return e(d,t)}function o(t){var r=t[2],n=t[1];switch(r[2]){case 0:a=TN;break;case 1:a=_N;break;default:var a=SN;}var u=[0,AN,a.toString()];return f(xN,n,[0,[0,EN,e(G,r[1])],u])}function v(t){var r=t[2],a=t[1],u=[0,bC,e(R,r[4])],i=[0,kC,Y(r[3])],c=[0,pC,n(K,r[2])];return f(dC,a,[0,[0,hC,g(r[1])],c,i,u])}function l(t){var r=t[2],e=t[1],a=[0,SI,H(r[3])],u=[0,AI,n(K,r[2])];return f(xI,e,[0,[0,EI,g(r[1])],u,a])}function b(t){var r=t[2],a=t[1],u=[0,pI,e(R,r[4])],i=[0,hI,Y(r[3])],c=[0,dI,n(K,r[2])];return f(yI,a,[0,[0,mI,g(r[1])],c,i,u])}function k(t){var r=t[2],e=t[1],a=EK(r[1][1],r[2][1]),u=[0,lI,n(lt,r[3])];return f(kI,e,[0,[0,bI,S(a,[0,r[1],[0,r[2]],0])],u])}function p(t){var r=t[2],e=r[2],n=t[1],a=e?e[1][1]:r[1][1],u=EK(r[1][1],a);return f(vI,n,[0,[0,oI,S(u,[0,r[1],r[2],0])]])}function h(t){var r=t[1];return f(sI,r,[0,[0,cI,s(t[2][1])]])}function d(t){var r=t[2],a=t[1];if("number"==typeof r)return 0===r?f(G_,a,[0]):f(q_,a,[0]);switch(r[0]){case 0:return h([0,a,r[1]]);case 1:return f(J_,a,[0,[0,Y_,n(g,r[1][1])]]);case 2:var u=r[1],i=[0,II,e(_,u[7])],c=[0,CI,e(C,u[6])],s=[0,NI,n(Z,u[5])],m=[0,LI,n(K,u[4])],y=[0,RI,n(_,u[3])],T=[0,PI,N(u[2])];return f(UI,a,[0,[0,OI,n(g,u[1])],T,y,m,s,c,i]);case 3:return f(W_,a,[0,[0,H_,n(g,r[1][1])]]);case 4:return b([0,a,r[1]]);case 5:var S=r[1],L=S[3];if(L){var R=L[1];if(0!==R[0]&&!R[2])return f(V_,a,[0,[0,z_,n(w,S[4])]])}var P=S[2];if(P){var U=P[1];switch(U[0]){case 0:D=p(U[1]);break;case 1:D=k(U[1]);break;case 2:D=b(U[1]);break;case 3:D=H(U[1]);break;case 4:D=l(U[1]);break;default:var D=v(U[1]);}M=D;}else var M=wK;var F=[0,$_,n(w,S[4])],X=[0,K_,I(S[3])];return f(tS,a,[0,[0,Z_,!!S[1]],[0,Q_,M],X,F]);case 6:return k([0,a,r[1]]);case 7:var B=r[1],j=B[1],G=0===j[0]?g(j[1]):w(j[1]),q=0===B[3][0]?"CommonJS":"ES";return f(aS,a,[0,[0,nS,G],[0,eS,h(B[2])],[0,rS,q]]);case 8:return f(iS,a,[0,[0,uS,$(r[1])]]);case 9:return p([0,a,r[1]]);case 10:var Y=r[1],J=[0,fS,_(Y[2])];return f(sS,a,[0,[0,cS,d(Y[1])],J]);case 11:var W=r[1],z=W[1],V=0===z[0]?d(z[1]):_(z[1]);return f(lS,a,[0,[0,vS,V],[0,oS,x(W[2]).toString()]]);case 12:var Q=r[1],tt=Q[2];if(tt){var rt=tt[1];if(0!==rt[0]&&!rt[2]){var et=[0,bS,x(Q[4]).toString()];return f(pS,a,[0,[0,kS,n(w,Q[3])],et])}}var nt=[0,hS,x(Q[4]).toString()],at=[0,dS,n(w,Q[3])],ut=[0,mS,I(Q[2])];return f(wS,a,[0,[0,yS,n(d,Q[1])],ut,at,nt]);case 13:var it=r[1],ft=[0,gS,n(Q0,it[2])];return f(_S,a,[0,[0,TS,_(it[1])],ft]);case 14:var ct=r[1],st=function(t){return 0===t[0]?o(t[1]):_(t[1])},ot=[0,SS,d(ct[4])],vt=[0,AS,n(_,ct[3])],bt=[0,ES,n(_,ct[2])];return f(IS,a,[0,[0,xS,n(st,ct[1])],bt,vt,ot]);case 15:var kt=r[1],pt=kt[1],ht=0===pt[0]?o(pt[1]):_(pt[1]),dt=[0,CS,!!kt[4]],mt=[0,NS,d(kt[3])];return f(PS,a,[0,[0,RS,ht],[0,LS,_(kt[2])],mt,dt]);case 16:var yt=r[1],wt=yt[4]?OS:US,gt=yt[1],Tt=0===gt[0]?o(gt[1]):_(gt[1]),_t=[0,DS,d(yt[3])];return f(wt,a,[0,[0,FS,Tt],[0,MS,_(yt[2])],_t]);case 17:var St=r[1],At=St[3],Et=0===At[0]?h(At[1]):_(At[1]),xt=[0,Ix,n(K,St[9])],It=[0,Cx,n($,St[8])],Ct=[0,Nx,!!St[7]],Lt=[0,Lx,n(lt,St[6])],Rt=[0,Rx,!!St[5]],Pt=[0,Px,!!St[4]],Ot=[0,Ux,O(St[2])];return f(Mx,a,[0,[0,Dx,n(g,St[1])],Ot,[0,Ox,Et],Pt,Rt,Lt,Ct,It,xt]);case 18:var Ut=r[1],Dt=[0,XS,n(d,Ut[3])],Mt=[0,BS,d(Ut[2])];return f(GS,a,[0,[0,jS,_(Ut[1])],Mt,Dt]);case 19:var Ft=r[1],Xt=Mr(function(t){switch(t[0]){case 0:var r=t[1],e=r[3],n=r[2],a=r[1],u=n?EK(e[1],n[1][1]):e[1],i=n?n[1]:e;if(a){switch(a[1]){case 0:var c=Su,s=1;break;case 1:var c=jl,s=1;break;default:var o=0,s=0;}if(s)var v=c,o=1;}else o=0;if(!o)v=wK;var l=[0,YR,g(i)];return f(HR,u,[0,[0,JR,g(e)],l,[0,qR,v]]);case 1:var b=t[1],k=[0,[0,XR,g(b)]];return f(BR,b[1],k);default:var p=t[1],h=p[1];return f(GR,h,[0,[0,jR,g(p[2])]])}},Ft[3]);switch(Ft[1]){case 0:Bt=qS;break;case 1:Bt=YS;break;default:var Bt=JS;}var jt=[0,HS,Bt.toString()],Gt=[0,WS,w(Ft[2])];return f(VS,a,[0,[0,zS,Nt(re(Xt))],Gt,jt]);case 20:return v([0,a,r[1]]);case 21:var qt=r[1],Yt=[0,$S,d(qt[2])];return f(QS,a,[0,[0,KS,g(qt[1])],Yt]);case 22:return f(tA,a,[0,[0,ZS,n(_,r[1][1])]]);case 23:var Jt=r[1],Ht=[0,rA,e(A,Jt[2])];return f(nA,a,[0,[0,eA,_(Jt[1])],Ht]);case 24:return f(uA,a,[0,[0,aA,_(r[1][1])]]);case 25:var Wt=r[1],zt=[0,iA,n(h,Wt[3])],Vt=[0,fA,n(E,Wt[2])];return f(sA,a,[0,[0,cA,h(Wt[1])],Vt,zt]);case 26:return l([0,a,r[1]]);case 27:return o([0,a,r[1]]);case 28:var $t=r[1],Kt=[0,oA,d($t[2])];return f(lA,a,[0,[0,vA,_($t[1])],Kt]);default:var Qt=r[1],Zt=[0,bA,d(Qt[2])];return f(pA,a,[0,[0,kA,_(Qt[1])],Zt])}}function m(t){var r=t[2],a=t[1],u=[0,fR,e(nt,r[3])],i=[0,cR,n(rt,r[2])],c=r[1],s=c[2],o=c[1],v=[0,vR,!!s[2]],l=[0,lR,e(tt,s[3])];return f(oR,a,[0,[0,sR,f(kR,o,[0,[0,bR,ct(s[1])],l,v])],i,u])}function y(t){var r=t[2],n=t[1],a=[0,bN,e(_,r[2])];return f(pN,n,[0,[0,kN,e(j,r[1])],a])}function w(t){var r=t[2],e=t[1],n=r[2],a=r[1];if("number"==typeof a)i=wK;else switch(a[0]){case 0:i=a[1].toString();break;case 1:i=!!a[1];break;case 2:i=a[1];break;default:var u=a[1],i=Z0(e,u[1],u[2]);}if("number"==typeof a)o=0;else if(3===a[0])var c=a[1],s=[0,[0,sN,i],[0,cN,n.toString()],[0,fN,{pattern:c[1].toString(),flags:c[2].toString()}]],o=1;else o=0;if(!o)s=[0,[0,vN,i],[0,oN,n.toString()]];return f(lN,e,s)}function g(t){return f(Kx,t[1],[0,[0,$x,t[2].toString()],[0,Vx,wK],[0,zx,!1]])}function T(t){var r=t[2],e=r[3],a=t[1],u=0===e[0]?h(e[1]):_(e[1]),i=[0,Fx,n(K,r[9])],c=[0,Xx,n($,r[8])],s=[0,Bx,!!r[7]],o=[0,jx,n(lt,r[6])],v=[0,Gx,!!r[5]],l=[0,qx,!!r[4]],b=[0,Jx,O(r[2])];return f(Wx,a,[0,[0,Hx,n(g,r[1])],b,[0,Yx,u],l,v,o,s,c,i])}function _(t){var r=t[2],a=t[1];if("number"==typeof r)return 0===r?f(hA,a,[0]):f(dA,a,[0]);switch(r[0]){case 0:var u=r[1][1];return f(yA,a,[0,[0,mA,e(function(t){return n(X,t)},u)]]);case 1:var i=r[1],c=i[3],s=0===c[0]?h(c[1]):_(c[1]),o=[0,wA,n(K,i[9])],v=[0,gA,n($,i[8])],l=[0,TA,!!i[7]],b=[0,_A,n(lt,i[6])],k=[0,SA,!!i[5]],p=[0,AA,!!i[4]],d=[0,xA,O(i[2])];return f(CA,a,[0,[0,IA,n(g,i[1])],d,[0,EA,s],p,k,b,l,v,o]);case 2:var S=r[1];switch(S[1]){case 0:A=NA;break;case 1:A=LA;break;case 2:A=RA;break;case 3:A=PA;break;case 4:A=OA;break;case 5:A=UA;break;case 6:A=DA;break;case 7:A=MA;break;case 8:A=FA;break;case 9:A=XA;break;case 10:A=BA;break;case 11:A=jA;break;default:var A=GA;}var E=[0,qA,_(S[3])],x=[0,YA,P(S[2])];return f(HA,a,[0,[0,JA,A.toString()],x,E]);case 3:var I=r[1];switch(I[1]){case 0:L=WA;break;case 1:L=zA;break;case 2:L=VA;break;case 3:L=$A;break;case 4:L=KA;break;case 5:L=QA;break;case 6:L=ZA;break;case 7:L=tE;break;case 8:L=rE;break;case 9:L=eE;break;case 10:L=nE;break;case 11:L=aE;break;case 12:L=uE;break;case 13:L=iE;break;case 14:L=fE;break;case 15:L=cE;break;case 16:L=sE;break;case 17:L=oE;break;case 18:L=vE;break;case 19:L=lE;break;case 20:L=bE;break;default:var L=kE;}var R=[0,pE,_(I[3])],U=[0,hE,_(I[2])];return f(mE,a,[0,[0,dE,L.toString()],U,R]);case 4:var D=r[1],F=[0,yE,e(X,D[2])];return f(gE,a,[0,[0,wE,_(D[1])],F]);case 5:var j=r[1],G=[0,DI,e(_,j[7])],q=[0,MI,e(C,j[6])],Y=[0,FI,n(Z,j[5])],J=[0,XI,n(K,j[4])],H=[0,BI,n(_,j[3])],W=[0,jI,N(j[2])];return f(qI,a,[0,[0,GI,n(g,j[1])],W,H,J,Y,q,G]);case 6:var z=r[1],V=[0,TE,n(_,z[2])];return f(SE,a,[0,[0,_E,e(B,z[1])],V]);case 7:var Q=r[1],tt=[0,AE,_(Q[3])],rt=[0,EE,_(Q[2])];return f(IE,a,[0,[0,xE,_(Q[1])],rt,tt]);case 8:return T([0,a,r[1]]);case 9:var et=r[1],nt=[0,CE,n(_,et[2])];return f(LE,a,[0,[0,NE,e(B,et[1])],nt]);case 10:return g(r[1]);case 11:var at=r[1],ut=[0,RE,e(_,[0,at,0])];return f(UE,a,[0,[0,OE,f(PE,EK(a,at[1]),[0])],ut]);case 12:return m([0,a,r[1]]);case 13:return w([0,a,r[1]]);case 14:var it=r[1],ft=0===it[1]?ME:DE,ct=[0,FE,_(it[3])],st=[0,XE,_(it[2])];return f(jE,a,[0,[0,BE,ft.toString()],st,ct]);case 15:var ot=r[1],vt=ot[2],bt=0===vt[0]?g(vt[1]):_(vt[1]),kt=[0,GE,!!ot[3]];return f(JE,a,[0,[0,YE,_(ot[1])],[0,qE,bt],kt]);case 16:var pt=r[1],ht=[0,HE,g(pt[2])];return f(zE,a,[0,[0,WE,g(pt[1])],ht]);case 17:var dt=r[1],mt=[0,VE,e(X,dt[2])];return f(KE,a,[0,[0,$E,_(dt[1])],mt]);case 18:return f(ZE,a,[0,[0,QE,e(M,r[1][1])]]);case 19:return f(rx,a,[0,[0,tx,e(_,r[1][1])]]);case 20:var yt=r[1],wt=[0,yN,y(yt[2])];return f(gN,a,[0,[0,wN,_(yt[1])],wt]);case 21:return y([0,a,r[1]]);case 22:var gt=r[1],Tt=[0,ex,$(gt[2])];return f(ax,a,[0,[0,nx,_(gt[1])],Tt]);case 23:var _t=r[1];if(7<=_t[1])return f(ix,a,[0,[0,ux,_(_t[3])]]);switch(_t[1]){case 0:St=fx;break;case 1:St=cx;break;case 2:St=sx;break;case 3:St=ox;break;case 4:St=vx;break;case 5:St=lx;break;case 6:St=bx;break;default:var St=xr(kx);}var At=[0,px,_(_t[3])];return f(mx,a,[0,[0,dx,St.toString()],[0,hx,!!_t[2]],At]);case 24:var Et=r[1],xt=0===Et[1]?wx:yx,It=[0,gx,!!Et[3]],Ct=[0,Tx,_(Et[2])];return f(Sx,a,[0,[0,_x,xt.toString()],Ct,It]);default:var Nt=r[1],Lt=[0,Ax,!!Nt[2]];return f(xx,a,[0,[0,Ex,n(_,Nt[1])],Lt])}}function S(t,r){var e=r[1],a=[0,Qx,!!r[3]],u=[0,Zx,n($,r[2])];return f(rI,t,[0,[0,tI,e[2].toString()],u,a])}function A(t){var r=t[2],a=t[1],u=[0,eI,e(d,r[2])];return f(aI,a,[0,[0,nI,n(_,r[1])],u])}function E(t){var r=t[2],e=t[1],n=[0,uI,h(r[2])];return f(fI,e,[0,[0,iI,P(r[1])],n])}function x(t){return 0===t?gI:wI}function I(t){if(t){var r=t[1];if(0===r[0])return e(ot,r[1]);var n=r[2],a=r[1];return Nt(n?[0,f(_I,a,[0,[0,TI,g(n[1])]])]:[0])}return Nt([0])}function C(t){var r=t[2],e=t[1],a=[0,YI,n(Z,r[2])];return f(HI,e,[0,[0,JI,g(r[1])],a])}function N(t){var r=t[1];return f(zI,r,[0,[0,WI,e(L,t[2][1])]])}function L(t){if(0===t[0]){var r=t[1],a=r[2],u=a[2],i=r[1],c=a[5],s=a[4],o=a[3],v=a[1];switch(u[0]){case 0:l=[0,w(u[1]),0];break;case 1:l=[0,g(u[1]),0];break;default:var l=[0,_(u[1]),1];}var b=l[2],k=l[1];switch(v){case 0:p=VI;break;case 1:p=$I;break;case 2:p=KI;break;default:var p=QI;}var h=[0,ZI,e(_,c)],d=[0,eC,p.toString()];return f(uC,i,[0,[0,aC,k],[0,nC,T(o)],d,[0,rC,!!s],[0,tC,!!b],h])}var m=t[1],y=m[2],S=y[1],A=m[1];switch(S[0]){case 0:E=[0,w(S[1]),0];break;case 1:E=[0,g(S[1]),0];break;default:var E=[0,_(S[1]),1];}var x=E[2],I=E[1],C=[0,iC,n(q,y[5])],N=[0,fC,!!y[4]],L=[0,sC,n($,y[3])];return f(lC,A,[0,[0,vC,I],[0,oC,n(_,y[2])],L,[0,cC,!!x],N,C])}function R(t){var r=t[2],e=r[1],a=t[1],u=0===e[0]?g(e[1]):V(e[1]);return f(wC,a,[0,[0,yC,u],[0,mC,n(Z,r[2])]])}function P(t){var r=t[2],a=t[1];switch(r[0]){case 0:var u=r[1],i=[0,gC,n($,u[2])];return f(_C,a,[0,[0,TC,e(F,u[1])],i]);case 1:var c=r[1],s=[0,SC,n($,c[2])],o=c[1];return f(EC,a,[0,[0,AC,e(function(t){return n(U,t)},o)],s]);case 2:var v=r[1],l=v[1],b=[0,xC,_(v[2])];return f(CC,a,[0,[0,IC,P(l)],b]);case 3:return S(a,r[1]);default:return _(r[1])}}function O(t){var r=t[2],n=t[1];if(r){var a=r[1],u=a[1];return Nt(re(Dr([0,f(LC,u,[0,[0,NC,P(a[2][1])]]),Dr(Mr(P,n))])))}return e(P,n)}function U(t){if(0===t[0])return P(t[1]);var r=t[1],e=r[1];return f(PC,e,[0,[0,RC,P(r[2][1])]])}function M(t){if(0===t[0]){var r=t[1],e=r[2],n=e[1],a=r[1];switch(n[0]){case 0:u=[0,w(n[1]),0];break;case 1:u=[0,g(n[1]),0];break;default:var u=[0,_(n[1]),1];}var i=e[2],c=u[2],s=u[1];switch(i[0]){case 0:o=[0,_(i[1]),OC];break;case 1:o=[0,T(i[1]),UC];break;default:var o=[0,T(i[1]),DC];}return f(qC,a,[0,[0,GC,s],[0,jC,o[1]],[0,BC,o[2].toString()],[0,XC,!!e[3]],[0,FC,!!e[4]],[0,MC,!!c]])}var v=t[1],l=v[1];return f(JC,l,[0,[0,YC,_(v[2][1])]])}function F(t){if(0===t[0]){var r=t[1],e=r[2],n=e[1],a=r[1];switch(n[0]){case 0:u=[0,w(n[1]),0];break;case 1:u=[0,g(n[1]),0];break;default:var u=[0,_(n[1]),1];}var i=u[1],c=[0,HC,!!u[2]],s=[0,WC,!!e[3]];return f(QC,a,[0,[0,KC,i],[0,$C,P(e[2])],[0,VC,Ts],[0,zC,!1],s,c])}var o=t[1],v=o[1];return f(tN,v,[0,[0,ZC,P(o[2][1])]])}function X(t){if(0===t[0])return _(t[1]);var r=t[1],e=r[1];return f(eN,e,[0,[0,rN,_(r[2][1])]])}function B(t){var r=t[2],e=t[1],n=[0,nN,!!r[3]],a=[0,aN,_(r[2])];return f(iN,e,[0,[0,uN,P(r[1])],a,n])}function j(t){var r=t[2];return f(mN,t[1],[0,[0,dN,{raw:r[1][1].toString(),cooked:r[1][2].toString()}],[0,hN,!!r[2]]])}function G(t){var r=t[2],e=t[1],a=[0,IN,n(_,r[2])];return f(NN,e,[0,[0,CN,P(r[1])],a])}function q(t){return 0===t[2]?"plus":Uo}function Y(t){var r=t[2],e=t[1],a=r[2],u=Xr(function(t,r){var e=t[3],a=t[2],u=t[1];switch(r[0]){case 0:var i=r[1],c=i[2],s=c[1],o=i[1];switch(s[0]){case 0:v=w(s[1]);break;case 1:v=g(s[1]);break;default:var v=xr(eL);}var l=c[2];switch(l[0]){case 0:k=[0,H(l[1]),nL];break;case 1:var b=l[1],k=[0,J([0,b[1],b[2]]),aL];break;default:var p=l[1],k=[0,J([0,p[1],p[2]]),uL];}var h=k[1],d=[0,iL,k[2].toString()],m=[0,fL,n(q,c[6])];return[0,[0,f(lL,o,[0,[0,vL,v],[0,oL,h],[0,sL,!!c[3]],[0,cL,!!c[4]],m,d]),u],a,e];case 1:var y=r[1],T=y[1];return[0,[0,f(kL,T,[0,[0,bL,H(y[2][1])]]),u],a,e];case 2:var _=r[1],S=_[2],A=_[1],E=[0,pL,n(q,S[5])],x=[0,hL,!!S[4]],I=[0,dL,H(S[3])],C=[0,mL,H(S[2])];return[0,u,[0,f(wL,A,[0,[0,yL,n(g,S[1])],C,I,x,E]),a],e];default:var N=r[1],L=N[2],R=N[1],P=[0,gL,!!L[2]];return[0,u,a,[0,f(_L,R,[0,[0,TL,J(L[1])],P]),e]]}},$N,a),i=u[2],c=u[1],s=[0,KN,Nt(re(Dr(u[3])))],o=[0,QN,Nt(re(Dr(i)))],v=[0,ZN,Nt(re(Dr(c)))];return f(rL,e,[0,[0,tL,!!r[1]],v,o,s])}function J(t){var r=t[2],a=r[1],u=t[1],i=a[2],c=a[1],s=[0,jN,n(K,r[3])],o=[0,GN,n(z,i)],v=[0,qN,H(r[2])];return f(JN,u,[0,[0,YN,e(W,c)],v,o,s])}function H(t){var r=t[2],a=t[1];if("number"==typeof r)switch(r){case 0:return f(LN,a,[0]);case 1:return f(RN,a,[0]);case 2:return f(PN,a,[0]);case 3:return f(ON,a,[0]);case 4:return f(UN,a,[0]);case 5:return f(DN,a,[0]);case 6:return f(MN,a,[0]);case 7:return f(FN,a,[0]);default:return f(VL,a,[0])}else switch(r[0]){case 0:return f(BN,a,[0,[0,XN,H(r[1])]]);case 1:return J([0,a,r[1]]);case 2:return Y([0,a,r[1]]);case 3:return f(AL,a,[0,[0,SL,H(r[1])]]);case 4:var u=r[1],i=u[1],c=0===i[0]?g(i[1]):V(i[1]);return f(LL,a,[0,[0,NL,c],[0,CL,n(Z,u[2])]]);case 5:return f(PL,a,[0,[0,RL,e(H,[0,r[1],[0,r[2],r[3]]])]]);case 6:return f(UL,a,[0,[0,OL,e(H,[0,r[1],[0,r[2],r[3]]])]]);case 7:return f(ML,a,[0,[0,DL,H(r[1])]]);case 8:return f(XL,a,[0,[0,FL,e(H,r[1])]]);case 9:var s=r[1];return f(GL,a,[0,[0,jL,s[1].toString()],[0,BL,s[2].toString()]]);case 10:var o=r[1];return f(JL,a,[0,[0,YL,o[1]],[0,qL,o[2].toString()]]);default:var v=r[1];return f(zL,a,[0,[0,WL,!!v[1]],[0,HL,v[2].toString()]])}}function W(t){var r=t[2],e=t[1],a=[0,HN,!!r[3]],u=[0,WN,H(r[2])];return f(VN,e,[0,[0,zN,n(g,r[1])],u,a])}function z(t){return W(t[2][1])}function V(t){var r=t[2],e=r[1],n=t[1],a=0===e[0]?g(e[1]):V(e[1]);return f(IL,n,[0,[0,xL,a],[0,EL,g(r[2])]])}function $(t){var r=t[1];return f(KL,r,[0,[0,$L,H(t[2])]])}function K(t){var r=t[1];return f(ZL,r,[0,[0,QL,e(Q,t[2][1])]])}function Q(t){var r=t[2],e=t[1],a=[0,tR,n(H,r[4])],u=[0,rR,n(q,r[3])],i=[0,eR,n($,r[2])];return f(aR,e,[0,[0,nR,r[1].toString()],i,u,a])}function Z(t){var r=t[1];return f(iR,r,[0,[0,uR,e(H,t[2][1])]])}function tt(t){if(0===t[0]){var r=t[1],e=r[2],a=e[1],u=r[1],i=0===a[0]?at(a[1]):ut(a[1]);return f(yR,u,[0,[0,mR,i],[0,dR,n(st,e[2])]])}var c=t[1],s=c[1];return f(gR,s,[0,[0,wR,_(c[2][1])]])}function rt(t){var r=t[1];return f(hR,r,[0,[0,pR,ct(t[2][1])]])}function et(t){var r=t[2][1],e=t[1],n=0===r[0]?_(r[1]):f(TR,r[1],[0]);return f(SR,e,[0,[0,_R,n]])}function nt(t){var r=t[2],e=t[1];switch(r[0]){case 0:return m([0,e,r[1]]);case 1:return et([0,e,r[1]]);default:var n=r[1];return f(xR,e,[0,[0,ER,n[1].toString()],[0,AR,n[2].toString()]])}}function at(t){return f(UR,t[1],[0,[0,OR,t[2][1].toString()]])}function ut(t){var r=t[2],e=t[1],n=[0,LR,at(r[2])];return f(PR,e,[0,[0,RR,at(r[1])],n])}function ft(t){var r=t[2],e=r[1],n=t[1],a=0===e[0]?at(e[1]):ft(e[1]);return f(NR,n,[0,[0,CR,a],[0,IR,at(r[2])]])}function ct(t){switch(t[0]){case 0:return at(t[1]);case 1:return ut(t[1]);default:return ft(t[1])}}function st(t){return 0===t[0]?w([0,t[1],t[2]]):et([0,t[1],t[2]])}function ot(t){var r=t[2],e=r[2],n=t[1],a=g(e?e[1]:r[1]);return f(FR,n,[0,[0,MR,g(r[1])],[0,DR,a]])}function vt(t){var r=t[2],e=t[1],n=0===r[0]?[0,WR,r[1]]:[0,zR,r[1]];return f(n[1],e,[0,[0,VR,n[2].toString()]])}function lt(t){var r=t[2],e=t[1];if(r)var n=KR,a=[0,[0,$R,_(r[1])]];else var n=QR,a=[0];return f(n,e,a)}var bt=D(r,void 0)?{}:r,kt=bt.esproposal_decorators,pt=it(t),ht=gK(kt)?[0,bm[1],bm[2],0|kt,bm[4],bm[5],bm[6]]:bm,dt=bt.esproposal_class_instance_fields,mt=gK(dt)?[0,0|dt,ht[2],ht[3],ht[4],ht[5],ht[6]]:ht,yt=bt.esproposal_class_static_fields,wt=gK(yt)?[0,mt[1],0|yt,mt[3],mt[4],mt[5],mt[6]]:mt,gt=bt.esproposal_export_star_as,Tt=gK(gt)?[0,wt[1],wt[2],wt[3],0|gt,wt[5],wt[6]]:wt,_t=bt.types,St=[0,gK(_t)?[0,Tt[1],Tt[2],Tt[3],Tt[4],0|_t,Tt[6]]:Tt],At=[0,St],Et=hm?hm[1]:1,xt=At?St:0,It=pZ([0,0],[0,[0,xt]?xt:0],0,pt),Ct=yr(h0[1],It),Lt=Dr(It[1][1]),Pt=Dr(Xr(function(t,r){var e=t[2],n=t[1];return wr(p0[3],r,n)?[0,n,e]:[0,wr(p0[4],r,n),[0,r,e]]},[0,p0[1],0],Lt)[2]);if(Et?0!==Pt?1:0:Et)throw[0,jK,Pt];K0[1]=0;var Ot=Ct[2],Ut=Ct[1],Dt=[0,X_,e(vt,Ct[3])],Mt=f(j_,Ut,[0,[0,B_,s(Ot)],Dt]),Ft=Rr(Pt,K0[1]);return Mt.errors=e(function(t){var r=t[2],e=t[1];if("number"==typeof r){var n=r;if(34<=n)switch(n){case 34:f=YT;break;case 35:f=JT;break;case 36:f=HT;break;case 37:f=WT;break;case 38:f=zT;break;case 39:f=VT;break;case 40:f=$T;break;case 41:f=KT;break;case 42:f=QT;break;case 43:f=ZT;break;case 44:f=t_;break;case 45:f=r_;break;case 46:f=Lr(n_,e_);break;case 47:f=Lr(u_,a_);break;case 48:f=i_;break;case 49:f=f_;break;case 50:f=c_;break;case 51:f=s_;break;case 52:f=o_;break;case 53:f=v_;break;case 54:f=l_;break;case 55:f=b_;break;case 56:f=k_;break;case 57:f=p_;break;case 58:f=h_;break;case 59:f=d_;break;case 60:f=m_;break;case 61:f=y_;break;case 62:f=w_;break;case 63:f=g_;break;case 64:f=Lr(__,T_);break;case 65:f=S_;break;case 66:f=A_;break;default:f=E_;}else switch(n){case 0:f=sT;break;case 1:f=oT;break;case 2:f=vT;break;case 3:f=lT;break;case 4:f=bT;break;case 5:f=kT;break;case 6:f=pT;break;case 7:f=hT;break;case 8:f=dT;break;case 9:f=mT;break;case 10:f=yT;break;case 11:f=wT;break;case 12:f=gT;break;case 13:f=TT;break;case 14:f=_T;break;case 15:f=ST;break;case 16:f=AT;break;case 17:f=ET;break;case 18:f=xT;break;case 19:f=Lr(CT,IT);break;case 20:f=NT;break;case 21:f=LT;break;case 22:f=RT;break;case 23:f=PT;break;case 24:f=OT;break;case 25:f=UT;break;case 26:f=DT;break;case 27:f=MT;break;case 28:f=FT;break;case 29:f=XT;break;case 30:f=BT;break;case 31:f=jT;break;case 32:f=GT;break;default:f=qT;}}else switch(r[0]){case 0:f=Lr(x_,r[1]);break;case 1:f=Lr(I_,r[1]);break;case 2:var a=r[2],i=r[1],f=wr(Ge(C_),i,a);break;case 3:f=Lr(L_,Lr(r[1],N_));break;case 4:f=Lr(P_,Lr(r[1],R_));break;case 5:f=Lr(r[1],Lr(U_,Lr(r[2],O_)));break;case 6:f=Lr(D_,r[1]);break;default:var c=r[1],f=yr(Ge(M_),c);}var s=f.toString();return{loc:u(e),message:s}},Ft),Mt},r1=function(t){return t[1]===_K?yr(AK,t[2]):yr(AK,new SK(Lr(U$,function(r){for(d=r;;){if(!d){if(t===tm)return $w;if(t===um)return Kw;if(t[1]===am){var e=t[2],n=e[3],a=e[2],u=e[1];return _r(Ge(cm),u,a,n,n+5|0,Qw)}if(t[1]===im){var i=t[2],f=i[3],c=i[2],s=i[1];return _r(Ge(cm),s,c,f,f+6|0,Zw)}if(t[1]===fm){var o=t[2],v=o[3],l=o[2],b=o[1];return _r(Ge(cm),b,l,v,v+6|0,tg)}return 0===ar(t)?Lr(t[1][1],Je(t)):t[1]}var k=d[2],p=d[1];try{h=yr(p,t);}catch(t){var h=0;}if(h)return h[1];var d=k;}}(W$[1])).toString()))};return r.parse=function(t,r){try{return t1(t,r)}catch(r){return r=mr(r),r1(r)}},void function(t){yr(X$[1],0);}()}var e1=pK;}else var n1=kK;}else var a1=bK;}else vK=lK;}}(function(){return this}());});const createError=parserCreateError; const includeShebang=parserIncludeShebang;var parserFlow=parse;var parserFlow_1=parserFlow; return parserFlow_1; diff --git a/docs/parser-graphql.js b/docs/parser-graphql.js new file mode 100644 index 00000000..84663a3b --- /dev/null +++ b/docs/parser-graphql.js @@ -0,0 +1,18 @@ +var graphql = (function () { +function unwrapExports (x) { + return x && x.__esModule ? x['default'] : x; +} + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +var parserGraphql_1 = createCommonjsModule(function (module) { +"use strict";function createError$1(e,n){const r=new SyntaxError(e+" ("+n.start.line+":"+n.start.column+")");return r.loc=n,r}function createCommonjsModule$$1(e,n){return n={exports:{}},e(n,n.exports),n.exports}function parse(e){const n=index;try{const r=n.parse(e);return r}catch(e){const n=index$2.GraphQLError;throw e instanceof n?createError(e.message,{start:{line:e.locations[0].line,column:e.locations[0].column}}):e}}var parserCreateError=createError$1,location=createCommonjsModule$$1(function(e,n){function r(e,n){for(var r=/\r\n|[\n\r]/g,t=1,i=n+1,o=void 0;(o=r.exec(e.body))&&o.index0){var l=n[0];c=l&&l.loc&&l.loc.source;}var s=o;!s&&n&&(s=n.filter(function(e){return Boolean(e.loc)}).map(function(e){return e.loc.start})),s&&0===s.length&&(s=void 0);var d=void 0,f=c;f&&s&&(d=s.map(function(e){return(0,t.getLocation)(f,e)})),Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:!0},path:{value:a||void 0,enumerable:!0},nodes:{value:n||void 0},source:{value:c||void 0},positions:{value:s||void 0},originalError:{value:u}}),u&&u.stack?Object.defineProperty(this,"stack",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,r):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0});}Object.defineProperty(n,"__esModule",{value:!0}),n.GraphQLError=r;var t=location;r.prototype=Object.create(Error.prototype,{constructor:{value:r},name:{value:"GraphQLError"}});}),syntaxError_1=createCommonjsModule$$1(function(e,n){function r(e,n,r){var i=(0,o.getLocation)(e,n);return new a.GraphQLError("Syntax Error "+e.name+" ("+i.line+":"+i.column+") "+r+"\n\n"+t(e,i),void 0,e,[n])}function t(e,n){var r=n.line,t=(r-1).toString(),o=r.toString(),a=(r+1).toString(),u=a.length,c=e.body.split(/\r\n|[\n\r]/g);return(r>=2?i(u,t)+": "+c[r-2]+"\n":"")+i(u,o)+": "+c[r-1]+"\n"+Array(2+u+n.column).join(" ")+"^\n"+(r=i)return new o(y,i,i,f,p,n);var E=M.call(t,u);if(E<32&&9!==E&&10!==E&&13!==E)throw(0,k.syntaxError)(r,u,"Cannot contain the invalid character "+a(E)+".");switch(E){case 33:return new o(N,u,u+1,f,p,n);case 35:return s(r,u,f,p,n);case 36:return new o(I,u,u+1,f,p,n);case 40:return new o(O,u,u+1,f,p,n);case 41:return new o(_,u,u+1,f,p,n);case 46:if(46===M.call(t,u+1)&&46===M.call(t,u+2))return new o(h,u,u+3,f,p,n);break;case 58:return new o(A,u,u+1,f,p,n);case 61:return new o(D,u,u+1,f,p,n);case 64:return new o(g,u,u+1,f,p,n);case 91:return new o(b,u,u+1,f,p,n);case 93:return new o(L,u,u+1,f,p,n);case 123:return new o(S,u,u+1,f,p,n);case 124:return new o(R,u,u+1,f,p,n);case 125:return new o(C,u,u+1,f,p,n);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return T(r,u,f,p,n);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return d(r,u,E,f,p,n);case 34:return v(r,u,f,p,n)}throw(0,k.syntaxError)(r,u,c(E))}function c(e){return 39===e?"Unexpected single quote character ('), did you mean to use a double quote (\")?":"Cannot parse the unexpected character "+a(e)+"."}function l(e,n,r){for(var t=e.length,i=n;i31||9===u));return new o(j,n,c,r,t,i,V.call(a,n+1,c))}function d(e,n,r,t,i,u){var c=e.body,l=r,s=n,d=!1;if(45===l&&(l=M.call(c,++s)),48===l){if((l=M.call(c,++s))>=48&&l<=57)throw(0,k.syntaxError)(e,s,"Invalid number, unexpected digit after 0: "+a(l)+".")}else s=f(e,s,l),l=M.call(c,s);return 46===l&&(d=!0,l=M.call(c,++s),s=f(e,s,l),l=M.call(c,s)),69!==l&&101!==l||(d=!0,43!==(l=M.call(c,++s))&&45!==l||(l=M.call(c,++s)),s=f(e,s,l)),new o(d?F:K,n,s,t,i,u,V.call(c,n,s))}function f(e,n,r){var t=e.body,i=n,o=r;if(o>=48&&o<=57){do{o=M.call(t,++i);}while(o>=48&&o<=57);return i}throw(0,k.syntaxError)(e,i,"Invalid number, expected digit but got: "+a(o)+".")}function v(e,n,r,t,i){for(var u=e.body,c=n+1,l=c,s=0,d="";c=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function T(e,n,r,t,i){for(var a=e.body,u=a.length,c=n+1,l=0;c!==u&&null!==(l=M.call(a,c))&&(95===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122);)++c;return new o(P,n,c,r,t,i,V.call(a,n,c))}Object.defineProperty(n,"__esModule",{value:!0}),n.TokenKind=void 0,n.createLexer=r,n.getTokenDesc=i;var k=index$2,m="",y="",N="!",I="$",O="(",_=")",h="...",A=":",D="=",g="@",b="[",L="]",S="{",R="|",C="}",P="Name",K="Int",F="Float",w="String",j="Comment",M=(n.TokenKind={SOF:m,EOF:y,BANG:N,DOLLAR:I,PAREN_L:O,PAREN_R:_,SPREAD:h,COLON:A,EQUALS:D,AT:g,BRACKET_L:b,BRACKET_R:L,BRACE_L:S,PIPE:R,BRACE_R:C,NAME:P,INT:K,FLOAT:F,STRING:w,COMMENT:j},String.prototype.charCodeAt),V=String.prototype.slice;o.prototype.toJSON=o.prototype.inspect=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}};}),source=createCommonjsModule$$1(function(e,n){function r(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});n.Source=function e(n,t){r(this,e),this.body=n,this.name=t||"GraphQL request";};}),kinds=createCommonjsModule$$1(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});n.NAME="Name",n.DOCUMENT="Document",n.OPERATION_DEFINITION="OperationDefinition",n.VARIABLE_DEFINITION="VariableDefinition",n.VARIABLE="Variable",n.SELECTION_SET="SelectionSet",n.FIELD="Field",n.ARGUMENT="Argument",n.FRAGMENT_SPREAD="FragmentSpread",n.INLINE_FRAGMENT="InlineFragment",n.FRAGMENT_DEFINITION="FragmentDefinition",n.INT="IntValue",n.FLOAT="FloatValue",n.STRING="StringValue",n.BOOLEAN="BooleanValue",n.NULL="NullValue",n.ENUM="EnumValue",n.LIST="ListValue",n.OBJECT="ObjectValue",n.OBJECT_FIELD="ObjectField",n.DIRECTIVE="Directive",n.NAMED_TYPE="NamedType",n.LIST_TYPE="ListType",n.NON_NULL_TYPE="NonNullType",n.SCHEMA_DEFINITION="SchemaDefinition",n.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",n.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",n.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",n.FIELD_DEFINITION="FieldDefinition",n.INPUT_VALUE_DEFINITION="InputValueDefinition",n.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",n.UNION_TYPE_DEFINITION="UnionTypeDefinition",n.ENUM_TYPE_DEFINITION="EnumTypeDefinition",n.ENUM_VALUE_DEFINITION="EnumValueDefinition",n.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",n.TYPE_EXTENSION_DEFINITION="TypeExtensionDefinition",n.DIRECTIVE_DEFINITION="DirectiveDefinition";}),parser=createCommonjsModule$$1(function(e,n){function r(e,n){var r="string"==typeof e?new ie.Source(e):e;if(!(r instanceof ie.Source))throw new TypeError("Must provide Source. Received: "+String(r));return a((0,ae.createLexer)(r,n||{}))}function t(e,n){var r="string"==typeof e?new ie.Source(e):e,t=(0,ae.createLexer)(r,n||{});Z(t,ae.TokenKind.SOF);var i=I(t,!1);return Z(t,ae.TokenKind.EOF),i}function i(e,n){var r="string"==typeof e?new ie.Source(e):e,t=(0,ae.createLexer)(r,n||{});Z(t,ae.TokenKind.SOF);var i=L(t);return Z(t,ae.TokenKind.EOF),i}function o(e){var n=Z(e,ae.TokenKind.NAME);return{kind:ue.NAME,value:n.value,loc:W(e,n)}}function a(e){var n=e.token;Z(e,ae.TokenKind.SOF);var r=[];do{r.push(u(e));}while(!z(e,ae.TokenKind.EOF));return{kind:ue.DOCUMENT,definitions:r,loc:W(e,n)}}function u(e){if(X(e,ae.TokenKind.BRACE_L))return c(e);if(X(e,ae.TokenKind.NAME))switch(e.token.value){case"query":case"mutation":case"subscription":return c(e);case"fragment":return y(e);case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"extend":case"directive":return R(e)}throw ne(e)}function c(e){var n=e.token;if(X(e,ae.TokenKind.BRACE_L))return{kind:ue.OPERATION_DEFINITION,operation:"query",name:null,variableDefinitions:null,directives:[],selectionSet:v(e),loc:W(e,n)};var r=l(e),t=void 0;return X(e,ae.TokenKind.NAME)&&(t=o(e)),{kind:ue.OPERATION_DEFINITION,operation:r,name:t,variableDefinitions:s(e),directives:g(e),selectionSet:v(e),loc:W(e,n)}}function l(e){var n=Z(e,ae.TokenKind.NAME);switch(n.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw ne(e,n)}function s(e){return X(e,ae.TokenKind.PAREN_L)?te(e,ae.TokenKind.PAREN_L,d,ae.TokenKind.PAREN_R):[]}function d(e){var n=e.token;return{kind:ue.VARIABLE_DEFINITION,variable:f(e),type:(Z(e,ae.TokenKind.COLON),L(e)),defaultValue:z(e,ae.TokenKind.EQUALS)?I(e,!0):null,loc:W(e,n)}}function f(e){var n=e.token;return Z(e,ae.TokenKind.DOLLAR),{kind:ue.VARIABLE,name:o(e),loc:W(e,n)}}function v(e){var n=e.token;return{kind:ue.SELECTION_SET,selections:te(e,ae.TokenKind.BRACE_L,p,ae.TokenKind.BRACE_R),loc:W(e,n)}}function p(e){return X(e,ae.TokenKind.SPREAD)?m(e):E(e)}function E(e){var n=e.token,r=o(e),t=void 0,i=void 0;return z(e,ae.TokenKind.COLON)?(t=r,i=o(e)):(t=null,i=r),{kind:ue.FIELD,alias:t,name:i,arguments:T(e),directives:g(e),selectionSet:X(e,ae.TokenKind.BRACE_L)?v(e):null,loc:W(e,n)}}function T(e){return X(e,ae.TokenKind.PAREN_L)?te(e,ae.TokenKind.PAREN_L,k,ae.TokenKind.PAREN_R):[]}function k(e){var n=e.token;return{kind:ue.ARGUMENT,name:o(e),value:(Z(e,ae.TokenKind.COLON),I(e,!1)),loc:W(e,n)}}function m(e){var n=e.token;if(Z(e,ae.TokenKind.SPREAD),X(e,ae.TokenKind.NAME)&&"on"!==e.token.value)return{kind:ue.FRAGMENT_SPREAD,name:N(e),directives:g(e),loc:W(e,n)};var r=null;return"on"===e.token.value&&(e.advance(),r=S(e)),{kind:ue.INLINE_FRAGMENT,typeCondition:r,directives:g(e),selectionSet:v(e),loc:W(e,n)}}function y(e){var n=e.token;return ee(e,"fragment"),{kind:ue.FRAGMENT_DEFINITION,name:N(e),typeCondition:(ee(e,"on"),S(e)),directives:g(e),selectionSet:v(e),loc:W(e,n)}}function N(e){if("on"===e.token.value)throw ne(e);return o(e)}function I(e,n){var r=e.token;switch(r.kind){case ae.TokenKind.BRACKET_L:return h(e,n);case ae.TokenKind.BRACE_L:return A(e,n);case ae.TokenKind.INT:return e.advance(),{kind:ue.INT,value:r.value,loc:W(e,r)};case ae.TokenKind.FLOAT:return e.advance(),{kind:ue.FLOAT,value:r.value,loc:W(e,r)};case ae.TokenKind.STRING:return e.advance(),{kind:ue.STRING,value:r.value,loc:W(e,r)};case ae.TokenKind.NAME:return"true"===r.value||"false"===r.value?(e.advance(),{kind:ue.BOOLEAN,value:"true"===r.value,loc:W(e,r)}):"null"===r.value?(e.advance(),{kind:ue.NULL,loc:W(e,r)}):(e.advance(),{kind:ue.ENUM,value:r.value,loc:W(e,r)});case ae.TokenKind.DOLLAR:if(!n)return f(e)}throw ne(e)}function O(e){return I(e,!0)}function _(e){return I(e,!1)}function h(e,n){var r=e.token,t=n?O:_;return{kind:ue.LIST,values:re(e,ae.TokenKind.BRACKET_L,t,ae.TokenKind.BRACKET_R),loc:W(e,r)}}function A(e,n){var r=e.token;Z(e,ae.TokenKind.BRACE_L);for(var t=[];!z(e,ae.TokenKind.BRACE_R);)t.push(D(e,n));return{kind:ue.OBJECT,fields:t,loc:W(e,r)}}function D(e,n){var r=e.token;return{kind:ue.OBJECT_FIELD,name:o(e),value:(Z(e,ae.TokenKind.COLON),I(e,n)),loc:W(e,r)}}function g(e){for(var n=[];X(e,ae.TokenKind.AT);)n.push(b(e));return n}function b(e){var n=e.token;return Z(e,ae.TokenKind.AT),{kind:ue.DIRECTIVE,name:o(e),arguments:T(e),loc:W(e,n)}}function L(e){var n=e.token,r=void 0;return z(e,ae.TokenKind.BRACKET_L)?(r=L(e),Z(e,ae.TokenKind.BRACKET_R),r={kind:ue.LIST_TYPE,type:r,loc:W(e,n)}):r=S(e),z(e,ae.TokenKind.BANG)?{kind:ue.NON_NULL_TYPE,type:r,loc:W(e,n)}:r}function S(e){var n=e.token;return{kind:ue.NAMED_TYPE,name:o(e),loc:W(e,n)}}function R(e){if(X(e,ae.TokenKind.NAME))switch(e.token.value){case"schema":return C(e);case"scalar":return K(e);case"type":return F(e);case"interface":return x(e);case"union":return B(e);case"enum":return G(e);case"input":return Q(e);case"extend":return J(e);case"directive":return q(e)}throw ne(e)}function C(e){var n=e.token;ee(e,"schema");var r=g(e),t=te(e,ae.TokenKind.BRACE_L,P,ae.TokenKind.BRACE_R);return{kind:ue.SCHEMA_DEFINITION,directives:r,operationTypes:t,loc:W(e,n)}}function P(e){var n=e.token,r=l(e);Z(e,ae.TokenKind.COLON);var t=S(e);return{kind:ue.OPERATION_TYPE_DEFINITION,operation:r,type:t,loc:W(e,n)}}function K(e){var n=e.token;ee(e,"scalar");var r=o(e),t=g(e);return{kind:ue.SCALAR_TYPE_DEFINITION,name:r,directives:t,loc:W(e,n)}}function F(e){var n=e.token;ee(e,"type");var r=o(e),t=w(e),i=g(e),a=re(e,ae.TokenKind.BRACE_L,j,ae.TokenKind.BRACE_R);return{kind:ue.OBJECT_TYPE_DEFINITION,name:r,interfaces:t,directives:i,fields:a,loc:W(e,n)}}function w(e){var n=[];if("implements"===e.token.value){e.advance();do{n.push(S(e));}while(X(e,ae.TokenKind.NAME))}return n}function j(e){var n=e.token,r=o(e),t=M(e);Z(e,ae.TokenKind.COLON);var i=L(e),a=g(e);return{kind:ue.FIELD_DEFINITION,name:r,arguments:t,type:i,directives:a,loc:W(e,n)}}function M(e){return X(e,ae.TokenKind.PAREN_L)?te(e,ae.TokenKind.PAREN_L,V,ae.TokenKind.PAREN_R):[]}function V(e){var n=e.token,r=o(e);Z(e,ae.TokenKind.COLON);var t=L(e),i=null;z(e,ae.TokenKind.EQUALS)&&(i=O(e));var a=g(e);return{kind:ue.INPUT_VALUE_DEFINITION,name:r,type:t,defaultValue:i,directives:a,loc:W(e,n)}}function x(e){var n=e.token;ee(e,"interface");var r=o(e),t=g(e),i=re(e,ae.TokenKind.BRACE_L,j,ae.TokenKind.BRACE_R);return{kind:ue.INTERFACE_TYPE_DEFINITION,name:r,directives:t,fields:i,loc:W(e,n)}}function B(e){var n=e.token;ee(e,"union");var r=o(e),t=g(e);Z(e,ae.TokenKind.EQUALS);var i=U(e);return{kind:ue.UNION_TYPE_DEFINITION,name:r,directives:t,types:i,loc:W(e,n)}}function U(e){var n=[];do{n.push(S(e));}while(z(e,ae.TokenKind.PIPE));return n}function G(e){var n=e.token;ee(e,"enum");var r=o(e),t=g(e),i=te(e,ae.TokenKind.BRACE_L,Y,ae.TokenKind.BRACE_R);return{kind:ue.ENUM_TYPE_DEFINITION,name:r,directives:t,values:i,loc:W(e,n)}}function Y(e){var n=e.token,r=o(e),t=g(e);return{kind:ue.ENUM_VALUE_DEFINITION,name:r,directives:t,loc:W(e,n)}}function Q(e){var n=e.token;ee(e,"input");var r=o(e),t=g(e),i=re(e,ae.TokenKind.BRACE_L,V,ae.TokenKind.BRACE_R);return{kind:ue.INPUT_OBJECT_TYPE_DEFINITION,name:r,directives:t,fields:i,loc:W(e,n)}}function J(e){var n=e.token;ee(e,"extend");var r=F(e);return{kind:ue.TYPE_EXTENSION_DEFINITION,definition:r,loc:W(e,n)}}function q(e){var n=e.token;ee(e,"directive"),Z(e,ae.TokenKind.AT);var r=o(e),t=M(e);ee(e,"on");var i=$(e);return{kind:ue.DIRECTIVE_DEFINITION,name:r,arguments:t,locations:i,loc:W(e,n)}}function $(e){var n=[];do{n.push(o(e));}while(z(e,ae.TokenKind.PIPE));return n}function W(e,n){if(!e.options.noLocation)return new H(n,e.lastToken,e.source)}function H(e,n,r){this.start=e.start,this.end=n.end,this.startToken=e,this.endToken=n,this.source=r;}function X(e,n){return e.token.kind===n}function z(e,n){var r=e.token.kind===n;return r&&e.advance(),r}function Z(e,n){var r=e.token;if(r.kind===n)return e.advance(),r;throw(0,oe.syntaxError)(e.source,r.start,"Expected "+n+", found "+(0,ae.getTokenDesc)(r))}function ee(e,n){var r=e.token;if(r.kind===ae.TokenKind.NAME&&r.value===n)return e.advance(),r;throw(0,oe.syntaxError)(e.source,r.start,'Expected "'+n+'", found '+(0,ae.getTokenDesc)(r))}function ne(e,n){var r=n||e.token;return(0,oe.syntaxError)(e.source,r.start,"Unexpected "+(0,ae.getTokenDesc)(r))}function re(e,n,r,t){Z(e,n);for(var i=[];!z(e,t);)i.push(r(e));return i}function te(e,n,r,t){Z(e,n);for(var i=[r(e)];!z(e,t);)i.push(r(e));return i}Object.defineProperty(n,"__esModule",{value:!0}),n.parse=r,n.parseValue=t,n.parseType=i,n.parseConstValue=O,n.parseTypeReference=L,n.parseNamedType=S;var ie=source,oe=index$2,ae=lexer,ue=kinds;H.prototype.toJSON=H.prototype.inspect=function(){return{start:this.start,end:this.end}};}),visitor=createCommonjsModule$$1(function(e,n){function r(e,n,r){var i=r||u,o=void 0,l=Array.isArray(e),s=[e],d=-1,f=[],v=void 0,p=[],E=[],T=e;do{var k=++d===s.length,m=void 0,y=void 0,N=k&&0!==f.length;if(k){if(m=0===E.length?void 0:p.pop(),y=v,v=E.pop(),N){if(l)y=y.slice();else{var I={};for(var O in y)y.hasOwnProperty(O)&&(I[O]=y[O]);y=I;}for(var _=0,h=0;h { - let result = callback(child, i); - if (result !== false && child.walk) { - result = child.walk(callback); - } - return result; - }); - } - - walkType (type, callback) { - if (!type || !callback) { - throw new Error('Parameters {type} and {callback} are required.'); - } - - // allow users to pass a constructor, or node type string; eg. Word. - type = type.name && type.prototype ? type.name : type; - - return this.walk((node, index) => { - if (node.type === type) { - return callback.call(this, node, index); - } - }); - } - - append (node) { - node.parent = this; - this.nodes.push(node); - return this; - } - - prepend (node) { - node.parent = this; - this.nodes.unshift(node); - return this; - } - - cleanRaws (keepBetween) { - super.cleanRaws(keepBetween); - if (this.nodes) { - for (let node of this.nodes) node.cleanRaws(keepBetween); - } - } - - insertAfter (oldNode, newNode) { - let oldIndex = this.index(oldNode), - index; - - this.nodes.splice(oldIndex + 1, 0, newNode); - - for (let id in this.indexes) { - index = this.indexes[id]; - if (oldIndex <= index) { - this.indexes[id] = index + this.nodes.length; - } - } - - return this; - } - - insertBefore (oldNode, newNode) { - let oldIndex = this.index(oldNode), - index; - - this.nodes.splice(oldIndex, 0, newNode); - - for (let id in this.indexes) { - index = this.indexes[id]; - if (oldIndex <= index) { - this.indexes[id] = index + this.nodes.length; - } - } - - return this; - } - - removeChild (child) { - child = this.index(child); - this.nodes[child].parent = undefined; - this.nodes.splice(child, 1); - - let index; - for (let id in this.indexes) { - index = this.indexes[id]; - if (index >= child) { - this.indexes[id] = index - 1; - } - } - - return this; - } - - removeAll () { - for (let node of this.nodes) node.parent = undefined; - this.nodes = []; - return this; - } - - every (condition) { - return this.nodes.every(condition); - } - - some (condition) { - return this.nodes.some(condition); - } - - index (child) { - if (typeof child === 'number') { - return child; - } - else { - return this.nodes.indexOf(child); - } - } - - get first () { - if (!this.nodes) return undefined; - return this.nodes[0]; - } - - get last () { - if (!this.nodes) return undefined; - return this.nodes[this.nodes.length - 1]; - } - - toString () { - let result = this.nodes.map(String).join(''); - - if (this.value) { - result = this.value + result; - } - - if (this.raws.before) { - result = this.raws.before + result; - } - - if (this.raws.after) { - result += this.raws.after; - } - - return result; - } -} - -Container.registerWalker = (constructor) => { - let walkerName = 'walk' + constructor.name; - - // plural sugar - if (walkerName.lastIndexOf('s') !== walkerName.length - 1) { - walkerName += 's'; - } - - if (Container.prototype[walkerName]) { - return; - } - - // we need access to `this` so we can't use an arrow function - Container.prototype[walkerName] = function (callback) { - return this.walkType(constructor, callback); - }; -}; - -module.exports = Container; + + +const Node = __webpack_require__(4); + +class Container extends Node { + + constructor (opts) { + super(opts); + + if (!this.nodes) { + this.nodes = []; + } + } + + push (child) { + child.parent = this; + this.nodes.push(child); + return this; + } + + each (callback) { + if (!this.lastEach) this.lastEach = 0; + if (!this.indexes) this.indexes = { }; + + this.lastEach += 1; + + let id = this.lastEach, + index, + result; + + this.indexes[id] = 0; + + if (!this.nodes) return undefined; + + while (this.indexes[id] < this.nodes.length) { + index = this.indexes[id]; + result = callback(this.nodes[index], index); + if (result === false) break; + + this.indexes[id] += 1; + } + + delete this.indexes[id]; + + return result; + } + + walk (callback) { + return this.each((child, i) => { + let result = callback(child, i); + if (result !== false && child.walk) { + result = child.walk(callback); + } + return result; + }); + } + + walkType (type, callback) { + if (!type || !callback) { + throw new Error('Parameters {type} and {callback} are required.'); + } + + // allow users to pass a constructor, or node type string; eg. Word. + type = type.name && type.prototype ? type.name : type; + + return this.walk((node, index) => { + if (node.type === type) { + return callback.call(this, node, index); + } + }); + } + + append (node) { + node.parent = this; + this.nodes.push(node); + return this; + } + + prepend (node) { + node.parent = this; + this.nodes.unshift(node); + return this; + } + + cleanRaws (keepBetween) { + super.cleanRaws(keepBetween); + if (this.nodes) { + for (let node of this.nodes) node.cleanRaws(keepBetween); + } + } + + insertAfter (oldNode, newNode) { + let oldIndex = this.index(oldNode), + index; + + this.nodes.splice(oldIndex + 1, 0, newNode); + + for (let id in this.indexes) { + index = this.indexes[id]; + if (oldIndex <= index) { + this.indexes[id] = index + this.nodes.length; + } + } + + return this; + } + + insertBefore (oldNode, newNode) { + let oldIndex = this.index(oldNode), + index; + + this.nodes.splice(oldIndex, 0, newNode); + + for (let id in this.indexes) { + index = this.indexes[id]; + if (oldIndex <= index) { + this.indexes[id] = index + this.nodes.length; + } + } + + return this; + } + + removeChild (child) { + child = this.index(child); + this.nodes[child].parent = undefined; + this.nodes.splice(child, 1); + + let index; + for (let id in this.indexes) { + index = this.indexes[id]; + if (index >= child) { + this.indexes[id] = index - 1; + } + } + + return this; + } + + removeAll () { + for (let node of this.nodes) node.parent = undefined; + this.nodes = []; + return this; + } + + every (condition) { + return this.nodes.every(condition); + } + + some (condition) { + return this.nodes.some(condition); + } + + index (child) { + if (typeof child === 'number') { + return child; + } + else { + return this.nodes.indexOf(child); + } + } + + get first () { + if (!this.nodes) return undefined; + return this.nodes[0]; + } + + get last () { + if (!this.nodes) return undefined; + return this.nodes[this.nodes.length - 1]; + } + + toString () { + let result = this.nodes.map(String).join(''); + + if (this.value) { + result = this.value + result; + } + + if (this.raws.before) { + result = this.raws.before + result; + } + + if (this.raws.after) { + result += this.raws.after; + } + + return result; + } +} + +Container.registerWalker = (constructor) => { + let walkerName = 'walk' + constructor.name; + + // plural sugar + if (walkerName.lastIndexOf('s') !== walkerName.length - 1) { + walkerName += 's'; + } + + if (Container.prototype[walkerName]) { + return; + } + + // we need access to `this` so we can't use an arrow function + Container.prototype[walkerName] = function (callback) { + return this.walkType(constructor, callback); + }; +}; + +module.exports = Container; /***/ }), @@ -383,220 +383,220 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -let cloneNode = function (obj, parent) { - let cloned = new obj.constructor(); - - for (let i in obj) { - if (!obj.hasOwnProperty(i)) continue; - - let value = obj[i], - type = typeof value; - - if (i === 'parent' && type === 'object') { - if (parent) cloned[i] = parent; - } - else if (i === 'source') { - cloned[i] = value; - } - else if (value instanceof Array) { - cloned[i] = value.map(j => cloneNode(j, cloned)); - } - else if (i !== 'before' && i !== 'after' && i !== 'between' && i !== 'semicolon') { - if (type === 'object' && value !== null) value = cloneNode(value); - cloned[i] = value; - } - } - - return cloned; -}; - -module.exports = class Node { - - constructor (defaults) { - defaults = defaults || {}; - this.raws = { before: '', after: '' }; - - for (let name in defaults) { - this[name] = defaults[name]; - } - } - - remove () { - if (this.parent) { - this.parent.removeChild(this); - } - - this.parent = undefined; - - return this; - } - - toString () { - return [ - this.raws.before, - String(this.value), - this.raws.after - ].join(''); - } - - clone (overrides) { - overrides = overrides || {}; - - let cloned = cloneNode(this); - - for (let name in overrides) { - cloned[name] = overrides[name]; - } - - return cloned; - } - - cloneBefore (overrides) { - overrides = overrides || {}; - - let cloned = this.clone(overrides); - - this.parent.insertBefore(this, cloned); - return cloned; - } - - cloneAfter (overrides) { - overrides = overrides || {}; - - let cloned = this.clone(overrides); - - this.parent.insertAfter(this, cloned); - return cloned; - } - - replaceWith () { - let nodes = Array.prototype.slice.call(arguments); - - if (this.parent) { - for (let node of nodes) { - this.parent.insertBefore(this, node); - } - - this.remove(); - } - - return this; - } - - moveTo (container) { - this.cleanRaws(this.root() === container.root()); - this.remove(); - - container.append(this); - - return this; - } - - moveBefore (node) { - this.cleanRaws(this.root() === node.root()); - this.remove(); - - node.parent.insertBefore(node, this); - - return this; - } - - moveAfter (node) { - this.cleanRaws(this.root() === node.root()); - this.remove(); - node.parent.insertAfter(node, this); - return this; - } - - next () { - let index = this.parent.index(this); - - return this.parent.nodes[index + 1]; - } - - prev () { - let index = this.parent.index(this); - - return this.parent.nodes[index - 1]; - } - - toJSON () { - let fixed = { }; - - for (let name in this) { - if (!this.hasOwnProperty(name)) continue; - if (name === 'parent') continue; - let value = this[name]; - - if (value instanceof Array) { - fixed[name] = value.map(i => { - if (typeof i === 'object' && i.toJSON) { - return i.toJSON(); - } - else { - return i; - } - }); - } - else if (typeof value === 'object' && value.toJSON) { - fixed[name] = value.toJSON(); - } - else { - fixed[name] = value; - } - } - - return fixed; - } - - root () { - let result = this; - - while (result.parent) result = result.parent; - - return result; - } - - cleanRaws (keepBetween) { - delete this.raws.before; - delete this.raws.after; - if (!keepBetween) delete this.raws.between; - } - - positionInside (index) { - let string = this.toString(), - column = this.source.start.column, - line = this.source.start.line; - - for (let i = 0; i < index; i++) { - if (string[i] === '\n') { - column = 1; - line += 1; - } - else { - column += 1; - } - } - - return { line, column }; - } - - positionBy (opts) { - let pos = this.source.start; - - if (opts.index) { - pos = this.positionInside(opts.index); - } - else if (opts.word) { - let index = this.toString().indexOf(opts.word); - if (index !== -1) pos = this.positionInside(index); - } - - return pos; - } -}; + + +let cloneNode = function (obj, parent) { + let cloned = new obj.constructor(); + + for (let i in obj) { + if (!obj.hasOwnProperty(i)) continue; + + let value = obj[i], + type = typeof value; + + if (i === 'parent' && type === 'object') { + if (parent) cloned[i] = parent; + } + else if (i === 'source') { + cloned[i] = value; + } + else if (value instanceof Array) { + cloned[i] = value.map(j => cloneNode(j, cloned)); + } + else if (i !== 'before' && i !== 'after' && i !== 'between' && i !== 'semicolon') { + if (type === 'object' && value !== null) value = cloneNode(value); + cloned[i] = value; + } + } + + return cloned; +}; + +module.exports = class Node { + + constructor (defaults) { + defaults = defaults || {}; + this.raws = { before: '', after: '' }; + + for (let name in defaults) { + this[name] = defaults[name]; + } + } + + remove () { + if (this.parent) { + this.parent.removeChild(this); + } + + this.parent = undefined; + + return this; + } + + toString () { + return [ + this.raws.before, + String(this.value), + this.raws.after + ].join(''); + } + + clone (overrides) { + overrides = overrides || {}; + + let cloned = cloneNode(this); + + for (let name in overrides) { + cloned[name] = overrides[name]; + } + + return cloned; + } + + cloneBefore (overrides) { + overrides = overrides || {}; + + let cloned = this.clone(overrides); + + this.parent.insertBefore(this, cloned); + return cloned; + } + + cloneAfter (overrides) { + overrides = overrides || {}; + + let cloned = this.clone(overrides); + + this.parent.insertAfter(this, cloned); + return cloned; + } + + replaceWith () { + let nodes = Array.prototype.slice.call(arguments); + + if (this.parent) { + for (let node of nodes) { + this.parent.insertBefore(this, node); + } + + this.remove(); + } + + return this; + } + + moveTo (container) { + this.cleanRaws(this.root() === container.root()); + this.remove(); + + container.append(this); + + return this; + } + + moveBefore (node) { + this.cleanRaws(this.root() === node.root()); + this.remove(); + + node.parent.insertBefore(node, this); + + return this; + } + + moveAfter (node) { + this.cleanRaws(this.root() === node.root()); + this.remove(); + node.parent.insertAfter(node, this); + return this; + } + + next () { + let index = this.parent.index(this); + + return this.parent.nodes[index + 1]; + } + + prev () { + let index = this.parent.index(this); + + return this.parent.nodes[index - 1]; + } + + toJSON () { + let fixed = { }; + + for (let name in this) { + if (!this.hasOwnProperty(name)) continue; + if (name === 'parent') continue; + let value = this[name]; + + if (value instanceof Array) { + fixed[name] = value.map(i => { + if (typeof i === 'object' && i.toJSON) { + return i.toJSON(); + } + else { + return i; + } + }); + } + else if (typeof value === 'object' && value.toJSON) { + fixed[name] = value.toJSON(); + } + else { + fixed[name] = value; + } + } + + return fixed; + } + + root () { + let result = this; + + while (result.parent) result = result.parent; + + return result; + } + + cleanRaws (keepBetween) { + delete this.raws.before; + delete this.raws.after; + if (!keepBetween) delete this.raws.between; + } + + positionInside (index) { + let string = this.toString(), + column = this.source.start.column, + line = this.source.start.line; + + for (let i = 0; i < index; i++) { + if (string[i] === '\n') { + column = 1; + line += 1; + } + else { + column += 1; + } + } + + return { line, column }; + } + + positionBy (opts) { + let pos = this.source.start; + + if (opts.index) { + pos = this.positionInside(opts.index); + } + else if (opts.word) { + let index = this.toString().indexOf(opts.word); + if (index !== -1) pos = this.positionInside(index); + } + + return pos; + } +}; /***/ }), @@ -11685,32 +11685,32 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); - -class AtWord extends Container { - constructor (opts) { - super(opts); - this.type = 'atword'; - } - - toString () { - let quote = this.quoted ? this.raws.quote : ''; - return [ - this.raws.before, - '@', - // we can't use String() here because it'll try using itself - // as the constructor - String.prototype.toString.call(this.value), - this.raws.after - ].join(''); - } -} - -Container.registerWalker(AtWord); - -module.exports = AtWord; + + +const Container = __webpack_require__(1); + +class AtWord extends Container { + constructor (opts) { + super(opts); + this.type = 'atword'; + } + + toString () { + let quote = this.quoted ? this.raws.quote : ''; + return [ + this.raws.before, + '@', + // we can't use String() here because it'll try using itself + // as the constructor + String.prototype.toString.call(this.value), + this.raws.after + ].join(''); + } +} + +Container.registerWalker(AtWord); + +module.exports = AtWord; /***/ }), @@ -11718,21 +11718,21 @@ module.exports = AtWord; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class Colon extends Node { - constructor (opts) { - super(opts); - this.type = 'colon'; - } -} - -Container.registerWalker(Colon); - -module.exports = Colon; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class Colon extends Node { + constructor (opts) { + super(opts); + this.type = 'colon'; + } +} + +Container.registerWalker(Colon); + +module.exports = Colon; /***/ }), @@ -11740,21 +11740,21 @@ module.exports = Colon; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class Comma extends Node { - constructor (opts) { - super(opts); - this.type = 'comma'; - } -} - -Container.registerWalker(Comma); - -module.exports = Comma; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class Comma extends Node { + constructor (opts) { + super(opts); + this.type = 'comma'; + } +} + +Container.registerWalker(Comma); + +module.exports = Comma; /***/ }), @@ -11762,31 +11762,31 @@ module.exports = Comma; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class Comment extends Node { - constructor (opts) { - super(opts); - this.type = 'comment'; - } - - toString () { - return [ - this.raws.before, - '/*', - String(this.value), - '*/', - this.raws.after - ].join(''); - } -} - -Container.registerWalker(Comment); - -module.exports = Comment; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class Comment extends Node { + constructor (opts) { + super(opts); + this.type = 'comment'; + } + + toString () { + return [ + this.raws.before, + '/*', + String(this.value), + '*/', + this.raws.after + ].join(''); + } +} + +Container.registerWalker(Comment); + +module.exports = Comment; /***/ }), @@ -11794,22 +11794,22 @@ module.exports = Comment; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); - -class FunctionNode extends Container { - constructor (opts) { - super(opts); - this.type = 'func'; - // start off at -1 so we know there haven't been any parens added - this.unbalanced = -1; - } -} - -Container.registerWalker(FunctionNode); - -module.exports = FunctionNode; + + +const Container = __webpack_require__(1); + +class FunctionNode extends Container { + constructor (opts) { + super(opts); + this.type = 'func'; + // start off at -1 so we know there haven't been any parens added + this.unbalanced = -1; + } +} + +Container.registerWalker(FunctionNode); + +module.exports = FunctionNode; /***/ }), @@ -11817,31 +11817,31 @@ module.exports = FunctionNode; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class NumberNode extends Node { - constructor (opts) { - super(opts); - this.type = 'number'; - this.unit = opts.unit || ''; - } - - toString () { - return [ - this.raws.before, - String(this.value), - this.unit, - this.raws.after - ].join(''); - } -} - -Container.registerWalker(NumberNode); - -module.exports = NumberNode; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class NumberNode extends Node { + constructor (opts) { + super(opts); + this.type = 'number'; + this.unit = opts.unit || ''; + } + + toString () { + return [ + this.raws.before, + String(this.value), + this.unit, + this.raws.after + ].join(''); + } +} + +Container.registerWalker(NumberNode); + +module.exports = NumberNode; /***/ }), @@ -11849,21 +11849,21 @@ module.exports = NumberNode; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class Operator extends Node { - constructor (opts) { - super(opts); - this.type = 'operator'; - } -} - -Container.registerWalker(Operator); - -module.exports = Operator; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class Operator extends Node { + constructor (opts) { + super(opts); + this.type = 'operator'; + } +} + +Container.registerWalker(Operator); + +module.exports = Operator; /***/ }), @@ -11871,22 +11871,22 @@ module.exports = Operator; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class Parenthesis extends Node { - constructor (opts) { - super(opts); - this.type = 'paren'; - this.parenType = ''; - } -} - -Container.registerWalker(Parenthesis); - -module.exports = Parenthesis; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class Parenthesis extends Node { + constructor (opts) { + super(opts); + this.type = 'paren'; + this.parenType = ''; + } +} + +Container.registerWalker(Parenthesis); + +module.exports = Parenthesis; /***/ }), @@ -11894,34 +11894,34 @@ module.exports = Parenthesis; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class StringNode extends Node { - constructor (opts) { - super(opts); - this.type = 'string'; - } - - toString () { - let quote = this.quoted ? this.raws.quote : ''; - return [ - this.raws.before, - quote, - // we can't use String() here because it'll try using itself - // as the constructor - this.value + '', - quote, - this.raws.after - ].join(''); - } -} - -Container.registerWalker(StringNode); - -module.exports = StringNode; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class StringNode extends Node { + constructor (opts) { + super(opts); + this.type = 'string'; + } + + toString () { + let quote = this.quoted ? this.raws.quote : ''; + return [ + this.raws.before, + quote, + // we can't use String() here because it'll try using itself + // as the constructor + this.value + '', + quote, + this.raws.after + ].join(''); + } +} + +Container.registerWalker(StringNode); + +module.exports = StringNode; /***/ }), @@ -11929,17 +11929,17 @@ module.exports = StringNode; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); - -module.exports = class Value extends Container { - constructor (opts) { - super(opts); - this.type = 'value'; - this.unbalanced = 0; - } -}; + + +const Container = __webpack_require__(1); + +module.exports = class Value extends Container { + constructor (opts) { + super(opts); + this.type = 'value'; + this.unbalanced = 0; + } +}; /***/ }), @@ -11947,21 +11947,21 @@ module.exports = class Value extends Container { /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); -const Node = __webpack_require__(4); - -class Word extends Node { - constructor (opts) { - super(opts); - this.type = 'word'; - } -} - -Container.registerWalker(Word); - -module.exports = Word; + + +const Container = __webpack_require__(1); +const Node = __webpack_require__(4); + +class Word extends Node { + constructor (opts) { + super(opts); + this.type = 'word'; + } +} + +Container.registerWalker(Word); + +module.exports = Word; /***/ }), @@ -14800,74 +14800,74 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Parser = __webpack_require__(135); -const AtWord = __webpack_require__(56); -const Colon = __webpack_require__(57); -const Comma = __webpack_require__(58); -const Comment = __webpack_require__(59); -const Func = __webpack_require__(60); -const Num = __webpack_require__(61); -const Operator = __webpack_require__(62); -const Paren = __webpack_require__(63); -const Str = __webpack_require__(64); -const Value = __webpack_require__(65); -const Word = __webpack_require__(66); - -let parser = function (source, options) { - return new Parser(source, options); -}; - -parser.atword = function (opts) { - return new AtWord(opts); -}; - -parser.colon = function (opts) { - opts.value = opts.value || ':'; - return new Colon(opts); -}; - -parser.comma = function (opts) { - opts.value = opts.value || ','; - return new Comma(opts); -}; - -parser.comment = function (opts) { - return new Comment(opts); -}; - -parser.func = function (opts) { - return new Func(opts); -}; - -parser.number = function (opts) { - return new Num(opts); -}; - -parser.operator = function (opts) { - return new Operator(opts); -}; - -parser.paren = function (opts) { - opts.value = opts.value || '('; - return new Paren(opts); -}; - -parser.string = function (opts) { - opts.quote = opts.quote || '\''; - return new Str(opts); -}; - -parser.value = function (opts) { - return new Value(opts); -}; - -parser.word = function (opts) { - return new Word(opts); -}; - -module.exports = parser; + + +const Parser = __webpack_require__(135); +const AtWord = __webpack_require__(56); +const Colon = __webpack_require__(57); +const Comma = __webpack_require__(58); +const Comment = __webpack_require__(59); +const Func = __webpack_require__(60); +const Num = __webpack_require__(61); +const Operator = __webpack_require__(62); +const Paren = __webpack_require__(63); +const Str = __webpack_require__(64); +const Value = __webpack_require__(65); +const Word = __webpack_require__(66); + +let parser = function (source, options) { + return new Parser(source, options); +}; + +parser.atword = function (opts) { + return new AtWord(opts); +}; + +parser.colon = function (opts) { + opts.value = opts.value || ':'; + return new Colon(opts); +}; + +parser.comma = function (opts) { + opts.value = opts.value || ','; + return new Comma(opts); +}; + +parser.comment = function (opts) { + return new Comment(opts); +}; + +parser.func = function (opts) { + return new Func(opts); +}; + +parser.number = function (opts) { + return new Num(opts); +}; + +parser.operator = function (opts) { + return new Operator(opts); +}; + +parser.paren = function (opts) { + opts.value = opts.value || '('; + return new Paren(opts); +}; + +parser.string = function (opts) { + opts.quote = opts.quote || '\''; + return new Str(opts); +}; + +parser.value = function (opts) { + return new Value(opts); +}; + +parser.word = function (opts) { + return new Word(opts); +}; + +module.exports = parser; /***/ }), @@ -14875,18 +14875,18 @@ module.exports = parser; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -function createError(message, loc) { - // Construct an error similar to the ones thrown by Babylon. - const error = new SyntaxError( - message + " (" + loc.start.line + ":" + loc.start.column + ")" - ); - error.loc = loc; - return error; -} - -module.exports = createError; + + +function createError(message, loc) { + // Construct an error similar to the ones thrown by Babylon. + const error = new SyntaxError( + message + " (" + loc.start.line + ":" + loc.start.column + ")" + ); + error.loc = loc; + return error; +} + +module.exports = createError; /***/ }), @@ -20068,25 +20068,25 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -class ParserError extends Error { - constructor(message) { - super(message); - - this.name = this.constructor.name; - this.message = message || 'An error ocurred while parsing.'; - - if (typeof Error.captureStackTrace === 'function') { - Error.captureStackTrace(this, this.constructor); - } - else { - this.stack = (new Error(message)).stack; - } - } -} - -module.exports = ParserError; + + +class ParserError extends Error { + constructor(message) { + super(message); + + this.name = this.constructor.name; + this.message = message || 'An error ocurred while parsing.'; + + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, this.constructor); + } + else { + this.stack = (new Error(message)).stack; + } + } +} + +module.exports = ParserError; /***/ }), @@ -20094,25 +20094,25 @@ module.exports = ParserError; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -class TokenizeError extends Error { - constructor(message) { - super(message); - - this.name = this.constructor.name; - this.message = message || 'An error ocurred while tokzenizing.'; - - if (typeof Error.captureStackTrace === 'function') { - Error.captureStackTrace(this, this.constructor); - } - else { - this.stack = (new Error(message)).stack; - } - } -} - -module.exports = TokenizeError; + + +class TokenizeError extends Error { + constructor(message) { + super(message); + + this.name = this.constructor.name; + this.message = message || 'An error ocurred while tokzenizing.'; + + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, this.constructor); + } + else { + this.stack = (new Error(message)).stack; + } + } +} + +module.exports = TokenizeError; /***/ }), @@ -20120,547 +20120,547 @@ module.exports = TokenizeError; /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Root = __webpack_require__(136); -const Value = __webpack_require__(65); - -const AtWord = __webpack_require__(56); -const Colon = __webpack_require__(57); -const Comma = __webpack_require__(58); -const Comment = __webpack_require__(59); -const Func = __webpack_require__(60); -const Numbr = __webpack_require__(61); -const Operator = __webpack_require__(62); -const Paren = __webpack_require__(63); -const Str = __webpack_require__(64); -const Word = __webpack_require__(66); - -const tokenize = __webpack_require__(137); - -const flatten = __webpack_require__(31); -const indexesOf = __webpack_require__(32); -const uniq = __webpack_require__(79); -const ParserError = __webpack_require__(133); - -function sortAscending (list) { - return list.sort((a, b) => a - b); -} - -module.exports = class Parser { - constructor (input, options) { - const defaults = { loose: false }; - - // cache needs to be an array for values with more than 1 level of function nesting - this.cache = []; - this.input = input; - this.options = Object.assign({}, defaults, options); - this.position = 0; - // we'll use this to keep track of the paren balance - this.unbalanced = 0; - this.root = new Root(); - - let value = new Value(); - - this.root.append(value); - - this.current = value; - this.tokens = tokenize(input, this.options); - } - - parse () { - return this.loop(); - } - - colon () { - let token = this.currToken; - - this.newNode(new Colon({ - value: token[1], - source: { - start: { - line: token[2], - column: token[3] - }, - end: { - line: token[4], - column: token[5] - } - }, - sourceIndex: token[6] - })); - - this.position ++; - } - - comma () { - let token = this.currToken; - - this.newNode(new Comma({ - value: token[1], - source: { - start: { - line: token[2], - column: token[3] - }, - end: { - line: token[4], - column: token[5] - } - }, - sourceIndex: token[6] - })); - - this.position ++; - } - - comment () { - let node = new Comment({ - value: this.currToken[1].replace(/\/\*|\*\//g, ''), - source: { - start: { - line: this.currToken[2], - column: this.currToken[3] - }, - end: { - line: this.currToken[4], - column: this.currToken[5] - } - }, - sourceIndex: this.currToken[6] - }); - - this.newNode(node); - this.position++; - } - - error (message, token) { - throw new ParserError(message + ` at line: ${token[2]}, column ${token[3]}`); - } - - loop () { - while (this.position < this.tokens.length) { - this.parseTokens(); - } - - if (!this.current.last && this.spaces) { - this.current.raws.before += this.spaces; - } - else if (this.spaces) { - this.current.last.raws.after += this.spaces; - } - - this.spaces = ''; - - return this.root; - } - - operator () { - - // if a +|- operator is followed by a non-word character (. is allowed) and - // is preceded by a non-word character. (5+5) - let char = this.currToken[1], - node; - - if (char === '+' || char === '-') { - // only inspect if the operator is not the first token, and we're only - // within a calc() function: the only spec-valid place for math expressions - if (!this.options.loose) { - if (this.position > 0) { - if (this.current.type === 'func' && this.current.value === 'calc') { - // allow operators to be proceeded by spaces and opening parens - if (this.prevToken[0] !== 'space' && this.prevToken[0] !== '(') { - this.error('Syntax Error', this.currToken); - } - // valid: calc(1 - +2) - // invalid: calc(1 -+2) - else if (this.nextToken[0] !== 'space' && this.nextToken[0] !== 'word') { - this.error('Syntax Error', this.currToken); - } - // valid: calc(1 - +2) - // valid: calc(-0.5 + 2) - // invalid: calc(1 -2) - else if (this.nextToken[0] === 'word' && this.current.last.type !== 'operator' && - this.current.last.value !== '(') { - this.error('Syntax Error', this.currToken); - } - } - // if we're not in a function and someone has doubled up on operators, - // or they're trying to perform a calc outside of a calc - // eg. +-4px or 5+ 5, throw an error - else if (this.nextToken[0] === 'space' - || this.nextToken[0] === 'operator' - || this.prevToken[0] === 'operator') { - this.error('Syntax Error', this.currToken); - } - } - } - - if (!this.options.loose) { - if (this.nextToken[0] === 'word') { - return this.word(); - } - } - else { - if ((!this.current.nodes.length || (this.current.last && this.current.last.type === 'operator')) && this.nextToken[0] === 'word') { - return this.word(); - } - } - } - - node = new Operator({ - value: this.currToken[1], - source: { - start: { - line: this.currToken[2], - column: this.currToken[3] - }, - end: { - line: this.currToken[2], - column: this.currToken[3] - } - }, - sourceIndex: this.currToken[4] - }); - - this.position ++; - - return this.newNode(node); - } - - parseTokens () { - switch (this.currToken[0]) { - case 'space': - this.space(); - break; - case 'colon': - this.colon(); - break; - case 'comma': - this.comma(); - break; - case 'comment': - this.comment(); - break; - case '(': - this.parenOpen(); - break; - case ')': - this.parenClose(); - break; - case 'atword': - case 'word': - this.word(); - break; - case 'operator': - this.operator(); - break; - case 'string': - this.string(); - break; - default: - this.word(); - break; - } - } - - parenOpen () { - let unbalanced = 1, - pos = this.position + 1, - token = this.currToken, - last; - - // check for balanced parens - while (pos < this.tokens.length && unbalanced) { - let tkn = this.tokens[pos]; - - if (tkn[0] === '(') { - unbalanced++; - } - if (tkn[0] === ')') { - unbalanced--; - } - pos ++; - } - - if (unbalanced) { - this.error('Expected closing parenthesis', token); - } - - // ok, all parens are balanced. continue on - - last = this.current.last; - - if (last && last.type === 'func' && last.unbalanced < 0) { - last.unbalanced = 0; // ok we're ready to add parens now - this.current = last; - } - - this.current.unbalanced ++; - - this.newNode(new Paren({ - value: token[1], - source: { - start: { - line: token[2], - column: token[3] - }, - end: { - line: token[4], - column: token[5] - } - }, - sourceIndex: token[6] - })); - - this.position ++; - - // url functions get special treatment, and anything between the function - // parens get treated as one word, if the contents aren't not a string. - if (this.current.type === 'func' && this.current.unbalanced && - this.current.value === 'url' && this.currToken[0] !== 'string' && - this.currToken[0] !== ')' && !this.options.loose) { - - let nextToken = this.nextToken, - value = this.currToken[1], - start = { - line: this.currToken[2], - column: this.currToken[3] - }; - - while (nextToken && nextToken[0] !== ')' && this.current.unbalanced) { - this.position ++; - value += this.currToken[1]; - nextToken = this.nextToken; - } - - if (this.position !== this.tokens.length - 1) { - // skip the following word definition, or it'll be a duplicate - this.position ++; - - this.newNode(new Word({ - value, - source: { - start, - end: { - line: this.currToken[4], - column: this.currToken[5] - } - }, - sourceIndex: this.currToken[6] - })); - } - } - } - - parenClose () { - let token = this.currToken; - - this.newNode(new Paren({ - value: token[1], - source: { - start: { - line: token[2], - column: token[3] - }, - end: { - line: token[4], - column: token[5] - } - }, - sourceIndex: token[6] - })); - - this.position ++; - - if (this.position >= this.tokens.length - 1 && !this.current.unbalanced) { - return; - } - - this.current.unbalanced --; - - if (this.current.unbalanced < 0) { - this.error('Expected opening parenthesis', token); - } - - if (!this.current.unbalanced && this.cache.length) { - this.current = this.cache.pop(); - } - } - - space () { - let token = this.currToken; - // Handle space before and after the selector - if (this.position === (this.tokens.length - 1) || this.nextToken[0] === ',' || this.nextToken[0] === ')') { - this.current.last.raws.after += token[1]; - this.position ++; - } - else { - this.spaces = token[1]; - this.position ++; - } - } - - splitWord () { - let nextToken = this.nextToken, - word = this.currToken[1], - rNumber = /^[\+\-]?((\d+(\.\d*)?)|(\.\d+))/, - - // treat css-like groupings differently so they can be inspected, - // but don't address them as anything but a word, but allow hex values - // to pass through. - rNoFollow = /^(?!\#([a-z0-9]+))[\#\{\}]/gi, - - hasAt, indices; - - if (!rNoFollow.test(word)) { - while (nextToken && nextToken[0] === 'word') { - this.position ++; - - let current = this.currToken[1]; - word += current; - - nextToken = this.nextToken; - } - } - - hasAt = indexesOf(word, '@'); - indices = sortAscending(uniq(flatten([[0], hasAt]))); - - indices.forEach((ind, i) => { - let index = indices[i + 1] || word.length, - value = word.slice(ind, index), - node; - - if (~hasAt.indexOf(ind)) { - node = new AtWord({ - value: value.slice(1), - source: { - start: { - line: this.currToken[2], - column: this.currToken[3] + ind - }, - end: { - line: this.currToken[4], - column: this.currToken[3] + (index - 1) - } - }, - sourceIndex: this.currToken[6] + indices[i] - }); - } - else if (rNumber.test(this.currToken[1])) { - let unit = value.replace(rNumber, ''); - - node = new Numbr({ - value: value.replace(unit, ''), - source: { - start: { - line: this.currToken[2], - column: this.currToken[3] + ind - }, - end: { - line: this.currToken[4], - column: this.currToken[3] + (index - 1) - } - }, - sourceIndex: this.currToken[6] + indices[i], - unit - }); - } - else { - node = new (nextToken && nextToken[0] === '(' ? Func : Word)({ - value, - source: { - start: { - line: this.currToken[2], - column: this.currToken[3] + ind - }, - end: { - line: this.currToken[4], - column: this.currToken[3] + (index - 1) - } - }, - sourceIndex: this.currToken[6] + indices[i] - }); - - if (node.constructor.name === 'Word') { - node.isHex = /^#(.+)/.test(value); - node.isColor = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(value); - } - else { - this.cache.push(this.current); - } - } - - this.newNode(node); - - }); - - this.position ++; - } - - string () { - let token = this.currToken, - value = this.currToken[1], - rQuote = /^(\"|\')/, - quoted = rQuote.test(value), - quote = '', - node; - - if (quoted) { - quote = value.match(rQuote)[0]; - // set value to the string within the quotes - // quotes are stored in raws - value = value.slice(1, value.length - 1); - } - - node = new Str({ - value, - source: { - start: { - line: token[2], - column: token[3] - }, - end: { - line: token[4], - column: token[5] - } - }, - sourceIndex: token[6], - quoted - }); - - node.raws.quote = quote; - - this.newNode(node); - this.position++; - } - - word () { - return this.splitWord(); - } - - newNode (node) { - if (this.spaces) { - node.raws.before += this.spaces; - this.spaces = ''; - } - - return this.current.append(node); - } - - get currToken () { - return this.tokens[this.position]; - } - - get nextToken () { - return this.tokens[this.position + 1]; - } - - get prevToken () { - return this.tokens[this.position - 1]; - } -}; + + +const Root = __webpack_require__(136); +const Value = __webpack_require__(65); + +const AtWord = __webpack_require__(56); +const Colon = __webpack_require__(57); +const Comma = __webpack_require__(58); +const Comment = __webpack_require__(59); +const Func = __webpack_require__(60); +const Numbr = __webpack_require__(61); +const Operator = __webpack_require__(62); +const Paren = __webpack_require__(63); +const Str = __webpack_require__(64); +const Word = __webpack_require__(66); + +const tokenize = __webpack_require__(137); + +const flatten = __webpack_require__(31); +const indexesOf = __webpack_require__(32); +const uniq = __webpack_require__(79); +const ParserError = __webpack_require__(133); + +function sortAscending (list) { + return list.sort((a, b) => a - b); +} + +module.exports = class Parser { + constructor (input, options) { + const defaults = { loose: false }; + + // cache needs to be an array for values with more than 1 level of function nesting + this.cache = []; + this.input = input; + this.options = Object.assign({}, defaults, options); + this.position = 0; + // we'll use this to keep track of the paren balance + this.unbalanced = 0; + this.root = new Root(); + + let value = new Value(); + + this.root.append(value); + + this.current = value; + this.tokens = tokenize(input, this.options); + } + + parse () { + return this.loop(); + } + + colon () { + let token = this.currToken; + + this.newNode(new Colon({ + value: token[1], + source: { + start: { + line: token[2], + column: token[3] + }, + end: { + line: token[4], + column: token[5] + } + }, + sourceIndex: token[6] + })); + + this.position ++; + } + + comma () { + let token = this.currToken; + + this.newNode(new Comma({ + value: token[1], + source: { + start: { + line: token[2], + column: token[3] + }, + end: { + line: token[4], + column: token[5] + } + }, + sourceIndex: token[6] + })); + + this.position ++; + } + + comment () { + let node = new Comment({ + value: this.currToken[1].replace(/\/\*|\*\//g, ''), + source: { + start: { + line: this.currToken[2], + column: this.currToken[3] + }, + end: { + line: this.currToken[4], + column: this.currToken[5] + } + }, + sourceIndex: this.currToken[6] + }); + + this.newNode(node); + this.position++; + } + + error (message, token) { + throw new ParserError(message + ` at line: ${token[2]}, column ${token[3]}`); + } + + loop () { + while (this.position < this.tokens.length) { + this.parseTokens(); + } + + if (!this.current.last && this.spaces) { + this.current.raws.before += this.spaces; + } + else if (this.spaces) { + this.current.last.raws.after += this.spaces; + } + + this.spaces = ''; + + return this.root; + } + + operator () { + + // if a +|- operator is followed by a non-word character (. is allowed) and + // is preceded by a non-word character. (5+5) + let char = this.currToken[1], + node; + + if (char === '+' || char === '-') { + // only inspect if the operator is not the first token, and we're only + // within a calc() function: the only spec-valid place for math expressions + if (!this.options.loose) { + if (this.position > 0) { + if (this.current.type === 'func' && this.current.value === 'calc') { + // allow operators to be proceeded by spaces and opening parens + if (this.prevToken[0] !== 'space' && this.prevToken[0] !== '(') { + this.error('Syntax Error', this.currToken); + } + // valid: calc(1 - +2) + // invalid: calc(1 -+2) + else if (this.nextToken[0] !== 'space' && this.nextToken[0] !== 'word') { + this.error('Syntax Error', this.currToken); + } + // valid: calc(1 - +2) + // valid: calc(-0.5 + 2) + // invalid: calc(1 -2) + else if (this.nextToken[0] === 'word' && this.current.last.type !== 'operator' && + this.current.last.value !== '(') { + this.error('Syntax Error', this.currToken); + } + } + // if we're not in a function and someone has doubled up on operators, + // or they're trying to perform a calc outside of a calc + // eg. +-4px or 5+ 5, throw an error + else if (this.nextToken[0] === 'space' + || this.nextToken[0] === 'operator' + || this.prevToken[0] === 'operator') { + this.error('Syntax Error', this.currToken); + } + } + } + + if (!this.options.loose) { + if (this.nextToken[0] === 'word') { + return this.word(); + } + } + else { + if ((!this.current.nodes.length || (this.current.last && this.current.last.type === 'operator')) && this.nextToken[0] === 'word') { + return this.word(); + } + } + } + + node = new Operator({ + value: this.currToken[1], + source: { + start: { + line: this.currToken[2], + column: this.currToken[3] + }, + end: { + line: this.currToken[2], + column: this.currToken[3] + } + }, + sourceIndex: this.currToken[4] + }); + + this.position ++; + + return this.newNode(node); + } + + parseTokens () { + switch (this.currToken[0]) { + case 'space': + this.space(); + break; + case 'colon': + this.colon(); + break; + case 'comma': + this.comma(); + break; + case 'comment': + this.comment(); + break; + case '(': + this.parenOpen(); + break; + case ')': + this.parenClose(); + break; + case 'atword': + case 'word': + this.word(); + break; + case 'operator': + this.operator(); + break; + case 'string': + this.string(); + break; + default: + this.word(); + break; + } + } + + parenOpen () { + let unbalanced = 1, + pos = this.position + 1, + token = this.currToken, + last; + + // check for balanced parens + while (pos < this.tokens.length && unbalanced) { + let tkn = this.tokens[pos]; + + if (tkn[0] === '(') { + unbalanced++; + } + if (tkn[0] === ')') { + unbalanced--; + } + pos ++; + } + + if (unbalanced) { + this.error('Expected closing parenthesis', token); + } + + // ok, all parens are balanced. continue on + + last = this.current.last; + + if (last && last.type === 'func' && last.unbalanced < 0) { + last.unbalanced = 0; // ok we're ready to add parens now + this.current = last; + } + + this.current.unbalanced ++; + + this.newNode(new Paren({ + value: token[1], + source: { + start: { + line: token[2], + column: token[3] + }, + end: { + line: token[4], + column: token[5] + } + }, + sourceIndex: token[6] + })); + + this.position ++; + + // url functions get special treatment, and anything between the function + // parens get treated as one word, if the contents aren't not a string. + if (this.current.type === 'func' && this.current.unbalanced && + this.current.value === 'url' && this.currToken[0] !== 'string' && + this.currToken[0] !== ')' && !this.options.loose) { + + let nextToken = this.nextToken, + value = this.currToken[1], + start = { + line: this.currToken[2], + column: this.currToken[3] + }; + + while (nextToken && nextToken[0] !== ')' && this.current.unbalanced) { + this.position ++; + value += this.currToken[1]; + nextToken = this.nextToken; + } + + if (this.position !== this.tokens.length - 1) { + // skip the following word definition, or it'll be a duplicate + this.position ++; + + this.newNode(new Word({ + value, + source: { + start, + end: { + line: this.currToken[4], + column: this.currToken[5] + } + }, + sourceIndex: this.currToken[6] + })); + } + } + } + + parenClose () { + let token = this.currToken; + + this.newNode(new Paren({ + value: token[1], + source: { + start: { + line: token[2], + column: token[3] + }, + end: { + line: token[4], + column: token[5] + } + }, + sourceIndex: token[6] + })); + + this.position ++; + + if (this.position >= this.tokens.length - 1 && !this.current.unbalanced) { + return; + } + + this.current.unbalanced --; + + if (this.current.unbalanced < 0) { + this.error('Expected opening parenthesis', token); + } + + if (!this.current.unbalanced && this.cache.length) { + this.current = this.cache.pop(); + } + } + + space () { + let token = this.currToken; + // Handle space before and after the selector + if (this.position === (this.tokens.length - 1) || this.nextToken[0] === ',' || this.nextToken[0] === ')') { + this.current.last.raws.after += token[1]; + this.position ++; + } + else { + this.spaces = token[1]; + this.position ++; + } + } + + splitWord () { + let nextToken = this.nextToken, + word = this.currToken[1], + rNumber = /^[\+\-]?((\d+(\.\d*)?)|(\.\d+))/, + + // treat css-like groupings differently so they can be inspected, + // but don't address them as anything but a word, but allow hex values + // to pass through. + rNoFollow = /^(?!\#([a-z0-9]+))[\#\{\}]/gi, + + hasAt, indices; + + if (!rNoFollow.test(word)) { + while (nextToken && nextToken[0] === 'word') { + this.position ++; + + let current = this.currToken[1]; + word += current; + + nextToken = this.nextToken; + } + } + + hasAt = indexesOf(word, '@'); + indices = sortAscending(uniq(flatten([[0], hasAt]))); + + indices.forEach((ind, i) => { + let index = indices[i + 1] || word.length, + value = word.slice(ind, index), + node; + + if (~hasAt.indexOf(ind)) { + node = new AtWord({ + value: value.slice(1), + source: { + start: { + line: this.currToken[2], + column: this.currToken[3] + ind + }, + end: { + line: this.currToken[4], + column: this.currToken[3] + (index - 1) + } + }, + sourceIndex: this.currToken[6] + indices[i] + }); + } + else if (rNumber.test(this.currToken[1])) { + let unit = value.replace(rNumber, ''); + + node = new Numbr({ + value: value.replace(unit, ''), + source: { + start: { + line: this.currToken[2], + column: this.currToken[3] + ind + }, + end: { + line: this.currToken[4], + column: this.currToken[3] + (index - 1) + } + }, + sourceIndex: this.currToken[6] + indices[i], + unit + }); + } + else { + node = new (nextToken && nextToken[0] === '(' ? Func : Word)({ + value, + source: { + start: { + line: this.currToken[2], + column: this.currToken[3] + ind + }, + end: { + line: this.currToken[4], + column: this.currToken[3] + (index - 1) + } + }, + sourceIndex: this.currToken[6] + indices[i] + }); + + if (node.constructor.name === 'Word') { + node.isHex = /^#(.+)/.test(value); + node.isColor = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(value); + } + else { + this.cache.push(this.current); + } + } + + this.newNode(node); + + }); + + this.position ++; + } + + string () { + let token = this.currToken, + value = this.currToken[1], + rQuote = /^(\"|\')/, + quoted = rQuote.test(value), + quote = '', + node; + + if (quoted) { + quote = value.match(rQuote)[0]; + // set value to the string within the quotes + // quotes are stored in raws + value = value.slice(1, value.length - 1); + } + + node = new Str({ + value, + source: { + start: { + line: token[2], + column: token[3] + }, + end: { + line: token[4], + column: token[5] + } + }, + sourceIndex: token[6], + quoted + }); + + node.raws.quote = quote; + + this.newNode(node); + this.position++; + } + + word () { + return this.splitWord(); + } + + newNode (node) { + if (this.spaces) { + node.raws.before += this.spaces; + this.spaces = ''; + } + + return this.current.append(node); + } + + get currToken () { + return this.tokens[this.position]; + } + + get nextToken () { + return this.tokens[this.position + 1]; + } + + get prevToken () { + return this.tokens[this.position - 1]; + } +}; /***/ }), @@ -20668,16 +20668,16 @@ module.exports = class Parser { /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const Container = __webpack_require__(1); - -module.exports = class Root extends Container { - constructor (opts) { - super(opts); - this.type = 'root'; - } -}; + + +const Container = __webpack_require__(1); + +module.exports = class Root extends Container { + constructor (opts) { + super(opts); + this.type = 'root'; + } +}; /***/ }), @@ -20685,331 +20685,331 @@ module.exports = class Root extends Container { /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const openBracket = '{'.charCodeAt(0); -const closeBracket = '}'.charCodeAt(0); -const openParen = '('.charCodeAt(0); -const closeParen = ')'.charCodeAt(0); -const singleQuote = '\''.charCodeAt(0); -const doubleQuote = '"'.charCodeAt(0); -const backslash = '\\'.charCodeAt(0); -const slash = '/'.charCodeAt(0); -const comma = ','.charCodeAt(0); -const colon = ':'.charCodeAt(0); -const asterisk = '*'.charCodeAt(0); -const minus = '-'.charCodeAt(0); -const plus = '+'.charCodeAt(0); -const pound = '#'.charCodeAt(0); -const newline = '\n'.charCodeAt(0); -const space = ' '.charCodeAt(0); -const feed = '\f'.charCodeAt(0); -const tab = '\t'.charCodeAt(0); -const cr = '\r'.charCodeAt(0); -const at = '@'.charCodeAt(0); -const atEnd = /[ \n\t\r\{\(\)'"\\;,/]/g; -const wordEnd = /[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g; -const wordEndNum = /[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g; -const alphaNum = /^[a-z0-9]/i; - -const util = __webpack_require__(155); -const TokenizeError = __webpack_require__(134); - -module.exports = function tokenize (input, options) { - - options = options || {}; - - let tokens = [], - css = input.valueOf(), - length = css.length, - offset = -1, - line = 1, - pos = 0, - - code, next, quote, lines, last, content, escape, nextLine, nextOffset, - escaped, escapePos, nextChar; - - function unclosed (what) { - let message = util.format('Unclosed %s at line: %d, column: %d, token: %d', what, line, pos - offset, pos); - throw new TokenizeError(message); - } - - while (pos < length) { - code = css.charCodeAt(pos); - - if (code === newline) { - offset = pos; - line += 1; - } - - switch (code) { - case newline: - case space: - case tab: - case cr: - case feed: - next = pos; - do { - next += 1; - code = css.charCodeAt(next); - if (code === newline) { - offset = next; - line += 1; - } - } while (code === space || - code === newline || - code === tab || - code === cr || - code === feed); - - tokens.push(['space', css.slice(pos, next), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next - 1; - break; - - case colon: - next = pos + 1; - tokens.push(['colon', css.slice(pos, next), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next - 1; - break; - - case comma: - next = pos + 1; - tokens.push(['comma', css.slice(pos, next), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next - 1; - break; - - case openBracket: - tokens.push(['{', '{', - line, pos - offset, - line, next - offset, - pos - ]); - break; - - case closeBracket: - tokens.push(['}', '}', - line, pos - offset, - line, next - offset, - pos - ]); - break; - - case openParen: - tokens.push(['(', '(', - line, pos - offset, - line, next - offset, - pos - ]); - break; - - case closeParen: - tokens.push([')', ')', - line, pos - offset, - line, next - offset, - pos - ]); - break; - - case singleQuote: - case doubleQuote: - quote = code === singleQuote ? '\'' : '"'; - next = pos; - do { - escaped = false; - next = css.indexOf(quote, next + 1); - if (next === -1) { - unclosed('quote', quote); - } - escapePos = next; - while (css.charCodeAt(escapePos - 1) === backslash) { - escapePos -= 1; - escaped = !escaped; - } - } while (escaped); - - tokens.push(['string', css.slice(pos, next + 1), - line, pos - offset, - line, next - offset, - pos - ]); - pos = next; - break; - - case at: - atEnd.lastIndex = pos + 1; - atEnd.test(css); - - if (atEnd.lastIndex === 0) { - next = css.length - 1; - } - else { - next = atEnd.lastIndex - 2; - } - - tokens.push(['atword', css.slice(pos, next + 1), - line, pos - offset, - line, next - offset, - pos - ]); - pos = next; - break; - - case backslash: - next = pos; - code = css.charCodeAt(next + 1); - - if (escape && (code !== slash && code !== space && - code !== newline && code !== tab && - code !== cr && code !== feed)) { - next += 1; - } - - tokens.push(['word', css.slice(pos, next + 1), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next; - break; - - case plus: - case minus: - case asterisk: - next = pos + 1; - nextChar = css.slice(pos + 1, next + 1); - - let prevChar = css.slice(pos - 1, pos); - - // if the operator is immediately followed by a word character, then we - // have a prefix of some kind, and should fall-through. eg. -webkit - - // look for --* for custom variables - if (code === minus && nextChar.charCodeAt(0) === minus) { - next++; - - tokens.push(['word', css.slice(pos, next), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next - 1; - break; - } - - tokens.push(['operator', css.slice(pos, next), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next - 1; - break; - - default: - if (code === slash && css.charCodeAt(pos + 1) === asterisk) { - next = css.indexOf('*/', pos + 2) + 1; - if (next === 0) { - unclosed('comment', '*/'); - } - - content = css.slice(pos, next + 1); - lines = content.split('\n'); - last = lines.length - 1; - - if (last > 0) { - nextLine = line + last; - nextOffset = next - lines[last].length; - } - else { - nextLine = line; - nextOffset = offset; - } - - tokens.push(['comment', content, - line, pos - offset, - nextLine, next - nextOffset, - pos - ]); - - offset = nextOffset; - line = nextLine; - pos = next; - - } - else if (code === pound && !alphaNum.test(css.slice(pos + 1, pos + 2))) { - next = pos + 1; - - tokens.push(['#', css.slice(pos, next), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next - 1; - } - // catch a regular slash, that isn't a comment - else if (code === slash) { - next = pos + 1; - - tokens.push(['operator', css.slice(pos, next), - line, pos - offset, - line, next - offset, - pos - ]); - - pos = next - 1; - } - else { - let regex = wordEnd; - - // we're dealing with a word that starts with a number - // those get treated differently - if (code >= 48 && code <= 57) { - regex = wordEndNum; - } - - regex.lastIndex = pos + 1; - regex.test(css); - - if (regex.lastIndex === 0) { - next = css.length - 1; - } - else { - next = regex.lastIndex - 2; - } - - tokens.push(['word', css.slice(pos, next + 1), - line, pos - offset, - line, next - offset, - pos - ]); - pos = next; - } - break; - } - - pos ++; - } - - return tokens; -}; + + +const openBracket = '{'.charCodeAt(0); +const closeBracket = '}'.charCodeAt(0); +const openParen = '('.charCodeAt(0); +const closeParen = ')'.charCodeAt(0); +const singleQuote = '\''.charCodeAt(0); +const doubleQuote = '"'.charCodeAt(0); +const backslash = '\\'.charCodeAt(0); +const slash = '/'.charCodeAt(0); +const comma = ','.charCodeAt(0); +const colon = ':'.charCodeAt(0); +const asterisk = '*'.charCodeAt(0); +const minus = '-'.charCodeAt(0); +const plus = '+'.charCodeAt(0); +const pound = '#'.charCodeAt(0); +const newline = '\n'.charCodeAt(0); +const space = ' '.charCodeAt(0); +const feed = '\f'.charCodeAt(0); +const tab = '\t'.charCodeAt(0); +const cr = '\r'.charCodeAt(0); +const at = '@'.charCodeAt(0); +const atEnd = /[ \n\t\r\{\(\)'"\\;,/]/g; +const wordEnd = /[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g; +const wordEndNum = /[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g; +const alphaNum = /^[a-z0-9]/i; + +const util = __webpack_require__(155); +const TokenizeError = __webpack_require__(134); + +module.exports = function tokenize (input, options) { + + options = options || {}; + + let tokens = [], + css = input.valueOf(), + length = css.length, + offset = -1, + line = 1, + pos = 0, + + code, next, quote, lines, last, content, escape, nextLine, nextOffset, + escaped, escapePos, nextChar; + + function unclosed (what) { + let message = util.format('Unclosed %s at line: %d, column: %d, token: %d', what, line, pos - offset, pos); + throw new TokenizeError(message); + } + + while (pos < length) { + code = css.charCodeAt(pos); + + if (code === newline) { + offset = pos; + line += 1; + } + + switch (code) { + case newline: + case space: + case tab: + case cr: + case feed: + next = pos; + do { + next += 1; + code = css.charCodeAt(next); + if (code === newline) { + offset = next; + line += 1; + } + } while (code === space || + code === newline || + code === tab || + code === cr || + code === feed); + + tokens.push(['space', css.slice(pos, next), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next - 1; + break; + + case colon: + next = pos + 1; + tokens.push(['colon', css.slice(pos, next), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next - 1; + break; + + case comma: + next = pos + 1; + tokens.push(['comma', css.slice(pos, next), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next - 1; + break; + + case openBracket: + tokens.push(['{', '{', + line, pos - offset, + line, next - offset, + pos + ]); + break; + + case closeBracket: + tokens.push(['}', '}', + line, pos - offset, + line, next - offset, + pos + ]); + break; + + case openParen: + tokens.push(['(', '(', + line, pos - offset, + line, next - offset, + pos + ]); + break; + + case closeParen: + tokens.push([')', ')', + line, pos - offset, + line, next - offset, + pos + ]); + break; + + case singleQuote: + case doubleQuote: + quote = code === singleQuote ? '\'' : '"'; + next = pos; + do { + escaped = false; + next = css.indexOf(quote, next + 1); + if (next === -1) { + unclosed('quote', quote); + } + escapePos = next; + while (css.charCodeAt(escapePos - 1) === backslash) { + escapePos -= 1; + escaped = !escaped; + } + } while (escaped); + + tokens.push(['string', css.slice(pos, next + 1), + line, pos - offset, + line, next - offset, + pos + ]); + pos = next; + break; + + case at: + atEnd.lastIndex = pos + 1; + atEnd.test(css); + + if (atEnd.lastIndex === 0) { + next = css.length - 1; + } + else { + next = atEnd.lastIndex - 2; + } + + tokens.push(['atword', css.slice(pos, next + 1), + line, pos - offset, + line, next - offset, + pos + ]); + pos = next; + break; + + case backslash: + next = pos; + code = css.charCodeAt(next + 1); + + if (escape && (code !== slash && code !== space && + code !== newline && code !== tab && + code !== cr && code !== feed)) { + next += 1; + } + + tokens.push(['word', css.slice(pos, next + 1), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next; + break; + + case plus: + case minus: + case asterisk: + next = pos + 1; + nextChar = css.slice(pos + 1, next + 1); + + let prevChar = css.slice(pos - 1, pos); + + // if the operator is immediately followed by a word character, then we + // have a prefix of some kind, and should fall-through. eg. -webkit + + // look for --* for custom variables + if (code === minus && nextChar.charCodeAt(0) === minus) { + next++; + + tokens.push(['word', css.slice(pos, next), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next - 1; + break; + } + + tokens.push(['operator', css.slice(pos, next), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next - 1; + break; + + default: + if (code === slash && css.charCodeAt(pos + 1) === asterisk) { + next = css.indexOf('*/', pos + 2) + 1; + if (next === 0) { + unclosed('comment', '*/'); + } + + content = css.slice(pos, next + 1); + lines = content.split('\n'); + last = lines.length - 1; + + if (last > 0) { + nextLine = line + last; + nextOffset = next - lines[last].length; + } + else { + nextLine = line; + nextOffset = offset; + } + + tokens.push(['comment', content, + line, pos - offset, + nextLine, next - nextOffset, + pos + ]); + + offset = nextOffset; + line = nextLine; + pos = next; + + } + else if (code === pound && !alphaNum.test(css.slice(pos + 1, pos + 2))) { + next = pos + 1; + + tokens.push(['#', css.slice(pos, next), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next - 1; + } + // catch a regular slash, that isn't a comment + else if (code === slash) { + next = pos + 1; + + tokens.push(['operator', css.slice(pos, next), + line, pos - offset, + line, next - offset, + pos + ]); + + pos = next - 1; + } + else { + let regex = wordEnd; + + // we're dealing with a word that starts with a number + // those get treated differently + if (code >= 48 && code <= 57) { + regex = wordEndNum; + } + + regex.lastIndex = pos + 1; + regex.test(css); + + if (regex.lastIndex === 0) { + next = css.length - 1; + } + else { + next = regex.lastIndex - 2; + } + + tokens.push(['word', css.slice(pos, next + 1), + line, pos - offset, + line, next - offset, + pos + ]); + pos = next; + } + break; + } + + pos ++; + } + + return tokens; +}; /***/ }), @@ -24883,231 +24883,230 @@ module.exports = function(module) { /***/ (function(module, exports, __webpack_require__) { "use strict"; - - -const createError = __webpack_require__(86); - -function parseSelector(selector) { - const selectorParser = __webpack_require__(84); - let result; - selectorParser(result_ => { - result = result_; - }).process(selector); - return addTypePrefix(result, "selector-"); -} - -function parseValueNodes(nodes) { - let parenGroup = { - open: null, - close: null, - groups: [], - type: "paren_group" - }; - const parenGroupStack = [parenGroup]; - const rootParenGroup = parenGroup; - let commaGroup = { - groups: [], - type: "comma_group" - }; - const commaGroupStack = [commaGroup]; - - for (let i = 0; i < nodes.length; ++i) { - const node = nodes[i]; - if (node.type === "paren" && node.value === "(") { - parenGroup = { - open: node, - close: null, - groups: [], - type: "paren_group" - }; - parenGroupStack.push(parenGroup); - - commaGroup = { - groups: [], - type: "comma_group" - }; - commaGroupStack.push(commaGroup); - } else if (node.type === "paren" && node.value === ")") { - if (commaGroup.groups.length) { - parenGroup.groups.push(commaGroup); - } - parenGroup.close = node; - - if (commaGroupStack.length === 1) { - throw new Error("Unbalanced parenthesis"); - } - - commaGroupStack.pop(); - commaGroup = commaGroupStack[commaGroupStack.length - 1]; - commaGroup.groups.push(parenGroup); - - parenGroupStack.pop(); - parenGroup = parenGroupStack[parenGroupStack.length - 1]; - } else if (node.type === "comma") { - parenGroup.groups.push(commaGroup); - commaGroup = { - groups: [], - type: "comma_group" - }; - commaGroupStack[commaGroupStack.length - 1] = commaGroup; - } else { - commaGroup.groups.push(node); - } - } - if (commaGroup.groups.length > 0) { - parenGroup.groups.push(commaGroup); - } - return rootParenGroup; -} - -function flattenGroups(node) { - if ( - node.type === "paren_group" && - !node.open && - !node.close && - node.groups.length === 1 - ) { - return flattenGroups(node.groups[0]); - } - - if (node.type === "comma_group" && node.groups.length === 1) { - return flattenGroups(node.groups[0]); - } - - if (node.type === "paren_group" || node.type === "comma_group") { - return Object.assign({}, node, { groups: node.groups.map(flattenGroups) }); - } - - return node; -} - -function addTypePrefix(node, prefix) { - if (node && typeof node === "object") { - delete node.parent; - for (const key in node) { - addTypePrefix(node[key], prefix); - if (key === "type" && typeof node[key] === "string") { - if (!node[key].startsWith(prefix)) { - node[key] = prefix + node[key]; - } - } - } - } - return node; -} - -function addMissingType(node) { - if (node && typeof node === "object") { - delete node.parent; - for (const key in node) { - addMissingType(node[key]); - } - if (!Array.isArray(node) && node.value && !node.type) { - node.type = "unknown"; - } - } - return node; -} - -function parseNestedValue(node) { - if (node && typeof node === "object") { - delete node.parent; - for (const key in node) { - parseNestedValue(node[key]); - if (key === "nodes") { - node.group = flattenGroups(parseValueNodes(node[key])); - delete node[key]; - } - } - } - return node; -} - -function parseValue(value) { - const valueParser = __webpack_require__(85); - const result = valueParser(value, { loose: true }).parse(); - const parsedResult = parseNestedValue(result); - return addTypePrefix(parsedResult, "value-"); -} - -function parseMediaQuery(value) { - const mediaParser = __webpack_require__(82).default; - const result = addMissingType(mediaParser(value)); - return addTypePrefix(result, "media-"); -} - -function parseNestedCSS(node) { - if (node && typeof node === "object") { - delete node.parent; - for (const key in node) { - parseNestedCSS(node[key]); - } - if (typeof node.selector === "string") { - const selector = node.raws.selector - ? node.raws.selector.raw - : node.selector; - - try { - node.selector = parseSelector(selector); - } catch (e) { - // Fail silently. It's better to print it as is than to try and parse it - node.selector = selector; - } - } - if (node.type && typeof node.value === "string") { - try { - node.value = parseValue(node.value); - } catch (e) { - throw createError( - "(postcss-values-parser) " + e.toString(), - node.source - ); - } - } - if (node.type === "css-atrule" && typeof node.params === "string") { - node.params = parseMediaQuery(node.params); - } - } - return node; -} - -function parseWithParser(parser, text) { - let result; - try { - result = parser.parse(text); - } catch (e) { - if (typeof e.line !== "number") { - throw e; - } - throw createError("(postcss) " + e.name + " " + e.reason, { start: e }); - } - const prefixedResult = addTypePrefix(result, "css-"); - const parsedResult = parseNestedCSS(prefixedResult); - return parsedResult; -} - -function requireParser(isSCSS) { - if (isSCSS) { - return __webpack_require__(83); - } else { - return __webpack_require__(81); - } -} - -function parse(text) { - const isLikelySCSS = !!text.match(/(\w\s*: [^}:]+|#){|\@import url/); - try { - return parseWithParser(requireParser(isLikelySCSS), text); - } catch (e) { - try { - return parseWithParser(requireParser(!isLikelySCSS), text); - } catch (e2) { - throw e; - } - } -} - -module.exports = parse; + + +const createError = __webpack_require__(86); + +function parseSelector(selector) { + const selectorParser = __webpack_require__(84); + let result; + selectorParser(result_ => { + result = result_; + }).process(selector); + return addTypePrefix(result, "selector-"); +} + +function parseValueNodes(nodes) { + let parenGroup = { + open: null, + close: null, + groups: [], + type: "paren_group" + }; + const parenGroupStack = [parenGroup]; + const rootParenGroup = parenGroup; + let commaGroup = { + groups: [], + type: "comma_group" + }; + const commaGroupStack = [commaGroup]; + + for (let i = 0; i < nodes.length; ++i) { + const node = nodes[i]; + if (node.type === "paren" && node.value === "(") { + parenGroup = { + open: node, + close: null, + groups: [], + type: "paren_group" + }; + parenGroupStack.push(parenGroup); + + commaGroup = { + groups: [], + type: "comma_group" + }; + commaGroupStack.push(commaGroup); + } else if (node.type === "paren" && node.value === ")") { + if (commaGroup.groups.length) { + parenGroup.groups.push(commaGroup); + } + parenGroup.close = node; + + if (commaGroupStack.length === 1) { + throw new Error("Unbalanced parenthesis"); + } + + commaGroupStack.pop(); + commaGroup = commaGroupStack[commaGroupStack.length - 1]; + commaGroup.groups.push(parenGroup); + + parenGroupStack.pop(); + parenGroup = parenGroupStack[parenGroupStack.length - 1]; + } else if (node.type === "comma") { + parenGroup.groups.push(commaGroup); + commaGroup = { + groups: [], + type: "comma_group" + }; + commaGroupStack[commaGroupStack.length - 1] = commaGroup; + } else { + commaGroup.groups.push(node); + } + } + if (commaGroup.groups.length > 0) { + parenGroup.groups.push(commaGroup); + } + return rootParenGroup; +} + +function flattenGroups(node) { + if ( + node.type === "paren_group" && + !node.open && + !node.close && + node.groups.length === 1 + ) { + return flattenGroups(node.groups[0]); + } + + if (node.type === "comma_group" && node.groups.length === 1) { + return flattenGroups(node.groups[0]); + } + + if (node.type === "paren_group" || node.type === "comma_group") { + return Object.assign({}, node, { groups: node.groups.map(flattenGroups) }); + } + + return node; +} + +function addTypePrefix(node, prefix) { + if (node && typeof node === "object") { + delete node.parent; + for (const key in node) { + addTypePrefix(node[key], prefix); + if (key === "type" && typeof node[key] === "string") { + if (!node[key].startsWith(prefix)) { + node[key] = prefix + node[key]; + } + } + } + } + return node; +} + +function addMissingType(node) { + if (node && typeof node === "object") { + delete node.parent; + for (const key in node) { + addMissingType(node[key]); + } + if (!Array.isArray(node) && node.value && !node.type) { + node.type = "unknown"; + } + } + return node; +} + +function parseNestedValue(node) { + if (node && typeof node === "object") { + delete node.parent; + for (const key in node) { + parseNestedValue(node[key]); + if (key === "nodes") { + node.group = flattenGroups(parseValueNodes(node[key])); + delete node[key]; + } + } + } + return node; +} + +function parseValue(value) { + const valueParser = __webpack_require__(85); + const result = valueParser(value, { loose: true }).parse(); + const parsedResult = parseNestedValue(result); + return addTypePrefix(parsedResult, "value-"); +} + +function parseMediaQuery(value) { + const mediaParser = __webpack_require__(82).default; + const result = addMissingType(mediaParser(value)); + return addTypePrefix(result, "media-"); +} + +function parseNestedCSS(node) { + if (node && typeof node === "object") { + delete node.parent; + for (const key in node) { + parseNestedCSS(node[key]); + } + if (typeof node.selector === "string") { + const selector = node.raws.selector + ? node.raws.selector.raw + : node.selector; + + try { + node.selector = parseSelector(selector); + } catch (e) { + // Fail silently. It's better to print it as is than to try and parse it + node.selector = selector; + } + } + if (node.type && typeof node.value === "string") { + try { + node.value = parseValue(node.value); + } catch (e) { + throw createError( + "(postcss-values-parser) " + e.toString(), + node.source + ); + } + } + if (node.type === "css-atrule" && typeof node.params === "string") { + node.params = parseMediaQuery(node.params); + } + } + return node; +} + +function parseWithParser(parser, text) { + let result; + try { + result = parser.parse(text); + } catch (e) { + if (typeof e.line !== "number") { + throw e; + } + throw createError("(postcss) " + e.name + " " + e.reason, { start: e }); + } + const prefixedResult = addTypePrefix(result, "css-"); + const parsedResult = parseNestedCSS(prefixedResult); + return parsedResult; +} + +function requireParser(isSCSS) { + if (isSCSS) { + return __webpack_require__(83); + } + return __webpack_require__(81); +} + +function parse(text) { + const isLikelySCSS = !!text.match(/(\w\s*: [^}:]+|#){|\@import url/); + try { + return parseWithParser(requireParser(isLikelySCSS), text); + } catch (e) { + try { + return parseWithParser(requireParser(!isLikelySCSS), text); + } catch (e2) { + throw e; + } + } +} + +module.exports = parse; /***/ }), diff --git a/docs/parser-typescript.js b/docs/parser-typescript.js index 2baddb31..bf4782c0 100644 --- a/docs/parser-typescript.js +++ b/docs/parser-typescript.js @@ -2231,7 +2231,7 @@ function createCommonjsModule(fn, module) { } var parserTypescript_1 = createCommonjsModule(function (module) { -"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}function createError$1(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n}function includeShebang$1(e,t){if(!e.startsWith("#!"))return;const n=e.indexOf("\n"),r={type:"Line",value:e.slice(2,n),range:[0,n],loc:{source:null,start:{line:1,column:0},end:{line:1,column:n}}};t.comments=[r].concat(t.comments);}function commonjsRequire$$1(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function createCommonjsModule$$1(e,t){return t={exports:{}},e(t,t.exports),t.exports}function toVLQSigned(e){return e<0?1+(-e<<1):0+(e<<1)}function fromVLQSigned(e){var t=e>>1;return 1==(1&e)?-t:t}function ArraySet$1(){this._array=[],this._set=Object.create(null);}function generatedPositionAfter(e,t){var n=e.generatedLine,r=t.generatedLine,a=e.generatedColumn,i=t.generatedColumn;return r>n||r==n&&i>=a||util$4.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList$1(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0};}function SourceMapGenerator$1(e){e||(e={}),this._file=util.getArg(e,"file",null),this._sourceRoot=util.getArg(e,"sourceRoot",null),this._skipValidation=util.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null;}function swap(e,t,n){var r=e[t];e[t]=e[n],e[n]=r;}function randomIntInRange(e,t){return Math.round(e+Math.random()*(t-e))}function doQuickSort(e,t,n,r){if(n";var n=this.getLineNumber();if(null!=n){t+=":"+n;var r=this.getColumnNumber();r&&(t+=":"+r);}}var a="",i=this.getFunctionName(),o=!0,s=this.isConstructor();if(!(this.isToplevel()||s)){var c=this.getTypeName();"[object Object]"===c&&(c="null");var u=this.getMethodName();i?(c&&0!=i.indexOf(c)&&(a+=c+"."),a+=i,u&&i.indexOf("."+u)!=i.length-u.length-1&&(a+=" [as "+u+"]")):a+=c+"."+(u||"");}else s?a+="new "+(i||""):i?a+=i:(a+=t,o=!1);return o&&(a+=" ("+t+")"),a}function cloneCallSite(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(function(n){t[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n];}),t.toString=CallSiteToString,t}function wrapCallSite(e){if(e.isNative())return e;var t=e.getFileName()||e.getScriptNameOrSourceURL();if(t){var n=e.getLineNumber(),r=e.getColumnNumber()-1;1!==n||isInBrowser()||e.isEval()||(r-=62);var a=mapSourcePosition({source:t,line:n,column:r});return e=cloneCallSite(e),e.getFileName=function(){return a.source},e.getLineNumber=function(){return a.line},e.getColumnNumber=function(){return a.column+1},e.getScriptNameOrSourceURL=function(){return a.source},e}var i=e.isEval()&&e.getEvalOrigin();return i?(i=mapEvalOrigin(i),e=cloneCallSite(e),e.getEvalOrigin=function(){return i},e):e}function prepareStackTrace(e,t){return emptyCacheBetweenOperations&&(fileContentsCache={},sourceMapCache={}),e+t.map(function(e){return"\n at "+wrapCallSite(e)}).join("")}function getErrorSource(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var n=t[1],r=+t[2],a=+t[3],i=fileContentsCache[n];if(!i&&fs$1&&fs$1.existsSync(n)&&(i=fs$1.readFileSync(n,"utf8")),i){var o=i.split(/(?:\r\n|\r|\n)/)[r-1];if(o)return n+":"+r+"\n"+o+"\n"+new Array(a).join(" ")+"^"}}return null}function printErrorAndExit(e){var t=getErrorSource(e);t&&(console.error(),console.error(t)),console.error(e.stack),process.exit(1);}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(t){if("uncaughtException"===t){var n=arguments[1]&&arguments[1].stack,r=this.listeners(t).length>0;if(n&&!r)return printErrorAndExit(arguments[1])}return e.apply(this,arguments)};}function basePropertyOf(e){return function(t){return null==e?void 0:e[t]}}function baseToString(e){if("string"==typeof e)return e;if(isSymbol(e))return symbolToString?symbolToString.call(e):"";var t=e+"";return"0"==t&&1/e==-INFINITY?"-0":t}function isObjectLike(e){return!!e&&"object"==typeof e}function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&objectToString.call(e)==symbolTag}function toString(e){return null==e?"":baseToString(e)}function unescape$1(e){return e=toString(e),e&&reHasEscapedHtml.test(e)?e.replace(reEscapedHtml,unescapeHtmlChar):e}function findFirstMatchingChild(e,t,n){const r=e.getChildren(t);for(let e=0;e-1}function isLogicalOperator(e){return LOGICAL_OPERATORS.indexOf(e.kind)>-1}function getTextForTokenKind(e){return TOKEN_TO_TEXT[e]}function isESTreeClassMember(e){return e.kind!==SyntaxKind$1.SemicolonClassElement}function hasModifier(e,t){return!!t.modifiers&&!!t.modifiers.length&&t.modifiers.some(t=>t.kind===e)}function isComma(e){return e.kind===SyntaxKind$1.CommaToken}function getBinaryExpressionType(e){return isAssignmentOperator(e)?"AssignmentExpression":isLogicalOperator(e)?"LogicalExpression":"BinaryExpression"}function getLocFor(e,t,n){const r=n.getLineAndCharacterOfPosition(e),a=n.getLineAndCharacterOfPosition(t);return{start:{line:r.line+1,column:r.character},end:{line:a.line+1,column:a.character}}}function getLoc(e,t){return getLocFor(e.getStart(),e.end,t)}function isToken(e){return e.kind>=SyntaxKind$1.FirstToken&&e.kind<=SyntaxKind$1.LastToken}function isJSXToken(e){return e.kind>=SyntaxKind$1.JsxElement&&e.kind<=SyntaxKind$1.JsxAttribute}function getDeclarationKind(e){let t;switch(e.kind){case SyntaxKind$1.TypeAliasDeclaration:t="type";break;case SyntaxKind$1.VariableDeclarationList:t=isLet(e)?"let":isConst(e)?"const":"var";break;default:throw"Unable to determine declaration kind."}return t}function getTSNodeAccessibility(e){const t=e.modifiers;if(!t)return null;for(let e=0;ee.kind===t)}function findAncestorOfKind(e,t){return findFirstMatchingAncestor(e,e=>e.kind===t)}function hasJSXAncestor(e){return!!findFirstMatchingAncestor(e,isJSXToken)}function unescapeIdentifier(e){return ts$1.unescapeIdentifier(e)}function unescapeStringLiteralText(e){return unescape(e)}function isComputedProperty(e){return e.kind===SyntaxKind$1.ComputedPropertyName}function isOptional(e){return!!e.questionToken&&e.questionToken.kind===SyntaxKind$1.QuestionToken}function fixExports(e,t,n){if(e.modifiers&&e.modifiers[0].kind===SyntaxKind$1.ExportKeyword){const r=e.modifiers[0],a=e.modifiers[1],i=e.modifiers[e.modifiers.length-1],o=a&&a.kind===SyntaxKind$1.DefaultKeyword,s=findNextToken(i,n);t.range[0]=s.getStart(),t.loc=getLocFor(t.range[0],t.range[1],n);let c=o?"ExportDefaultDeclaration":"ExportNamedDeclaration";e.parent&&e.parent.kind===SyntaxKind$1.ModuleBlock&&(c="TSNamespaceExportDeclaration");const u={type:c,declaration:t,range:[r.getStart(),t.range[1]],loc:getLocFor(r.getStart(),t.range[1],n)};return o||(u.specifiers=[],u.source=null),u}return t}function getTokenType(e){if(e.originalKeywordKind)switch(e.originalKeywordKind){case SyntaxKind$1.NullKeyword:return"Null";case SyntaxKind$1.GetKeyword:case SyntaxKind$1.SetKeyword:case SyntaxKind$1.TypeKeyword:case SyntaxKind$1.ModuleKeyword:return"Identifier";default:return"Keyword"}if(e.kind>=SyntaxKind$1.FirstKeyword&&e.kind<=SyntaxKind$1.LastFutureReservedWord)return e.kind===SyntaxKind$1.FalseKeyword||e.kind===SyntaxKind$1.TrueKeyword?"Boolean":"Keyword";if(e.kind>=SyntaxKind$1.FirstPunctuation&&e.kind<=SyntaxKind$1.LastBinaryOperator)return"Punctuator";if(e.kind>=SyntaxKind$1.NoSubstitutionTemplateLiteral&&e.kind<=SyntaxKind$1.TemplateTail)return"Template";switch(e.kind){case SyntaxKind$1.NumericLiteral:return"Numeric";case SyntaxKind$1.JsxText:return"JSXText";case SyntaxKind$1.StringLiteral:return!e.parent||e.parent.kind!==SyntaxKind$1.JsxAttribute&&e.parent.kind!==SyntaxKind$1.JsxElement?"String":"JSXText";case SyntaxKind$1.RegularExpressionLiteral:return"RegularExpression";case SyntaxKind$1.Identifier:case SyntaxKind$1.ConstructorKeyword:case SyntaxKind$1.GetKeyword:case SyntaxKind$1.SetKeyword:}if(e.parent){if(e.kind===SyntaxKind$1.Identifier&&e.parent.kind===SyntaxKind$1.PropertyAccessExpression&&hasJSXAncestor(e))return"JSXIdentifier";if(isJSXToken(e.parent)){if(e.kind===SyntaxKind$1.PropertyAccessExpression)return"JSXMemberExpression";if(e.kind===SyntaxKind$1.Identifier)return"JSXIdentifier"}}return"Identifier"}function convertToken(e,t){const n=e.kind===SyntaxKind$1.JsxText?e.getFullStart():e.getStart(),r=e.getEnd(),a=t.text.slice(n,r),i={type:getTokenType(e),value:a,start:n,end:r,range:[n,r],loc:getLocFor(n,r,t)};return"RegularExpression"===i.type&&(i.regex={pattern:a.slice(1,a.lastIndexOf("/")),flags:a.slice(a.lastIndexOf("/")+1)}),i}function convertTokens(e){function t(r){if(isToken(r)&&r.kind!==SyntaxKind$1.EndOfFileToken){const t=convertToken(r,e);t&&n.push(t);}else r.getChildren().forEach(t);}const n=[];return t(e),n}function getNodeContainer(e,t,n){function r(e){const i=e.pos,o=e.end;t>=i&&n<=o&&(isToken(e)?a=e:e.getChildren().forEach(r));}let a=null;return r(e),a}function convertTypeScriptCommentToEsprimaComment(e,t,n,r,a,i){const o={type:e?"Block":"Line",value:t};return"number"==typeof n&&(o.range=[n,r]),"object"==typeof a&&(o.loc={start:a,end:i}),o}function getCommentFromTriviaScanner(e,t,n){const r=e.getToken()===ts$2.SyntaxKind.MultiLineCommentTrivia,a={pos:e.getTokenPos(),end:e.getTextPos(),kind:e.getToken()},i=n.substring(a.pos,a.end),o=r?i.replace(/^\/\*/,"").replace(/\*\/$/,""):i.replace(/^\/\//,""),s=nodeUtils$4.getLocFor(a.pos,a.end,t);return convertTypeScriptCommentToEsprimaComment(r,o,a.pos,a.end,s.start,s.end)}function convertComments$1(e,t){const n=[],r=ts$2.createScanner(e.languageVersion,!1,0,t);let a=r.scan();for(;a!==ts$2.SyntaxKind.EndOfFileToken;){const i=r.getTokenPos(),o=r.getTextPos();let s=null;switch(a){case ts$2.SyntaxKind.SingleLineCommentTrivia:case ts$2.SyntaxKind.MultiLineCommentTrivia:{const a=getCommentFromTriviaScanner(r,e,t);n.push(a);break}case ts$2.SyntaxKind.CloseBraceToken:if((s=nodeUtils$4.getNodeContainer(e,i,o)).kind===ts$2.SyntaxKind.TemplateMiddle||s.kind===ts$2.SyntaxKind.TemplateTail){a=r.reScanTemplateToken();continue}break;case ts$2.SyntaxKind.SlashToken:case ts$2.SyntaxKind.SlashEqualsToken:if((s=nodeUtils$4.getNodeContainer(e,i,o)).kind===ts$2.SyntaxKind.RegularExpressionLiteral){a=r.reScanSlashToken();continue}}a=r.scan();}return n}function convertError(e){const t=e.file.getLineAndCharacterOfPosition(e.start);return{index:e.start,lineNumber:t.line+1,column:t.character,message:e.message||e.messageText}}function resetExtra(){extra={tokens:null,range:!1,loc:!1,comment:!1,comments:[],tolerant:!1,errors:[],strict:!1,ecmaFeatures:{},useJSXTextNode:!1};}function parse$1(e,t){const n=String;"string"==typeof e||e instanceof String||(e=n(e)),resetExtra(),void 0!==t&&(extra.range="boolean"==typeof t.range&&t.range,extra.loc="boolean"==typeof t.loc&&t.loc,extra.loc&&null!==t.source&&void 0!==t.source&&(extra.source=n(t.source)),"boolean"==typeof t.tokens&&t.tokens&&(extra.tokens=[]),"boolean"==typeof t.comment&&t.comment&&(extra.comment=!0,extra.comments=[]),"boolean"==typeof t.tolerant&&t.tolerant&&(extra.errors=[]),t.ecmaFeatures&&"object"==typeof t.ecmaFeatures&&(extra.ecmaFeatures.jsx=t.ecmaFeatures.jsx),t.errorOnUnknownASTType&&(extra.errorOnUnknownASTType=!0),"boolean"==typeof t.useJSXTextNode&&t.useJSXTextNode&&(extra.useJSXTextNode=!0));const r=extra.ecmaFeatures.jsx?"eslint.tsx":"eslint.ts",a={fileExists(){return!0},getCanonicalFileName(){return r},getCurrentDirectory(){return""},getDefaultLibFileName(){return"lib.d.ts"},getNewLine(){return"\n"},getSourceFile(t){return ts.createSourceFile(t,e,ts.ScriptTarget.Latest,!0)},readFile(){return null},useCaseSensitiveFileNames(){return!0},writeFile(){return null}},i=ts.createProgram([r],{noResolve:!0,target:ts.ScriptTarget.Latest,jsx:extra.ecmaFeatures.jsx?"preserve":void 0},a).getSourceFile(r);return extra.code=e,convert(i,extra)}function parse(e){const t=isProbablyJsx(e);let n;try{try{n=tryParseTypeScript(e,t);}catch(r){n=tryParseTypeScript(e,!t);}}catch(e){throw createError(e.message,{start:{line:e.lineNumber,column:e.column+1}})}return delete n.tokens,includeShebang(e,n),n}function tryParseTypeScript(e,t){return parser.parse(e,{loc:!0,range:!0,tokens:!0,comment:!0,useJSXTextNode:!0,ecmaFeatures:{jsx:t}})}function isProbablyJsx(e){return new RegExp(["(^[^\"'`]*)"].join(""),"m").test(e)}var fs$$1=_interopDefault(fs),path$$1=_interopDefault(path),os$$1=_interopDefault(os),crypto$$1=_interopDefault(crypto),module$1$$1=_interopDefault(module$1),parserCreateError=createError$1,parserIncludeShebang=includeShebang$1,astNodeTypes$1={ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",AwaitExpression:"AwaitExpression",BinaryExpression:"BinaryExpression",BlockStatement:"BlockStatement",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ClassImplements:"ClassImplements",ClassProperty:"ClassProperty",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DeclareFunction:"DeclareFunction",Decorator:"Decorator",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExperimentalRestProperty:"ExperimentalRestProperty",ExperimentalSpreadProperty:"ExperimentalSpreadProperty",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",ForStatement:"ForStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GenericTypeAnnotation:"GenericTypeAnnotation",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText",LabeledStatement:"LabeledStatement",Literal:"Literal",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",TSAbstractClassProperty:"TSAbstractClassProperty",TSAbstractMethodDefinition:"TSAbstractMethodDefinition",TSAnyKeyword:"TSAnyKeyword",TSArrayType:"TSArrayType",TSBooleanKeyword:"TSBooleanKeyword",TSConstructorType:"TSConstructorType",TSConstructSignature:"TSConstructSignature",TSDeclareKeyword:"TSDeclareKeyword",TSEnumDeclaration:"TSEnumDeclaration",TSIndexSignature:"TSIndexSignature",TSInterfaceBody:"TSInterfaceBody",TSInterfaceDeclaration:"TSInterfaceDeclaration",TSInterfaceHeritage:"TSInterfaceHeritage",TSFunctionType:"TSFunctionType",TSMethodSignature:"TSMethodSignature",TSModuleBlock:"TSModuleBlock",TSModuleDeclaration:"TSModuleDeclaration",TSNamespaceFunctionDeclaration:"TSNamespaceFunctionDeclaration",TSNonNullExpression:"TSNonNullExpression",TSNumberKeyword:"TSNumberKeyword",TSParameterProperty:"TSParameterProperty",TSPropertySignature:"TSPropertySignature",TSQualifiedName:"TSQualifiedName",TSQuestionToken:"TSQuestionToken",TSStringKeyword:"TSStringKeyword",TSTypeLiteral:"TSTypeLiteral",TSTypePredicate:"TSTypePredicate",TSTypeReference:"TSTypeReference",TSUnionType:"TSUnionType",TSVoidKeyword:"TSVoidKeyword",TypeAnnotation:"TypeAnnotation",TypeParameter:"TypeParameter",TypeParameterDeclaration:"TypeParameterDeclaration",TypeParameterInstantiation:"TypeParameterInstantiation",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},commonjsGlobal$$1="undefined"!=typeof window?window:"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{},intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),encode$1=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT)>0&&(t|=VLQ_CONTINUATION_BIT),n+=base64.encode(t);}while(r>0);return n},decode=function(e,t,n){var r,a,i=e.length,o=0,s=0;do{if(t>=i)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(a=base64.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));r=!!(a&VLQ_CONTINUATION_BIT),o+=(a&=VLQ_BASE_MASK)<=0;l--)"."===(o=c[l])?c.splice(l,1):".."===o?u++:u>0&&(""===o?(c.splice(l+1,u),u=0):(c.splice(l,2),u--));return""===(n=c.join("/"))&&(n=s?"/":"."),i?(i.path=n,a(i)):n}function o(e,t){""===e&&(e="."),""===t&&(t=".");var n=r(t),o=r(e);if(o&&(e=o.path||"/"),n&&!n.scheme)return o&&(n.scheme=o.scheme),a(n);if(n||t.match(y))return t;if(o&&!o.host&&!o.path)return o.host=t,a(o);var s="/"===t.charAt(0)?t:i(e.replace(/\/+$/,"")+"/"+t);return o?(o.path=s,a(o)):s}function s(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n;}return Array(n+1).join("../")+t.substr(e.length+1)}function c(e){return e}function u(e){return _(e)?"$"+e:e}function l(e){return _(e)?e.slice(1):e}function _(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function d(e,t,n){var r=e.source-t.source;return 0!==r?r:0!==(r=e.originalLine-t.originalLine)?r:0!==(r=e.originalColumn-t.originalColumn)||n?r:0!==(r=e.generatedColumn-t.generatedColumn)?r:(r=e.generatedLine-t.generatedLine,0!==r?r:e.name-t.name)}function p(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!==(r=e.generatedColumn-t.generatedColumn)||n?r:0!==(r=e.source-t.source)?r:0!==(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,0!==r?r:e.name-t.name)}function f(e,t){return e===t?0:e>t?1:-1}function m(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!==(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=f(e.source,t.source))?n:0!==(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,0!==n?n:f(e.name,t.name))}t.getArg=n;var g=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,y=/^data:.+\,.+$/;t.urlParse=r,t.urlGenerate=a,t.normalize=i,t.join=o,t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(g)},t.relative=s;var h=function(){return!("__proto__"in Object.create(null))}();t.toSetString=h?c:u,t.fromSetString=h?c:l,t.compareByOriginalPositions=d,t.compareByGeneratedPositionsDeflated=p,t.compareByGeneratedPositionsInflated=m;}),util$3=util$1,has=Object.prototype.hasOwnProperty;ArraySet$1.fromArray=function(e,t){for(var n=new ArraySet$1,r=0,a=e.length;r=0&&e0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},SourceMapGenerator$1.prototype._serializeMappings=function(){for(var e,t,n,r,a=0,i=1,o=0,s=0,c=0,u=0,l="",_=this._mappings.toArray(),d=0,p=_.length;d0){if(!util.compareByGeneratedPositionsInflated(t,_[d-1]))continue;e+=",";}e+=base64VLQ.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=base64VLQ.encode(r-u),u=r,e+=base64VLQ.encode(t.originalLine-1-s),s=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=base64VLQ.encode(n-c),c=n)),l+=e;}return l},SourceMapGenerator$1.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=util.relative(t,e));var n=util.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},SourceMapGenerator$1.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},SourceMapGenerator$1.prototype.toString=function(){return JSON.stringify(this.toJSON())};var SourceMapGenerator_1=SourceMapGenerator$1,sourceMapGenerator={SourceMapGenerator:SourceMapGenerator_1},binarySearch$1=createCommonjsModule$$1(function(e,t){function n(e,r,a,i,o,s){var c=Math.floor((r-e)/2)+e,u=o(a,i[c],!0);return 0===u?c:u>0?r-c>1?n(c,r,a,i,o,s):s==t.LEAST_UPPER_BOUND?r1?n(e,c,a,i,o,s):s==t.LEAST_UPPER_BOUND?c:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,a,i){if(0===r.length)return-1;var o=n(-1,r.length,e,r,a,i||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===a(r[o],r[o-1],!0);)--o;return o};}),quickSort_1=function(e,t){doQuickSort(e,t,0,e.length-1);},quickSort$1={quickSort:quickSort_1},util$5=util$1,binarySearch=binarySearch$1,ArraySet$2=arraySet.ArraySet,base64VLQ$1=base64Vlq,quickSort=quickSort$1.quickSort;SourceMapConsumer$2.fromSourceMap=function(e){return BasicSourceMapConsumer.fromSourceMap(e)},SourceMapConsumer$2.prototype._version=3,SourceMapConsumer$2.prototype.__generatedMappings=null,Object.defineProperty(SourceMapConsumer$2.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),SourceMapConsumer$2.prototype.__originalMappings=null,Object.defineProperty(SourceMapConsumer$2.prototype,"_originalMappings",{get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),SourceMapConsumer$2.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return";"===n||","===n},SourceMapConsumer$2.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},SourceMapConsumer$2.GENERATED_ORDER=1,SourceMapConsumer$2.ORIGINAL_ORDER=2,SourceMapConsumer$2.GREATEST_LOWER_BOUND=1,SourceMapConsumer$2.LEAST_UPPER_BOUND=2,SourceMapConsumer$2.prototype.eachMapping=function(e,t,n){var r,a=t||null;switch(n||SourceMapConsumer$2.GENERATED_ORDER){case SourceMapConsumer$2.GENERATED_ORDER:r=this._generatedMappings;break;case SourceMapConsumer$2.ORIGINAL_ORDER:r=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var i=this.sourceRoot;r.map(function(e){var t=null===e.source?null:this._sources.at(e.source);return null!=t&&null!=i&&(t=util$5.join(i,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}},this).forEach(e,a);},SourceMapConsumer$2.prototype.allGeneratedPositionsFor=function(e){var t=util$5.getArg(e,"line"),n={source:util$5.getArg(e,"source"),originalLine:t,originalColumn:util$5.getArg(e,"column",0)};if(null!=this.sourceRoot&&(n.source=util$5.relative(this.sourceRoot,n.source)),!this._sources.has(n.source))return[];n.source=this._sources.indexOf(n.source);var r=[],a=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",util$5.compareByOriginalPositions,binarySearch.LEAST_UPPER_BOUND);if(a>=0){var i=this._originalMappings[a];if(void 0===e.column)for(var o=i.originalLine;i&&i.originalLine===o;)r.push({line:util$5.getArg(i,"generatedLine",null),column:util$5.getArg(i,"generatedColumn",null),lastColumn:util$5.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++a];else for(var s=i.originalColumn;i&&i.originalLine===t&&i.originalColumn==s;)r.push({line:util$5.getArg(i,"generatedLine",null),column:util$5.getArg(i,"generatedColumn",null),lastColumn:util$5.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++a];}return r};var SourceMapConsumer_1=SourceMapConsumer$2;BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer$2.prototype),BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$2,BasicSourceMapConsumer.fromSourceMap=function(e){var t=Object.create(BasicSourceMapConsumer.prototype),n=t._names=ArraySet$2.fromArray(e._names.toArray(),!0),r=t._sources=ArraySet$2.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),i=t.__generatedMappings=[],o=t.__originalMappings=[],s=0,c=a.length;s1&&(n.source=_+a[1],_+=a[1],n.originalLine=u+a[2],u=n.originalLine,n.originalLine+=1,n.originalColumn=l+a[3],l=n.originalColumn,a.length>4&&(n.name=d+a[4],d+=a[4])),h.push(n),"number"==typeof n.originalLine&&y.push(n);}quickSort(h,util$5.compareByGeneratedPositionsDeflated),this.__generatedMappings=h,quickSort(y,util$5.compareByOriginalPositions),this.__originalMappings=y;},BasicSourceMapConsumer.prototype._findMapping=function(e,t,n,r,a,i){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return binarySearch.search(e,t,a,i)},BasicSourceMapConsumer.prototype.computeColumnSpans=function(){for(var e=0;e=0){var r=this._generatedMappings[n];if(r.generatedLine===t.generatedLine){var a=util$5.getArg(r,"source",null);null!==a&&(a=this._sources.at(a),null!=this.sourceRoot&&(a=util$5.join(this.sourceRoot,a)));var i=util$5.getArg(r,"name",null);return null!==i&&(i=this._names.at(i)),{source:a,line:util$5.getArg(r,"originalLine",null),column:util$5.getArg(r,"originalColumn",null),name:i}}}return{source:null,line:null,column:null,name:null}},BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},BasicSourceMapConsumer.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=util$5.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var n;if(null!=this.sourceRoot&&(n=util$5.urlParse(this.sourceRoot))){var r=e.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(r))return this.sourcesContent[this._sources.indexOf(r)];if((!n.path||"/"==n.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},BasicSourceMapConsumer.prototype.generatedPositionFor=function(e){var t=util$5.getArg(e,"source");if(null!=this.sourceRoot&&(t=util$5.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var n={source:t=this._sources.indexOf(t),originalLine:util$5.getArg(e,"line"),originalColumn:util$5.getArg(e,"column")},r=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",util$5.compareByOriginalPositions,util$5.getArg(e,"bias",SourceMapConsumer$2.GREATEST_LOWER_BOUND));if(r>=0){var a=this._originalMappings[r];if(a.source===n.source)return{line:util$5.getArg(a,"generatedLine",null),column:util$5.getArg(a,"generatedColumn",null),lastColumn:util$5.getArg(a,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};var BasicSourceMapConsumer_1=BasicSourceMapConsumer;IndexedSourceMapConsumer.prototype=Object.create(SourceMapConsumer$2.prototype),IndexedSourceMapConsumer.prototype.constructor=SourceMapConsumer$2,IndexedSourceMapConsumer.prototype._version=3,Object.defineProperty(IndexedSourceMapConsumer.prototype,"sources",{get:function(){for(var e=[],t=0;t0&&(u&&r(u,o()),a.add(i.join(""))),t.sources.forEach(function(e){var r=t.sourceContentFor(e);null!=r&&(null!=n&&(e=util$6.join(n,e)),a.setSourceContent(e,r));}),a},SourceNode$1.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e);},this);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e);}return this},SourceNode$1.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e);}return this},SourceNode$1.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n0){for(t=[],n=0;n0;for(var n=0,r=e;n0?e[0]:void 0}function J(e){return e&&e.length>0?e[e.length-1]:void 0}function z(e){return e&&1===e.length?e[0]:void 0}function U(e){return e&&1===e.length?e[0]:e}function V(e,t,n){var r=e.slice(0);return r[t]=n,r}function q(e,t,n,r){if(!e||0===e.length)return-1;var a=r||0,i=e.length-1;for(n=void 0!==n?n:function(e,t){return et?1:0};a<=i;){var o=a+(i-a>>1),s=e[o];if(0===n(s,t))return o;n(s,t)>0?i=o-1:a=o+1;}return~a}function $(e,t,n,r,a){if(e&&e.length>0){var i=e.length;if(i>0){var o=void 0===r||r<0?0:r,s=void 0===a||o+a>i-1?i-1:o+a,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=n;o<=s;)c=t(c,e[o],o),o++;return c}}return n}function G(e,t,n,r,a){if(e){var i=e.length;if(i>0){var o=void 0===r||r>i-1?i-1:r,s=void 0===a||o-a<0?0:o-a,c=void 0;for(arguments.length<=2?(c=e[o],o--):c=n;o>=s;)c=t(c,e[o],o),o--;return c}}return n}function W(e,t){return rn.call(e,t)}function H(e,t){return rn.call(e,t)?e[t]:void 0}function X(e){var t=[];for(var n in e)rn.call(e,n)&&t.push(n);return t}function Y(e,t){for(var n=[],r=e.next(),a=r.value,i=r.done;!i;o=e.next(),a=o.value,i=o.done,o)n.push(t?t(a):a);return n;var o;}function Q(e,t){for(var n=[],r=e.next(),a=r.value,i=r.done;!i;o=e.next(),a=o.value,i=o.done,o)n.push(t(a));return n;var o;}function Z(e,t){for(var n=e.entries(),r=n.next(),a=r.value,i=r.done;!i;c=n.next(),a=c.value,i=c.done,c){var o=a[0],s=t(a[1],o);if(s)return s}return;var c;}function ee(e,t){for(var n=e.keys(),r=n.next(),a=r.value,i=r.done;!i;s=n.next(),a=s.value,i=s.done,s){var o=t(a);if(o)return o}return;var s;}function te(e,t){e.forEach(function(e,n){t.set(n,e);});}function ne(e){for(var t=[],n=1;n=0,"start must be non-negative, is "+t),dn.assert(n>=0,"length must be non-negative, is "+n),e&&(dn.assert(t<=e.text.length,"start must be within the bounds of the file. "+t+" > "+e.text.length),dn.assert(a<=e.text.length,"end must be the bounds of the file. "+a+" > "+e.text.length));var i=he(r);return arguments.length>4&&(i=ye(i,arguments,4)),{file:e,start:t,length:n,messageText:i,category:r.category,code:r.code}}function be(e,t){var n=he(t);return arguments.length>2&&(n=ye(n,arguments,2)),n}function xe(e){var t=he(e);return arguments.length>1&&(t=ye(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code}}function ke(e){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText}}function Se(e,t){var n=he(t);return arguments.length>2&&(n=ye(n,arguments,2)),{messageText:n,category:t.category,code:t.code,next:e}}function Te(e,t){for(var n=e;n.next;)n=n.next;return n.next=t,e}function Ce(e,t){return e===t?0:void 0===e?-1:void 0===t?1:e0?1:0}if(t=t.toUpperCase(),n=n.toUpperCase(),t===n)return 0}return t0&&".."!==J(r)?r.pop():o&&r.push(o));}return r}function Me(t){var n=Ie(t=Fe(t)),r=t.substr(0,n),a=Re(t,n);if(a.length){var i=r+a.join(e.directorySeparator);return Le(t)?i+e.directorySeparator:i}return r}function Le(e){return e.charCodeAt(e.length-1)===an}function Be(t){return t.substr(0,Math.max(Ie(t),t.lastIndexOf(e.directorySeparator)))}function Ke(e){return e&&!qe(e)&&-1!==e.indexOf("://")}function je(e){return/^\.\.?($|[\\/])/.test(e)}function Je(e){return e.target||0}function ze(t){return"number"==typeof t.module?t.module:Je(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function Ue(t){var n=t.moduleResolution;return void 0===n&&(n=ze(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),n}function Ve(e){for(var t=!1,n=0;n1&&""===J(s)&&s.length--;var c;for(c=0;c=0&&e.indexOf(t,n)===n}function ct(e){return et(e).indexOf(".")>=0}function ut(e,t){return e.length>t.length&&st(e,t)}function lt(e,t){for(var n=0,r=t;n0;)s+=")?",d--;return s}}function mt(e){return yt(e,cn)}function gt(e){return yt(e,un)}function yt(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function ht(e,t,n,r,a){e=Me(e);var i=tt(a=Me(a),e);return{includeFilePatterns:x(dt(n,i,"files"),function(e){return"^"+e+"$"}),includeFilePattern:_t(n,i,"files"),includeDirectoryPattern:_t(n,i,"directories"),excludePattern:_t(t,i,"exclude"),basePaths:bt(e,n,r)}}function vt(e,t,n,r,a,i,o){function s(e,n){var r=o(e),a=r.files,i=r.directories;a=a.slice().sort(m),i=i.slice().sort(m);for(var c=0,u=a;c=0;n--)if(ut(e,t[n]))return At(n,t);return 0}function At(e,t){return e<2?0:ea&&(a=c.prefix.length,r=s);}return r}function Ht(e,t){var n=e.prefix,r=e.suffix;return t.length>=n.length+r.length&&ot(t,n)&&st(t,r)}function Xt(e){dn.assert(Ve(e));var t=e.indexOf("*");return-1===t?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function Yt(e){return!(e>=0)}function Qt(t){return t<=e.Extension.LastTypeScriptExtension}function Zt(e){var t=en(e);if(void 0!==t)return t;dn.fail("File "+e+" has unknown extension.");}function en(t){return ut(t,".d.ts")?e.Extension.Dts:ut(t,".ts")?e.Extension.Ts:ut(t,".tsx")?e.Extension.Tsx:ut(t,".js")?e.Extension.Js:ut(t,".jsx")?e.Extension.Jsx:void 0}function tn(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}!function(e){e[e.False=0]="False",e[e.Maybe=1]="Maybe",e[e.True=-1]="True";}(e.Ternary||(e.Ternary={})),e.collator="object"==typeof Intl&&"function"==typeof Intl.Collator?new Intl.Collator(void 0,{usage:"sort",sensitivity:"accent"}):void 0,e.localeCompareIsCorrect=e.collator&&e.collator.compare("a","B")<0,e.createMap=n,e.createMapFromTemplate=r;var nn="undefined"!=typeof Map&&"entries"in Map.prototype?Map:function(){var e=function(){function e(e,t){this.index=0,this.data=e,this.selector=t,this.keys=Object.keys(e);}return e.prototype.next=function(){var e=this.index;return e=t}function n(e,t,n){if(!e){var r="";throw n&&(r="\r\nVerbose Debug Information: "+n()),new Error("Debug Failure. False expression: "+(t||"")+r)}}function r(t){e.assert(!1,t);}e.currentAssertionLevel=0,e.shouldAssert=t,e.assert=n,e.fail=r;}(dn=e.Debug||(e.Debug={})),e.orderedRemoveItem=Kt,e.orderedRemoveItemAt=jt,e.unorderedRemoveItemAt=Jt,e.unorderedRemoveItem=zt,e.createGetCanonicalFileName=Vt,e.matchPatternOrExact=qt,e.patternText=$t,e.matchedText=Gt,e.findBestPatternMatch=Wt,e.tryParsePattern=Xt,e.positionIsSynthesized=Yt,e.extensionIsTypeScript=Qt,e.extensionFromPath=Zt,e.tryGetExtensionFromPath=en,e.isCheckJsEnabledForFile=tn;}(r||(r={}));!function(e){function t(){if("undefined"!=typeof process){var e=process.version;if(e){var t=e.indexOf(".");if(-1!==t)return parseInt(e.substring(1,t))}}}e.getNodeMajorVersion=t,e.sys=function(){function n(t,r){var a=e.getDirectoryPath(t),i=t!==a&&!r.directoryExists(a);i&&n(a,r),!i&&r.directoryExists(t)||r.createDirectory(t);}var r;if("undefined"!=typeof ChakraHost?r=function(){var t=ChakraHost.realpath&&function(e){return ChakraHost.realpath(e)};return{newLine:ChakraHost.newLine||"\r\n",args:ChakraHost.args,useCaseSensitiveFileNames:!!ChakraHost.useCaseSensitiveFileNames,write:ChakraHost.echo,readFile:function(e,t){return ChakraHost.readFile(e)},writeFile:function(e,t,n){n&&(t="\ufeff"+t),ChakraHost.writeFile(e,t);},resolvePath:ChakraHost.resolvePath,fileExists:ChakraHost.fileExists,directoryExists:ChakraHost.directoryExists,createDirectory:ChakraHost.createDirectory,getExecutingFilePath:function(){return ChakraHost.executingFile},getCurrentDirectory:function(){return ChakraHost.currentDirectory},getDirectories:ChakraHost.getDirectories,getEnvironmentVariable:ChakraHost.getEnvironmentVariable||function(){return""},readDirectory:function(t,n,r,a){var i=e.getFileMatcherPatterns(t,r,a,!!ChakraHost.useCaseSensitiveFileNames,ChakraHost.currentDirectory);return ChakraHost.readDirectory(t,n,i.basePaths,i.excludePattern,i.includeFilePattern,i.includeDirectoryPattern)},exit:ChakraHost.quit,realpath:t}}():"undefined"!=typeof process&&nextTick&&!browser$1&&void 0!==commonjsRequire$$1&&(r=function(){function n(e,t){if(s(e)){var n=_.readFileSync(e),r=n.length;if(r>=2&&254===n[0]&&255===n[1]){r&=-2;for(var a=0;a=2&&255===n[0]&&254===n[1]?n.toString("utf16le",2):r>=3&&239===n[0]&&187===n[1]&&191===n[2]?n.toString("utf8",3):n.toString("utf8")}}function r(e,t,n){n&&(t="\ufeff"+t);var r;try{r=_.openSync(e,"w"),_.writeSync(r,t,void 0,"utf8");}finally{void 0!==r&&_.closeSync(r);}}function a(t){try{for(var n=[],r=[],a=0,i=_.readdirSync(t||".").sort();a=4,h=p.platform(),v=function(){return"win32"!==h&&"win64"!==h&&(!s(__filename.toUpperCase())||!s(__filename.toLowerCase()))}();!function(e){e[e.File=0]="File",e[e.Directory=1]="Directory";}(l||(l={}));var b={close:e.noop},x={args:process.argv.slice(2),newLine:p.EOL,useCaseSensitiveFileNames:v,write:function(e){process.stdout.write(e);},readFile:n,writeFile:r,watchFile:function(e,t,n){function r(n,r){+n.mtime<=+r.mtime||t(e);}if(m){var a=g.addFile(e,t);return{close:function(){return g.removeFile(a)}}}return _.watchFile(e,{persistent:!0,interval:n||250},r),{close:function(){return _.unwatchFile(e,r)}}},watchDirectory:function(t,n,r){var a;return c(t)?(a=!y||"win32"!==process.platform&&"darwin"!==process.platform?{persistent:!0}:{persistent:!0,recursive:!!r},_.watch(t,a,function(r,a){"rename"===r&&n(a?e.normalizePath(e.combinePaths(t,a)):a);})):b},resolvePath:function(e){return d.resolve(e)},fileExists:s,directoryExists:c,createDirectory:function(e){x.directoryExists(e)||_.mkdirSync(e);},getExecutingFilePath:function(){return __filename},getCurrentDirectory:function(){return process.cwd()},getDirectories:u,getEnvironmentVariable:function(e){return process.env[e]||""},readDirectory:i,getModifiedTime:function(e){try{return _.statSync(e).mtime}catch(e){return}},createHash:function(e){var t=f.createHash("md5");return t.update(e),t.digest("hex")},getMemoryUsage:function(){return commonjsGlobal$$1.gc&&commonjsGlobal$$1.gc(),process.memoryUsage().heapUsed},getFileSize:function(e){try{var t=_.statSync(e);if(t.isFile())return t.size}catch(e){}return 0},exit:function(e){process.exit(e);},realpath:function(e){return _.realpathSync(e)},tryEnableSourceMapsForHost:function(){try{sourceMapSupport.install();}catch(e){}},setTimeout:setTimeout,clearTimeout:clearTimeout};return x}()),r){var a=r.writeFile;r.writeFile=function(t,i,o){var s=e.getDirectoryPath(e.normalizeSlashes(t));s&&!r.directoryExists(s)&&n(s,r),a.call(r,t,i,o);};}return r}(),e.sys&&e.sys.getEnvironmentVariable&&(e.Debug.currentAssertionLevel=/^development$/i.test(e.sys.getEnvironmentVariable("NODE_ENV"))?1:0);}(r||(r={}));!function(e){e.Diagnostics={Unterminated_string_literal:{code:1002,category:e.DiagnosticCategory.Error,key:"Unterminated_string_literal_1002",message:"Unterminated string literal."},Identifier_expected:{code:1003,category:e.DiagnosticCategory.Error,key:"Identifier_expected_1003",message:"Identifier expected."},_0_expected:{code:1005,category:e.DiagnosticCategory.Error,key:"_0_expected_1005",message:"'{0}' expected."},A_file_cannot_have_a_reference_to_itself:{code:1006,category:e.DiagnosticCategory.Error,key:"A_file_cannot_have_a_reference_to_itself_1006",message:"A file cannot have a reference to itself."},Trailing_comma_not_allowed:{code:1009,category:e.DiagnosticCategory.Error,key:"Trailing_comma_not_allowed_1009",message:"Trailing comma not allowed."},Asterisk_Slash_expected:{code:1010,category:e.DiagnosticCategory.Error,key:"Asterisk_Slash_expected_1010",message:"'*/' expected."},Unexpected_token:{code:1012,category:e.DiagnosticCategory.Error,key:"Unexpected_token_1012",message:"Unexpected token."},A_rest_parameter_must_be_last_in_a_parameter_list:{code:1014,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_must_be_last_in_a_parameter_list_1014",message:"A rest parameter must be last in a parameter list."},Parameter_cannot_have_question_mark_and_initializer:{code:1015,category:e.DiagnosticCategory.Error,key:"Parameter_cannot_have_question_mark_and_initializer_1015",message:"Parameter cannot have question mark and initializer."},A_required_parameter_cannot_follow_an_optional_parameter:{code:1016,category:e.DiagnosticCategory.Error,key:"A_required_parameter_cannot_follow_an_optional_parameter_1016",message:"A required parameter cannot follow an optional parameter."},An_index_signature_cannot_have_a_rest_parameter:{code:1017,category:e.DiagnosticCategory.Error,key:"An_index_signature_cannot_have_a_rest_parameter_1017",message:"An index signature cannot have a rest parameter."},An_index_signature_parameter_cannot_have_an_accessibility_modifier:{code:1018,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018",message:"An index signature parameter cannot have an accessibility modifier."},An_index_signature_parameter_cannot_have_a_question_mark:{code:1019,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_cannot_have_a_question_mark_1019",message:"An index signature parameter cannot have a question mark."},An_index_signature_parameter_cannot_have_an_initializer:{code:1020,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_cannot_have_an_initializer_1020",message:"An index signature parameter cannot have an initializer."},An_index_signature_must_have_a_type_annotation:{code:1021,category:e.DiagnosticCategory.Error,key:"An_index_signature_must_have_a_type_annotation_1021",message:"An index signature must have a type annotation."},An_index_signature_parameter_must_have_a_type_annotation:{code:1022,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_must_have_a_type_annotation_1022",message:"An index signature parameter must have a type annotation."},An_index_signature_parameter_type_must_be_string_or_number:{code:1023,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_type_must_be_string_or_number_1023",message:"An index signature parameter type must be 'string' or 'number'."},readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:{code:1024,category:e.DiagnosticCategory.Error,key:"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024",message:"'readonly' modifier can only appear on a property declaration or index signature."},Accessibility_modifier_already_seen:{code:1028,category:e.DiagnosticCategory.Error,key:"Accessibility_modifier_already_seen_1028",message:"Accessibility modifier already seen."},_0_modifier_must_precede_1_modifier:{code:1029,category:e.DiagnosticCategory.Error,key:"_0_modifier_must_precede_1_modifier_1029",message:"'{0}' modifier must precede '{1}' modifier."},_0_modifier_already_seen:{code:1030,category:e.DiagnosticCategory.Error,key:"_0_modifier_already_seen_1030",message:"'{0}' modifier already seen."},_0_modifier_cannot_appear_on_a_class_element:{code:1031,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_class_element_1031",message:"'{0}' modifier cannot appear on a class element."},super_must_be_followed_by_an_argument_list_or_member_access:{code:1034,category:e.DiagnosticCategory.Error,key:"super_must_be_followed_by_an_argument_list_or_member_access_1034",message:"'super' must be followed by an argument list or member access."},Only_ambient_modules_can_use_quoted_names:{code:1035,category:e.DiagnosticCategory.Error,key:"Only_ambient_modules_can_use_quoted_names_1035",message:"Only ambient modules can use quoted names."},Statements_are_not_allowed_in_ambient_contexts:{code:1036,category:e.DiagnosticCategory.Error,key:"Statements_are_not_allowed_in_ambient_contexts_1036",message:"Statements are not allowed in ambient contexts."},A_declare_modifier_cannot_be_used_in_an_already_ambient_context:{code:1038,category:e.DiagnosticCategory.Error,key:"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038",message:"A 'declare' modifier cannot be used in an already ambient context."},Initializers_are_not_allowed_in_ambient_contexts:{code:1039,category:e.DiagnosticCategory.Error,key:"Initializers_are_not_allowed_in_ambient_contexts_1039",message:"Initializers are not allowed in ambient contexts."},_0_modifier_cannot_be_used_in_an_ambient_context:{code:1040,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_in_an_ambient_context_1040",message:"'{0}' modifier cannot be used in an ambient context."},_0_modifier_cannot_be_used_with_a_class_declaration:{code:1041,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_with_a_class_declaration_1041",message:"'{0}' modifier cannot be used with a class declaration."},_0_modifier_cannot_be_used_here:{code:1042,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_here_1042",message:"'{0}' modifier cannot be used here."},_0_modifier_cannot_appear_on_a_data_property:{code:1043,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_data_property_1043",message:"'{0}' modifier cannot appear on a data property."},_0_modifier_cannot_appear_on_a_module_or_namespace_element:{code:1044,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044",message:"'{0}' modifier cannot appear on a module or namespace element."},A_0_modifier_cannot_be_used_with_an_interface_declaration:{code:1045,category:e.DiagnosticCategory.Error,key:"A_0_modifier_cannot_be_used_with_an_interface_declaration_1045",message:"A '{0}' modifier cannot be used with an interface declaration."},A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file:{code:1046,category:e.DiagnosticCategory.Error,key:"A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file_1046",message:"A 'declare' modifier is required for a top level declaration in a .d.ts file."},A_rest_parameter_cannot_be_optional:{code:1047,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_cannot_be_optional_1047",message:"A rest parameter cannot be optional."},A_rest_parameter_cannot_have_an_initializer:{code:1048,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_cannot_have_an_initializer_1048",message:"A rest parameter cannot have an initializer."},A_set_accessor_must_have_exactly_one_parameter:{code:1049,category:e.DiagnosticCategory.Error,key:"A_set_accessor_must_have_exactly_one_parameter_1049",message:"A 'set' accessor must have exactly one parameter."},A_set_accessor_cannot_have_an_optional_parameter:{code:1051,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_an_optional_parameter_1051",message:"A 'set' accessor cannot have an optional parameter."},A_set_accessor_parameter_cannot_have_an_initializer:{code:1052,category:e.DiagnosticCategory.Error,key:"A_set_accessor_parameter_cannot_have_an_initializer_1052",message:"A 'set' accessor parameter cannot have an initializer."},A_set_accessor_cannot_have_rest_parameter:{code:1053,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_rest_parameter_1053",message:"A 'set' accessor cannot have rest parameter."},A_get_accessor_cannot_have_parameters:{code:1054,category:e.DiagnosticCategory.Error,key:"A_get_accessor_cannot_have_parameters_1054",message:"A 'get' accessor cannot have parameters."},Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:{code:1055,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055",message:"Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."},Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:{code:1056,category:e.DiagnosticCategory.Error,key:"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056",message:"Accessors are only available when targeting ECMAScript 5 and higher."},An_async_function_or_method_must_have_a_valid_awaitable_return_type:{code:1057,category:e.DiagnosticCategory.Error,key:"An_async_function_or_method_must_have_a_valid_awaitable_return_type_1057",message:"An async function or method must have a valid awaitable return type."},The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1058,category:e.DiagnosticCategory.Error,key:"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058",message:"The return type of an async function must either be a valid promise or must not contain a callable 'then' member."},A_promise_must_have_a_then_method:{code:1059,category:e.DiagnosticCategory.Error,key:"A_promise_must_have_a_then_method_1059",message:"A promise must have a 'then' method."},The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:{code:1060,category:e.DiagnosticCategory.Error,key:"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060",message:"The first parameter of the 'then' method of a promise must be a callback."},Enum_member_must_have_initializer:{code:1061,category:e.DiagnosticCategory.Error,key:"Enum_member_must_have_initializer_1061",message:"Enum member must have initializer."},Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:{code:1062,category:e.DiagnosticCategory.Error,key:"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062",message:"Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."},An_export_assignment_cannot_be_used_in_a_namespace:{code:1063,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_be_used_in_a_namespace_1063",message:"An export assignment cannot be used in a namespace."},The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type:{code:1064,category:e.DiagnosticCategory.Error,key:"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064",message:"The return type of an async function or method must be the global Promise type."},In_ambient_enum_declarations_member_initializer_must_be_constant_expression:{code:1066,category:e.DiagnosticCategory.Error,key:"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066",message:"In ambient enum declarations member initializer must be constant expression."},Unexpected_token_A_constructor_method_accessor_or_property_was_expected:{code:1068,category:e.DiagnosticCategory.Error,key:"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068",message:"Unexpected token. A constructor, method, accessor, or property was expected."},_0_modifier_cannot_appear_on_a_type_member:{code:1070,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_type_member_1070",message:"'{0}' modifier cannot appear on a type member."},_0_modifier_cannot_appear_on_an_index_signature:{code:1071,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_an_index_signature_1071",message:"'{0}' modifier cannot appear on an index signature."},A_0_modifier_cannot_be_used_with_an_import_declaration:{code:1079,category:e.DiagnosticCategory.Error,key:"A_0_modifier_cannot_be_used_with_an_import_declaration_1079",message:"A '{0}' modifier cannot be used with an import declaration."},Invalid_reference_directive_syntax:{code:1084,category:e.DiagnosticCategory.Error,key:"Invalid_reference_directive_syntax_1084",message:"Invalid 'reference' directive syntax."},Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:{code:1085,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085",message:"Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."},An_accessor_cannot_be_declared_in_an_ambient_context:{code:1086,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_be_declared_in_an_ambient_context_1086",message:"An accessor cannot be declared in an ambient context."},_0_modifier_cannot_appear_on_a_constructor_declaration:{code:1089,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_constructor_declaration_1089",message:"'{0}' modifier cannot appear on a constructor declaration."},_0_modifier_cannot_appear_on_a_parameter:{code:1090,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_parameter_1090",message:"'{0}' modifier cannot appear on a parameter."},Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:{code:1091,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091",message:"Only a single variable declaration is allowed in a 'for...in' statement."},Type_parameters_cannot_appear_on_a_constructor_declaration:{code:1092,category:e.DiagnosticCategory.Error,key:"Type_parameters_cannot_appear_on_a_constructor_declaration_1092",message:"Type parameters cannot appear on a constructor declaration."},Type_annotation_cannot_appear_on_a_constructor_declaration:{code:1093,category:e.DiagnosticCategory.Error,key:"Type_annotation_cannot_appear_on_a_constructor_declaration_1093",message:"Type annotation cannot appear on a constructor declaration."},An_accessor_cannot_have_type_parameters:{code:1094,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_have_type_parameters_1094",message:"An accessor cannot have type parameters."},A_set_accessor_cannot_have_a_return_type_annotation:{code:1095,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_a_return_type_annotation_1095",message:"A 'set' accessor cannot have a return type annotation."},An_index_signature_must_have_exactly_one_parameter:{code:1096,category:e.DiagnosticCategory.Error,key:"An_index_signature_must_have_exactly_one_parameter_1096",message:"An index signature must have exactly one parameter."},_0_list_cannot_be_empty:{code:1097,category:e.DiagnosticCategory.Error,key:"_0_list_cannot_be_empty_1097",message:"'{0}' list cannot be empty."},Type_parameter_list_cannot_be_empty:{code:1098,category:e.DiagnosticCategory.Error,key:"Type_parameter_list_cannot_be_empty_1098",message:"Type parameter list cannot be empty."},Type_argument_list_cannot_be_empty:{code:1099,category:e.DiagnosticCategory.Error,key:"Type_argument_list_cannot_be_empty_1099",message:"Type argument list cannot be empty."},Invalid_use_of_0_in_strict_mode:{code:1100,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_in_strict_mode_1100",message:"Invalid use of '{0}' in strict mode."},with_statements_are_not_allowed_in_strict_mode:{code:1101,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_strict_mode_1101",message:"'with' statements are not allowed in strict mode."},delete_cannot_be_called_on_an_identifier_in_strict_mode:{code:1102,category:e.DiagnosticCategory.Error,key:"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102",message:"'delete' cannot be called on an identifier in strict mode."},A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:{code:1103,category:e.DiagnosticCategory.Error,key:"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103",message:"A 'for-await-of' statement is only allowed within an async function or async generator."},A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:{code:1104,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104",message:"A 'continue' statement can only be used within an enclosing iteration statement."},A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:{code:1105,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105",message:"A 'break' statement can only be used within an enclosing iteration or switch statement."},Jump_target_cannot_cross_function_boundary:{code:1107,category:e.DiagnosticCategory.Error,key:"Jump_target_cannot_cross_function_boundary_1107",message:"Jump target cannot cross function boundary."},A_return_statement_can_only_be_used_within_a_function_body:{code:1108,category:e.DiagnosticCategory.Error,key:"A_return_statement_can_only_be_used_within_a_function_body_1108",message:"A 'return' statement can only be used within a function body."},Expression_expected:{code:1109,category:e.DiagnosticCategory.Error,key:"Expression_expected_1109",message:"Expression expected."},Type_expected:{code:1110,category:e.DiagnosticCategory.Error,key:"Type_expected_1110",message:"Type expected."},A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:{code:1113,category:e.DiagnosticCategory.Error,key:"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113",message:"A 'default' clause cannot appear more than once in a 'switch' statement."},Duplicate_label_0:{code:1114,category:e.DiagnosticCategory.Error,key:"Duplicate_label_0_1114",message:"Duplicate label '{0}'."},A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:{code:1115,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115",message:"A 'continue' statement can only jump to a label of an enclosing iteration statement."},A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:{code:1116,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116",message:"A 'break' statement can only jump to a label of an enclosing statement."},An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:{code:1117,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117",message:"An object literal cannot have multiple properties with the same name in strict mode."},An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:{code:1118,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118",message:"An object literal cannot have multiple get/set accessors with the same name."},An_object_literal_cannot_have_property_and_accessor_with_the_same_name:{code:1119,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119",message:"An object literal cannot have property and accessor with the same name."},An_export_assignment_cannot_have_modifiers:{code:1120,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_have_modifiers_1120",message:"An export assignment cannot have modifiers."},Octal_literals_are_not_allowed_in_strict_mode:{code:1121,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_allowed_in_strict_mode_1121",message:"Octal literals are not allowed in strict mode."},A_tuple_type_element_list_cannot_be_empty:{code:1122,category:e.DiagnosticCategory.Error,key:"A_tuple_type_element_list_cannot_be_empty_1122",message:"A tuple type element list cannot be empty."},Variable_declaration_list_cannot_be_empty:{code:1123,category:e.DiagnosticCategory.Error,key:"Variable_declaration_list_cannot_be_empty_1123",message:"Variable declaration list cannot be empty."},Digit_expected:{code:1124,category:e.DiagnosticCategory.Error,key:"Digit_expected_1124",message:"Digit expected."},Hexadecimal_digit_expected:{code:1125,category:e.DiagnosticCategory.Error,key:"Hexadecimal_digit_expected_1125",message:"Hexadecimal digit expected."},Unexpected_end_of_text:{code:1126,category:e.DiagnosticCategory.Error,key:"Unexpected_end_of_text_1126",message:"Unexpected end of text."},Invalid_character:{code:1127,category:e.DiagnosticCategory.Error,key:"Invalid_character_1127",message:"Invalid character."},Declaration_or_statement_expected:{code:1128,category:e.DiagnosticCategory.Error,key:"Declaration_or_statement_expected_1128",message:"Declaration or statement expected."},Statement_expected:{code:1129,category:e.DiagnosticCategory.Error,key:"Statement_expected_1129",message:"Statement expected."},case_or_default_expected:{code:1130,category:e.DiagnosticCategory.Error,key:"case_or_default_expected_1130",message:"'case' or 'default' expected."},Property_or_signature_expected:{code:1131,category:e.DiagnosticCategory.Error,key:"Property_or_signature_expected_1131",message:"Property or signature expected."},Enum_member_expected:{code:1132,category:e.DiagnosticCategory.Error,key:"Enum_member_expected_1132",message:"Enum member expected."},Variable_declaration_expected:{code:1134,category:e.DiagnosticCategory.Error,key:"Variable_declaration_expected_1134",message:"Variable declaration expected."},Argument_expression_expected:{code:1135,category:e.DiagnosticCategory.Error,key:"Argument_expression_expected_1135",message:"Argument expression expected."},Property_assignment_expected:{code:1136,category:e.DiagnosticCategory.Error,key:"Property_assignment_expected_1136",message:"Property assignment expected."},Expression_or_comma_expected:{code:1137,category:e.DiagnosticCategory.Error,key:"Expression_or_comma_expected_1137",message:"Expression or comma expected."},Parameter_declaration_expected:{code:1138,category:e.DiagnosticCategory.Error,key:"Parameter_declaration_expected_1138",message:"Parameter declaration expected."},Type_parameter_declaration_expected:{code:1139,category:e.DiagnosticCategory.Error,key:"Type_parameter_declaration_expected_1139",message:"Type parameter declaration expected."},Type_argument_expected:{code:1140,category:e.DiagnosticCategory.Error,key:"Type_argument_expected_1140",message:"Type argument expected."},String_literal_expected:{code:1141,category:e.DiagnosticCategory.Error,key:"String_literal_expected_1141",message:"String literal expected."},Line_break_not_permitted_here:{code:1142,category:e.DiagnosticCategory.Error,key:"Line_break_not_permitted_here_1142",message:"Line break not permitted here."},or_expected:{code:1144,category:e.DiagnosticCategory.Error,key:"or_expected_1144",message:"'{' or ';' expected."},Declaration_expected:{code:1146,category:e.DiagnosticCategory.Error,key:"Declaration_expected_1146",message:"Declaration expected."},Import_declarations_in_a_namespace_cannot_reference_a_module:{code:1147,category:e.DiagnosticCategory.Error,key:"Import_declarations_in_a_namespace_cannot_reference_a_module_1147",message:"Import declarations in a namespace cannot reference a module."},Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:{code:1148,category:e.DiagnosticCategory.Error,key:"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148",message:"Cannot use imports, exports, or module augmentations when '--module' is 'none'."},File_name_0_differs_from_already_included_file_name_1_only_in_casing:{code:1149,category:e.DiagnosticCategory.Error,key:"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149",message:"File name '{0}' differs from already included file name '{1}' only in casing."},new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:{code:1150,category:e.DiagnosticCategory.Error,key:"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150",message:"'new T[]' cannot be used to create an array. Use 'new Array()' instead."},const_declarations_must_be_initialized:{code:1155,category:e.DiagnosticCategory.Error,key:"const_declarations_must_be_initialized_1155",message:"'const' declarations must be initialized."},const_declarations_can_only_be_declared_inside_a_block:{code:1156,category:e.DiagnosticCategory.Error,key:"const_declarations_can_only_be_declared_inside_a_block_1156",message:"'const' declarations can only be declared inside a block."},let_declarations_can_only_be_declared_inside_a_block:{code:1157,category:e.DiagnosticCategory.Error,key:"let_declarations_can_only_be_declared_inside_a_block_1157",message:"'let' declarations can only be declared inside a block."},Unterminated_template_literal:{code:1160,category:e.DiagnosticCategory.Error,key:"Unterminated_template_literal_1160",message:"Unterminated template literal."},Unterminated_regular_expression_literal:{code:1161,category:e.DiagnosticCategory.Error,key:"Unterminated_regular_expression_literal_1161",message:"Unterminated regular expression literal."},An_object_member_cannot_be_declared_optional:{code:1162,category:e.DiagnosticCategory.Error,key:"An_object_member_cannot_be_declared_optional_1162",message:"An object member cannot be declared optional."},A_yield_expression_is_only_allowed_in_a_generator_body:{code:1163,category:e.DiagnosticCategory.Error,key:"A_yield_expression_is_only_allowed_in_a_generator_body_1163",message:"A 'yield' expression is only allowed in a generator body."},Computed_property_names_are_not_allowed_in_enums:{code:1164,category:e.DiagnosticCategory.Error,key:"Computed_property_names_are_not_allowed_in_enums_1164",message:"Computed property names are not allowed in enums."},A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol:{code:1165,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol_1165",message:"A computed property name in an ambient context must directly refer to a built-in symbol."},A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol:{code:1166,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol_1166",message:"A computed property name in a class property declaration must directly refer to a built-in symbol."},A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol:{code:1168,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol_1168",message:"A computed property name in a method overload must directly refer to a built-in symbol."},A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol:{code:1169,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol_1169",message:"A computed property name in an interface must directly refer to a built-in symbol."},A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol:{code:1170,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol_1170",message:"A computed property name in a type literal must directly refer to a built-in symbol."},A_comma_expression_is_not_allowed_in_a_computed_property_name:{code:1171,category:e.DiagnosticCategory.Error,key:"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171",message:"A comma expression is not allowed in a computed property name."},extends_clause_already_seen:{code:1172,category:e.DiagnosticCategory.Error,key:"extends_clause_already_seen_1172",message:"'extends' clause already seen."},extends_clause_must_precede_implements_clause:{code:1173,category:e.DiagnosticCategory.Error,key:"extends_clause_must_precede_implements_clause_1173",message:"'extends' clause must precede 'implements' clause."},Classes_can_only_extend_a_single_class:{code:1174,category:e.DiagnosticCategory.Error,key:"Classes_can_only_extend_a_single_class_1174",message:"Classes can only extend a single class."},implements_clause_already_seen:{code:1175,category:e.DiagnosticCategory.Error,key:"implements_clause_already_seen_1175",message:"'implements' clause already seen."},Interface_declaration_cannot_have_implements_clause:{code:1176,category:e.DiagnosticCategory.Error,key:"Interface_declaration_cannot_have_implements_clause_1176",message:"Interface declaration cannot have 'implements' clause."},Binary_digit_expected:{code:1177,category:e.DiagnosticCategory.Error,key:"Binary_digit_expected_1177",message:"Binary digit expected."},Octal_digit_expected:{code:1178,category:e.DiagnosticCategory.Error,key:"Octal_digit_expected_1178",message:"Octal digit expected."},Unexpected_token_expected:{code:1179,category:e.DiagnosticCategory.Error,key:"Unexpected_token_expected_1179",message:"Unexpected token. '{' expected."},Property_destructuring_pattern_expected:{code:1180,category:e.DiagnosticCategory.Error,key:"Property_destructuring_pattern_expected_1180",message:"Property destructuring pattern expected."},Array_element_destructuring_pattern_expected:{code:1181,category:e.DiagnosticCategory.Error,key:"Array_element_destructuring_pattern_expected_1181",message:"Array element destructuring pattern expected."},A_destructuring_declaration_must_have_an_initializer:{code:1182,category:e.DiagnosticCategory.Error,key:"A_destructuring_declaration_must_have_an_initializer_1182",message:"A destructuring declaration must have an initializer."},An_implementation_cannot_be_declared_in_ambient_contexts:{code:1183,category:e.DiagnosticCategory.Error,key:"An_implementation_cannot_be_declared_in_ambient_contexts_1183",message:"An implementation cannot be declared in ambient contexts."},Modifiers_cannot_appear_here:{code:1184,category:e.DiagnosticCategory.Error,key:"Modifiers_cannot_appear_here_1184",message:"Modifiers cannot appear here."},Merge_conflict_marker_encountered:{code:1185,category:e.DiagnosticCategory.Error,key:"Merge_conflict_marker_encountered_1185",message:"Merge conflict marker encountered."},A_rest_element_cannot_have_an_initializer:{code:1186,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_have_an_initializer_1186",message:"A rest element cannot have an initializer."},A_parameter_property_may_not_be_declared_using_a_binding_pattern:{code:1187,category:e.DiagnosticCategory.Error,key:"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187",message:"A parameter property may not be declared using a binding pattern."},Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:{code:1188,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188",message:"Only a single variable declaration is allowed in a 'for...of' statement."},The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:{code:1189,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189",message:"The variable declaration of a 'for...in' statement cannot have an initializer."},The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:{code:1190,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190",message:"The variable declaration of a 'for...of' statement cannot have an initializer."},An_import_declaration_cannot_have_modifiers:{code:1191,category:e.DiagnosticCategory.Error,key:"An_import_declaration_cannot_have_modifiers_1191",message:"An import declaration cannot have modifiers."},Module_0_has_no_default_export:{code:1192,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_default_export_1192",message:"Module '{0}' has no default export."},An_export_declaration_cannot_have_modifiers:{code:1193,category:e.DiagnosticCategory.Error,key:"An_export_declaration_cannot_have_modifiers_1193",message:"An export declaration cannot have modifiers."},Export_declarations_are_not_permitted_in_a_namespace:{code:1194,category:e.DiagnosticCategory.Error,key:"Export_declarations_are_not_permitted_in_a_namespace_1194",message:"Export declarations are not permitted in a namespace."},Catch_clause_variable_cannot_have_a_type_annotation:{code:1196,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_a_type_annotation_1196",message:"Catch clause variable cannot have a type annotation."},Catch_clause_variable_cannot_have_an_initializer:{code:1197,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_an_initializer_1197",message:"Catch clause variable cannot have an initializer."},An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:{code:1198,category:e.DiagnosticCategory.Error,key:"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198",message:"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."},Unterminated_Unicode_escape_sequence:{code:1199,category:e.DiagnosticCategory.Error,key:"Unterminated_Unicode_escape_sequence_1199",message:"Unterminated Unicode escape sequence."},Line_terminator_not_permitted_before_arrow:{code:1200,category:e.DiagnosticCategory.Error,key:"Line_terminator_not_permitted_before_arrow_1200",message:"Line terminator not permitted before arrow."},Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:{code:1202,category:e.DiagnosticCategory.Error,key:"Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asteri_1202",message:"Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."},Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_default_or_another_module_format_instead:{code:1203,category:e.DiagnosticCategory.Error,key:"Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_defaul_1203",message:"Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead."},Decorators_are_not_valid_here:{code:1206,category:e.DiagnosticCategory.Error,key:"Decorators_are_not_valid_here_1206",message:"Decorators are not valid here."},Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:{code:1207,category:e.DiagnosticCategory.Error,key:"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207",message:"Decorators cannot be applied to multiple get/set accessors of the same name."},Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:{code:1208,category:e.DiagnosticCategory.Error,key:"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208",message:"Cannot compile namespaces when the '--isolatedModules' flag is provided."},Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:{code:1209,category:e.DiagnosticCategory.Error,key:"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209",message:"Ambient const enums are not allowed when the '--isolatedModules' flag is provided."},Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:{code:1210,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210",message:"Invalid use of '{0}'. Class definitions are automatically in strict mode."},A_class_declaration_without_the_default_modifier_must_have_a_name:{code:1211,category:e.DiagnosticCategory.Error,key:"A_class_declaration_without_the_default_modifier_must_have_a_name_1211",message:"A class declaration without the 'default' modifier must have a name."},Identifier_expected_0_is_a_reserved_word_in_strict_mode:{code:1212,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212",message:"Identifier expected. '{0}' is a reserved word in strict mode."},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:{code:1213,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213",message:"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:{code:1214,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214",message:"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."},Invalid_use_of_0_Modules_are_automatically_in_strict_mode:{code:1215,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215",message:"Invalid use of '{0}'. Modules are automatically in strict mode."},Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:{code:1216,category:e.DiagnosticCategory.Error,key:"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216",message:"Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."},Export_assignment_is_not_supported_when_module_flag_is_system:{code:1218,category:e.DiagnosticCategory.Error,key:"Export_assignment_is_not_supported_when_module_flag_is_system_1218",message:"Export assignment is not supported when '--module' flag is 'system'."},Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:{code:1219,category:e.DiagnosticCategory.Error,key:"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219",message:"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."},Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:{code:1220,category:e.DiagnosticCategory.Error,key:"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220",message:"Generators are only available when targeting ECMAScript 2015 or higher."},Generators_are_not_allowed_in_an_ambient_context:{code:1221,category:e.DiagnosticCategory.Error,key:"Generators_are_not_allowed_in_an_ambient_context_1221",message:"Generators are not allowed in an ambient context."},An_overload_signature_cannot_be_declared_as_a_generator:{code:1222,category:e.DiagnosticCategory.Error,key:"An_overload_signature_cannot_be_declared_as_a_generator_1222",message:"An overload signature cannot be declared as a generator."},_0_tag_already_specified:{code:1223,category:e.DiagnosticCategory.Error,key:"_0_tag_already_specified_1223",message:"'{0}' tag already specified."},Signature_0_must_have_a_type_predicate:{code:1224,category:e.DiagnosticCategory.Error,key:"Signature_0_must_have_a_type_predicate_1224",message:"Signature '{0}' must have a type predicate."},Cannot_find_parameter_0:{code:1225,category:e.DiagnosticCategory.Error,key:"Cannot_find_parameter_0_1225",message:"Cannot find parameter '{0}'."},Type_predicate_0_is_not_assignable_to_1:{code:1226,category:e.DiagnosticCategory.Error,key:"Type_predicate_0_is_not_assignable_to_1_1226",message:"Type predicate '{0}' is not assignable to '{1}'."},Parameter_0_is_not_in_the_same_position_as_parameter_1:{code:1227,category:e.DiagnosticCategory.Error,key:"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227",message:"Parameter '{0}' is not in the same position as parameter '{1}'."},A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:{code:1228,category:e.DiagnosticCategory.Error,key:"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228",message:"A type predicate is only allowed in return type position for functions and methods."},A_type_predicate_cannot_reference_a_rest_parameter:{code:1229,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_a_rest_parameter_1229",message:"A type predicate cannot reference a rest parameter."},A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:{code:1230,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230",message:"A type predicate cannot reference element '{0}' in a binding pattern."},An_export_assignment_can_only_be_used_in_a_module:{code:1231,category:e.DiagnosticCategory.Error,key:"An_export_assignment_can_only_be_used_in_a_module_1231",message:"An export assignment can only be used in a module."},An_import_declaration_can_only_be_used_in_a_namespace_or_module:{code:1232,category:e.DiagnosticCategory.Error,key:"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232",message:"An import declaration can only be used in a namespace or module."},An_export_declaration_can_only_be_used_in_a_module:{code:1233,category:e.DiagnosticCategory.Error,key:"An_export_declaration_can_only_be_used_in_a_module_1233",message:"An export declaration can only be used in a module."},An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:{code:1234,category:e.DiagnosticCategory.Error,key:"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234",message:"An ambient module declaration is only allowed at the top level in a file."},A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:{code:1235,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235",message:"A namespace declaration is only allowed in a namespace or module."},The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:{code:1236,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236",message:"The return type of a property decorator function must be either 'void' or 'any'."},The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:{code:1237,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237",message:"The return type of a parameter decorator function must be either 'void' or 'any'."},Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:{code:1238,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238",message:"Unable to resolve signature of class decorator when called as an expression."},Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:{code:1239,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239",message:"Unable to resolve signature of parameter decorator when called as an expression."},Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:{code:1240,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240",message:"Unable to resolve signature of property decorator when called as an expression."},Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:{code:1241,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241",message:"Unable to resolve signature of method decorator when called as an expression."},abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:{code:1242,category:e.DiagnosticCategory.Error,key:"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242",message:"'abstract' modifier can only appear on a class, method, or property declaration."},_0_modifier_cannot_be_used_with_1_modifier:{code:1243,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_with_1_modifier_1243",message:"'{0}' modifier cannot be used with '{1}' modifier."},Abstract_methods_can_only_appear_within_an_abstract_class:{code:1244,category:e.DiagnosticCategory.Error,key:"Abstract_methods_can_only_appear_within_an_abstract_class_1244",message:"Abstract methods can only appear within an abstract class."},Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:{code:1245,category:e.DiagnosticCategory.Error,key:"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245",message:"Method '{0}' cannot have an implementation because it is marked abstract."},An_interface_property_cannot_have_an_initializer:{code:1246,category:e.DiagnosticCategory.Error,key:"An_interface_property_cannot_have_an_initializer_1246",message:"An interface property cannot have an initializer."},A_type_literal_property_cannot_have_an_initializer:{code:1247,category:e.DiagnosticCategory.Error,key:"A_type_literal_property_cannot_have_an_initializer_1247",message:"A type literal property cannot have an initializer."},A_class_member_cannot_have_the_0_keyword:{code:1248,category:e.DiagnosticCategory.Error,key:"A_class_member_cannot_have_the_0_keyword_1248",message:"A class member cannot have the '{0}' keyword."},A_decorator_can_only_decorate_a_method_implementation_not_an_overload:{code:1249,category:e.DiagnosticCategory.Error,key:"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249",message:"A decorator can only decorate a method implementation, not an overload."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:{code:1250,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:{code:1251,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:{code:1252,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."},_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:{code:1253,category:e.DiagnosticCategory.Error,key:"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253",message:"'{0}' tag cannot be used independently as a top level JSDoc tag."},A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal:{code:1254,category:e.DiagnosticCategory.Error,key:"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_1254",message:"A 'const' initializer in an ambient context must be a string or numeric literal."},with_statements_are_not_allowed_in_an_async_function_block:{code:1300,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_an_async_function_block_1300",message:"'with' statements are not allowed in an async function block."},await_expression_is_only_allowed_within_an_async_function:{code:1308,category:e.DiagnosticCategory.Error,key:"await_expression_is_only_allowed_within_an_async_function_1308",message:"'await' expression is only allowed within an async function."},can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:{code:1312,category:e.DiagnosticCategory.Error,key:"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312",message:"'=' can only be used in an object literal property inside a destructuring assignment."},The_body_of_an_if_statement_cannot_be_the_empty_statement:{code:1313,category:e.DiagnosticCategory.Error,key:"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313",message:"The body of an 'if' statement cannot be the empty statement."},Global_module_exports_may_only_appear_in_module_files:{code:1314,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_module_files_1314",message:"Global module exports may only appear in module files."},Global_module_exports_may_only_appear_in_declaration_files:{code:1315,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_declaration_files_1315",message:"Global module exports may only appear in declaration files."},Global_module_exports_may_only_appear_at_top_level:{code:1316,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_at_top_level_1316",message:"Global module exports may only appear at top level."},A_parameter_property_cannot_be_declared_using_a_rest_parameter:{code:1317,category:e.DiagnosticCategory.Error,key:"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317",message:"A parameter property cannot be declared using a rest parameter."},An_abstract_accessor_cannot_have_an_implementation:{code:1318,category:e.DiagnosticCategory.Error,key:"An_abstract_accessor_cannot_have_an_implementation_1318",message:"An abstract accessor cannot have an implementation."},A_default_export_can_only_be_used_in_an_ECMAScript_style_module:{code:1319,category:e.DiagnosticCategory.Error,key:"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319",message:"A default export can only be used in an ECMAScript-style module."},Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1320,category:e.DiagnosticCategory.Error,key:"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320",message:"Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."},Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1321,category:e.DiagnosticCategory.Error,key:"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321",message:"Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."},Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1322,category:e.DiagnosticCategory.Error,key:"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322",message:"Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."},Duplicate_identifier_0:{code:2300,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_2300",message:"Duplicate identifier '{0}'."},Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:{code:2301,category:e.DiagnosticCategory.Error,key:"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301",message:"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."},Static_members_cannot_reference_class_type_parameters:{code:2302,category:e.DiagnosticCategory.Error,key:"Static_members_cannot_reference_class_type_parameters_2302",message:"Static members cannot reference class type parameters."},Circular_definition_of_import_alias_0:{code:2303,category:e.DiagnosticCategory.Error,key:"Circular_definition_of_import_alias_0_2303",message:"Circular definition of import alias '{0}'."},Cannot_find_name_0:{code:2304,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_2304",message:"Cannot find name '{0}'."},Module_0_has_no_exported_member_1:{code:2305,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_exported_member_1_2305",message:"Module '{0}' has no exported member '{1}'."},File_0_is_not_a_module:{code:2306,category:e.DiagnosticCategory.Error,key:"File_0_is_not_a_module_2306",message:"File '{0}' is not a module."},Cannot_find_module_0:{code:2307,category:e.DiagnosticCategory.Error,key:"Cannot_find_module_0_2307",message:"Cannot find module '{0}'."},Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:{code:2308,category:e.DiagnosticCategory.Error,key:"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308",message:"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."},An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:{code:2309,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309",message:"An export assignment cannot be used in a module with other exported elements."},Type_0_recursively_references_itself_as_a_base_type:{code:2310,category:e.DiagnosticCategory.Error,key:"Type_0_recursively_references_itself_as_a_base_type_2310",message:"Type '{0}' recursively references itself as a base type."},A_class_may_only_extend_another_class:{code:2311,category:e.DiagnosticCategory.Error,key:"A_class_may_only_extend_another_class_2311",message:"A class may only extend another class."},An_interface_may_only_extend_a_class_or_another_interface:{code:2312,category:e.DiagnosticCategory.Error,key:"An_interface_may_only_extend_a_class_or_another_interface_2312",message:"An interface may only extend a class or another interface."},Type_parameter_0_has_a_circular_constraint:{code:2313,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_has_a_circular_constraint_2313",message:"Type parameter '{0}' has a circular constraint."},Generic_type_0_requires_1_type_argument_s:{code:2314,category:e.DiagnosticCategory.Error,key:"Generic_type_0_requires_1_type_argument_s_2314",message:"Generic type '{0}' requires {1} type argument(s)."},Type_0_is_not_generic:{code:2315,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_generic_2315",message:"Type '{0}' is not generic."},Global_type_0_must_be_a_class_or_interface_type:{code:2316,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_be_a_class_or_interface_type_2316",message:"Global type '{0}' must be a class or interface type."},Global_type_0_must_have_1_type_parameter_s:{code:2317,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_have_1_type_parameter_s_2317",message:"Global type '{0}' must have {1} type parameter(s)."},Cannot_find_global_type_0:{code:2318,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_type_0_2318",message:"Cannot find global type '{0}'."},Named_property_0_of_types_1_and_2_are_not_identical:{code:2319,category:e.DiagnosticCategory.Error,key:"Named_property_0_of_types_1_and_2_are_not_identical_2319",message:"Named property '{0}' of types '{1}' and '{2}' are not identical."},Interface_0_cannot_simultaneously_extend_types_1_and_2:{code:2320,category:e.DiagnosticCategory.Error,key:"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320",message:"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."},Excessive_stack_depth_comparing_types_0_and_1:{code:2321,category:e.DiagnosticCategory.Error,key:"Excessive_stack_depth_comparing_types_0_and_1_2321",message:"Excessive stack depth comparing types '{0}' and '{1}'."},Type_0_is_not_assignable_to_type_1:{code:2322,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_2322",message:"Type '{0}' is not assignable to type '{1}'."},Cannot_redeclare_exported_variable_0:{code:2323,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_exported_variable_0_2323",message:"Cannot redeclare exported variable '{0}'."},Property_0_is_missing_in_type_1:{code:2324,category:e.DiagnosticCategory.Error,key:"Property_0_is_missing_in_type_1_2324",message:"Property '{0}' is missing in type '{1}'."},Property_0_is_private_in_type_1_but_not_in_type_2:{code:2325,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_in_type_1_but_not_in_type_2_2325",message:"Property '{0}' is private in type '{1}' but not in type '{2}'."},Types_of_property_0_are_incompatible:{code:2326,category:e.DiagnosticCategory.Error,key:"Types_of_property_0_are_incompatible_2326",message:"Types of property '{0}' are incompatible."},Property_0_is_optional_in_type_1_but_required_in_type_2:{code:2327,category:e.DiagnosticCategory.Error,key:"Property_0_is_optional_in_type_1_but_required_in_type_2_2327",message:"Property '{0}' is optional in type '{1}' but required in type '{2}'."},Types_of_parameters_0_and_1_are_incompatible:{code:2328,category:e.DiagnosticCategory.Error,key:"Types_of_parameters_0_and_1_are_incompatible_2328",message:"Types of parameters '{0}' and '{1}' are incompatible."},Index_signature_is_missing_in_type_0:{code:2329,category:e.DiagnosticCategory.Error,key:"Index_signature_is_missing_in_type_0_2329",message:"Index signature is missing in type '{0}'."},Index_signatures_are_incompatible:{code:2330,category:e.DiagnosticCategory.Error,key:"Index_signatures_are_incompatible_2330",message:"Index signatures are incompatible."},this_cannot_be_referenced_in_a_module_or_namespace_body:{code:2331,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_module_or_namespace_body_2331",message:"'this' cannot be referenced in a module or namespace body."},this_cannot_be_referenced_in_current_location:{code:2332,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_current_location_2332",message:"'this' cannot be referenced in current location."},this_cannot_be_referenced_in_constructor_arguments:{code:2333,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_constructor_arguments_2333",message:"'this' cannot be referenced in constructor arguments."},this_cannot_be_referenced_in_a_static_property_initializer:{code:2334,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_static_property_initializer_2334",message:"'this' cannot be referenced in a static property initializer."},super_can_only_be_referenced_in_a_derived_class:{code:2335,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_a_derived_class_2335",message:"'super' can only be referenced in a derived class."},super_cannot_be_referenced_in_constructor_arguments:{code:2336,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_constructor_arguments_2336",message:"'super' cannot be referenced in constructor arguments."},Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:{code:2337,category:e.DiagnosticCategory.Error,key:"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337",message:"Super calls are not permitted outside constructors or in nested functions inside constructors."},super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:{code:2338,category:e.DiagnosticCategory.Error,key:"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338",message:"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."},Property_0_does_not_exist_on_type_1:{code:2339,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_type_1_2339",message:"Property '{0}' does not exist on type '{1}'."},Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:{code:2340,category:e.DiagnosticCategory.Error,key:"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340",message:"Only public and protected methods of the base class are accessible via the 'super' keyword."},Property_0_is_private_and_only_accessible_within_class_1:{code:2341,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_and_only_accessible_within_class_1_2341",message:"Property '{0}' is private and only accessible within class '{1}'."},An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:{code:2342,category:e.DiagnosticCategory.Error,key:"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342",message:"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."},This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1:{code:2343,category:e.DiagnosticCategory.Error,key:"This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343",message:"This syntax requires an imported helper named '{1}', but module '{0}' has no exported member '{1}'."},Type_0_does_not_satisfy_the_constraint_1:{code:2344,category:e.DiagnosticCategory.Error,key:"Type_0_does_not_satisfy_the_constraint_1_2344",message:"Type '{0}' does not satisfy the constraint '{1}'."},Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:{code:2345,category:e.DiagnosticCategory.Error,key:"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345",message:"Argument of type '{0}' is not assignable to parameter of type '{1}'."},Supplied_parameters_do_not_match_any_signature_of_call_target:{code:2346,category:e.DiagnosticCategory.Error,key:"Supplied_parameters_do_not_match_any_signature_of_call_target_2346",message:"Supplied parameters do not match any signature of call target."},Untyped_function_calls_may_not_accept_type_arguments:{code:2347,category:e.DiagnosticCategory.Error,key:"Untyped_function_calls_may_not_accept_type_arguments_2347",message:"Untyped function calls may not accept type arguments."},Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:{code:2348,category:e.DiagnosticCategory.Error,key:"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348",message:"Value of type '{0}' is not callable. Did you mean to include 'new'?"},Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures:{code:2349,category:e.DiagnosticCategory.Error,key:"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349",message:"Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures."},Only_a_void_function_can_be_called_with_the_new_keyword:{code:2350,category:e.DiagnosticCategory.Error,key:"Only_a_void_function_can_be_called_with_the_new_keyword_2350",message:"Only a void function can be called with the 'new' keyword."},Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:{code:2351,category:e.DiagnosticCategory.Error,key:"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351",message:"Cannot use 'new' with an expression whose type lacks a call or construct signature."},Type_0_cannot_be_converted_to_type_1:{code:2352,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_converted_to_type_1_2352",message:"Type '{0}' cannot be converted to type '{1}'."},Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:{code:2353,category:e.DiagnosticCategory.Error,key:"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353",message:"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."},This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:{code:2354,category:e.DiagnosticCategory.Error,key:"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354",message:"This syntax requires an imported helper but module '{0}' cannot be found."},A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:{code:2355,category:e.DiagnosticCategory.Error,key:"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355",message:"A function whose declared type is neither 'void' nor 'any' must return a value."},An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type:{code:2356,category:e.DiagnosticCategory.Error,key:"An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type_2356",message:"An arithmetic operand must be of type 'any', 'number' or an enum type."},The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:{code:2357,category:e.DiagnosticCategory.Error,key:"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357",message:"The operand of an increment or decrement operator must be a variable or a property access."},The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2358,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358",message:"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."},The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:{code:2359,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359",message:"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."},The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:{code:2360,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360",message:"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."},The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2361,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361",message:"The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter."},The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2362,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2362",message:"The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2363,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2363",message:"The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:{code:2364,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364",message:"The left-hand side of an assignment expression must be a variable or a property access."},Operator_0_cannot_be_applied_to_types_1_and_2:{code:2365,category:e.DiagnosticCategory.Error,key:"Operator_0_cannot_be_applied_to_types_1_and_2_2365",message:"Operator '{0}' cannot be applied to types '{1}' and '{2}'."},Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:{code:2366,category:e.DiagnosticCategory.Error,key:"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366",message:"Function lacks ending return statement and return type does not include 'undefined'."},Type_parameter_name_cannot_be_0:{code:2368,category:e.DiagnosticCategory.Error,key:"Type_parameter_name_cannot_be_0_2368",message:"Type parameter name cannot be '{0}'."},A_parameter_property_is_only_allowed_in_a_constructor_implementation:{code:2369,category:e.DiagnosticCategory.Error,key:"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369",message:"A parameter property is only allowed in a constructor implementation."},A_rest_parameter_must_be_of_an_array_type:{code:2370,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_must_be_of_an_array_type_2370",message:"A rest parameter must be of an array type."},A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:{code:2371,category:e.DiagnosticCategory.Error,key:"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371",message:"A parameter initializer is only allowed in a function or constructor implementation."},Parameter_0_cannot_be_referenced_in_its_initializer:{code:2372,category:e.DiagnosticCategory.Error,key:"Parameter_0_cannot_be_referenced_in_its_initializer_2372",message:"Parameter '{0}' cannot be referenced in its initializer."},Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:{code:2373,category:e.DiagnosticCategory.Error,key:"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373",message:"Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."},Duplicate_string_index_signature:{code:2374,category:e.DiagnosticCategory.Error,key:"Duplicate_string_index_signature_2374",message:"Duplicate string index signature."},Duplicate_number_index_signature:{code:2375,category:e.DiagnosticCategory.Error,key:"Duplicate_number_index_signature_2375",message:"Duplicate number index signature."},A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:{code:2376,category:e.DiagnosticCategory.Error,key:"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376",message:"A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."},Constructors_for_derived_classes_must_contain_a_super_call:{code:2377,category:e.DiagnosticCategory.Error,key:"Constructors_for_derived_classes_must_contain_a_super_call_2377",message:"Constructors for derived classes must contain a 'super' call."},A_get_accessor_must_return_a_value:{code:2378,category:e.DiagnosticCategory.Error,key:"A_get_accessor_must_return_a_value_2378",message:"A 'get' accessor must return a value."},Getter_and_setter_accessors_do_not_agree_in_visibility:{code:2379,category:e.DiagnosticCategory.Error,key:"Getter_and_setter_accessors_do_not_agree_in_visibility_2379",message:"Getter and setter accessors do not agree in visibility."},get_and_set_accessor_must_have_the_same_type:{code:2380,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_type_2380",message:"'get' and 'set' accessor must have the same type."},A_signature_with_an_implementation_cannot_use_a_string_literal_type:{code:2381,category:e.DiagnosticCategory.Error,key:"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381",message:"A signature with an implementation cannot use a string literal type."},Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:{code:2382,category:e.DiagnosticCategory.Error,key:"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382",message:"Specialized overload signature is not assignable to any non-specialized signature."},Overload_signatures_must_all_be_exported_or_non_exported:{code:2383,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_exported_or_non_exported_2383",message:"Overload signatures must all be exported or non-exported."},Overload_signatures_must_all_be_ambient_or_non_ambient:{code:2384,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_ambient_or_non_ambient_2384",message:"Overload signatures must all be ambient or non-ambient."},Overload_signatures_must_all_be_public_private_or_protected:{code:2385,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_public_private_or_protected_2385",message:"Overload signatures must all be public, private or protected."},Overload_signatures_must_all_be_optional_or_required:{code:2386,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_optional_or_required_2386",message:"Overload signatures must all be optional or required."},Function_overload_must_be_static:{code:2387,category:e.DiagnosticCategory.Error,key:"Function_overload_must_be_static_2387",message:"Function overload must be static."},Function_overload_must_not_be_static:{code:2388,category:e.DiagnosticCategory.Error,key:"Function_overload_must_not_be_static_2388",message:"Function overload must not be static."},Function_implementation_name_must_be_0:{code:2389,category:e.DiagnosticCategory.Error,key:"Function_implementation_name_must_be_0_2389",message:"Function implementation name must be '{0}'."},Constructor_implementation_is_missing:{code:2390,category:e.DiagnosticCategory.Error,key:"Constructor_implementation_is_missing_2390",message:"Constructor implementation is missing."},Function_implementation_is_missing_or_not_immediately_following_the_declaration:{code:2391,category:e.DiagnosticCategory.Error,key:"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391",message:"Function implementation is missing or not immediately following the declaration."},Multiple_constructor_implementations_are_not_allowed:{code:2392,category:e.DiagnosticCategory.Error,key:"Multiple_constructor_implementations_are_not_allowed_2392",message:"Multiple constructor implementations are not allowed."},Duplicate_function_implementation:{code:2393,category:e.DiagnosticCategory.Error,key:"Duplicate_function_implementation_2393",message:"Duplicate function implementation."},Overload_signature_is_not_compatible_with_function_implementation:{code:2394,category:e.DiagnosticCategory.Error,key:"Overload_signature_is_not_compatible_with_function_implementation_2394",message:"Overload signature is not compatible with function implementation."},Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:{code:2395,category:e.DiagnosticCategory.Error,key:"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395",message:"Individual declarations in merged declaration '{0}' must be all exported or all local."},Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:{code:2396,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396",message:"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."},Declaration_name_conflicts_with_built_in_global_identifier_0:{code:2397,category:e.DiagnosticCategory.Error,key:"Declaration_name_conflicts_with_built_in_global_identifier_0_2397",message:"Declaration name conflicts with built-in global identifier '{0}'."},Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:{code:2399,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399",message:"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."},Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:{code:2400,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400",message:"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."},Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:{code:2401,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401",message:"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."},Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:{code:2402,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402",message:"Expression resolves to '_super' that compiler uses to capture base class reference."},Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:{code:2403,category:e.DiagnosticCategory.Error,key:"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403",message:"Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."},The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:{code:2404,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404",message:"The left-hand side of a 'for...in' statement cannot use a type annotation."},The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:{code:2405,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405",message:"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."},The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:{code:2406,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406",message:"The left-hand side of a 'for...in' statement must be a variable or a property access."},The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2407,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_2407",message:"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter."},Setters_cannot_return_a_value:{code:2408,category:e.DiagnosticCategory.Error,key:"Setters_cannot_return_a_value_2408",message:"Setters cannot return a value."},Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:{code:2409,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409",message:"Return type of constructor signature must be assignable to the instance type of the class."},The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:{code:2410,category:e.DiagnosticCategory.Error,key:"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410",message:"The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."},Property_0_of_type_1_is_not_assignable_to_string_index_type_2:{code:2411,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411",message:"Property '{0}' of type '{1}' is not assignable to string index type '{2}'."},Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:{code:2412,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412",message:"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."},Numeric_index_type_0_is_not_assignable_to_string_index_type_1:{code:2413,category:e.DiagnosticCategory.Error,key:"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413",message:"Numeric index type '{0}' is not assignable to string index type '{1}'."},Class_name_cannot_be_0:{code:2414,category:e.DiagnosticCategory.Error,key:"Class_name_cannot_be_0_2414",message:"Class name cannot be '{0}'."},Class_0_incorrectly_extends_base_class_1:{code:2415,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_extends_base_class_1_2415",message:"Class '{0}' incorrectly extends base class '{1}'."},Class_static_side_0_incorrectly_extends_base_class_static_side_1:{code:2417,category:e.DiagnosticCategory.Error,key:"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417",message:"Class static side '{0}' incorrectly extends base class static side '{1}'."},Class_0_incorrectly_implements_interface_1:{code:2420,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_implements_interface_1_2420",message:"Class '{0}' incorrectly implements interface '{1}'."},A_class_may_only_implement_another_class_or_interface:{code:2422,category:e.DiagnosticCategory.Error,key:"A_class_may_only_implement_another_class_or_interface_2422",message:"A class may only implement another class or interface."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:{code:2423,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:{code:2424,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."},Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2425,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425",message:"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."},Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2426,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426",message:"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."},Interface_name_cannot_be_0:{code:2427,category:e.DiagnosticCategory.Error,key:"Interface_name_cannot_be_0_2427",message:"Interface name cannot be '{0}'."},All_declarations_of_0_must_have_identical_type_parameters:{code:2428,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_type_parameters_2428",message:"All declarations of '{0}' must have identical type parameters."},Interface_0_incorrectly_extends_interface_1:{code:2430,category:e.DiagnosticCategory.Error,key:"Interface_0_incorrectly_extends_interface_1_2430",message:"Interface '{0}' incorrectly extends interface '{1}'."},Enum_name_cannot_be_0:{code:2431,category:e.DiagnosticCategory.Error,key:"Enum_name_cannot_be_0_2431",message:"Enum name cannot be '{0}'."},In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:{code:2432,category:e.DiagnosticCategory.Error,key:"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432",message:"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."},A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:{code:2433,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433",message:"A namespace declaration cannot be in a different file from a class or function with which it is merged."},A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:{code:2434,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434",message:"A namespace declaration cannot be located prior to a class or function with which it is merged."},Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:{code:2435,category:e.DiagnosticCategory.Error,key:"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435",message:"Ambient modules cannot be nested in other modules or namespaces."},Ambient_module_declaration_cannot_specify_relative_module_name:{code:2436,category:e.DiagnosticCategory.Error,key:"Ambient_module_declaration_cannot_specify_relative_module_name_2436",message:"Ambient module declaration cannot specify relative module name."},Module_0_is_hidden_by_a_local_declaration_with_the_same_name:{code:2437,category:e.DiagnosticCategory.Error,key:"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437",message:"Module '{0}' is hidden by a local declaration with the same name."},Import_name_cannot_be_0:{code:2438,category:e.DiagnosticCategory.Error,key:"Import_name_cannot_be_0_2438",message:"Import name cannot be '{0}'."},Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:{code:2439,category:e.DiagnosticCategory.Error,key:"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439",message:"Import or export declaration in an ambient module declaration cannot reference module through relative module name."},Import_declaration_conflicts_with_local_declaration_of_0:{code:2440,category:e.DiagnosticCategory.Error,key:"Import_declaration_conflicts_with_local_declaration_of_0_2440",message:"Import declaration conflicts with local declaration of '{0}'."},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:{code:2441,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."},Types_have_separate_declarations_of_a_private_property_0:{code:2442,category:e.DiagnosticCategory.Error,key:"Types_have_separate_declarations_of_a_private_property_0_2442",message:"Types have separate declarations of a private property '{0}'."},Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:{code:2443,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443",message:"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."},Property_0_is_protected_in_type_1_but_public_in_type_2:{code:2444,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_in_type_1_but_public_in_type_2_2444",message:"Property '{0}' is protected in type '{1}' but public in type '{2}'."},Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:{code:2445,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445",message:"Property '{0}' is protected and only accessible within class '{1}' and its subclasses."},Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:{code:2446,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446",message:"Property '{0}' is protected and only accessible through an instance of class '{1}'."},The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:{code:2447,category:e.DiagnosticCategory.Error,key:"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447",message:"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."},Block_scoped_variable_0_used_before_its_declaration:{code:2448,category:e.DiagnosticCategory.Error,key:"Block_scoped_variable_0_used_before_its_declaration_2448",message:"Block-scoped variable '{0}' used before its declaration."},Class_0_used_before_its_declaration:{code:2449,category:e.DiagnosticCategory.Error,key:"Class_0_used_before_its_declaration_2449",message:"Class '{0}' used before its declaration."},Enum_0_used_before_its_declaration:{code:2450,category:e.DiagnosticCategory.Error,key:"Enum_0_used_before_its_declaration_2450",message:"Enum '{0}' used before its declaration."},Cannot_redeclare_block_scoped_variable_0:{code:2451,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_block_scoped_variable_0_2451",message:"Cannot redeclare block-scoped variable '{0}'."},An_enum_member_cannot_have_a_numeric_name:{code:2452,category:e.DiagnosticCategory.Error,key:"An_enum_member_cannot_have_a_numeric_name_2452",message:"An enum member cannot have a numeric name."},The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:{code:2453,category:e.DiagnosticCategory.Error,key:"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453",message:"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."},Variable_0_is_used_before_being_assigned:{code:2454,category:e.DiagnosticCategory.Error,key:"Variable_0_is_used_before_being_assigned_2454",message:"Variable '{0}' is used before being assigned."},Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:{code:2455,category:e.DiagnosticCategory.Error,key:"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455",message:"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."},Type_alias_0_circularly_references_itself:{code:2456,category:e.DiagnosticCategory.Error,key:"Type_alias_0_circularly_references_itself_2456",message:"Type alias '{0}' circularly references itself."},Type_alias_name_cannot_be_0:{code:2457,category:e.DiagnosticCategory.Error,key:"Type_alias_name_cannot_be_0_2457",message:"Type alias name cannot be '{0}'."},An_AMD_module_cannot_have_multiple_name_assignments:{code:2458,category:e.DiagnosticCategory.Error,key:"An_AMD_module_cannot_have_multiple_name_assignments_2458",message:"An AMD module cannot have multiple name assignments."},Type_0_has_no_property_1_and_no_string_index_signature:{code:2459,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_and_no_string_index_signature_2459",message:"Type '{0}' has no property '{1}' and no string index signature."},Type_0_has_no_property_1:{code:2460,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_2460",message:"Type '{0}' has no property '{1}'."},Type_0_is_not_an_array_type:{code:2461,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_2461",message:"Type '{0}' is not an array type."},A_rest_element_must_be_last_in_a_destructuring_pattern:{code:2462,category:e.DiagnosticCategory.Error,key:"A_rest_element_must_be_last_in_a_destructuring_pattern_2462",message:"A rest element must be last in a destructuring pattern."},A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:{code:2463,category:e.DiagnosticCategory.Error,key:"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463",message:"A binding pattern parameter cannot be optional in an implementation signature."},A_computed_property_name_must_be_of_type_string_number_symbol_or_any:{code:2464,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464",message:"A computed property name must be of type 'string', 'number', 'symbol', or 'any'."},this_cannot_be_referenced_in_a_computed_property_name:{code:2465,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_computed_property_name_2465",message:"'this' cannot be referenced in a computed property name."},super_cannot_be_referenced_in_a_computed_property_name:{code:2466,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_a_computed_property_name_2466",message:"'super' cannot be referenced in a computed property name."},A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:{code:2467,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467",message:"A computed property name cannot reference a type parameter from its containing type."},Cannot_find_global_value_0:{code:2468,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_value_0_2468",message:"Cannot find global value '{0}'."},The_0_operator_cannot_be_applied_to_type_symbol:{code:2469,category:e.DiagnosticCategory.Error,key:"The_0_operator_cannot_be_applied_to_type_symbol_2469",message:"The '{0}' operator cannot be applied to type 'symbol'."},Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:{code:2470,category:e.DiagnosticCategory.Error,key:"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470",message:"'Symbol' reference does not refer to the global Symbol constructor object."},A_computed_property_name_of_the_form_0_must_be_of_type_symbol:{code:2471,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471",message:"A computed property name of the form '{0}' must be of type 'symbol'."},Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:{code:2472,category:e.DiagnosticCategory.Error,key:"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472",message:"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."},Enum_declarations_must_all_be_const_or_non_const:{code:2473,category:e.DiagnosticCategory.Error,key:"Enum_declarations_must_all_be_const_or_non_const_2473",message:"Enum declarations must all be const or non-const."},In_const_enum_declarations_member_initializer_must_be_constant_expression:{code:2474,category:e.DiagnosticCategory.Error,key:"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474",message:"In 'const' enum declarations member initializer must be constant expression."},const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment:{code:2475,category:e.DiagnosticCategory.Error,key:"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475",message:"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment."},A_const_enum_member_can_only_be_accessed_using_a_string_literal:{code:2476,category:e.DiagnosticCategory.Error,key:"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476",message:"A const enum member can only be accessed using a string literal."},const_enum_member_initializer_was_evaluated_to_a_non_finite_value:{code:2477,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477",message:"'const' enum member initializer was evaluated to a non-finite value."},const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:{code:2478,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478",message:"'const' enum member initializer was evaluated to disallowed value 'NaN'."},Property_0_does_not_exist_on_const_enum_1:{code:2479,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_const_enum_1_2479",message:"Property '{0}' does not exist on 'const' enum '{1}'."},let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:{code:2480,category:e.DiagnosticCategory.Error,key:"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480",message:"'let' is not allowed to be used as a name in 'let' or 'const' declarations."},Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:{code:2481,category:e.DiagnosticCategory.Error,key:"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481",message:"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."},The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:{code:2483,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483",message:"The left-hand side of a 'for...of' statement cannot use a type annotation."},Export_declaration_conflicts_with_exported_declaration_of_0:{code:2484,category:e.DiagnosticCategory.Error,key:"Export_declaration_conflicts_with_exported_declaration_of_0_2484",message:"Export declaration conflicts with exported declaration of '{0}'."},The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:{code:2487,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487",message:"The left-hand side of a 'for...of' statement must be a variable or a property access."},Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2488,category:e.DiagnosticCategory.Error,key:"Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488",message:"Type must have a '[Symbol.iterator]()' method that returns an iterator."},An_iterator_must_have_a_next_method:{code:2489,category:e.DiagnosticCategory.Error,key:"An_iterator_must_have_a_next_method_2489",message:"An iterator must have a 'next()' method."},The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:{code:2490,category:e.DiagnosticCategory.Error,key:"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490",message:"The type returned by the 'next()' method of an iterator must have a 'value' property."},The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:{code:2491,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491",message:"The left-hand side of a 'for...in' statement cannot be a destructuring pattern."},Cannot_redeclare_identifier_0_in_catch_clause:{code:2492,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_identifier_0_in_catch_clause_2492",message:"Cannot redeclare identifier '{0}' in catch clause."},Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:{code:2493,category:e.DiagnosticCategory.Error,key:"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493",message:"Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."},Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:{code:2494,category:e.DiagnosticCategory.Error,key:"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494",message:"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."},Type_0_is_not_an_array_type_or_a_string_type:{code:2495,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_a_string_type_2495",message:"Type '{0}' is not an array type or a string type."},The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:{code:2496,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496",message:"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."},Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:{code:2497,category:e.DiagnosticCategory.Error,key:"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497",message:"Module '{0}' resolves to a non-module entity and cannot be imported using this construct."},Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:{code:2498,category:e.DiagnosticCategory.Error,key:"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498",message:"Module '{0}' uses 'export =' and cannot be used with 'export *'."},An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2499,category:e.DiagnosticCategory.Error,key:"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499",message:"An interface can only extend an identifier/qualified-name with optional type arguments."},A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2500,category:e.DiagnosticCategory.Error,key:"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500",message:"A class can only implement an identifier/qualified-name with optional type arguments."},A_rest_element_cannot_contain_a_binding_pattern:{code:2501,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_contain_a_binding_pattern_2501",message:"A rest element cannot contain a binding pattern."},_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:{code:2502,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502",message:"'{0}' is referenced directly or indirectly in its own type annotation."},Cannot_find_namespace_0:{code:2503,category:e.DiagnosticCategory.Error,key:"Cannot_find_namespace_0_2503",message:"Cannot find namespace '{0}'."},Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:{code:2504,category:e.DiagnosticCategory.Error,key:"Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504",message:"Type must have a '[Symbol.asyncIterator]()' method that returns an async iterator."},A_generator_cannot_have_a_void_type_annotation:{code:2505,category:e.DiagnosticCategory.Error,key:"A_generator_cannot_have_a_void_type_annotation_2505",message:"A generator cannot have a 'void' type annotation."},_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:{code:2506,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506",message:"'{0}' is referenced directly or indirectly in its own base expression."},Type_0_is_not_a_constructor_function_type:{code:2507,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_a_constructor_function_type_2507",message:"Type '{0}' is not a constructor function type."},No_base_constructor_has_the_specified_number_of_type_arguments:{code:2508,category:e.DiagnosticCategory.Error,key:"No_base_constructor_has_the_specified_number_of_type_arguments_2508",message:"No base constructor has the specified number of type arguments."},Base_constructor_return_type_0_is_not_a_class_or_interface_type:{code:2509,category:e.DiagnosticCategory.Error,key:"Base_constructor_return_type_0_is_not_a_class_or_interface_type_2509",message:"Base constructor return type '{0}' is not a class or interface type."},Base_constructors_must_all_have_the_same_return_type:{code:2510,category:e.DiagnosticCategory.Error,key:"Base_constructors_must_all_have_the_same_return_type_2510",message:"Base constructors must all have the same return type."},Cannot_create_an_instance_of_the_abstract_class_0:{code:2511,category:e.DiagnosticCategory.Error,key:"Cannot_create_an_instance_of_the_abstract_class_0_2511",message:"Cannot create an instance of the abstract class '{0}'."},Overload_signatures_must_all_be_abstract_or_non_abstract:{code:2512,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_abstract_or_non_abstract_2512",message:"Overload signatures must all be abstract or non-abstract."},Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:{code:2513,category:e.DiagnosticCategory.Error,key:"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513",message:"Abstract method '{0}' in class '{1}' cannot be accessed via super expression."},Classes_containing_abstract_methods_must_be_marked_abstract:{code:2514,category:e.DiagnosticCategory.Error,key:"Classes_containing_abstract_methods_must_be_marked_abstract_2514",message:"Classes containing abstract methods must be marked abstract."},Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:{code:2515,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515",message:"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."},All_declarations_of_an_abstract_method_must_be_consecutive:{code:2516,category:e.DiagnosticCategory.Error,key:"All_declarations_of_an_abstract_method_must_be_consecutive_2516",message:"All declarations of an abstract method must be consecutive."},Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:{code:2517,category:e.DiagnosticCategory.Error,key:"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517",message:"Cannot assign an abstract constructor type to a non-abstract constructor type."},A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:{code:2518,category:e.DiagnosticCategory.Error,key:"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518",message:"A 'this'-based type guard is not compatible with a parameter-based type guard."},An_async_iterator_must_have_a_next_method:{code:2519,category:e.DiagnosticCategory.Error,key:"An_async_iterator_must_have_a_next_method_2519",message:"An async iterator must have a 'next()' method."},Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:{code:2520,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520",message:"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."},Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:{code:2521,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521",message:"Expression resolves to variable declaration '{0}' that compiler uses to support async functions."},The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:{code:2522,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522",message:"The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."},yield_expressions_cannot_be_used_in_a_parameter_initializer:{code:2523,category:e.DiagnosticCategory.Error,key:"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523",message:"'yield' expressions cannot be used in a parameter initializer."},await_expressions_cannot_be_used_in_a_parameter_initializer:{code:2524,category:e.DiagnosticCategory.Error,key:"await_expressions_cannot_be_used_in_a_parameter_initializer_2524",message:"'await' expressions cannot be used in a parameter initializer."},Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:{code:2525,category:e.DiagnosticCategory.Error,key:"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525",message:"Initializer provides no value for this binding element and the binding element has no default value."},A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:{code:2526,category:e.DiagnosticCategory.Error,key:"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526",message:"A 'this' type is available only in a non-static member of a class or interface."},The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary:{code:2527,category:e.DiagnosticCategory.Error,key:"The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary_2527",message:"The inferred type of '{0}' references an inaccessible 'this' type. A type annotation is necessary."},A_module_cannot_have_multiple_default_exports:{code:2528,category:e.DiagnosticCategory.Error,key:"A_module_cannot_have_multiple_default_exports_2528",message:"A module cannot have multiple default exports."},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:{code:2529,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."},Property_0_is_incompatible_with_index_signature:{code:2530,category:e.DiagnosticCategory.Error,key:"Property_0_is_incompatible_with_index_signature_2530",message:"Property '{0}' is incompatible with index signature."},Object_is_possibly_null:{code:2531,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_2531",message:"Object is possibly 'null'."},Object_is_possibly_undefined:{code:2532,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_undefined_2532",message:"Object is possibly 'undefined'."},Object_is_possibly_null_or_undefined:{code:2533,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_or_undefined_2533",message:"Object is possibly 'null' or 'undefined'."},A_function_returning_never_cannot_have_a_reachable_end_point:{code:2534,category:e.DiagnosticCategory.Error,key:"A_function_returning_never_cannot_have_a_reachable_end_point_2534",message:"A function returning 'never' cannot have a reachable end point."},Enum_type_0_has_members_with_initializers_that_are_not_literals:{code:2535,category:e.DiagnosticCategory.Error,key:"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535",message:"Enum type '{0}' has members with initializers that are not literals."},Type_0_cannot_be_used_to_index_type_1:{code:2536,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_used_to_index_type_1_2536",message:"Type '{0}' cannot be used to index type '{1}'."},Type_0_has_no_matching_index_signature_for_type_1:{code:2537,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_matching_index_signature_for_type_1_2537",message:"Type '{0}' has no matching index signature for type '{1}'."},Type_0_cannot_be_used_as_an_index_type:{code:2538,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_used_as_an_index_type_2538",message:"Type '{0}' cannot be used as an index type."},Cannot_assign_to_0_because_it_is_not_a_variable:{code:2539,category:e.DiagnosticCategory.Error,key:"Cannot_assign_to_0_because_it_is_not_a_variable_2539",message:"Cannot assign to '{0}' because it is not a variable."},Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property:{code:2540,category:e.DiagnosticCategory.Error,key:"Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property_2540",message:"Cannot assign to '{0}' because it is a constant or a read-only property."},The_target_of_an_assignment_must_be_a_variable_or_a_property_access:{code:2541,category:e.DiagnosticCategory.Error,key:"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541",message:"The target of an assignment must be a variable or a property access."},Index_signature_in_type_0_only_permits_reading:{code:2542,category:e.DiagnosticCategory.Error,key:"Index_signature_in_type_0_only_permits_reading_2542",message:"Index signature in type '{0}' only permits reading."},Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:{code:2543,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543",message:"Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."},Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:{code:2544,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544",message:"Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."},A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:{code:2545,category:e.DiagnosticCategory.Error,key:"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545",message:"A mixin class must have a constructor with a single rest parameter of type 'any[]'."},Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1:{code:2546,category:e.DiagnosticCategory.Error,key:"Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1_2546",message:"Property '{0}' has conflicting declarations and is inaccessible in type '{1}'."},The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:{code:2547,category:e.DiagnosticCategory.Error,key:"The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value__2547",message:"The type returned by the 'next()' method of an async iterator must be a promise for a type with a 'value' property."},Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2548,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548",message:"Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."},Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2549,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549",message:"Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."},Generic_type_instantiation_is_excessively_deep_and_possibly_infinite:{code:2550,category:e.DiagnosticCategory.Error,key:"Generic_type_instantiation_is_excessively_deep_and_possibly_infinite_2550",message:"Generic type instantiation is excessively deep and possibly infinite."},JSX_element_attributes_type_0_may_not_be_a_union_type:{code:2600,category:e.DiagnosticCategory.Error,key:"JSX_element_attributes_type_0_may_not_be_a_union_type_2600",message:"JSX element attributes type '{0}' may not be a union type."},The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:{code:2601,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601",message:"The return type of a JSX element constructor must return an object type."},JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:{code:2602,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602",message:"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."},Property_0_in_type_1_is_not_assignable_to_type_2:{code:2603,category:e.DiagnosticCategory.Error,key:"Property_0_in_type_1_is_not_assignable_to_type_2_2603",message:"Property '{0}' in type '{1}' is not assignable to type '{2}'."},JSX_element_type_0_does_not_have_any_construct_or_call_signatures:{code:2604,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604",message:"JSX element type '{0}' does not have any construct or call signatures."},JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:{code:2605,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605",message:"JSX element type '{0}' is not a constructor function for JSX elements."},Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:{code:2606,category:e.DiagnosticCategory.Error,key:"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606",message:"Property '{0}' of JSX spread attribute is not assignable to target property."},JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:{code:2607,category:e.DiagnosticCategory.Error,key:"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607",message:"JSX element class does not support attributes because it does not have a '{0}' property."},The_global_type_JSX_0_may_not_have_more_than_one_property:{code:2608,category:e.DiagnosticCategory.Error,key:"The_global_type_JSX_0_may_not_have_more_than_one_property_2608",message:"The global type 'JSX.{0}' may not have more than one property."},JSX_spread_child_must_be_an_array_type:{code:2609,category:e.DiagnosticCategory.Error,key:"JSX_spread_child_must_be_an_array_type_2609",message:"JSX spread child must be an array type."},Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:{code:2649,category:e.DiagnosticCategory.Error,key:"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649",message:"Cannot augment module '{0}' with value exports because it resolves to a non-module entity."},Cannot_emit_namespaced_JSX_elements_in_React:{code:2650,category:e.DiagnosticCategory.Error,key:"Cannot_emit_namespaced_JSX_elements_in_React_2650",message:"Cannot emit namespaced JSX elements in React."},A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:{code:2651,category:e.DiagnosticCategory.Error,key:"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651",message:"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."},Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:{code:2652,category:e.DiagnosticCategory.Error,key:"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652",message:"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."},Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:{code:2653,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653",message:"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."},Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:{code:2654,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654",message:"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."},Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:{code:2656,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656",message:"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."},JSX_expressions_must_have_one_parent_element:{code:2657,category:e.DiagnosticCategory.Error,key:"JSX_expressions_must_have_one_parent_element_2657",message:"JSX expressions must have one parent element."},Type_0_provides_no_match_for_the_signature_1:{code:2658,category:e.DiagnosticCategory.Error,key:"Type_0_provides_no_match_for_the_signature_1_2658",message:"Type '{0}' provides no match for the signature '{1}'."},super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:{code:2659,category:e.DiagnosticCategory.Error,key:"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659",message:"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."},super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:{code:2660,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660",message:"'super' can only be referenced in members of derived classes or object literal expressions."},Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:{code:2661,category:e.DiagnosticCategory.Error,key:"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661",message:"Cannot export '{0}'. Only local declarations can be exported from a module."},Cannot_find_name_0_Did_you_mean_the_static_member_1_0:{code:2662,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662",message:"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"},Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:{code:2663,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663",message:"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"},Invalid_module_name_in_augmentation_module_0_cannot_be_found:{code:2664,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664",message:"Invalid module name in augmentation, module '{0}' cannot be found."},Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:{code:2665,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665",message:"Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."},Exports_and_export_assignments_are_not_permitted_in_module_augmentations:{code:2666,category:e.DiagnosticCategory.Error,key:"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666",message:"Exports and export assignments are not permitted in module augmentations."},Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:{code:2667,category:e.DiagnosticCategory.Error,key:"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667",message:"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."},export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:{code:2668,category:e.DiagnosticCategory.Error,key:"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668",message:"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."},Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:{code:2669,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669",message:"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."},Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:{code:2670,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670",message:"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."},Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:{code:2671,category:e.DiagnosticCategory.Error,key:"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671",message:"Cannot augment module '{0}' because it resolves to a non-module entity."},Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:{code:2672,category:e.DiagnosticCategory.Error,key:"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672",message:"Cannot assign a '{0}' constructor type to a '{1}' constructor type."},Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:{code:2673,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673",message:"Constructor of class '{0}' is private and only accessible within the class declaration."},Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:{code:2674,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674",message:"Constructor of class '{0}' is protected and only accessible within the class declaration."},Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:{code:2675,category:e.DiagnosticCategory.Error,key:"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675",message:"Cannot extend a class '{0}'. Class constructor is marked as private."},Accessors_must_both_be_abstract_or_non_abstract:{code:2676,category:e.DiagnosticCategory.Error,key:"Accessors_must_both_be_abstract_or_non_abstract_2676",message:"Accessors must both be abstract or non-abstract."},A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:{code:2677,category:e.DiagnosticCategory.Error,key:"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677",message:"A type predicate's type must be assignable to its parameter's type."},Type_0_is_not_comparable_to_type_1:{code:2678,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_comparable_to_type_1_2678",message:"Type '{0}' is not comparable to type '{1}'."},A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:{code:2679,category:e.DiagnosticCategory.Error,key:"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679",message:"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."},A_this_parameter_must_be_the_first_parameter:{code:2680,category:e.DiagnosticCategory.Error,key:"A_this_parameter_must_be_the_first_parameter_2680",message:"A 'this' parameter must be the first parameter."},A_constructor_cannot_have_a_this_parameter:{code:2681,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_have_a_this_parameter_2681",message:"A constructor cannot have a 'this' parameter."},get_and_set_accessor_must_have_the_same_this_type:{code:2682,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_this_type_2682",message:"'get' and 'set' accessor must have the same 'this' type."},this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:{code:2683,category:e.DiagnosticCategory.Error,key:"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683",message:"'this' implicitly has type 'any' because it does not have a type annotation."},The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:{code:2684,category:e.DiagnosticCategory.Error,key:"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684",message:"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."},The_this_types_of_each_signature_are_incompatible:{code:2685,category:e.DiagnosticCategory.Error,key:"The_this_types_of_each_signature_are_incompatible_2685",message:"The 'this' types of each signature are incompatible."},_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:{code:2686,category:e.DiagnosticCategory.Error,key:"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686",message:"'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."},All_declarations_of_0_must_have_identical_modifiers:{code:2687,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_modifiers_2687",message:"All declarations of '{0}' must have identical modifiers."},Cannot_find_type_definition_file_for_0:{code:2688,category:e.DiagnosticCategory.Error,key:"Cannot_find_type_definition_file_for_0_2688",message:"Cannot find type definition file for '{0}'."},Cannot_extend_an_interface_0_Did_you_mean_implements:{code:2689,category:e.DiagnosticCategory.Error,key:"Cannot_extend_an_interface_0_Did_you_mean_implements_2689",message:"Cannot extend an interface '{0}'. Did you mean 'implements'?"},An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:{code:2691,category:e.DiagnosticCategory.Error,key:"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691",message:"An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."},_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:{code:2692,category:e.DiagnosticCategory.Error,key:"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692",message:"'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."},_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:{code:2693,category:e.DiagnosticCategory.Error,key:"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693",message:"'{0}' only refers to a type, but is being used as a value here."},Namespace_0_has_no_exported_member_1:{code:2694,category:e.DiagnosticCategory.Error,key:"Namespace_0_has_no_exported_member_1_2694",message:"Namespace '{0}' has no exported member '{1}'."},Left_side_of_comma_operator_is_unused_and_has_no_side_effects:{code:2695,category:e.DiagnosticCategory.Error,key:"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695",message:"Left side of comma operator is unused and has no side effects."},The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:{code:2696,category:e.DiagnosticCategory.Error,key:"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696",message:"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"},An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:{code:2697,category:e.DiagnosticCategory.Error,key:"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697",message:"An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."},Spread_types_may_only_be_created_from_object_types:{code:2698,category:e.DiagnosticCategory.Error,key:"Spread_types_may_only_be_created_from_object_types_2698",message:"Spread types may only be created from object types."},Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:{code:2699,category:e.DiagnosticCategory.Error,key:"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699",message:"Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."},Rest_types_may_only_be_created_from_object_types:{code:2700,category:e.DiagnosticCategory.Error,key:"Rest_types_may_only_be_created_from_object_types_2700",message:"Rest types may only be created from object types."},The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:{code:2701,category:e.DiagnosticCategory.Error,key:"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701",message:"The target of an object rest assignment must be a variable or a property access."},_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:{code:2702,category:e.DiagnosticCategory.Error,key:"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702",message:"'{0}' only refers to a type, but is being used as a namespace here."},The_operand_of_a_delete_operator_must_be_a_property_reference:{code:2703,category:e.DiagnosticCategory.Error,key:"The_operand_of_a_delete_operator_must_be_a_property_reference_2703",message:"The operand of a delete operator must be a property reference."},The_operand_of_a_delete_operator_cannot_be_a_read_only_property:{code:2704,category:e.DiagnosticCategory.Error,key:"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704",message:"The operand of a delete operator cannot be a read-only property."},An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:{code:2705,category:e.DiagnosticCategory.Error,key:"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705",message:"An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."},Required_type_parameters_may_not_follow_optional_type_parameters:{code:2706,category:e.DiagnosticCategory.Error,key:"Required_type_parameters_may_not_follow_optional_type_parameters_2706",message:"Required type parameters may not follow optional type parameters."},Generic_type_0_requires_between_1_and_2_type_arguments:{code:2707,category:e.DiagnosticCategory.Error,key:"Generic_type_0_requires_between_1_and_2_type_arguments_2707",message:"Generic type '{0}' requires between {1} and {2} type arguments."},Cannot_use_namespace_0_as_a_value:{code:2708,category:e.DiagnosticCategory.Error,key:"Cannot_use_namespace_0_as_a_value_2708",message:"Cannot use namespace '{0}' as a value."},Cannot_use_namespace_0_as_a_type:{code:2709,category:e.DiagnosticCategory.Error,key:"Cannot_use_namespace_0_as_a_type_2709",message:"Cannot use namespace '{0}' as a type."},_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:{code:2710,category:e.DiagnosticCategory.Error,key:"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710",message:"'{0}' are specified twice. The attribute named '{0}' will be overwritten."},Import_declaration_0_is_using_private_name_1:{code:4e3,category:e.DiagnosticCategory.Error,key:"Import_declaration_0_is_using_private_name_1_4000",message:"Import declaration '{0}' is using private name '{1}'."},Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:{code:4002,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002",message:"Type parameter '{0}' of exported class has or is using private name '{1}'."},Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:{code:4004,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004",message:"Type parameter '{0}' of exported interface has or is using private name '{1}'."},Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4006,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006",message:"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4008,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008",message:"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4010,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010",message:"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4012,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012",message:"Type parameter '{0}' of public method from exported class has or is using private name '{1}'."},Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4014,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014",message:"Type parameter '{0}' of method from exported interface has or is using private name '{1}'."},Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4016,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016",message:"Type parameter '{0}' of exported function has or is using private name '{1}'."},Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4019,category:e.DiagnosticCategory.Error,key:"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019",message:"Implements clause of exported class '{0}' has or is using private name '{1}'."},extends_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4020,category:e.DiagnosticCategory.Error,key:"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020",message:"'extends' clause of exported class '{0}' has or is using private name '{1}'."},extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:{code:4022,category:e.DiagnosticCategory.Error,key:"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022",message:"'extends' clause of exported interface '{0}' has or is using private name '{1}'."},Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4023,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023",message:"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."},Exported_variable_0_has_or_is_using_name_1_from_private_module_2:{code:4024,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024",message:"Exported variable '{0}' has or is using name '{1}' from private module '{2}'."},Exported_variable_0_has_or_is_using_private_name_1:{code:4025,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_private_name_1_4025",message:"Exported variable '{0}' has or is using private name '{1}'."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4026,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026",message:"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4027,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027",message:"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4028,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028",message:"Public static property '{0}' of exported class has or is using private name '{1}'."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4029,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029",message:"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4030,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030",message:"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4031,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031",message:"Public property '{0}' of exported class has or is using private name '{1}'."},Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4032,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032",message:"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."},Property_0_of_exported_interface_has_or_is_using_private_name_1:{code:4033,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033",message:"Property '{0}' of exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4034,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_4034",message:"Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4035,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1_4035",message:"Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4036,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_4036",message:"Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4037,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1_4037",message:"Parameter '{0}' of public property setter from exported class has or is using private name '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4038,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_externa_4038",message:"Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4039,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_4039",message:"Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4040,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0_4040",message:"Return type of public static property getter from exported class has or is using private name '{0}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4041,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_modul_4041",message:"Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4042,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_4042",message:"Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4043,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0_4043",message:"Return type of public property getter from exported class has or is using private name '{0}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4044,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044",message:"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4045,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045",message:"Return type of constructor signature from exported interface has or is using private name '{0}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4046,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046",message:"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4047,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047",message:"Return type of call signature from exported interface has or is using private name '{0}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4048,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048",message:"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4049,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049",message:"Return type of index signature from exported interface has or is using private name '{0}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4050,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050",message:"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4051,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051",message:"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:{code:4052,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052",message:"Return type of public static method from exported class has or is using private name '{0}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4053,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053",message:"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4054,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054",message:"Return type of public method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:{code:4055,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055",message:"Return type of public method from exported class has or is using private name '{0}'."},Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4056,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056",message:"Return type of method from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:{code:4057,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057",message:"Return type of method from exported interface has or is using private name '{0}'."},Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4058,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058",message:"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:{code:4059,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059",message:"Return type of exported function has or is using name '{0}' from private module '{1}'."},Return_type_of_exported_function_has_or_is_using_private_name_0:{code:4060,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_private_name_0_4060",message:"Return type of exported function has or is using private name '{0}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4061,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4062,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:{code:4063,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063",message:"Parameter '{0}' of constructor from exported class has or is using private name '{1}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4064,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064",message:"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4065,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065",message:"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4066,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066",message:"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4067,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067",message:"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4068,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4069,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4070,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070",message:"Parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4071,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4072,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4073,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073",message:"Parameter '{0}' of public method from exported class has or is using private name '{1}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4074,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074",message:"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4075,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075",message:"Parameter '{0}' of method from exported interface has or is using private name '{1}'."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4076,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076",message:"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:{code:4077,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077",message:"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."},Parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4078,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078",message:"Parameter '{0}' of exported function has or is using private name '{1}'."},Exported_type_alias_0_has_or_is_using_private_name_1:{code:4081,category:e.DiagnosticCategory.Error,key:"Exported_type_alias_0_has_or_is_using_private_name_1_4081",message:"Exported type alias '{0}' has or is using private name '{1}'."},Default_export_of_the_module_has_or_is_using_private_name_0:{code:4082,category:e.DiagnosticCategory.Error,key:"Default_export_of_the_module_has_or_is_using_private_name_0_4082",message:"Default export of the module has or is using private name '{0}'."},Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:{code:4083,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083",message:"Type parameter '{0}' of exported type alias has or is using private name '{1}'."},Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:{code:4090,category:e.DiagnosticCategory.Message,key:"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090",message:"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."},Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4091,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091",message:"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4092,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092",message:"Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."},extends_clause_of_exported_class_0_refers_to_a_type_whose_name_cannot_be_referenced:{code:4093,category:e.DiagnosticCategory.Error,key:"extends_clause_of_exported_class_0_refers_to_a_type_whose_name_cannot_be_referenced_4093",message:"'extends' clause of exported class '{0}' refers to a type whose name cannot be referenced."},The_current_host_does_not_support_the_0_option:{code:5001,category:e.DiagnosticCategory.Error,key:"The_current_host_does_not_support_the_0_option_5001",message:"The current host does not support the '{0}' option."},Cannot_find_the_common_subdirectory_path_for_the_input_files:{code:5009,category:e.DiagnosticCategory.Error,key:"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009",message:"Cannot find the common subdirectory path for the input files."},File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5010,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010",message:"File specification cannot end in a recursive directory wildcard ('**'): '{0}'."},File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0:{code:5011,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0_5011",message:"File specification cannot contain multiple recursive directory wildcards ('**'): '{0}'."},Cannot_read_file_0_Colon_1:{code:5012,category:e.DiagnosticCategory.Error,key:"Cannot_read_file_0_Colon_1_5012",message:"Cannot read file '{0}': {1}."},Failed_to_parse_file_0_Colon_1:{code:5014,category:e.DiagnosticCategory.Error,key:"Failed_to_parse_file_0_Colon_1_5014",message:"Failed to parse file '{0}': {1}."},Unknown_compiler_option_0:{code:5023,category:e.DiagnosticCategory.Error,key:"Unknown_compiler_option_0_5023",message:"Unknown compiler option '{0}'."},Compiler_option_0_requires_a_value_of_type_1:{code:5024,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_requires_a_value_of_type_1_5024",message:"Compiler option '{0}' requires a value of type {1}."},Could_not_write_file_0_Colon_1:{code:5033,category:e.DiagnosticCategory.Error,key:"Could_not_write_file_0_Colon_1_5033",message:"Could not write file '{0}': {1}."},Option_project_cannot_be_mixed_with_source_files_on_a_command_line:{code:5042,category:e.DiagnosticCategory.Error,key:"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042",message:"Option 'project' cannot be mixed with source files on a command line."},Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:{code:5047,category:e.DiagnosticCategory.Error,key:"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047",message:"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."},Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:{code:5051,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051",message:"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."},Option_0_cannot_be_specified_without_specifying_option_1:{code:5052,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_without_specifying_option_1_5052",message:"Option '{0}' cannot be specified without specifying option '{1}'."},Option_0_cannot_be_specified_with_option_1:{code:5053,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_with_option_1_5053",message:"Option '{0}' cannot be specified with option '{1}'."},A_tsconfig_json_file_is_already_defined_at_Colon_0:{code:5054,category:e.DiagnosticCategory.Error,key:"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054",message:"A 'tsconfig.json' file is already defined at: '{0}'."},Cannot_write_file_0_because_it_would_overwrite_input_file:{code:5055,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_overwrite_input_file_5055",message:"Cannot write file '{0}' because it would overwrite input file."},Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:{code:5056,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056",message:"Cannot write file '{0}' because it would be overwritten by multiple input files."},Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:{code:5057,category:e.DiagnosticCategory.Error,key:"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057",message:"Cannot find a tsconfig.json file at the specified directory: '{0}'."},The_specified_path_does_not_exist_Colon_0:{code:5058,category:e.DiagnosticCategory.Error,key:"The_specified_path_does_not_exist_Colon_0_5058",message:"The specified path does not exist: '{0}'."},Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:{code:5059,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059",message:"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."},Option_paths_cannot_be_used_without_specifying_baseUrl_option:{code:5060,category:e.DiagnosticCategory.Error,key:"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060",message:"Option 'paths' cannot be used without specifying '--baseUrl' option."},Pattern_0_can_have_at_most_one_Asterisk_character:{code:5061,category:e.DiagnosticCategory.Error,key:"Pattern_0_can_have_at_most_one_Asterisk_character_5061",message:"Pattern '{0}' can have at most one '*' character."},Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:{code:5062,category:e.DiagnosticCategory.Error,key:"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062",message:"Substitution '{0}' in pattern '{1}' in can have at most one '*' character."},Substitutions_for_pattern_0_should_be_an_array:{code:5063,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_should_be_an_array_5063",message:"Substitutions for pattern '{0}' should be an array."},Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:{code:5064,category:e.DiagnosticCategory.Error,key:"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064",message:"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."},File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5065,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065",message:"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."},Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:{code:5066,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066",message:"Substitutions for pattern '{0}' shouldn't be an empty array."},Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:{code:5067,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067",message:"Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."},Concatenate_and_emit_output_to_single_file:{code:6001,category:e.DiagnosticCategory.Message,key:"Concatenate_and_emit_output_to_single_file_6001",message:"Concatenate and emit output to single file."},Generates_corresponding_d_ts_file:{code:6002,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_d_ts_file_6002",message:"Generates corresponding '.d.ts' file."},Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:{code:6003,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003",message:"Specify the location where debugger should locate map files instead of generated locations."},Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:{code:6004,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004",message:"Specify the location where debugger should locate TypeScript files instead of source locations."},Watch_input_files:{code:6005,category:e.DiagnosticCategory.Message,key:"Watch_input_files_6005",message:"Watch input files."},Redirect_output_structure_to_the_directory:{code:6006,category:e.DiagnosticCategory.Message,key:"Redirect_output_structure_to_the_directory_6006",message:"Redirect output structure to the directory."},Do_not_erase_const_enum_declarations_in_generated_code:{code:6007,category:e.DiagnosticCategory.Message,key:"Do_not_erase_const_enum_declarations_in_generated_code_6007",message:"Do not erase const enum declarations in generated code."},Do_not_emit_outputs_if_any_errors_were_reported:{code:6008,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_if_any_errors_were_reported_6008",message:"Do not emit outputs if any errors were reported."},Do_not_emit_comments_to_output:{code:6009,category:e.DiagnosticCategory.Message,key:"Do_not_emit_comments_to_output_6009",message:"Do not emit comments to output."},Do_not_emit_outputs:{code:6010,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_6010",message:"Do not emit outputs."},Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:{code:6011,category:e.DiagnosticCategory.Message,key:"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011",message:"Allow default imports from modules with no default export. This does not affect code emit, just typechecking."},Skip_type_checking_of_declaration_files:{code:6012,category:e.DiagnosticCategory.Message,key:"Skip_type_checking_of_declaration_files_6012",message:"Skip type checking of declaration files."},Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT:{code:6015,category:e.DiagnosticCategory.Message,key:"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT_6015",message:"Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'."},Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015:{code:6016,category:e.DiagnosticCategory.Message,key:"Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015_6016",message:"Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'."},Print_this_message:{code:6017,category:e.DiagnosticCategory.Message,key:"Print_this_message_6017",message:"Print this message."},Print_the_compiler_s_version:{code:6019,category:e.DiagnosticCategory.Message,key:"Print_the_compiler_s_version_6019",message:"Print the compiler's version."},Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:{code:6020,category:e.DiagnosticCategory.Message,key:"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020",message:"Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."},Syntax_Colon_0:{code:6023,category:e.DiagnosticCategory.Message,key:"Syntax_Colon_0_6023",message:"Syntax: {0}"},options:{code:6024,category:e.DiagnosticCategory.Message,key:"options_6024",message:"options"},file:{code:6025,category:e.DiagnosticCategory.Message,key:"file_6025",message:"file"},Examples_Colon_0:{code:6026,category:e.DiagnosticCategory.Message,key:"Examples_Colon_0_6026",message:"Examples: {0}"},Options_Colon:{code:6027,category:e.DiagnosticCategory.Message,key:"Options_Colon_6027",message:"Options:"},Version_0:{code:6029,category:e.DiagnosticCategory.Message,key:"Version_0_6029",message:"Version {0}"},Insert_command_line_options_and_files_from_a_file:{code:6030,category:e.DiagnosticCategory.Message,key:"Insert_command_line_options_and_files_from_a_file_6030",message:"Insert command line options and files from a file."},File_change_detected_Starting_incremental_compilation:{code:6032,category:e.DiagnosticCategory.Message,key:"File_change_detected_Starting_incremental_compilation_6032",message:"File change detected. Starting incremental compilation..."},KIND:{code:6034,category:e.DiagnosticCategory.Message,key:"KIND_6034",message:"KIND"},FILE:{code:6035,category:e.DiagnosticCategory.Message,key:"FILE_6035",message:"FILE"},VERSION:{code:6036,category:e.DiagnosticCategory.Message,key:"VERSION_6036",message:"VERSION"},LOCATION:{code:6037,category:e.DiagnosticCategory.Message,key:"LOCATION_6037",message:"LOCATION"},DIRECTORY:{code:6038,category:e.DiagnosticCategory.Message,key:"DIRECTORY_6038",message:"DIRECTORY"},STRATEGY:{code:6039,category:e.DiagnosticCategory.Message,key:"STRATEGY_6039",message:"STRATEGY"},FILE_OR_DIRECTORY:{code:6040,category:e.DiagnosticCategory.Message,key:"FILE_OR_DIRECTORY_6040",message:"FILE OR DIRECTORY"},Compilation_complete_Watching_for_file_changes:{code:6042,category:e.DiagnosticCategory.Message,key:"Compilation_complete_Watching_for_file_changes_6042",message:"Compilation complete. Watching for file changes."},Generates_corresponding_map_file:{code:6043,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_map_file_6043",message:"Generates corresponding '.map' file."},Compiler_option_0_expects_an_argument:{code:6044,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_expects_an_argument_6044",message:"Compiler option '{0}' expects an argument."},Unterminated_quoted_string_in_response_file_0:{code:6045,category:e.DiagnosticCategory.Error,key:"Unterminated_quoted_string_in_response_file_0_6045",message:"Unterminated quoted string in response file '{0}'."},Argument_for_0_option_must_be_Colon_1:{code:6046,category:e.DiagnosticCategory.Error,key:"Argument_for_0_option_must_be_Colon_1_6046",message:"Argument for '{0}' option must be: {1}."},Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:{code:6048,category:e.DiagnosticCategory.Error,key:"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048",message:"Locale must be of the form or -. For example '{0}' or '{1}'."},Unsupported_locale_0:{code:6049,category:e.DiagnosticCategory.Error,key:"Unsupported_locale_0_6049",message:"Unsupported locale '{0}'."},Unable_to_open_file_0:{code:6050,category:e.DiagnosticCategory.Error,key:"Unable_to_open_file_0_6050",message:"Unable to open file '{0}'."},Corrupted_locale_file_0:{code:6051,category:e.DiagnosticCategory.Error,key:"Corrupted_locale_file_0_6051",message:"Corrupted locale file {0}."},Raise_error_on_expressions_and_declarations_with_an_implied_any_type:{code:6052,category:e.DiagnosticCategory.Message,key:"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052",message:"Raise error on expressions and declarations with an implied 'any' type."},File_0_not_found:{code:6053,category:e.DiagnosticCategory.Error,key:"File_0_not_found_6053",message:"File '{0}' not found."},File_0_has_unsupported_extension_The_only_supported_extensions_are_1:{code:6054,category:e.DiagnosticCategory.Error,key:"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054",message:"File '{0}' has unsupported extension. The only supported extensions are {1}."},Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:{code:6055,category:e.DiagnosticCategory.Message,key:"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055",message:"Suppress noImplicitAny errors for indexing objects lacking index signatures."},Do_not_emit_declarations_for_code_that_has_an_internal_annotation:{code:6056,category:e.DiagnosticCategory.Message,key:"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056",message:"Do not emit declarations for code that has an '@internal' annotation."},Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:{code:6058,category:e.DiagnosticCategory.Message,key:"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058",message:"Specify the root directory of input files. Use to control the output directory structure with --outDir."},File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:{code:6059,category:e.DiagnosticCategory.Error,key:"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059",message:"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."},Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:{code:6060,category:e.DiagnosticCategory.Message,key:"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060",message:"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."},NEWLINE:{code:6061,category:e.DiagnosticCategory.Message,key:"NEWLINE_6061",message:"NEWLINE"},Option_0_can_only_be_specified_in_tsconfig_json_file:{code:6064,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_specified_in_tsconfig_json_file_6064",message:"Option '{0}' can only be specified in 'tsconfig.json' file."},Enables_experimental_support_for_ES7_decorators:{code:6065,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_decorators_6065",message:"Enables experimental support for ES7 decorators."},Enables_experimental_support_for_emitting_type_metadata_for_decorators:{code:6066,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066",message:"Enables experimental support for emitting type metadata for decorators."},Enables_experimental_support_for_ES7_async_functions:{code:6068,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_async_functions_6068",message:"Enables experimental support for ES7 async functions."},Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:{code:6069,category:e.DiagnosticCategory.Message,key:"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069",message:"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."},Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:{code:6070,category:e.DiagnosticCategory.Message,key:"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070",message:"Initializes a TypeScript project and creates a tsconfig.json file."},Successfully_created_a_tsconfig_json_file:{code:6071,category:e.DiagnosticCategory.Message,key:"Successfully_created_a_tsconfig_json_file_6071",message:"Successfully created a tsconfig.json file."},Suppress_excess_property_checks_for_object_literals:{code:6072,category:e.DiagnosticCategory.Message,key:"Suppress_excess_property_checks_for_object_literals_6072",message:"Suppress excess property checks for object literals."},Stylize_errors_and_messages_using_color_and_context_experimental:{code:6073,category:e.DiagnosticCategory.Message,key:"Stylize_errors_and_messages_using_color_and_context_experimental_6073",message:"Stylize errors and messages using color and context (experimental)."},Do_not_report_errors_on_unused_labels:{code:6074,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unused_labels_6074",message:"Do not report errors on unused labels."},Report_error_when_not_all_code_paths_in_function_return_a_value:{code:6075,category:e.DiagnosticCategory.Message,key:"Report_error_when_not_all_code_paths_in_function_return_a_value_6075",message:"Report error when not all code paths in function return a value."},Report_errors_for_fallthrough_cases_in_switch_statement:{code:6076,category:e.DiagnosticCategory.Message,key:"Report_errors_for_fallthrough_cases_in_switch_statement_6076",message:"Report errors for fallthrough cases in switch statement."},Do_not_report_errors_on_unreachable_code:{code:6077,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unreachable_code_6077",message:"Do not report errors on unreachable code."},Disallow_inconsistently_cased_references_to_the_same_file:{code:6078,category:e.DiagnosticCategory.Message,key:"Disallow_inconsistently_cased_references_to_the_same_file_6078",message:"Disallow inconsistently-cased references to the same file."},Specify_library_files_to_be_included_in_the_compilation_Colon:{code:6079,category:e.DiagnosticCategory.Message,key:"Specify_library_files_to_be_included_in_the_compilation_Colon_6079",message:"Specify library files to be included in the compilation: "},Specify_JSX_code_generation_Colon_preserve_react_native_or_react:{code:6080,category:e.DiagnosticCategory.Message,key:"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080",message:"Specify JSX code generation: 'preserve', 'react-native', or 'react'."},File_0_has_an_unsupported_extension_so_skipping_it:{code:6081,category:e.DiagnosticCategory.Message,key:"File_0_has_an_unsupported_extension_so_skipping_it_6081",message:"File '{0}' has an unsupported extension, so skipping it."},Only_amd_and_system_modules_are_supported_alongside_0:{code:6082,category:e.DiagnosticCategory.Error,key:"Only_amd_and_system_modules_are_supported_alongside_0_6082",message:"Only 'amd' and 'system' modules are supported alongside --{0}."},Base_directory_to_resolve_non_absolute_module_names:{code:6083,category:e.DiagnosticCategory.Message,key:"Base_directory_to_resolve_non_absolute_module_names_6083",message:"Base directory to resolve non-absolute module names."},Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:{code:6084,category:e.DiagnosticCategory.Message,key:"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084",message:"[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"},Enable_tracing_of_the_name_resolution_process:{code:6085,category:e.DiagnosticCategory.Message,key:"Enable_tracing_of_the_name_resolution_process_6085",message:"Enable tracing of the name resolution process."},Resolving_module_0_from_1:{code:6086,category:e.DiagnosticCategory.Message,key:"Resolving_module_0_from_1_6086",message:"======== Resolving module '{0}' from '{1}'. ========"},Explicitly_specified_module_resolution_kind_Colon_0:{code:6087,category:e.DiagnosticCategory.Message,key:"Explicitly_specified_module_resolution_kind_Colon_0_6087",message:"Explicitly specified module resolution kind: '{0}'."},Module_resolution_kind_is_not_specified_using_0:{code:6088,category:e.DiagnosticCategory.Message,key:"Module_resolution_kind_is_not_specified_using_0_6088",message:"Module resolution kind is not specified, using '{0}'."},Module_name_0_was_successfully_resolved_to_1:{code:6089,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_successfully_resolved_to_1_6089",message:"======== Module name '{0}' was successfully resolved to '{1}'. ========"},Module_name_0_was_not_resolved:{code:6090,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_not_resolved_6090",message:"======== Module name '{0}' was not resolved. ========"},paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:{code:6091,category:e.DiagnosticCategory.Message,key:"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091",message:"'paths' option is specified, looking for a pattern to match module name '{0}'."},Module_name_0_matched_pattern_1:{code:6092,category:e.DiagnosticCategory.Message,key:"Module_name_0_matched_pattern_1_6092",message:"Module name '{0}', matched pattern '{1}'."},Trying_substitution_0_candidate_module_location_Colon_1:{code:6093,category:e.DiagnosticCategory.Message,key:"Trying_substitution_0_candidate_module_location_Colon_1_6093",message:"Trying substitution '{0}', candidate module location: '{1}'."},Resolving_module_name_0_relative_to_base_url_1_2:{code:6094,category:e.DiagnosticCategory.Message,key:"Resolving_module_name_0_relative_to_base_url_1_2_6094",message:"Resolving module name '{0}' relative to base url '{1}' - '{2}'."},Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:{code:6095,category:e.DiagnosticCategory.Message,key:"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095",message:"Loading module as file / folder, candidate module location '{0}', target file type '{1}'."},File_0_does_not_exist:{code:6096,category:e.DiagnosticCategory.Message,key:"File_0_does_not_exist_6096",message:"File '{0}' does not exist."},File_0_exist_use_it_as_a_name_resolution_result:{code:6097,category:e.DiagnosticCategory.Message,key:"File_0_exist_use_it_as_a_name_resolution_result_6097",message:"File '{0}' exist - use it as a name resolution result."},Loading_module_0_from_node_modules_folder_target_file_type_1:{code:6098,category:e.DiagnosticCategory.Message,key:"Loading_module_0_from_node_modules_folder_target_file_type_1_6098",message:"Loading module '{0}' from 'node_modules' folder, target file type '{1}'."},Found_package_json_at_0:{code:6099,category:e.DiagnosticCategory.Message,key:"Found_package_json_at_0_6099",message:"Found 'package.json' at '{0}'."},package_json_does_not_have_a_0_field:{code:6100,category:e.DiagnosticCategory.Message,key:"package_json_does_not_have_a_0_field_6100",message:"'package.json' does not have a '{0}' field."},package_json_has_0_field_1_that_references_2:{code:6101,category:e.DiagnosticCategory.Message,key:"package_json_has_0_field_1_that_references_2_6101",message:"'package.json' has '{0}' field '{1}' that references '{2}'."},Allow_javascript_files_to_be_compiled:{code:6102,category:e.DiagnosticCategory.Message,key:"Allow_javascript_files_to_be_compiled_6102",message:"Allow javascript files to be compiled."},Option_0_should_have_array_of_strings_as_a_value:{code:6103,category:e.DiagnosticCategory.Error,key:"Option_0_should_have_array_of_strings_as_a_value_6103",message:"Option '{0}' should have array of strings as a value."},Checking_if_0_is_the_longest_matching_prefix_for_1_2:{code:6104,category:e.DiagnosticCategory.Message,key:"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104",message:"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."},Expected_type_of_0_field_in_package_json_to_be_string_got_1:{code:6105,category:e.DiagnosticCategory.Message,key:"Expected_type_of_0_field_in_package_json_to_be_string_got_1_6105",message:"Expected type of '{0}' field in 'package.json' to be 'string', got '{1}'."},baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:{code:6106,category:e.DiagnosticCategory.Message,key:"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106",message:"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."},rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:{code:6107,category:e.DiagnosticCategory.Message,key:"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107",message:"'rootDirs' option is set, using it to resolve relative module name '{0}'."},Longest_matching_prefix_for_0_is_1:{code:6108,category:e.DiagnosticCategory.Message,key:"Longest_matching_prefix_for_0_is_1_6108",message:"Longest matching prefix for '{0}' is '{1}'."},Loading_0_from_the_root_dir_1_candidate_location_2:{code:6109,category:e.DiagnosticCategory.Message,key:"Loading_0_from_the_root_dir_1_candidate_location_2_6109",message:"Loading '{0}' from the root dir '{1}', candidate location '{2}'."},Trying_other_entries_in_rootDirs:{code:6110,category:e.DiagnosticCategory.Message,key:"Trying_other_entries_in_rootDirs_6110",message:"Trying other entries in 'rootDirs'."},Module_resolution_using_rootDirs_has_failed:{code:6111,category:e.DiagnosticCategory.Message,key:"Module_resolution_using_rootDirs_has_failed_6111",message:"Module resolution using 'rootDirs' has failed."},Do_not_emit_use_strict_directives_in_module_output:{code:6112,category:e.DiagnosticCategory.Message,key:"Do_not_emit_use_strict_directives_in_module_output_6112",message:"Do not emit 'use strict' directives in module output."},Enable_strict_null_checks:{code:6113,category:e.DiagnosticCategory.Message,key:"Enable_strict_null_checks_6113",message:"Enable strict null checks."},Unknown_option_excludes_Did_you_mean_exclude:{code:6114,category:e.DiagnosticCategory.Error,key:"Unknown_option_excludes_Did_you_mean_exclude_6114",message:"Unknown option 'excludes'. Did you mean 'exclude'?"},Raise_error_on_this_expressions_with_an_implied_any_type:{code:6115,category:e.DiagnosticCategory.Message,key:"Raise_error_on_this_expressions_with_an_implied_any_type_6115",message:"Raise error on 'this' expressions with an implied 'any' type."},Resolving_type_reference_directive_0_containing_file_1_root_directory_2:{code:6116,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"},Resolving_using_primary_search_paths:{code:6117,category:e.DiagnosticCategory.Message,key:"Resolving_using_primary_search_paths_6117",message:"Resolving using primary search paths..."},Resolving_from_node_modules_folder:{code:6118,category:e.DiagnosticCategory.Message,key:"Resolving_from_node_modules_folder_6118",message:"Resolving from node_modules folder..."},Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:{code:6119,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119",message:"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"},Type_reference_directive_0_was_not_resolved:{code:6120,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_not_resolved_6120",message:"======== Type reference directive '{0}' was not resolved. ========"},Resolving_with_primary_search_path_0:{code:6121,category:e.DiagnosticCategory.Message,key:"Resolving_with_primary_search_path_0_6121",message:"Resolving with primary search path '{0}'."},Root_directory_cannot_be_determined_skipping_primary_search_paths:{code:6122,category:e.DiagnosticCategory.Message,key:"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122",message:"Root directory cannot be determined, skipping primary search paths."},Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:{code:6123,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"},Type_declaration_files_to_be_included_in_compilation:{code:6124,category:e.DiagnosticCategory.Message,key:"Type_declaration_files_to_be_included_in_compilation_6124",message:"Type declaration files to be included in compilation."},Looking_up_in_node_modules_folder_initial_location_0:{code:6125,category:e.DiagnosticCategory.Message,key:"Looking_up_in_node_modules_folder_initial_location_0_6125",message:"Looking up in 'node_modules' folder, initial location '{0}'."},Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:{code:6126,category:e.DiagnosticCategory.Message,key:"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126",message:"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:{code:6127,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127",message:"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:{code:6128,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128",message:"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"},The_config_file_0_found_doesn_t_contain_any_source_files:{code:6129,category:e.DiagnosticCategory.Error,key:"The_config_file_0_found_doesn_t_contain_any_source_files_6129",message:"The config file '{0}' found doesn't contain any source files."},Resolving_real_path_for_0_result_1:{code:6130,category:e.DiagnosticCategory.Message,key:"Resolving_real_path_for_0_result_1_6130",message:"Resolving real path for '{0}', result '{1}'."},Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:{code:6131,category:e.DiagnosticCategory.Error,key:"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131",message:"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."},File_name_0_has_a_1_extension_stripping_it:{code:6132,category:e.DiagnosticCategory.Message,key:"File_name_0_has_a_1_extension_stripping_it_6132",message:"File name '{0}' has a '{1}' extension - stripping it."},_0_is_declared_but_never_used:{code:6133,category:e.DiagnosticCategory.Error,key:"_0_is_declared_but_never_used_6133",message:"'{0}' is declared but never used."},Report_errors_on_unused_locals:{code:6134,category:e.DiagnosticCategory.Message,key:"Report_errors_on_unused_locals_6134",message:"Report errors on unused locals."},Report_errors_on_unused_parameters:{code:6135,category:e.DiagnosticCategory.Message,key:"Report_errors_on_unused_parameters_6135",message:"Report errors on unused parameters."},The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:{code:6136,category:e.DiagnosticCategory.Message,key:"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136",message:"The maximum dependency depth to search under node_modules and load JavaScript files."},Property_0_is_declared_but_never_used:{code:6138,category:e.DiagnosticCategory.Error,key:"Property_0_is_declared_but_never_used_6138",message:"Property '{0}' is declared but never used."},Import_emit_helpers_from_tslib:{code:6139,category:e.DiagnosticCategory.Message,key:"Import_emit_helpers_from_tslib_6139",message:"Import emit helpers from 'tslib'."},Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:{code:6140,category:e.DiagnosticCategory.Error,key:"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140",message:"Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."},Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:{code:6141,category:e.DiagnosticCategory.Message,key:"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",message:'Parse in strict mode and emit "use strict" for each source file.'},Module_0_was_resolved_to_1_but_jsx_is_not_set:{code:6142,category:e.DiagnosticCategory.Error,key:"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142",message:"Module '{0}' was resolved to '{1}', but '--jsx' is not set."},Module_0_was_resolved_to_1_but_allowJs_is_not_set:{code:6143,category:e.DiagnosticCategory.Error,key:"Module_0_was_resolved_to_1_but_allowJs_is_not_set_6143",message:"Module '{0}' was resolved to '{1}', but '--allowJs' is not set."},Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:{code:6144,category:e.DiagnosticCategory.Message,key:"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144",message:"Module '{0}' was resolved as locally declared ambient module in file '{1}'."},Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:{code:6145,category:e.DiagnosticCategory.Message,key:"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145",message:"Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."},Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:{code:6146,category:e.DiagnosticCategory.Message,key:"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146",message:"Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."},Resolution_for_module_0_was_found_in_cache:{code:6147,category:e.DiagnosticCategory.Message,key:"Resolution_for_module_0_was_found_in_cache_6147",message:"Resolution for module '{0}' was found in cache."},Directory_0_does_not_exist_skipping_all_lookups_in_it:{code:6148,category:e.DiagnosticCategory.Message,key:"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148",message:"Directory '{0}' does not exist, skipping all lookups in it."},Show_diagnostic_information:{code:6149,category:e.DiagnosticCategory.Message,key:"Show_diagnostic_information_6149",message:"Show diagnostic information."},Show_verbose_diagnostic_information:{code:6150,category:e.DiagnosticCategory.Message,key:"Show_verbose_diagnostic_information_6150",message:"Show verbose diagnostic information."},Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:{code:6151,category:e.DiagnosticCategory.Message,key:"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151",message:"Emit a single file with source maps instead of having a separate file."},Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:{code:6152,category:e.DiagnosticCategory.Message,key:"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152",message:"Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."},Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:{code:6153,category:e.DiagnosticCategory.Message,key:"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153",message:"Transpile each file as a separate module (similar to 'ts.transpileModule')."},Print_names_of_generated_files_part_of_the_compilation:{code:6154,category:e.DiagnosticCategory.Message,key:"Print_names_of_generated_files_part_of_the_compilation_6154",message:"Print names of generated files part of the compilation."},Print_names_of_files_part_of_the_compilation:{code:6155,category:e.DiagnosticCategory.Message,key:"Print_names_of_files_part_of_the_compilation_6155",message:"Print names of files part of the compilation."},The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:{code:6156,category:e.DiagnosticCategory.Message,key:"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156",message:"The locale used when displaying messages to the user (e.g. 'en-us')"},Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:{code:6157,category:e.DiagnosticCategory.Message,key:"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157",message:"Do not generate custom helper functions like '__extends' in compiled output."},Do_not_include_the_default_library_file_lib_d_ts:{code:6158,category:e.DiagnosticCategory.Message,key:"Do_not_include_the_default_library_file_lib_d_ts_6158",message:"Do not include the default library file (lib.d.ts)."},Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:{code:6159,category:e.DiagnosticCategory.Message,key:"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159",message:"Do not add triple-slash references or imported modules to the list of compiled files."},Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:{code:6160,category:e.DiagnosticCategory.Message,key:"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160",message:"[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."},List_of_folders_to_include_type_definitions_from:{code:6161,category:e.DiagnosticCategory.Message,key:"List_of_folders_to_include_type_definitions_from_6161",message:"List of folders to include type definitions from."},Disable_size_limitations_on_JavaScript_projects:{code:6162,category:e.DiagnosticCategory.Message,key:"Disable_size_limitations_on_JavaScript_projects_6162",message:"Disable size limitations on JavaScript projects."},The_character_set_of_the_input_files:{code:6163,category:e.DiagnosticCategory.Message,key:"The_character_set_of_the_input_files_6163",message:"The character set of the input files."},Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:{code:6164,category:e.DiagnosticCategory.Message,key:"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164",message:"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."},Do_not_truncate_error_messages:{code:6165,category:e.DiagnosticCategory.Message,key:"Do_not_truncate_error_messages_6165",message:"Do not truncate error messages."},Output_directory_for_generated_declaration_files:{code:6166,category:e.DiagnosticCategory.Message,key:"Output_directory_for_generated_declaration_files_6166",message:"Output directory for generated declaration files."},A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:{code:6167,category:e.DiagnosticCategory.Message,key:"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167",message:"A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."},List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:{code:6168,category:e.DiagnosticCategory.Message,key:"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168",message:"List of root folders whose combined content represents the structure of the project at runtime."},Show_all_compiler_options:{code:6169,category:e.DiagnosticCategory.Message,key:"Show_all_compiler_options_6169",message:"Show all compiler options."},Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:{code:6170,category:e.DiagnosticCategory.Message,key:"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170",message:"[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"},Command_line_Options:{code:6171,category:e.DiagnosticCategory.Message,key:"Command_line_Options_6171",message:"Command-line Options"},Basic_Options:{code:6172,category:e.DiagnosticCategory.Message,key:"Basic_Options_6172",message:"Basic Options"},Strict_Type_Checking_Options:{code:6173,category:e.DiagnosticCategory.Message,key:"Strict_Type_Checking_Options_6173",message:"Strict Type-Checking Options"},Module_Resolution_Options:{code:6174,category:e.DiagnosticCategory.Message,key:"Module_Resolution_Options_6174",message:"Module Resolution Options"},Source_Map_Options:{code:6175,category:e.DiagnosticCategory.Message,key:"Source_Map_Options_6175",message:"Source Map Options"},Additional_Checks:{code:6176,category:e.DiagnosticCategory.Message,key:"Additional_Checks_6176",message:"Additional Checks"},Experimental_Options:{code:6177,category:e.DiagnosticCategory.Message,key:"Experimental_Options_6177",message:"Experimental Options"},Advanced_Options:{code:6178,category:e.DiagnosticCategory.Message,key:"Advanced_Options_6178",message:"Advanced Options"},Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:{code:6179,category:e.DiagnosticCategory.Message,key:"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179",message:"Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."},Enable_all_strict_type_checking_options:{code:6180,category:e.DiagnosticCategory.Message,key:"Enable_all_strict_type_checking_options_6180",message:"Enable all strict type-checking options."},List_of_language_service_plugins:{code:6181,category:e.DiagnosticCategory.Message,key:"List_of_language_service_plugins_6181",message:"List of language service plugins."},Scoped_package_detected_looking_in_0:{code:6182,category:e.DiagnosticCategory.Message,key:"Scoped_package_detected_looking_in_0_6182",message:"Scoped package detected, looking in '{0}'"},Variable_0_implicitly_has_an_1_type:{code:7005,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_an_1_type_7005",message:"Variable '{0}' implicitly has an '{1}' type."},Parameter_0_implicitly_has_an_1_type:{code:7006,category:e.DiagnosticCategory.Error,key:"Parameter_0_implicitly_has_an_1_type_7006",message:"Parameter '{0}' implicitly has an '{1}' type."},Member_0_implicitly_has_an_1_type:{code:7008,category:e.DiagnosticCategory.Error,key:"Member_0_implicitly_has_an_1_type_7008",message:"Member '{0}' implicitly has an '{1}' type."},new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:{code:7009,category:e.DiagnosticCategory.Error,key:"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009",message:"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."},_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:{code:7010,category:e.DiagnosticCategory.Error,key:"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010",message:"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."},Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:{code:7011,category:e.DiagnosticCategory.Error,key:"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011",message:"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."},Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7013,category:e.DiagnosticCategory.Error,key:"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013",message:"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."},Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:{code:7015,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015",message:"Element implicitly has an 'any' type because index expression is not of type 'number'."},Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:{code:7016,category:e.DiagnosticCategory.Error,key:"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016",message:"Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."},Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:{code:7017,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017",message:"Element implicitly has an 'any' type because type '{0}' has no index signature."},Object_literal_s_property_0_implicitly_has_an_1_type:{code:7018,category:e.DiagnosticCategory.Error,key:"Object_literal_s_property_0_implicitly_has_an_1_type_7018",message:"Object literal's property '{0}' implicitly has an '{1}' type."},Rest_parameter_0_implicitly_has_an_any_type:{code:7019,category:e.DiagnosticCategory.Error,key:"Rest_parameter_0_implicitly_has_an_any_type_7019",message:"Rest parameter '{0}' implicitly has an 'any[]' type."},Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7020,category:e.DiagnosticCategory.Error,key:"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020",message:"Call signature, which lacks return-type annotation, implicitly has an 'any' return type."},_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:{code:7022,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022",message:"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."},_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7023,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023",message:"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7024,category:e.DiagnosticCategory.Error,key:"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024",message:"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:{code:7025,category:e.DiagnosticCategory.Error,key:"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025",message:"Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."},JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:{code:7026,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026",message:"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."},Unreachable_code_detected:{code:7027,category:e.DiagnosticCategory.Error,key:"Unreachable_code_detected_7027",message:"Unreachable code detected."},Unused_label:{code:7028,category:e.DiagnosticCategory.Error,key:"Unused_label_7028",message:"Unused label."},Fallthrough_case_in_switch:{code:7029,category:e.DiagnosticCategory.Error,key:"Fallthrough_case_in_switch_7029",message:"Fallthrough case in switch."},Not_all_code_paths_return_a_value:{code:7030,category:e.DiagnosticCategory.Error,key:"Not_all_code_paths_return_a_value_7030",message:"Not all code paths return a value."},Binding_element_0_implicitly_has_an_1_type:{code:7031,category:e.DiagnosticCategory.Error,key:"Binding_element_0_implicitly_has_an_1_type_7031",message:"Binding element '{0}' implicitly has an '{1}' type."},Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:{code:7032,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032",message:"Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."},Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:{code:7033,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033",message:"Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."},Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:{code:7034,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034",message:"Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."},You_cannot_rename_this_element:{code:8e3,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_this_element_8000",message:"You cannot rename this element."},You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:{code:8001,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001",message:"You cannot rename elements that are defined in the standard TypeScript library."},import_can_only_be_used_in_a_ts_file:{code:8002,category:e.DiagnosticCategory.Error,key:"import_can_only_be_used_in_a_ts_file_8002",message:"'import ... =' can only be used in a .ts file."},export_can_only_be_used_in_a_ts_file:{code:8003,category:e.DiagnosticCategory.Error,key:"export_can_only_be_used_in_a_ts_file_8003",message:"'export=' can only be used in a .ts file."},type_parameter_declarations_can_only_be_used_in_a_ts_file:{code:8004,category:e.DiagnosticCategory.Error,key:"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004",message:"'type parameter declarations' can only be used in a .ts file."},implements_clauses_can_only_be_used_in_a_ts_file:{code:8005,category:e.DiagnosticCategory.Error,key:"implements_clauses_can_only_be_used_in_a_ts_file_8005",message:"'implements clauses' can only be used in a .ts file."},interface_declarations_can_only_be_used_in_a_ts_file:{code:8006,category:e.DiagnosticCategory.Error,key:"interface_declarations_can_only_be_used_in_a_ts_file_8006",message:"'interface declarations' can only be used in a .ts file."},module_declarations_can_only_be_used_in_a_ts_file:{code:8007,category:e.DiagnosticCategory.Error,key:"module_declarations_can_only_be_used_in_a_ts_file_8007",message:"'module declarations' can only be used in a .ts file."},type_aliases_can_only_be_used_in_a_ts_file:{code:8008,category:e.DiagnosticCategory.Error,key:"type_aliases_can_only_be_used_in_a_ts_file_8008",message:"'type aliases' can only be used in a .ts file."},_0_can_only_be_used_in_a_ts_file:{code:8009,category:e.DiagnosticCategory.Error,key:"_0_can_only_be_used_in_a_ts_file_8009",message:"'{0}' can only be used in a .ts file."},types_can_only_be_used_in_a_ts_file:{code:8010,category:e.DiagnosticCategory.Error,key:"types_can_only_be_used_in_a_ts_file_8010",message:"'types' can only be used in a .ts file."},type_arguments_can_only_be_used_in_a_ts_file:{code:8011,category:e.DiagnosticCategory.Error,key:"type_arguments_can_only_be_used_in_a_ts_file_8011",message:"'type arguments' can only be used in a .ts file."},parameter_modifiers_can_only_be_used_in_a_ts_file:{code:8012,category:e.DiagnosticCategory.Error,key:"parameter_modifiers_can_only_be_used_in_a_ts_file_8012",message:"'parameter modifiers' can only be used in a .ts file."},enum_declarations_can_only_be_used_in_a_ts_file:{code:8015,category:e.DiagnosticCategory.Error,key:"enum_declarations_can_only_be_used_in_a_ts_file_8015",message:"'enum declarations' can only be used in a .ts file."},type_assertion_expressions_can_only_be_used_in_a_ts_file:{code:8016,category:e.DiagnosticCategory.Error,key:"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016",message:"'type assertion expressions' can only be used in a .ts file."},Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:{code:9002,category:e.DiagnosticCategory.Error,key:"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002",message:"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."},class_expressions_are_not_currently_supported:{code:9003,category:e.DiagnosticCategory.Error,key:"class_expressions_are_not_currently_supported_9003",message:"'class' expressions are not currently supported."},Language_service_is_disabled:{code:9004,category:e.DiagnosticCategory.Error,key:"Language_service_is_disabled_9004",message:"Language service is disabled."},JSX_attributes_must_only_be_assigned_a_non_empty_expression:{code:17e3,category:e.DiagnosticCategory.Error,key:"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000",message:"JSX attributes must only be assigned a non-empty 'expression'."},JSX_elements_cannot_have_multiple_attributes_with_the_same_name:{code:17001,category:e.DiagnosticCategory.Error,key:"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001",message:"JSX elements cannot have multiple attributes with the same name."},Expected_corresponding_JSX_closing_tag_for_0:{code:17002,category:e.DiagnosticCategory.Error,key:"Expected_corresponding_JSX_closing_tag_for_0_17002",message:"Expected corresponding JSX closing tag for '{0}'."},JSX_attribute_expected:{code:17003,category:e.DiagnosticCategory.Error,key:"JSX_attribute_expected_17003",message:"JSX attribute expected."},Cannot_use_JSX_unless_the_jsx_flag_is_provided:{code:17004,category:e.DiagnosticCategory.Error,key:"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004",message:"Cannot use JSX unless the '--jsx' flag is provided."},A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:{code:17005,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005",message:"A constructor cannot contain a 'super' call when its class extends 'null'."},An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17006,category:e.DiagnosticCategory.Error,key:"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006",message:"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17007,category:e.DiagnosticCategory.Error,key:"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007",message:"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},JSX_element_0_has_no_corresponding_closing_tag:{code:17008,category:e.DiagnosticCategory.Error,key:"JSX_element_0_has_no_corresponding_closing_tag_17008",message:"JSX element '{0}' has no corresponding closing tag."},super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:{code:17009,category:e.DiagnosticCategory.Error,key:"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009",message:"'super' must be called before accessing 'this' in the constructor of a derived class."},Unknown_type_acquisition_option_0:{code:17010,category:e.DiagnosticCategory.Error,key:"Unknown_type_acquisition_option_0_17010",message:"Unknown type acquisition option '{0}'."},super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:{code:17011,category:e.DiagnosticCategory.Error,key:"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011",message:"'super' must be called before accessing a property of 'super' in the constructor of a derived class."},_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:{code:17012,category:e.DiagnosticCategory.Error,key:"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012",message:"'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"},Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:{code:17013,category:e.DiagnosticCategory.Error,key:"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013",message:"Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."},Circularity_detected_while_resolving_configuration_Colon_0:{code:18e3,category:e.DiagnosticCategory.Error,key:"Circularity_detected_while_resolving_configuration_Colon_0_18000",message:"Circularity detected while resolving configuration: {0}"},A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:{code:18001,category:e.DiagnosticCategory.Error,key:"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001",message:"A path in an 'extends' option must be relative or rooted, but '{0}' is not."},The_files_list_in_config_file_0_is_empty:{code:18002,category:e.DiagnosticCategory.Error,key:"The_files_list_in_config_file_0_is_empty_18002",message:"The 'files' list in config file '{0}' is empty."},No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:{code:18003,category:e.DiagnosticCategory.Error,key:"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003",message:"No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."},Add_missing_super_call:{code:90001,category:e.DiagnosticCategory.Message,key:"Add_missing_super_call_90001",message:"Add missing 'super()' call."},Make_super_call_the_first_statement_in_the_constructor:{code:90002,category:e.DiagnosticCategory.Message,key:"Make_super_call_the_first_statement_in_the_constructor_90002",message:"Make 'super()' call the first statement in the constructor."},Change_extends_to_implements:{code:90003,category:e.DiagnosticCategory.Message,key:"Change_extends_to_implements_90003",message:"Change 'extends' to 'implements'."},Remove_declaration_for_Colon_0:{code:90004,category:e.DiagnosticCategory.Message,key:"Remove_declaration_for_Colon_0_90004",message:"Remove declaration for: '{0}'."},Implement_interface_0:{code:90006,category:e.DiagnosticCategory.Message,key:"Implement_interface_0_90006",message:"Implement interface '{0}'."},Implement_inherited_abstract_class:{code:90007,category:e.DiagnosticCategory.Message,key:"Implement_inherited_abstract_class_90007",message:"Implement inherited abstract class."},Add_this_to_unresolved_variable:{code:90008,category:e.DiagnosticCategory.Message,key:"Add_this_to_unresolved_variable_90008",message:"Add 'this.' to unresolved variable."},Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:{code:90009,category:e.DiagnosticCategory.Error,key:"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__90009",message:"Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."},Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:{code:90010,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_90010",message:"Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."},Import_0_from_1:{code:90013,category:e.DiagnosticCategory.Message,key:"Import_0_from_1_90013",message:"Import {0} from {1}."},Change_0_to_1:{code:90014,category:e.DiagnosticCategory.Message,key:"Change_0_to_1_90014",message:"Change {0} to {1}."},Add_0_to_existing_import_declaration_from_1:{code:90015,category:e.DiagnosticCategory.Message,key:"Add_0_to_existing_import_declaration_from_1_90015",message:"Add {0} to existing import declaration from {1}."},Add_declaration_for_missing_property_0:{code:90016,category:e.DiagnosticCategory.Message,key:"Add_declaration_for_missing_property_0_90016",message:"Add declaration for missing property '{0}'."},Add_index_signature_for_missing_property_0:{code:90017,category:e.DiagnosticCategory.Message,key:"Add_index_signature_for_missing_property_0_90017",message:"Add index signature for missing property '{0}'."},Disable_checking_for_this_file:{code:90018,category:e.DiagnosticCategory.Message,key:"Disable_checking_for_this_file_90018",message:"Disable checking for this file."},Ignore_this_error_message:{code:90019,category:e.DiagnosticCategory.Message,key:"Ignore_this_error_message_90019",message:"Ignore this error message."},Initialize_property_0_in_the_constructor:{code:90020,category:e.DiagnosticCategory.Message,key:"Initialize_property_0_in_the_constructor_90020",message:"Initialize property '{0}' in the constructor."},Initialize_static_property_0:{code:90021,category:e.DiagnosticCategory.Message,key:"Initialize_static_property_0_90021",message:"Initialize static property '{0}'."},Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:{code:8017,category:e.DiagnosticCategory.Error,key:"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017",message:"Octal literal types must use ES2015 syntax. Use the syntax '{0}'."},Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:{code:8018,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018",message:"Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."},Report_errors_in_js_files:{code:8019,category:e.DiagnosticCategory.Message,key:"Report_errors_in_js_files_8019",message:"Report errors in .js files."}};}(r||(r={}));!function(e){function t(e){return e>=71}function n(e,t){if(e=1?n(e,j):n(e,B)}function a(e,t){return t>=1?n(e,J):n(e,K)}function i(e){return z[e]}function o(e){return L.get(e)}function s(e){for(var t=new Array,n=0,r=0;n127&&m(a)&&(t.push(r),r=n);}}return t.push(r),t}function c(e,t,n){return u(l(e),t,n)}function u(t,n,r){return e.Debug.assert(n>=0&&n=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function m(e){return 10===e||13===e||8232===e||8233===e}function g(e){return e>=48&&e<=57}function y(e){return e>=48&&e<=55}function h(e,t){var n=e.charCodeAt(t);switch(n){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 61:case 62:return!0;case 35:return 0===t;default:return n>127}}function v(t,n,r,a){if(void 0===a&&(a=!1),e.positionIsSynthesized(n))return n;for(;;){var i=t.charCodeAt(n);switch(i){case 13:10===t.charCodeAt(n+1)&&n++;case 10:if(n++,r)return n;continue;case 9:case 11:case 12:case 32:n++;continue;case 47:if(a)break;if(47===t.charCodeAt(n+1)){for(n+=2;n127&&p(i)){n++;continue}}return n}}function b(t,n){if(e.Debug.assert(n>=0),0===n||m(t.charCodeAt(n-1))){var r=t.charCodeAt(n);if(n+U=0&&n127&&p(g)){_&&m(g)&&(l=!0),n++;continue}break e}}return _&&(f=a(s,c,u,l,i,f)),f}function C(e,t,n,r){return T(!1,e,t,!1,n,r)}function E(e,t,n,r){return T(!1,e,t,!0,n,r)}function D(e,t,n,r,a){return T(!0,e,t,!1,n,r,a)}function N(e,t,n,r,a){return T(!0,e,t,!0,n,r,a)}function A(e,t,n,r,a,i){return i||(i=[]),i.push({kind:n,pos:e,end:t,hasTrailingNewLine:r}),i}function w(e,t){return D(e,t,A,void 0,void 0)}function P(e,t){return N(e,t,A,void 0,void 0)}function O(e){return V.test(e)?V.exec(e)[0]:void 0}function F(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&r(e,t)}function I(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&a(e,t)}function R(e,t){if(!F(e.charCodeAt(0),t))return!1;for(var n=1;n=48&&a<=57)r=16*r+a-48;else if(a>=65&&a<=70)r=16*r+a-65+10;else{if(!(a>=97&&a<=102))break;r=16*r+a-97+10;}ne++,n++;}return n=re){r+=i.substring(a,ne),le=!0,u(e.Diagnostics.Unterminated_string_literal);break}var o=i.charCodeAt(ne);if(o===n){r+=i.substring(a,ne),ne++;break}if(92===o&&t)r+=i.substring(a,ne),r+=E(),a=ne;else{if(m(o)){r+=i.substring(a,ne),le=!0,u(e.Diagnostics.Unterminated_string_literal);break}ne++;}}return r}function C(){for(var t,n=96===i.charCodeAt(ne),r=++ne,a="";;){if(ne>=re){a+=i.substring(r,ne),le=!0,u(e.Diagnostics.Unterminated_template_literal),t=n?13:16;break}var o=i.charCodeAt(ne);if(96===o){a+=i.substring(r,ne),ne++,t=n?13:16;break}if(36===o&&ne+1=re)return u(e.Diagnostics.Unexpected_end_of_text),"";var t=i.charCodeAt(ne);switch(ne++,t){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:return ne=0?String.fromCharCode(n):(u(e.Diagnostics.Hexadecimal_digit_expected),"")}function N(){var t=h(1),n=!1;return t<0?(u(e.Diagnostics.Hexadecimal_digit_expected),n=!0):t>1114111&&(u(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),ne>=re?(u(e.Diagnostics.Unexpected_end_of_text),n=!0):125===i.charCodeAt(ne)?ne++:(u(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?"":A(t)}function A(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var n=Math.floor((t-65536)/1024)+55296,r=(t-65536)%1024+56320;return String.fromCharCode(n,r)}function w(){if(ne+5=0&&I(r,n)))break;e+=i.substring(t,ne),e+=String.fromCharCode(r),t=ne+=6;}}return e+=i.substring(t,ne)}function O(){var e=se.length;if(e>=2&&e<=11){var t=se.charCodeAt(0);if(t>=97&&t<=122&&void 0!==(oe=L.get(se)))return oe}return oe=71}function R(t){e.Debug.assert(2===t||8===t,"Expected either base 2 or base 8");for(var n=0,r=0;;){var a=i.charCodeAt(ne),o=a-48;if(!g(a)||o>=t)break;n=n*t+o,ne++,r++;}return 0===r?-1:n}function M(){for(ae=ne,ue=!1,ce=!1,le=!1,_e=0;;){if(ie=ne,ne>=re)return oe=1;var t=i.charCodeAt(ne);if(35===t&&0===ne&&k(i,ne)){if(ne=S(i,ne),r)continue;return oe=6}switch(t){case 10:case 13:if(ce=!0,r){ne++;continue}return 13===t&&ne+1=0&&F(d,n)?(ne+=6,se=String.fromCharCode(d)+P(),oe=O()):(u(e.Diagnostics.Invalid_character),ne++,oe=0);default:if(F(t,n)){for(ne++;ne=re){le=!0,u(e.Diagnostics.Unterminated_regular_expression_literal);break}var o=i.charCodeAt(t);if(m(o)){le=!0,u(e.Diagnostics.Unterminated_regular_expression_literal);break}if(r)r=!1;else{if(47===o&&!a){t++;break}91===o?a=!0:92===o?r=!0:93===o&&(a=!1);}t++;}for(;t=re)return oe=1;var e=i.charCodeAt(ne);if(60===e)return 47===i.charCodeAt(ne+1)?(ne+=2,oe=28):(ne++,oe=27);if(123===e)return ne++,oe=17;for(var t=0;ne=re)return oe=1;ae=ne,ie=ne;var e=i.charCodeAt(ne);switch(e){case 9:case 11:case 12:case 32:for(;ne=0),ne=t,ae=t,ie=t,oe=0,ce=!1,se=void 0,ue=!1,le=!1;}void 0===a&&(a=0);var ne,re,ae,ie,oe,se,ce,ue,le,_e;return Y(i,s,c),{getStartPos:function(){return ae},getTextPos:function(){return ne},getToken:function(){return oe},getTokenPos:function(){return ie},getTokenText:function(){return i.substring(ie,ne)},getTokenValue:function(){return se},hasExtendedUnicodeEscape:function(){return ue},hasPrecedingLineBreak:function(){return ce},isIdentifier:function(){return 71===oe||oe>107},isReservedWord:function(){return oe>=72&&oe<=107},isUnterminated:function(){return le},getNumericLiteralFlags:function(){return _e},reScanGreaterToken:B,reScanSlashToken:K,reScanTemplateToken:j,scanJsxIdentifier:U,scanJsxAttributeValue:V,reScanJsxToken:J,scanJsxToken:z,scanJSDocToken:q,scan:M,getText:X,setText:Y,setScriptTarget:Z,setLanguageVariant:ee,setOnError:Q,setTextPos:te,tryScan:H,lookAhead:W,scanRange:G}}e.tokenIsIdentifierOrKeyword=t;var L=e.createMapFromTemplate({abstract:117,any:119,as:118,boolean:122,break:72,case:73,catch:74,class:75,continue:77,const:76,constructor:123,debugger:78,declare:124,default:79,delete:80,do:81,else:82,enum:83,export:84,extends:85,false:86,finally:87,for:88,from:140,function:89,get:125,if:90,implements:108,import:91,in:92,instanceof:93,interface:109,is:126,keyof:127,let:110,module:128,namespace:129,never:130,new:94,null:95,number:133,object:134,package:111,private:112,protected:113,public:114,readonly:131,require:132,global:141,return:96,set:135,static:115,string:136,super:97,switch:98,symbol:137,this:99,throw:100,true:101,try:102,type:138,typeof:103,undefined:139,var:104,void:105,while:106,with:107,yield:116,async:120,await:121,of:142,"{":17,"}":18,"(":19,")":20,"[":21,"]":22,".":23,"...":24,";":25,",":26,"<":27,">":29,"<=":30,">=":31,"==":32,"!=":33,"===":34,"!==":35,"=>":36,"+":37,"-":38,"**":40,"*":39,"/":41,"%":42,"++":43,"--":44,"<<":45,">":46,">>>":47,"&":48,"|":49,"^":50,"!":51,"~":52,"&&":53,"||":54,"?":55,":":56,"=":58,"+=":59,"-=":60,"*=":61,"**=":62,"/=":63,"%=":64,"<<=":65,">>=":66,">>>=":67,"&=":68,"|=":69,"^=":70,"@":57}),B=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],K=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],j=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],J=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];e.isUnicodeIdentifierStart=r;var z=function(e){var t=[];return e.forEach(function(e,n){t[e]=n;}),t}(L);e.tokenToString=i,e.stringToToken=o,e.computeLineStarts=s,e.getPositionOfLineAndCharacter=c,e.computePositionOfLineAndCharacter=u,e.getLineStarts=l,e.computeLineAndCharacterOfPosition=_,e.getLineAndCharacterOfPosition=d,e.isWhiteSpaceLike=p,e.isWhiteSpaceSingleLine=f,e.isLineBreak=m,e.isOctalDigit=y,e.couldStartTrivia=h,e.skipTrivia=v;var U="<<<<<<<".length,V=/^#!.*/;e.forEachLeadingCommentRange=C,e.forEachTrailingCommentRange=E,e.reduceEachLeadingCommentRange=D,e.reduceEachTrailingCommentRange=N,e.getLeadingCommentRanges=w,e.getTrailingCommentRanges=P,e.getShebang=O,e.isIdentifierStart=F,e.isIdentifierPart=I,e.isIdentifierText=R,e.createScanner=M;}(r||(r={}));!function(e){function t(e,t){var n=e.declarations;if(n)for(var r=0,a=n;r=0),e.getLineStarts(n)[t]}function h(t){var n=m(t),r=e.getLineAndCharacterOfPosition(n,t.pos);return n.fileName+"("+(r.line+1)+","+(r.character+1)+")"}function v(e){return e.pos}function b(e){return void 0!==e}function x(t,n){e.Debug.assert(t>=0);var r=e.getLineStarts(n),a=t,i=n.text;if(a+1===r.length)return i.length-1;var o=r[a],s=r[a+1]-1;for(e.Debug.assert(e.isLineBreak(i.charCodeAt(s)));o<=s&&e.isLineBreak(i.charCodeAt(s));)s--;return s}function k(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function S(e){return!k(e)}function T(e){return e.kind>=0&&e.kind<=142}function C(t,n,r){return k(t)?t.pos:E(t)?e.skipTrivia((n||m(t)).text,t.pos,!1,!0):r&&t.jsDoc&&t.jsDoc.length>0?C(t.jsDoc[0]):294===t.kind&&t._children.length>0?C(t._children[0],n,r):e.skipTrivia((n||m(t)).text,t.pos)}function E(e){return e.kind>=267&&e.kind<=293}function D(e){return e.kind>=283&&e.kind<=293}function N(t,n){return k(t)||!t.decorators?C(t,n):e.skipTrivia((n||m(t)).text,t.decorators.end)}function A(t,n,r){if(void 0===r&&(r=!1),k(n))return"";var a=t.text;return a.substring(r?n.pos:e.skipTrivia(a,n.pos),n.end)}function w(t,n){return k(n)?"":t.substring(e.skipTrivia(t,n.pos),n.end)}function P(e,t){return void 0===t&&(t=!1),A(m(e),e,t)}function O(t,n){if(!sn(t)&&t.parent)return A(n,t);switch(t.kind){case 9:return F('"',t.text,'"');case 13:return F("`",t.text,"`");case 14:return F("`",t.text,"${");case 15:return F("}",t.text,"${");case 16:return F("}",t.text,"`");case 8:return t.text}e.Debug.fail("Literal kind '"+t.kind+"' not accounted for.");}function F(e,t,n){return e+kn(hn(t))+n}function I(e){return e.length>=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e}function R(t){return e.getBaseFileName(t).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function M(t){return 0!=(3&e.getCombinedNodeFlags(t))||L(t)}function L(e){var t=an(e);return 226===t.kind&&260===t.parent.kind}function B(e){return e&&233===e.kind&&(9===e.name.kind||z(e))}function K(e){return j(e.valueDeclaration)}function j(e){return e&&233===e.kind&&!e.body}function J(e){return 265===e.kind||233===e.kind||ke(e)}function z(e){return!!(512&e.flags)}function U(t){if(!t||!B(t))return!1;switch(t.parent.kind){case 265:return e.isExternalModule(t.parent);case 234:return B(t.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function V(t,n){return e.isExternalModule(t)||n.isolatedModules}function q(e,t){switch(e.kind){case 265:case 235:case 260:case 233:case 214:case 215:case 216:case 152:case 151:case 153:case 154:case 228:case 186:case 187:return!0;case 207:return t&&!ke(t)}return!1}function $(e){for(var t=e.parent;t;){if(q(t,t.parent))return t;t=t.parent;}}function G(e){return 0===i(e)?"(Missing)":P(e)}function W(e){return e.declaration?G(e.declaration.parameters[0].name):void 0}function H(e){switch(e.kind){case 71:return e.text;case 9:case 8:return e.text;case 144:if(Wt(e.expression))return e.expression.text}}function X(t){switch(t.kind){case 71:return 0===i(t)?e.unescapeIdentifier(t.text):P(t);case 143:return X(t.left)+"."+X(t.right);case 179:return X(t.expression)+"."+X(t.name)}}function Y(e,t,n,r,a){return Q(m(e),e,t,n,r,a)}function Q(t,n,r,a,i,o){var s=ne(t,n);return e.createFileDiagnostic(t,s.start,s.length,r,a,i,o)}function Z(e,t){var n=m(e),r=ne(n,e);return{file:n,start:r.start,length:r.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText}}function ee(t,n){var r=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,n);r.scan();var a=r.getTokenPos();return e.createTextSpanFromBounds(a,r.getTextPos())}function te(t,n){var r=e.skipTrivia(t.text,n.pos);if(n.body&&207===n.body.kind){var a=e.getLineAndCharacterOfPosition(t,n.body.pos).line;if(a=0;case 183:return!1}}return!1}function fe(e,t){for(;e;){if(e.kind===t)return!0;e=e.parent;}return!1}function me(e){return 192===e.kind}function ge(t,n){function r(t){switch(t.kind){case 219:return n(t);case 235:case 207:case 211:case 212:case 213:case 214:case 215:case 216:case 220:case 221:case 257:case 258:case 222:case 224:case 260:return e.forEachChild(t,r)}}return r(t)}function ye(t,n){function r(t){switch(t.kind){case 197:n(t);var a=t.expression;return void(a&&r(a));case 232:case 230:case 233:case 231:case 229:case 199:return;default:if(ke(t)){var i=t.name;if(i&&144===i.kind)return void r(i.expression)}else pe(t)||e.forEachChild(t,r);}}return r(t)}function he(t){return t&&164===t.kind?t.elementType:t&&159===t.kind?e.singleOrUndefined(t.typeArguments):void 0}function ve(e){if(e)switch(e.kind){case 176:case 264:case 146:case 261:case 149:case 148:case 262:case 226:return!0}return!1}function be(e){return e&&(153===e.kind||154===e.kind)}function xe(e){return e&&(229===e.kind||199===e.kind)}function ke(e){return e&&Se(e.kind)}function Se(e){switch(e){case 152:case 186:case 228:case 187:case 151:case 150:case 153:case 154:case 155:case 156:case 157:case 160:case 161:return!0}return!1}function Te(e){switch(e.kind){case 151:case 150:case 152:case 153:case 154:case 228:case 186:return!0}return!1}function Ce(e,t){switch(e.kind){case 214:case 215:case 216:case 212:case 213:return!0;case 222:return t&&Ce(e.statement,t)}return!1}function Ee(e,t){for(;;){if(t&&t(e),222!==e.statement.kind)return e.statement;e=e.statement;}}function De(e){return e&&207===e.kind&&ke(e.parent)}function Ne(e){return e&&151===e.kind&&178===e.parent.kind}function Ae(e){return 151===e.kind&&(178===e.parent.kind||199===e.parent.kind)}function we(e){return e&&1===e.kind}function Pe(e){return e&&0===e.kind}function Oe(e){for(;;)if(!(e=e.parent)||ke(e))return e}function Fe(e){for(;;)if(!(e=e.parent)||xe(e))return e}function Ie(e,t){for(;;){if(!(e=e.parent))return;switch(e.kind){case 144:if(xe(e.parent.parent))return e;e=e.parent;break;case 147:146===e.parent.kind&&va(e.parent.parent)?e=e.parent.parent:va(e.parent)&&(e=e.parent);break;case 187:if(!t)continue;case 228:case 186:case 233:case 149:case 148:case 151:case 150:case 152:case 153:case 154:case 155:case 156:case 157:case 232:case 265:return e}}}function Re(e){var t=Ie(e,!1);if(t)switch(t.kind){case 152:case 228:case 186:return t}}function Me(e,t){for(;;){if(!(e=e.parent))return e;switch(e.kind){case 144:e=e.parent;break;case 228:case 186:case 187:if(!t)continue;case 149:case 148:case 151:case 150:case 152:case 153:case 154:return e;case 147:146===e.parent.kind&&va(e.parent.parent)?e=e.parent.parent:va(e.parent)&&(e=e.parent);}}}function Le(e){if(186===e.kind||187===e.kind){for(var t=e,n=e.parent;185===n.kind;)t=n,n=n.parent;if(181===n.kind&&n.expression===t)return n}}function Be(e){var t=e.kind;return(179===t||180===t)&&97===e.expression.kind}function Ke(e){switch(e.kind){case 159:case 277:return e.typeName;case 201:return fr(e.expression)?e.expression:void 0;case 71:case 143:return e}}function je(e){switch(e.kind){case 251:case 250:case 181:case 182:case 183:case 147:return!0;default:return!1}}function Je(e){return 183===e.kind?e.tag:Mi(e)?e.tagName:e.expression}function ze(e){switch(e.kind){case 229:return!0;case 149:return 229===e.parent.kind;case 153:case 154:case 151:return void 0!==e.body&&229===e.parent.kind;case 146:return void 0!==e.parent.body&&(152===e.parent.kind||151===e.parent.kind||154===e.parent.kind)&&229===e.parent.parent.kind}return!1}function Ue(e){return void 0!==e.decorators&&ze(e)}function Ve(e){return Ue(e)||qe(e)}function qe(t){switch(t.kind){case 229:return e.forEach(t.members,Ve);case 151:case 154:return e.forEach(t.parameters,Ue)}}function $e(e){var t=e.parent;return(251===t.kind||250===t.kind||252===t.kind)&&t.tagName===e}function Ge(e){switch(e.kind){case 99:case 97:case 95:case 101:case 86:case 12:case 177:case 178:case 179:case 180:case 181:case 182:case 183:case 202:case 184:case 203:case 185:case 186:case 199:case 187:case 190:case 188:case 189:case 192:case 193:case 194:case 195:case 198:case 196:case 13:case 200:case 249:case 250:case 197:case 191:case 204:return!0;case 143:for(;143===e.parent.kind;)e=e.parent;return 162===e.parent.kind||$e(e);case 71:if(162===e.parent.kind||$e(e))return!0;case 8:case 9:case 99:var t=e.parent;switch(t.kind){case 226:case 146:case 149:case 148:case 264:case 261:case 176:return t.initializer===e;case 210:case 211:case 212:case 213:case 219:case 220:case 221:case 257:case 223:case 221:return t.expression===e;case 214:var n=t;return n.initializer===e&&227!==n.initializer.kind||n.condition===e||n.incrementor===e;case 215:case 216:var r=t;return r.initializer===e&&227!==r.initializer.kind||r.expression===e;case 184:case 202:case 205:case 144:return e===t.expression;case 147:case 256:case 255:case 263:return!0;case 201:return t.expression===e&&dr(t);default:if(Ge(t))return!0}}return!1}function We(t,n){var r=e.getModuleInstanceState(t);return 1===r||n&&2===r}function He(e){return 237===e.kind&&248===e.moduleReference.kind}function Xe(t){return e.Debug.assert(He(t)),t.moduleReference.expression}function Ye(e){return 237===e.kind&&248!==e.moduleReference.kind}function Qe(e){return Ze(e)}function Ze(e){return e&&!!(65536&e.flags)}function et(e,t){if(181!==e.kind)return!1;var n=e,r=n.expression,a=n.arguments;if(71!==r.kind||"require"!==r.text)return!1;if(1!==a.length)return!1;var i=a[0];return!t||9===i.kind||13===i.kind}function tt(e){return 39===e||34===e}function nt(e){if(e.valueDeclaration&&226===e.valueDeclaration.kind){var t=e.valueDeclaration;return t.initializer&&(186===t.initializer.kind||199===t.initializer.kind)}return!1}function rt(e){for(;cr(e,!0);)e=e.right;return e}function at(e){return ia(e)&&"exports"===e.text}function it(e){return Ra(e)&&ia(e.expression)&&"module"===e.expression.text&&"exports"===e.name.text}function ot(e){if(!Ze(e))return 0;var t=e;if(58!==t.operatorToken.kind||179!==t.left.kind)return 0;var n=t.left;if(71===n.expression.kind){var r=n.expression;return"exports"===r.text?1:"module"===r.text&&"exports"===n.name.text?2:5}if(99===n.expression.kind)return 4;if(179===n.expression.kind){var a=n.expression;if(71===a.expression.kind){if("module"===a.expression.text&&"exports"===a.name.text)return 1;if("prototype"===a.name.text)return 3}}return 0}function st(e){if(238===e.kind)return e.moduleSpecifier;if(237===e.kind){var t=e.moduleReference;if(248===t.kind)return t.expression}return 244===e.kind?e.moduleSpecifier:233===e.kind&&9===e.name.kind?e.name:void 0}function ct(e){if(237===e.kind)return e;var t=e.importClause;return t&&t.namedBindings&&240===t.namedBindings.kind?t.namedBindings:void 0}function ut(e){return 238===e.kind&&e.importClause&&!!e.importClause.name}function lt(e){if(e)switch(e.kind){case 146:case 151:case 150:case 262:case 261:case 149:case 148:return void 0!==e.questionToken}return!1}function _t(e){return 279===e.kind&&e.parameters.length>0&&281===e.parameters[0].type.kind}function dt(t){return e.map(gt(t),function(e){return e.comment})}function pt(e){var t=ft(e,286);return t&&t.length>0}function ft(t,n){var r=gt(t);if(r){for(var a=[],i=0,o=r;i0?t.types[0]:void 0}function Lt(e){var t=Kt(e.heritageClauses,108);return t?t.types:void 0}function Bt(e){var t=Kt(e.heritageClauses,85);return t?t.types:void 0}function Kt(e,t){if(e)for(var n=0,r=e;n/gim;if(/^\/\/\/\s*1&&(_=_+r.length-1,d=c.length-t.length+e.lastOrUndefined(r));}}function o(){l||(_++,d=(c+=t).length,l=!0);}function s(e,t){n(w(e,t));}var c,u,l,_,d;return r(),{write:n,rawWrite:a,writeTextOfNode:s,writeLiteral:i,writeLine:o,increaseIndent:function(){u++;},decreaseIndent:function(){u--;},getIndent:function(){return u},getTextPos:function(){return c.length},getLine:function(){return _+1},getColumn:function(){return l?u*Tn()+1:c.length-d+1},getText:function(){return c},isAtStartOfLine:function(){return l},reset:r}}function En(e,t){return t.moduleName||Nn(e,t.fileName)}function Dn(e,t,n){var r=t.getExternalModuleFileFromDeclaration(n);if(r&&!ae(r))return En(e,r)}function Nn(t,n){var r=function(e){return t.getCanonicalFileName(e)},a=e.toPath(t.getCommonSourceDirectory(),t.getCurrentDirectory(),r),i=e.getNormalizedAbsolutePath(n,t.getCurrentDirectory()),o=e.getRelativePathToDirectoryOrUrl(a,i,a,r,!1);return e.removeFileExtension(o)}function An(t,n,r){var a=n.getCompilerOptions();return(a.outDir?e.removeFileExtension(Mn(t,n,a.outDir)):e.removeFileExtension(t.fileName))+r}function wn(t,n){var r=n.getCompilerOptions(),a=r.declarationDir||r.outDir,i=a?Mn(t,n,a):t.fileName;return e.removeFileExtension(i)+".d.ts"}function Pn(t,n){var r=t.getCompilerOptions(),a=function(e){return t.isSourceFileFromExternalLibrary(e)};if(r.outFile||r.out){var i=e.getEmitModuleKind(r),o=i===e.ModuleKind.AMD||i===e.ModuleKind.System;return e.filter(t.getSourceFiles(),function(t){return(o||!e.isExternalModule(t))&&On(t,r,a)})}var s=void 0===n?t.getSourceFiles():[n];return e.filter(s,function(e){return On(e,r,a)})}function On(e,t,n){return!(t.noEmitForJsFiles&&Qe(e)||ae(e)||n(e))}function Fn(t,n,r,a){var i=e.isArray(r)?r:Pn(t,r),o=t.getCompilerOptions();if(o.outFile||o.out)i.length&&n({jsFilePath:l=o.outFile||o.out,sourceMapFilePath:_=In(l,o),declarationFilePath:d=o.declaration?e.removeFileExtension(l)+".d.ts":""},e.createBundle(i),a);else for(var s=0,c=i;s0){var t=2===e.parameters.length&&Un(e.parameters[0]);return e.parameters[t?1:0].type}}function zn(e){if(e.parameters.length){var t=e.parameters[0];if(Un(t))return t}}function Un(e){return Vn(e.name)}function Vn(e){return e&&71===e.kind&&qn(e)}function qn(e){return 99===e.originalKeywordKind}function $n(t,n){var r,a,i,o;return Ht(n)?(r=n,153===n.kind?i=n:154===n.kind?o=n:e.Debug.fail("Accessor has wrong kind")):e.forEach(t,function(e){153!==e.kind&&154!==e.kind||nr(e,32)!==nr(n,32)||Qt(e.name)===Qt(n.name)&&(r?a||(a=e):r=e,153!==e.kind||i||(i=e),154!==e.kind||o||(o=e));}),{firstAccessor:r,secondAccessor:a,getAccessor:i,setAccessor:o}}function Gn(e,t,n,r){Wn(e,t,n.pos,r);}function Wn(e,t,n,r){r&&r.length&&n!==r[0].pos&&Kn(e,n)!==Kn(e,r[0].pos)&&t.writeLine();}function Hn(e,t,n,r){n!==r&&Kn(e,n)!==Kn(e,r)&&t.writeLine();}function Xn(e,t,n,r,a,i,o,s){if(r&&r.length>0){a&&n.write(" ");for(var c=!1,u=0,l=r;u=g+2)break}_.push(m),d=m;}if(_.length){var g=Kn(n,e.lastOrUndefined(_).end);Kn(n,e.skipTrivia(t,i.pos))>=g+2&&(Gn(n,r,i,u),Xn(t,n,r,_,!1,!0,o,a),l={nodePos:i.pos,detachedCommentEndPos:e.lastOrUndefined(_).end});}}return l}function Qn(t,n,r,a,i,o){if(42===t.charCodeAt(a+1))for(var s=e.computeLineAndCharacterOfPosition(n,a),c=n.length,u=void 0,l=a,_=s.line;l0){var f=p%Tn(),m=Sn((p-f)/Tn());for(r.rawWrite(m);f;)r.rawWrite(" "),f--;}else r.rawWrite("");}Zn(t,i,r,o,l,d),l=d;}else r.write(t.substring(a,i));}function Zn(e,t,n,r,a,i){var o=Math.min(t,i-1),s=e.substring(a,o).replace(/^\s+|\s+$/g,"");s?(n.write(s),o!==t&&n.writeLine()):n.writeLiteral(r);}function er(t,n,r){for(var a=0;n=58&&e<=70}function sr(e){if(201===e.kind&&85===e.parent.token&&xe(e.parent.parent))return e.parent.parent}function cr(e,t){return Ba(e)&&(t?58===e.operatorToken.kind:or(e.operatorToken.kind))&&qa(e.left)}function ur(e){if(cr(e,!0)){var t=e.left.kind;return 178===t||177===t}return!1}function lr(e){return _r(e.expression)}function _r(e){return 71===e.kind||!!Ra(e)&&_r(e.expression)}function dr(e){return void 0!==sr(e)}function pr(e){return 201===e.kind&&fr(e.expression)&&e.parent&&108===e.parent.token&&e.parent.parent&&xe(e.parent.parent)}function fr(e){return 71===e.kind||179===e.kind&&fr(e.expression)}function mr(e){return 143===e.parent.kind&&e.parent.right===e||179===e.parent.kind&&e.parent.name===e}function gr(e){return 178===e.kind&&0===e.properties.length}function yr(e){return 177===e.kind&&0===e.elements.length}function hr(e){return vr(e)?e.valueDeclaration.localSymbol:void 0}function vr(e){return e&&e.valueDeclaration&&nr(e.valueDeclaration,512)}function br(t){return e.find(e.supportedTypescriptExtensionsForExtractExtension,function(n){return e.fileExtensionIs(t,n)})}function xr(t){for(var n=[],r=t.length,a=0;a>6|192),n.push(63&i|128)):i<65536?(n.push(i>>12|224),n.push(i>>6&63|128),n.push(63&i|128)):i<131072?(n.push(i>>18|240),n.push(i>>12&63|128),n.push(i>>6&63|128),n.push(63&i|128)):e.Debug.assert(!1,"Unexpected code point");}return n}function kr(e){for(var t,n,r,a,i="",o=xr(e),s=0,c=o.length;s>2,n=(3&o[s])<<4|o[s+1]>>4,r=(15&o[s+1])<<2|o[s+2]>>6,a=63&o[s+2],s+1>=c?r=a=64:s+2>=c&&(a=64),i+=Xi.charAt(t)+Xi.charAt(n)+Xi.charAt(r)+Xi.charAt(a),s+=3;return i}function Sr(t){return 0===t.newLine?Yi:1===t.newLine?Qi:e.sys?e.sys.newLine:Yi}function Tr(e){return Cr(e,0)}function Cr(e,t){if(t<=5){var n=e.kind;if(9===n||8===n||12===n||13===n||71===n||99===n||97===n||101===n||86===n||95===n)return!0;if(179===n)return Cr(e.expression,t+1);if(180===n)return Cr(e.expression,t+1)&&Cr(e.argumentExpression,t+1);if(192===n||193===n)return Cr(e.operand,t+1);if(194===n)return 40!==e.operatorToken.kind&&Cr(e.left,t+1)&&Cr(e.right,t+1);if(195===n)return Cr(e.condition,t+1)&&Cr(e.whenTrue,t+1)&&Cr(e.whenFalse,t+1);if(190===n||189===n||188===n)return Cr(e.expression,t+1);if(177===n)return 0===e.elements.length;if(178===n)return 0===e.properties.length;if(181===n){if(!Cr(e.expression,t+1))return!1;for(var r=0,a=e.arguments;r0?Or(e,e.decorators.end):e}function Ir(e){return e.modifiers&&e.modifiers.length>0?Or(e,e.modifiers.end):Fr(e)}function Rr(e){return e.pos===e.end}function Mr(e){return Rr(e)?e:Pr(e,e.pos)}function Lr(e){return Rr(e)?e:Or(e,e.end)}function Br(t,n){return wr(t,t+e.tokenToString(n).length)}function Kr(e,t){return zr(e,e,t)}function jr(e,t,n){return Vr(qr(e,n),qr(t,n),n)}function Jr(e,t,n){return Vr(e.end,t.end,n)}function zr(e,t,n){return Vr(qr(e,n),t.end,n)}function Ur(e,t,n){return Vr(e.end,qr(t,n),n)}function Vr(e,t,n){return e===t||Bn(n,e)===Bn(n,t)}function qr(t,n){return e.positionIsSynthesized(t.pos)?-1:e.skipTrivia(n.text,t.pos)}function $r(t){var n=e.getParseTreeNode(t);if(n)switch(n.parent.kind){case 232:case 233:return n===n.parent.name}return!1}function Gr(t){return e.filter(t.declarations,Wr)}function Wr(e){return void 0!==e.initializer}function Hr(e){if(e.symbol)for(var t=0,n=e.symbol.declarations;t0}function ca(e){return nn(e.kind)}function ua(e){return 143===e.kind}function la(e){return 144===e.kind}function _a(e){var t=e.kind;return 143===t||71===t}function da(e){var t=e.kind;return 71===t||9===t||8===t||144===t}function pa(e){var t=e.kind;return 71===t||9===t}function fa(e){var t=e.kind;return 71===t||174===t||175===t}function ma(e){return 145===e.kind}function ga(e){return 146===e.kind}function ya(e){return 147===e.kind}function ha(e){return 151===e.kind}function va(e){var t=e.kind;return 152===t||149===t||151===t||153===t||154===t||157===t||206===t}function ba(e){var t=e.kind;return 261===t||262===t||263===t||151===t||153===t||154===t||247===t}function xa(e){return e>=158&&e<=173||119===e||133===e||134===e||122===e||136===e||137===e||99===e||105===e||139===e||95===e||130===e||201===e}function ka(e){return xa(e.kind)}function Sa(e){return 175===e.kind}function Ta(e){return 174===e.kind}function Ca(e){if(e){var t=e.kind;return 175===t||174===t}return!1}function Ea(e){var t=e.kind;return 177===t||178===t}function Da(e){return 176===e.kind}function Na(e){var t=e.kind;return 176===t||200===t}function Aa(e){switch(e.kind){case 226:case 146:case 176:return!0}return!1}function wa(e){return Pa(e)||Oa(e)}function Pa(e){switch(e.kind){case 174:case 178:return!0}return!1}function Oa(e){switch(e.kind){case 175:case 177:return!0}return!1}function Fa(e){return 177===e.kind}function Ia(e){return 178===e.kind}function Ra(e){return 179===e.kind}function Ma(e){var t=e.kind;return 179===t||143===t}function La(e){return 180===e.kind}function Ba(e){return 194===e.kind}function Ka(e){return 195===e.kind}function ja(e){return 181===e.kind}function Ja(e){var t=e.kind;return 196===t||13===t}function za(e){return 198===e.kind}function Ua(e){return 201===e.kind}function Va(e){return 179===e||180===e||182===e||181===e||249===e||250===e||183===e||177===e||185===e||178===e||199===e||186===e||71===e||12===e||8===e||9===e||13===e||196===e||86===e||95===e||99===e||101===e||97===e||203===e||204===e}function qa(t){return Va(e.skipPartiallyEmittedExpressions(t).kind)}function $a(e){return 192===e||193===e||188===e||189===e||190===e||191===e||184===e||Va(e)}function Ga(t){return $a(e.skipPartiallyEmittedExpressions(t).kind)}function Wa(e){return 195===e||197===e||187===e||194===e||198===e||202===e||200===e||$a(e)}function Ha(t){return Wa(e.skipPartiallyEmittedExpressions(t).kind)}function Xa(e){var t=e.kind;return 184===t||202===t}function Ya(e){return 296===e.kind}function Qa(e){return 295===e.kind}function Za(e){return Qa(e)||Ya(e)}function ei(e){return 200===e.kind}function ti(e){return 205===e.kind}function ni(e){return 207===e.kind}function ri(e){return ni(e)||Ha(e)}function ai(e){return ni(e)}function ii(e){return si(e)||Ha(e)}function oi(e){return 226===e.kind}function si(e){return 227===e.kind}function ci(e){return 235===e.kind}function ui(e){var t=e.kind;return 234===t||233===t||71===t}function li(e){var t=e.kind;return 234===t||233===t}function _i(e){var t=e.kind;return 71===t||233===t}function di(e){return 237===e.kind}function pi(e){return 239===e.kind}function fi(e){var t=e.kind;return 241===t||240===t}function mi(e){return 242===e.kind}function gi(e){return 245===e.kind}function yi(e){return 246===e.kind}function hi(e){return 233===e.kind||232===e.kind}function vi(e){return 187===e||176===e||229===e||199===e||152===e||232===e||264===e||246===e||228===e||186===e||153===e||239===e||237===e||242===e||230===e||253===e||151===e||150===e||233===e||236===e||240===e||146===e||261===e||149===e||148===e||154===e||262===e||231===e||145===e||226===e||290===e}function bi(e){return 228===e||247===e||229===e||230===e||231===e||232===e||233===e||238===e||237===e||244===e||243===e||236===e}function xi(e){return 218===e||217===e||225===e||212===e||210===e||209===e||215===e||216===e||214===e||211===e||222===e||219===e||221===e||223===e||224===e||208===e||213===e||220===e||295===e||298===e||297===e}function ki(e){return vi(e.kind)}function Si(e){return bi(e.kind)}function Ti(e){return xi(e.kind)}function Ci(e){var t=e.kind;return xi(t)||bi(t)||207===t}function Ei(e){var t=e.kind;return 248===t||143===t||71===t}function Di(e){return 251===e.kind}function Ni(e){return 252===e.kind}function Ai(e){var t=e.kind;return 99===t||71===t||179===t}function wi(e){var t=e.kind;return 249===t||256===t||250===t||10===t}function Pi(e){return 254===e.kind}function Oi(e){var t=e.kind;return 253===t||255===t}function Fi(e){return 255===e.kind}function Ii(e){return 253===e.kind}function Ri(e){var t=e.kind;return 9===t||256===t}function Mi(e){var t=e.kind;return 251===t||250===t}function Li(e){var t=e.kind;return 257===t||258===t}function Bi(e){return 259===e.kind}function Ki(e){return 260===e.kind}function ji(e){return 261===e.kind}function Ji(e){return 262===e.kind}function zi(e){return 264===e.kind}function Ui(e){return 265===e.kind}function Vi(e){return e.watch&&e.hasOwnProperty("watch")}e.externalHelpersModuleNameText="tslib",e.getDeclarationOfKind=t,e.findDeclaration=n;var qi=[];e.getSingleLineStringWriter=r,e.releaseStringWriter=a,e.getFullWidth=i,e.hasResolvedModule=o,e.getResolvedModule=s,e.setResolvedModule=c,e.setResolvedTypeReferenceDirective=u,e.moduleResolutionIsEqualTo=l,e.typeDirectiveIsEqualTo=_,e.hasChangesInResolutions=d,e.containsParseError=p,e.getSourceFileOfNode=m,e.isStatementWithLocals=g,e.getStartPositionOfLine=y,e.nodePosToString=h,e.getStartPosOfNode=v,e.isDefined=b,e.getEndLinePosition=x,e.nodeIsMissing=k,e.nodeIsPresent=S,e.isToken=T,e.getTokenPosOfNode=C,e.isJSDocNode=E,e.isJSDocTag=D,e.getNonDecoratorTokenPosOfNode=N,e.getSourceTextOfNodeFromSourceFile=A,e.getTextOfNodeFromSourceText=w,e.getTextOfNode=P,e.getLiteralText=O,e.escapeIdentifier=I,e.makeIdentifierFromModuleName=R,e.isBlockOrCatchScoped=M,e.isCatchClauseVariableDeclarationOrBindingElement=L,e.isAmbientModule=B,e.isShorthandAmbientModuleSymbol=K,e.isBlockScopedContainerTopLevel=J,e.isGlobalScopeAugmentation=z,e.isExternalModuleAugmentation=U,e.isEffectiveExternalModule=V,e.isBlockScope=q,e.getEnclosingBlockScopeContainer=$,e.declarationNameToString=G,e.getNameFromIndexInfo=W,e.getTextOfPropertyName=H,e.entityNameToString=X,e.createDiagnosticForNode=Y,e.createDiagnosticForNodeInSourceFile=Q,e.createDiagnosticForNodeFromMessageChain=Z,e.getSpanOfTokenAtPosition=ee,e.getErrorSpanForNode=ne,e.isExternalOrCommonJsModule=re,e.isDeclarationFile=ae,e.isConstEnumDeclaration=ie,e.isConst=oe,e.isLet=se,e.isSuperCall=ce,e.isPrologueDirective=ue,e.getLeadingCommentRangesOfNode=le,e.getLeadingCommentRangesOfNodeFromText=_e,e.getJSDocCommentRanges=de,e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/,e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx=/^(\/\/\/\s*/,e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/,e.isPartOfTypeNode=pe,e.isChildOfNodeWithKind=fe,e.isPrefixUnaryExpression=me,e.forEachReturnStatement=ge,e.forEachYieldExpression=ye,e.getRestParameterElementType=he,e.isVariableLike=ve,e.isAccessor=be,e.isClassLike=xe,e.isFunctionLike=ke,e.isFunctionLikeKind=Se,e.introducesArgumentsExoticObject=Te,e.isIterationStatement=Ce,e.unwrapInnermostStatementOfLabel=Ee,e.isFunctionBlock=De,e.isObjectLiteralMethod=Ne,e.isObjectLiteralOrClassExpressionMethod=Ae,e.isIdentifierTypePredicate=we,e.isThisTypePredicate=Pe,e.getContainingFunction=Oe,e.getContainingClass=Fe,e.getThisContainer=Ie,e.getNewTargetContainer=Re,e.getSuperContainer=Me,e.getImmediatelyInvokedFunctionExpression=Le,e.isSuperProperty=Be,e.getEntityNameFromTypeNode=Ke,e.isCallLikeExpression=je,e.getInvokedExpression=Je,e.nodeCanBeDecorated=ze,e.nodeIsDecorated=Ue,e.nodeOrChildIsDecorated=Ve,e.childIsDecorated=qe,e.isJSXTagName=$e,e.isPartOfExpression=Ge,e.isInstantiatedModule=We,e.isExternalModuleImportEqualsDeclaration=He,e.getExternalModuleImportEqualsDeclarationExpression=Xe,e.isInternalModuleImportEqualsDeclaration=Ye,e.isSourceFileJavaScript=Qe,e.isInJavaScriptFile=Ze,e.isRequireCall=et,e.isSingleOrDoubleQuote=tt,e.isDeclarationOfFunctionOrClassExpression=nt,e.getRightMostAssignedExpression=rt,e.isExportsIdentifier=at,e.isModuleExportsPropertyAccessExpression=it,e.getSpecialPropertyAssignmentKind=ot,e.getExternalModuleName=st,e.getNamespaceDeclarationNode=ct,e.isDefaultImport=ut,e.hasQuestionToken=lt,e.isJSDocConstructSignature=_t,e.getCommentsFromJSDoc=dt,e.hasJSDocParameterTags=pt,e.getJSDocs=gt,e.getJSDocParameterTags=yt,e.getJSDocType=ht,e.getJSDocAugmentsTag=vt,e.getJSDocReturnTag=bt,e.getJSDocTemplateTag=xt,e.hasRestParameter=kt,e.hasDeclaredRestParameter=St,e.isRestParameter=Tt,e.isDeclaredRestParam=Ct;!function(e){e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound";}(e.AssignmentKind||(e.AssignmentKind={})),e.getAssignmentTargetKind=Et,e.isAssignmentTarget=Dt,e.isDeleteTarget=Nt,e.isNodeDescendantOf=At,e.isInAmbientContext=wt,e.isDeclarationName=Pt,e.isLiteralComputedPropertyDeclarationName=Ot,e.isIdentifierName=Ft,e.isAliasSymbolDeclaration=It,e.exportAssignmentIsAlias=Rt,e.getClassExtendsHeritageClauseElement=Mt,e.getClassImplementsHeritageClauseElements=Lt,e.getInterfaceBaseTypeNodes=Bt,e.getHeritageClause=Kt,e.tryResolveScriptReference=jt,e.getAncestor=Jt,e.getFileReferenceFromReferencePath=zt,e.isKeyword=Ut,e.isTrivia=Vt;!function(e){e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.AsyncOrAsyncGenerator=3]="AsyncOrAsyncGenerator",e[e.Invalid=4]="Invalid",e[e.InvalidAsyncOrAsyncGenerator=7]="InvalidAsyncOrAsyncGenerator",e[e.InvalidGenerator=5]="InvalidGenerator";}(e.FunctionFlags||(e.FunctionFlags={})),e.getFunctionFlags=qt,e.isAsyncFunction=$t,e.isNumericLiteral=Gt,e.isStringOrNumericLiteral=Wt,e.hasDynamicName=Ht,e.isDynamicName=Xt,e.isWellKnownSymbolSyntactically=Yt,e.getPropertyNameForPropertyNameNode=Qt,e.getPropertyNameForKnownSymbolName=Zt,e.isESSymbolIdentifier=en,e.isPushOrUnshiftIdentifier=tn,e.isModifierKind=nn,e.isParameterDeclaration=rn,e.getRootDeclaration=an,e.nodeStartsNewLexicalEnvironment=on$$1,e.nodeIsSynthesized=sn,e.getOriginalSourceFileOrBundle=cn,e.getOriginalSourceFiles=ln,e.getOriginalNodeId=_n;!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right";}(e.Associativity||(e.Associativity={})),e.getExpressionAssociativity=dn,e.getOperatorAssociativity=pn,e.getExpressionPrecedence=fn,e.getOperator=mn,e.getOperatorPrecedence=gn,e.createDiagnosticCollection=yn;var $i=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Gi=e.createMapFromTemplate({"\0":"\\0","\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"\u2028":"\\u2028","\u2029":"\\u2029","…":"\\u0085"});e.escapeString=hn,e.isIntrinsicJsxName=bn;var Wi=/[^\u0000-\u007F]/g;e.escapeNonAsciiCharacters=kn;var Hi=[""," "];e.getIndentString=Sn,e.getIndentSize=Tn,e.createTextWriter=Cn,e.getResolvedExternalModuleName=En,e.getExternalModuleNameFromDeclaration=Dn,e.getExternalModuleNameFromPath=Nn,e.getOwnEmitOutputFilePath=An,e.getDeclarationEmitOutputFilePath=wn,e.getSourceFilesToEmit=Pn,e.sourceFileMayBeEmitted=On,e.forEachEmittedFile=Fn,e.getSourceFilePathInNewDir=Mn,e.writeFile=Ln,e.getLineOfLocalPosition=Bn,e.getLineOfLocalPositionFromLineMap=Kn,e.getFirstConstructorWithBody=jn,e.getSetAccessorTypeAnnotationNode=Jn,e.getThisParameter=zn,e.parameterIsThisKeyword=Un,e.isThisIdentifier=Vn,e.identifierIsThisKeyword=qn,e.getAllAccessorDeclarations=$n,e.emitNewLineBeforeLeadingComments=Gn,e.emitNewLineBeforeLeadingCommentsOfPosition=Wn,e.emitNewLineBeforeLeadingCommentOfPosition=Hn,e.emitComments=Xn,e.emitDetachedComments=Yn,e.writeCommentRange=Qn,e.hasModifiers=tr,e.hasModifier=nr,e.getModifierFlags=rr,e.modifierToFlag=ar,e.isLogicalOperator=ir,e.isAssignmentOperator=or,e.tryGetClassExtendingExpressionWithTypeArguments=sr,e.isAssignmentExpression=cr,e.isDestructuringAssignment=ur,e.isSupportedExpressionWithTypeArguments=lr,e.isExpressionWithTypeArgumentsInClassExtendsClause=dr,e.isExpressionWithTypeArgumentsInClassImplementsClause=pr,e.isEntityNameExpression=fr,e.isRightSideOfQualifiedNameOrPropertyAccess=mr,e.isEmptyObjectLiteral=gr,e.isEmptyArrayLiteral=yr,e.getLocalSymbolForExportDefault=hr,e.tryExtractTypeScriptExtension=br;var Xi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.convertToBase64=kr;var Yi="\r\n",Qi="\n";e.getNewLineCharacter=Sr,e.isSimpleExpression=Tr;var Zi=[];e.formatSyntaxKind=Er,e.getRangePos=Dr,e.getRangeEnd=Nr,e.movePos=Ar,e.createRange=wr,e.moveRangeEnd=Pr,e.moveRangePos=Or,e.moveRangePastDecorators=Fr,e.moveRangePastModifiers=Ir,e.isCollapsedRange=Rr,e.collapseRangeToStart=Mr,e.collapseRangeToEnd=Lr,e.createTokenRange=Br,e.rangeIsOnSingleLine=Kr,e.rangeStartPositionsAreOnSameLine=jr,e.rangeEndPositionsAreOnSameLine=Jr,e.rangeStartIsOnSameLineAsRangeEnd=zr,e.rangeEndIsOnSameLineAsRangeStart=Ur,e.positionsAreOnSameLine=Vr,e.getStartPositionOfRange=qr,e.isDeclarationNameOfEnumOrNamespace=$r,e.getInitializedVariables=Gr,e.isMergedWithClass=Hr,e.isFirstDeclarationOfKind=Xr,e.isNodeArray=Yr,e.isNoSubstitutionTemplateLiteral=Qr,e.isLiteralKind=Zr,e.isTextualLiteralKind=ea,e.isLiteralExpression=ta,e.isTemplateLiteralKind=na,e.isTemplateHead=ra,e.isTemplateMiddleOrTemplateTail=aa,e.isIdentifier=ia,e.isVoidExpression=oa,e.isGeneratedIdentifier=sa,e.isModifier=ca,e.isQualifiedName=ua,e.isComputedPropertyName=la,e.isEntityName=_a,e.isPropertyName=da,e.isModuleName=pa,e.isBindingName=fa,e.isTypeParameter=ma,e.isParameter=ga,e.isDecorator=ya,e.isMethodDeclaration=ha,e.isClassElement=va,e.isObjectLiteralElementLike=ba,e.isTypeNode=ka,e.isArrayBindingPattern=Sa,e.isObjectBindingPattern=Ta,e.isBindingPattern=Ca,e.isAssignmentPattern=Ea,e.isBindingElement=Da,e.isArrayBindingElement=Na,e.isDeclarationBindingElement=Aa,e.isBindingOrAssignmentPattern=wa,e.isObjectBindingOrAssignmentPattern=Pa,e.isArrayBindingOrAssignmentPattern=Oa,e.isArrayLiteralExpression=Fa,e.isObjectLiteralExpression=Ia,e.isPropertyAccessExpression=Ra,e.isPropertyAccessOrQualifiedName=Ma,e.isElementAccessExpression=La,e.isBinaryExpression=Ba,e.isConditionalExpression=Ka,e.isCallExpression=ja,e.isTemplateLiteral=Ja,e.isSpreadExpression=za,e.isExpressionWithTypeArguments=Ua,e.isLeftHandSideExpression=qa,e.isUnaryExpression=Ga,e.isExpression=Ha,e.isAssertionExpression=Xa,e.isPartiallyEmittedExpression=Ya,e.isNotEmittedStatement=Qa,e.isNotEmittedOrPartiallyEmittedNode=Za,e.isOmittedExpression=ei,e.isTemplateSpan=ti,e.isBlock=ni,e.isConciseBody=ri,e.isFunctionBody=ai,e.isForInitializer=ii,e.isVariableDeclaration=oi,e.isVariableDeclarationList=si,e.isCaseBlock=ci,e.isModuleBody=ui,e.isNamespaceBody=li,e.isJSDocNamespaceBody=_i,e.isImportEqualsDeclaration=di,e.isImportClause=pi,e.isNamedImportBindings=fi,e.isImportSpecifier=mi,e.isNamedExports=gi,e.isExportSpecifier=yi,e.isModuleOrEnumDeclaration=hi,e.isDeclaration=ki,e.isDeclarationStatement=Si,e.isStatementButNotDeclaration=Ti,e.isStatement=Ci,e.isModuleReference=Ei,e.isJsxOpeningElement=Di,e.isJsxClosingElement=Ni,e.isJsxTagNameExpression=Ai,e.isJsxChild=wi,e.isJsxAttributes=Pi,e.isJsxAttributeLike=Oi,e.isJsxSpreadAttribute=Fi,e.isJsxAttribute=Ii,e.isStringLiteralOrJsxExpression=Ri,e.isJsxOpeningLikeElement=Mi,e.isCaseOrDefaultClause=Li,e.isHeritageClause=Bi,e.isCatchClause=Ki,e.isPropertyAssignment=ji,e.isShorthandPropertyAssignment=Ji,e.isEnumMember=zi,e.isSourceFile=Ui,e.isWatchSet=Vi;}(r||(r={})),function(e){function t(e){switch(e.target){case 5:return"lib.esnext.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function n(e){return e.start+e.length}function r(e){return 0===e.length}function a(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)}function o(e,t){return Math.max(e.start,t.start)=e.start}function u(e,t,r){var a=t+r;return t<=n(e)&&a>=e.start}function l(e,t,n,r){var a=n+r;return n<=e+t&&a>=e}function _(e,t){return t<=n(e)&&t>=e.start}function d(e,t){var r=Math.max(e.start,t.start),a=Math.min(n(e),n(t));if(r<=a)return f(r,a)}function p(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function f(e,t){return p(e,t-e)}function m(e){return p(e.span.start,e.newLength)}function g(e){return r(e.span)&&0===e.newLength}function y(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function h(t){if(0===t.length)return e.unchangedTextChangeRange;if(1===t.length)return t[0];for(var r=t[0],a=r.span.start,i=n(r.span),o=a+r.newLength,s=1;s=3&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)&&95===e.charCodeAt(2)?e.substr(1):e}e.getDefaultLibFileName=t,e.textSpanEnd=n,e.textSpanIsEmpty=r,e.textSpanContainsPosition=a,e.textSpanContainsTextSpan=i,e.textSpanOverlapsWith=o,e.textSpanOverlap=s,e.textSpanIntersectsWithTextSpan=c,e.textSpanIntersectsWith=u,e.decodedTextSpanIntersectsWith=l,e.textSpanIntersectsWithPosition=_,e.textSpanIntersection=d,e.createTextSpan=p,e.createTextSpanFromBounds=f,e.textChangeRangeNewSpan=m,e.textChangeRangeIsUnchanged=g,e.createTextChangeRange=y,e.unchangedTextChangeRange=y(p(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=h,e.getTypeParameterOwner=v,e.isParameterPropertyDeclaration=b,e.getCombinedModifierFlags=k,e.getCombinedNodeFlags=S,e.validateLocaleAndSetLanguage=T,e.getOriginalNode=C,e.isParseTreeNode=E,e.getParseTreeNode=D,e.unescapeIdentifier=N;}(r||(r={}));!function(e){function t(t){var n=e.createNode(t,-1,-1);return n.flags|=8,n}function n(t,n){return t!==n&&(Aa(t,n),oa(t,n),n.startsOnNewLine&&(t.startsOnNewLine=!0),e.aggregateTransformFlags(t)),t}function r(t,n){if(t){if(e.isNodeArray(t))return t}else t=[];var r=t;return r.pos=-1,r.end=-1,r.hasTrailingComma=n,r}function a(e){var n=t(e.kind);n.flags|=e.flags,Aa(n,e);for(var r in e)!n.hasOwnProperty(r)&&e.hasOwnProperty(r)&&(n[r]=e[r]);return n}function i(e){return"number"==typeof e?o(e+""):"boolean"==typeof e?e?h():v():"string"==typeof e?s(e):c(e)}function o(e){var n=t(8);return n.text=e,n.numericLiteralFlags=0,n}function s(e){var n=t(9);return n.text=e,n}function c(e){var t=s(e.text);return t.textSourceNode=e,t}function u(n){var r=t(71);return r.text=e.escapeIdentifier(n),r.originalKeywordKind=n?e.stringToToken(n):0,r.autoGenerateKind=0,r.autoGenerateId=0,r}function l(e){var t=u("");return t.autoGenerateKind=1,t.autoGenerateId=Oa,Oa++,e&&e(t),t}function _(){var e=u("");return e.autoGenerateKind=2,e.autoGenerateId=Oa,Oa++,e}function d(e){var t=u(e);return t.autoGenerateKind=3,t.autoGenerateId=Oa,Oa++,t}function p(e){var t=u("");return t.autoGenerateKind=4,t.autoGenerateId=Oa,t.original=e,Oa++,t}function f(e){return t(e)}function m(){return t(97)}function g(){return t(99)}function y(){return t(95)}function h(){return t(101)}function v(){return t(86)}function b(e,n){var r=t(143);return r.left=e,r.right=ea(n),r}function x(e,t,r){return e.left!==t||e.right!==r?n(b(t,r),e):e}function k(e){var n=t(144);return n.expression=e,n}function S(e,t){return e.expression!==t?n(k(t),e):e}function T(e,n,r,a){var i=t(e);return i.typeParameters=na(n),i.parameters=na(r),i.type=a,i}function C(e,t,r,a){return e.typeParameters!==t||e.parameters!==r||e.type!==a?n(T(e.kind,t,r,a),e):e}function E(e,t,n){return T(160,e,t,n)}function D(e,t,n,r){return C(e,t,n,r)}function N(e,t,n){return T(161,e,t,n)}function A(e,t,n,r){return C(e,t,n,r)}function w(e,t,n){return T(155,e,t,n)}function P(e,t,n,r){return C(e,t,n,r)}function O(e,t,n){return T(156,e,t,n)}function F(e,t,n,r){return C(e,t,n,r)}function I(e,t,n,r,a){var i=T(150,e,t,n);return i.name=ea(r),i.questionToken=a,i}function R(e,t,r,a,i,o){return e.typeParameters!==t||e.parameters!==r||e.type!==a||e.name!==i||e.questionToken!==o?n(I(t,r,a,i,o),e):e}function M(e){return t(e)}function L(){return t(169)}function B(e){var n=t(173);return n.literal=e,n}function K(e,t){return e.literal!==t?n(B(t),e):e}function j(e,n){var r=t(159);return r.typeName=ea(e),r.typeArguments=na(n),r}function J(e,t,r){return e.typeName!==t||e.typeArguments!==r?n(j(t,r),e):e}function z(e,n){var r=t(158);return r.parameterName=ea(e),r.type=n,r}function U(e,t,r){return e.parameterName!==t||e.type!==r?n(z(t,r),e):e}function V(e){var n=t(162);return n.exprName=e,n}function q(e,t){return e.exprName!==t?n(V(t),e):e}function $(e){var n=t(164);return n.elementType=e,n}function G(e,t){return e.elementType!==t?n($(t),e):e}function W(e,n){var a=t(e);return a.types=r(n),a}function H(e,t){return e.types!==t?n(W(e.kind,t),e):e}function X(e){var n=t(163);return n.members=r(e),n}function Y(e,t){return e.members!==t?n(X(t),e):e}function Q(e){var n=t(165);return n.elementTypes=r(e),n}function Z(e,t){return e.elementTypes!==t?n(Q(t),e):e}function ee(e,n,r,a){var i=t(172);return i.readonlyToken=e,i.typeParameter=n,i.questionToken=r,i.type=a,i}function te(e,t,r,a,i){return e.readonlyToken!==t||e.typeParameter!==r||e.questionToken!==a||e.type!==i?n(ee(t,r,a,i),e):e}function ne(e){var n=t(170);return n.operator=127,n.type=e,n}function re(e,t){return e.type!==t?n(ne(t),e):e}function ae(e,n){var r=t(171);return r.objectType=e,r.indexType=n,r}function ie(e,t,r){return e.objectType!==t||e.indexType!==r?n(ae(t,r),e):e}function oe(e,n,r){var a=t(145);return a.name=ea(e),a.constraint=n,a.default=r,a}function se(e,t,r,a){return e.name!==t||e.constraint!==r||e.default!==a?n(oe(t,r,a),e):e}function ce(e,n,r,a){var i=t(148);return i.name=ea(e),i.questionToken=n,i.type=r,i.initializer=a,i}function ue(e,t,r,a,i){return e.name!==t||e.questionToken!==r||e.type!==a||e.initializer!==i?n(ce(t,r,a,i),e):e}function le(e,n,a,i){var o=t(157);return o.decorators=na(e),o.modifiers=na(n),o.parameters=r(a),o.type=i,o}function _e(e,t,r,a,i){return e.parameters!==a||e.type!==i||e.decorators!==t||e.modifiers!==r?n(le(t,r,a,i),e):e}function de(n,r,a,i,o,s,c){var u=t(146);return u.decorators=na(n),u.modifiers=na(r),u.dotDotDotToken=a,u.name=ea(i),u.questionToken=o,u.type=s,u.initializer=c?e.parenthesizeExpressionForList(c):void 0,u}function pe(e,t,r,a,i,o,s,c){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==a||e.name!==i||e.questionToken!==o||e.type!==s||e.initializer!==c?n(de(t,r,a,i,e.questionToken,s,c),e):e}function fe(n){var r=t(147);return r.expression=e.parenthesizeForAccess(n),r}function me(e,t){return e.expression!==t?n(fe(t),e):e}function ge(e,n,r,a,i,o){var s=t(149);return s.decorators=na(e),s.modifiers=na(n),s.name=ea(r),s.questionToken=a,s.type=i,s.initializer=o,s}function ye(e,t,r,a,i,o){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.type!==i||e.initializer!==o?n(ge(t,r,a,e.questionToken,i,o),e):e}function he(e,n,a,i,o,s,c,u,l){var _=t(151);return _.decorators=na(e),_.modifiers=na(n),_.asteriskToken=a,_.name=ea(i),_.questionToken=o,_.typeParameters=na(s),_.parameters=r(c),_.type=u,_.body=l,_}function ve(e,t,r,a,i,o,s,c,u,l){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==a||e.name!==i||e.typeParameters!==s||e.parameters!==c||e.type!==u||e.body!==l?n(he(t,r,a,i,o,s,c,u,l),e):e}function be(e,n,a,i){var o=t(152);return o.decorators=na(e),o.modifiers=na(n),o.typeParameters=void 0,o.parameters=r(a),o.type=void 0,o.body=i,o}function xe(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==a||e.body!==i?n(be(t,r,a,i),e):e}function ke(e,n,a,i,o,s){var c=t(153);return c.decorators=na(e),c.modifiers=na(n),c.name=ea(a),c.typeParameters=void 0,c.parameters=r(i),c.type=o,c.body=s,c}function Se(e,t,r,a,i,o,s){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.parameters!==i||e.type!==o||e.body!==s?n(ke(t,r,a,i,o,s),e):e}function Te(e,n,a,i,o){var s=t(154);return s.decorators=na(e),s.modifiers=na(n),s.name=ea(a),s.typeParameters=void 0,s.parameters=r(i),s.body=o,s}function Ce(e,t,r,a,i,o){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.parameters!==i||e.body!==o?n(Te(t,r,a,i,o),e):e}function Ee(e){var n=t(174);return n.elements=r(e),n}function De(e,t){return e.elements!==t?n(Ee(t),e):e}function Ne(e){var n=t(175);return n.elements=r(e),n}function Ae(e,t){return e.elements!==t?n(Ne(t),e):e}function we(e,n,r,a){var i=t(176);return i.dotDotDotToken=e,i.propertyName=ea(n),i.name=ea(r),i.initializer=a,i}function Pe(e,t,r,a,i){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==a||e.initializer!==i?n(we(t,r,a,i),e):e}function Oe(n,a){var i=t(177);return i.elements=e.parenthesizeListElements(r(n)),a&&(i.multiLine=!0),i}function Fe(e,t){return e.elements!==t?n(Oe(t,e.multiLine),e):e}function Ie(e,n){var a=t(178);return a.properties=r(e),n&&(a.multiLine=!0),a}function Re(e,t){return e.properties!==t?n(Ie(t,e.multiLine),e):e}function Me(n,r){var a=t(179);return a.expression=e.parenthesizeForAccess(n),a.name=ea(r),ca(a,65536),a}function Le(e,t,r){return e.expression!==t||e.name!==r?n(ca(Me(t,r),sa(e)),e):e}function Be(n,r){var a=t(180);return a.expression=e.parenthesizeForAccess(n),a.argumentExpression=ta(r),a}function Ke(e,t,r){return e.expression!==t||e.argumentExpression!==r?n(Be(t,r),e):e}function je(n,a,i){var o=t(181);return o.expression=e.parenthesizeForAccess(n),o.typeArguments=na(a),o.arguments=e.parenthesizeListElements(r(i)),o}function Je(e,t,r,a){return t!==e.expression||r!==e.typeArguments||a!==e.arguments?n(je(t,r,a),e):e}function ze(n,a,i){var o=t(182);return o.expression=e.parenthesizeForNew(n),o.typeArguments=na(a),o.arguments=i?e.parenthesizeListElements(r(i)):void 0,o}function Ue(e,t,r,a){return e.expression!==t||e.typeArguments!==r||e.arguments!==a?n(ze(t,r,a),e):e}function Ve(n,r){var a=t(183);return a.tag=e.parenthesizeForAccess(n),a.template=r,a}function qe(e,t,r){return e.tag!==t||e.template!==r?n(Ve(t,r),e):e}function $e(n,r){var a=t(184);return a.type=n,a.expression=e.parenthesizePrefixOperand(r),a}function Ge(e,t,r){return e.type!==t||e.expression!==r?n($e(t,r),e):e}function We(e){var n=t(185);return n.expression=e,n}function He(e,t){return e.expression!==t?n(We(t),e):e}function Xe(e,n,a,i,o,s,c){var u=t(186);return u.modifiers=na(e),u.asteriskToken=n,u.name=ea(a),u.typeParameters=na(i),u.parameters=r(o),u.type=s,u.body=c,u}function Ye(e,t,r,a,i,o,s,c){return e.name!==a||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==i||e.parameters!==o||e.type!==s||e.body!==c?n(Xe(t,r,a,i,o,s,c),e):e}function Qe(n,a,i,o,s,c){var u=t(187);return u.modifiers=na(n),u.typeParameters=na(a),u.parameters=r(i),u.type=o,u.equalsGreaterThanToken=s||f(36),u.body=e.parenthesizeConciseBody(c),u}function Ze(e,t,r,a,i,o){return e.modifiers!==t||e.typeParameters!==r||e.parameters!==a||e.type!==i||e.body!==o?n(Qe(t,r,a,i,e.equalsGreaterThanToken,o),e):e}function et(n){var r=t(188);return r.expression=e.parenthesizePrefixOperand(n),r}function tt(e,t){return e.expression!==t?n(et(t),e):e}function nt(n){var r=t(189);return r.expression=e.parenthesizePrefixOperand(n),r}function rt(e,t){return e.expression!==t?n(nt(t),e):e}function at(n){var r=t(190);return r.expression=e.parenthesizePrefixOperand(n),r}function it(e,t){return e.expression!==t?n(at(t),e):e}function ot(n){var r=t(191);return r.expression=e.parenthesizePrefixOperand(n),r}function st(e,t){return e.expression!==t?n(ot(t),e):e}function ct(n,r){var a=t(192);return a.operator=n,a.operand=e.parenthesizePrefixOperand(r),a}function ut(e,t){return e.operand!==t?n(ct(e.operator,t),e):e}function lt(n,r){var a=t(193);return a.operand=e.parenthesizePostfixOperand(n),a.operator=r,a}function _t(e,t){return e.operand!==t?n(lt(t,e.operator),e):e}function dt(n,r,a){var i=t(194),o=ra(r),s=o.kind;return i.left=e.parenthesizeBinaryOperand(s,n,!0,void 0),i.operatorToken=o,i.right=e.parenthesizeBinaryOperand(s,a,!1,i.left),i}function pt(e,t,r){return e.left!==t||e.right!==r?n(dt(t,e.operatorToken,r),e):e}function ft(n,r,a,i,o){var s=t(195);return s.condition=e.parenthesizeForConditionalHead(n),s.questionToken=o?r:f(55),s.whenTrue=e.parenthesizeSubexpressionOfConditionalExpression(o?a:r),s.colonToken=o?i:f(56),s.whenFalse=e.parenthesizeSubexpressionOfConditionalExpression(o||a),s}function mt(e,t,r,a){return e.condition!==t||e.whenTrue!==r||e.whenFalse!==a?n(ft(t,e.questionToken,r,e.colonToken,a),e):e}function gt(e,n){var a=t(196);return a.head=e,a.templateSpans=r(n),a}function yt(e,t,r){return e.head!==t||e.templateSpans!==r?n(gt(t,r),e):e}function ht(e,n){var r=t(197);return r.asteriskToken=e&&39===e.kind?e:void 0,r.expression=e&&39!==e.kind?e:n,r}function vt(e,t,r){return e.expression!==r||e.asteriskToken!==t?n(ht(t,r),e):e}function bt(n){var r=t(198);return r.expression=e.parenthesizeExpressionForList(n),r}function xt(e,t){return e.expression!==t?n(bt(t),e):e}function kt(e,n,a,i,o){var s=t(199);return s.decorators=void 0,s.modifiers=na(e),s.name=ea(n),s.typeParameters=na(a),s.heritageClauses=na(i),s.members=r(o),s}function St(e,t,r,a,i,o){return e.modifiers!==t||e.name!==r||e.typeParameters!==a||e.heritageClauses!==i||e.members!==o?n(kt(t,r,a,i,o),e):e}function Tt(){return t(200)}function Ct(n,r){var a=t(201);return a.expression=e.parenthesizeForAccess(r),a.typeArguments=na(n),a}function Et(e,t,r){return e.typeArguments!==t||e.expression!==r?n(Ct(t,r),e):e}function Dt(e,n){var r=t(202);return r.expression=e,r.type=n,r}function Nt(e,t,r){return e.expression!==t||e.type!==r?n(Dt(t,r),e):e}function At(n){var r=t(203);return r.expression=e.parenthesizeForAccess(n),r}function wt(e,t){return e.expression!==t?n(At(t),e):e}function Pt(e,n){var r=t(205);return r.expression=e,r.literal=n,r}function Ot(e,t,r){return e.expression!==t||e.literal!==r?n(Pt(t,r),e):e}function Ft(e,n){var a=t(207);return a.statements=r(e),n&&(a.multiLine=n),a}function It(e,t){return t!==e.statements?n(Ft(t,e.multiLine),e):e}function Rt(n,r){var a=t(208);return a.decorators=void 0,a.modifiers=na(n),a.declarationList=e.isArray(r)?Lt(r):r,a}function Mt(e,t,r){return e.modifiers!==t||e.declarationList!==r?n(Rt(t,r),e):e}function Lt(e,n){var a=t(227);return a.flags|=n,a.declarations=r(e),a}function Bt(e,t){return e.declarations!==t?n(Lt(t,e.flags),e):e}function Kt(n,r,a){var i=t(226);return i.name=ea(n),i.type=r,i.initializer=void 0!==a?e.parenthesizeExpressionForList(a):void 0,i}function jt(e,t,r,a){return e.name!==t||e.type!==r||e.initializer!==a?n(Kt(t,r,a),e):e}function Jt(){return t(209)}function zt(n){var r=t(210);return r.expression=e.parenthesizeExpressionForExpressionStatement(n),r}function Ut(e,t){return e.expression!==t?n(zt(t),e):e}function Vt(e,n,r){var a=t(211);return a.expression=e,a.thenStatement=n,a.elseStatement=r,a}function qt(e,t,r,a){return e.expression!==t||e.thenStatement!==r||e.elseStatement!==a?n(Vt(t,r,a),e):e}function $t(e,n){var r=t(212);return r.statement=e,r.expression=n,r}function Gt(e,t,r){return e.statement!==t||e.expression!==r?n($t(t,r),e):e}function Wt(e,n){var r=t(213);return r.expression=e,r.statement=n,r}function Ht(e,t,r){return e.expression!==t||e.statement!==r?n(Wt(t,r),e):e}function Xt(e,n,r,a){var i=t(214);return i.initializer=e,i.condition=n,i.incrementor=r,i.statement=a,i}function Yt(e,t,r,a,i){return e.initializer!==t||e.condition!==r||e.incrementor!==a||e.statement!==i?n(Xt(t,r,a,i),e):e}function Qt(e,n,r){var a=t(215);return a.initializer=e,a.expression=n,a.statement=r,a}function Zt(e,t,r,a){return e.initializer!==t||e.expression!==r||e.statement!==a?n(Qt(t,r,a),e):e}function en(e,n,r,a){var i=t(216);return i.awaitModifier=e,i.initializer=n,i.expression=r,i.statement=a,i}function tn(e,t,r,a,i){return e.awaitModifier!==t||e.initializer!==r||e.expression!==a||e.statement!==i?n(en(t,r,a,i),e):e}function nn(e){var n=t(217);return n.label=ea(e),n}function rn(e,t){return e.label!==t?n(nn(t),e):e}function an(e){var n=t(218);return n.label=ea(e),n}function on$$1(e,t){return e.label!==t?n(an(t),e):e}function sn(e){var n=t(219);return n.expression=e,n}function cn(e,t){return e.expression!==t?n(sn(t),e):e}function un(e,n){var r=t(220);return r.expression=e,r.statement=n,r}function ln(e,t,r){return e.expression!==t||e.statement!==r?n(un(t,r),e):e}function _n(n,r){var a=t(221);return a.expression=e.parenthesizeExpressionForList(n),a.caseBlock=r,a}function dn(e,t,r){return e.expression!==t||e.caseBlock!==r?n(_n(t,r),e):e}function pn(e,n){var r=t(222);return r.label=ea(e),r.statement=n,r}function fn(e,t,r){return e.label!==t||e.statement!==r?n(pn(t,r),e):e}function mn(e){var n=t(223);return n.expression=e,n}function gn(e,t){return e.expression!==t?n(mn(t),e):e}function yn(e,n,r){var a=t(224);return a.tryBlock=e,a.catchClause=n,a.finallyBlock=r,a}function hn(e,t,r,a){return e.tryBlock!==t||e.catchClause!==r||e.finallyBlock!==a?n(yn(t,r,a),e):e}function vn(e,n,a,i,o,s,c,u){var l=t(228);return l.decorators=na(e),l.modifiers=na(n),l.asteriskToken=a,l.name=ea(i),l.typeParameters=na(o),l.parameters=r(s),l.type=c,l.body=u,l}function bn(e,t,r,a,i,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==a||e.name!==i||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?n(vn(t,r,a,i,o,s,c,u),e):e}function xn(e,n,a,i,o,s){var c=t(229);return c.decorators=na(e),c.modifiers=na(n),c.name=ea(a),c.typeParameters=na(i),c.heritageClauses=na(o),c.members=r(s),c}function kn(e,t,r,a,i,o,s){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.typeParameters!==i||e.heritageClauses!==o||e.members!==s?n(xn(t,r,a,i,o,s),e):e}function Sn(e,n,a,i){var o=t(232);return o.decorators=na(e),o.modifiers=na(n),o.name=ea(a),o.members=r(i),o}function Tn(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.members!==i?n(Sn(t,r,a,i),e):e}function Cn(e,n,r,a,i){var o=t(233);return o.flags|=i,o.decorators=na(e),o.modifiers=na(n),o.name=r,o.body=a,o}function En(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.body!==i?n(Cn(t,r,a,i,e.flags),e):e}function Dn(e){var n=t(234);return n.statements=r(e),n}function Nn(e,t){return e.statements!==t?n(Dn(t),e):e}function An(e){var n=t(235);return n.clauses=r(e),n}function wn(e,t){return e.clauses!==t?n(An(t),e):e}function Pn(e,n,r,a){var i=t(237);return i.decorators=na(e),i.modifiers=na(n),i.name=ea(r),i.moduleReference=a,i}function On(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.moduleReference!==i?n(Pn(t,r,a,i),e):e}function Fn(e,n,r,a){var i=t(238);return i.decorators=na(e),i.modifiers=na(n),i.importClause=r,i.moduleSpecifier=a,i}function In(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.importClause!==a||e.moduleSpecifier!==i?n(Fn(t,r,a,i),e):e}function Rn(e,n){var r=t(239);return r.name=e,r.namedBindings=n,r}function Mn(e,t,r){return e.name!==t||e.namedBindings!==r?n(Rn(t,r),e):e}function Ln(e){var n=t(240);return n.name=e,n}function Bn(e,t){return e.name!==t?n(Ln(t),e):e}function Kn(e){var n=t(241);return n.elements=r(e),n}function jn(e,t){return e.elements!==t?n(Kn(t),e):e}function Jn(e,n){var r=t(242);return r.propertyName=e,r.name=n,r}function zn(e,t,r){return e.propertyName!==t||e.name!==r?n(Jn(t,r),e):e}function Un(e,n,r,a){var i=t(243);return i.decorators=na(e),i.modifiers=na(n),i.isExportEquals=r,i.expression=a,i}function Vn(e,t,r,a){return e.decorators!==t||e.modifiers!==r||e.expression!==a?n(Un(t,r,e.isExportEquals,a),e):e}function qn(e,n,r,a){var i=t(244);return i.decorators=na(e),i.modifiers=na(n),i.exportClause=r,i.moduleSpecifier=a,i}function $n(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.exportClause!==a||e.moduleSpecifier!==i?n(qn(t,r,a,i),e):e}function Gn(e){var n=t(245);return n.elements=r(e),n}function Wn(e,t){return e.elements!==t?n(Gn(t),e):e}function Hn(e,n){var r=t(246);return r.propertyName=ea(e),r.name=ea(n),r}function Xn(e,t,r){return e.propertyName!==t||e.name!==r?n(Hn(t,r),e):e}function Yn(e){var n=t(248);return n.expression=e,n}function Qn(e,t){return e.expression!==t?n(Yn(t),e):e}function Zn(e,n,a){var i=t(249);return i.openingElement=e,i.children=r(n),i.closingElement=a,i}function er(e,t,r,a){return e.openingElement!==t||e.children!==r||e.closingElement!==a?n(Zn(t,r,a),e):e}function tr(e,n){var r=t(250);return r.tagName=e,r.attributes=n,r}function nr(e,t,r){return e.tagName!==t||e.attributes!==r?n(tr(t,r),e):e}function rr(e,n){var r=t(251);return r.tagName=e,r.attributes=n,r}function ar(e,t,r){return e.tagName!==t||e.attributes!==r?n(rr(t,r),e):e}function ir(e){var n=t(252);return n.tagName=e,n}function or(e,t){return e.tagName!==t?n(ir(t),e):e}function sr(e){var n=t(254);return n.properties=r(e),n}function cr(e,t){return e.properties!==t?n(sr(t),e):e}function ur(e,n){var r=t(253);return r.name=e,r.initializer=n,r}function lr(e,t,r){return e.name!==t||e.initializer!==r?n(ur(t,r),e):e}function _r(e){var n=t(255);return n.expression=e,n}function dr(e,t){return e.expression!==t?n(_r(t),e):e}function pr(e,n){var r=t(256);return r.dotDotDotToken=e,r.expression=n,r}function fr(e,t){return e.expression!==t?n(pr(e.dotDotDotToken,t),e):e}function mr(e,n){var a=t(259);return a.token=e,a.types=r(n),a}function gr(e,t){return e.types!==t?n(mr(e.token,t),e):e}function yr(n,a){var i=t(257);return i.expression=e.parenthesizeExpressionForList(n),i.statements=r(a),i}function hr(e,t,r){return e.expression!==t||e.statements!==r?n(yr(t,r),e):e}function vr(e){var n=t(258);return n.statements=r(e),n}function br(e,t){return e.statements!==t?n(vr(t),e):e}function xr(e,n){var r=t(260);return r.variableDeclaration="string"==typeof e?Kt(e):e,r.block=n,r}function kr(e,t,r){return e.variableDeclaration!==t||e.block!==r?n(xr(t,r),e):e}function Sr(n,r){var a=t(261);return a.name=ea(n),a.questionToken=void 0,a.initializer=void 0!==r?e.parenthesizeExpressionForList(r):void 0,a}function Tr(e,t,r){return e.name!==t||e.initializer!==r?n(Sr(t,r),e):e}function Cr(n,r){var a=t(262);return a.name=ea(n),a.objectAssignmentInitializer=void 0!==r?e.parenthesizeExpressionForList(r):void 0,a}function Er(e,t,r){return e.name!==t||e.objectAssignmentInitializer!==r?n(Cr(t,r),e):e}function Dr(n){var r=t(263);return r.expression=void 0!==n?e.parenthesizeExpressionForList(n):void 0,r}function Nr(e,t){return e.expression!==t?n(Dr(t),e):e}function Ar(n,r){var a=t(264);return a.name=ea(n),a.initializer=r&&e.parenthesizeExpressionForList(r),a}function wr(e,t,r){return e.name!==t||e.initializer!==r?n(Ar(t,r),e):e}function Pr(e,a){if(e.statements!==a){var i=t(265);return i.flags|=e.flags,i.statements=r(a),i.endOfFileToken=e.endOfFileToken,i.fileName=e.fileName,i.path=e.path,i.text=e.text,void 0!==e.amdDependencies&&(i.amdDependencies=e.amdDependencies),void 0!==e.moduleName&&(i.moduleName=e.moduleName),void 0!==e.referencedFiles&&(i.referencedFiles=e.referencedFiles),void 0!==e.typeReferenceDirectives&&(i.typeReferenceDirectives=e.typeReferenceDirectives),void 0!==e.languageVariant&&(i.languageVariant=e.languageVariant),void 0!==e.isDeclarationFile&&(i.isDeclarationFile=e.isDeclarationFile),void 0!==e.renamedDependencies&&(i.renamedDependencies=e.renamedDependencies),void 0!==e.hasNoDefaultLib&&(i.hasNoDefaultLib=e.hasNoDefaultLib),void 0!==e.languageVersion&&(i.languageVersion=e.languageVersion),void 0!==e.scriptKind&&(i.scriptKind=e.scriptKind),void 0!==e.externalModuleIndicator&&(i.externalModuleIndicator=e.externalModuleIndicator),void 0!==e.commonJsModuleIndicator&&(i.commonJsModuleIndicator=e.commonJsModuleIndicator),void 0!==e.identifiers&&(i.identifiers=e.identifiers),void 0!==e.nodeCount&&(i.nodeCount=e.nodeCount),void 0!==e.identifierCount&&(i.identifierCount=e.identifierCount),void 0!==e.symbolCount&&(i.symbolCount=e.symbolCount),void 0!==e.parseDiagnostics&&(i.parseDiagnostics=e.parseDiagnostics),void 0!==e.bindDiagnostics&&(i.bindDiagnostics=e.bindDiagnostics),void 0!==e.lineMap&&(i.lineMap=e.lineMap),void 0!==e.classifiableNames&&(i.classifiableNames=e.classifiableNames),void 0!==e.resolvedModules&&(i.resolvedModules=e.resolvedModules),void 0!==e.resolvedTypeReferenceDirectiveNames&&(i.resolvedTypeReferenceDirectiveNames=e.resolvedTypeReferenceDirectiveNames),void 0!==e.imports&&(i.imports=e.imports),void 0!==e.moduleAugmentations&&(i.moduleAugmentations=e.moduleAugmentations),n(i,e)}return e}function Or(e){var t=a(e);return t.pos=e.pos,t.end=e.end,t.parent=e.parent,t}function Fr(e){var n=t(295);return n.original=e,oa(n,e),n}function Ir(e){var n=t(298);return n.emitNode={},n.original=e,n}function Rr(e){var n=t(297);return n.emitNode={},n.original=e,n}function Mr(e,n){var r=t(296);return r.expression=e,r.original=n,oa(r,n),r}function Lr(e,t){return e.expression!==t?n(Mr(t,e.original),e):e}function Br(t){var n=e.createNode(266);return n.sourceFiles=t,n}function Kr(e,t){return e.sourceFiles!==t?Br(t):e}function jr(e,t){return dt(e,26,t)}function Jr(e,t){return dt(e,27,t)}function zr(e,t){return dt(e,58,t)}function Ur(e,t){return dt(e,34,t)}function Vr(e,t){return dt(e,35,t)}function qr(e,t){return dt(e,37,t)}function $r(e,t){return dt(e,38,t)}function Gr(e){return lt(e,43)}function Wr(e,t){return dt(e,53,t)}function Hr(e,t){return dt(e,54,t)}function Xr(e){return ct(51,e)}function Yr(){return at(i(0))}function Qr(e){return Un(void 0,void 0,!1,e)}function Zr(e){return qn(void 0,void 0,Gn([Hn(void 0,e)]))}function ea(e){return"string"==typeof e?u(e):e}function ta(e){return"string"==typeof e||"number"==typeof e?i(e):e}function na(e){return e?r(e):void 0}function ra(e){return"number"==typeof e?f(e):e}function aa(t){var n=(t=e.getSourceFileOfNode(e.getParseTreeNode(t)))&&t.emitNode,r=n&&n.annotatedNodes;if(r)for(var a=0,i=r;a0&&(i[c-s]=u);}s>0&&(i.length-=s);}}function Na(t,n){return t===n?0:t.priority===n.priority?0:void 0===t.priority?1:void 0===n.priority?-1:e.compareValues(t.priority,n.priority)}function Aa(e,t){if(e.original=t,t){var n=t.emitNode;n&&(e.emitNode=wa(n,e.emitNode));}return e}function wa(t,n){var r=t.flags,a=t.leadingComments,i=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers;return n||(n={}),a&&(n.leadingComments=e.addRange(a.slice(),n.leadingComments)),i&&(n.trailingComments=e.addRange(i.slice(),n.trailingComments)),r&&(n.flags=r),o&&(n.commentRange=o),s&&(n.sourceMapRange=s),c&&(n.tokenSourceMapRanges=Pa(c,n.tokenSourceMapRanges)),void 0!==u&&(n.constantValue=u),l&&(n.helpers=e.addRange(n.helpers,l)),n}function Pa(e,t){t||(t=[]);for(var n in e)t[n]=e[n];return t}e.updateNode=n,e.createNodeArray=r,e.getSynthesizedClone=a,e.createLiteral=i,e.createNumericLiteral=o,e.createIdentifier=u;var Oa=0;e.createTempVariable=l,e.createLoopVariable=_,e.createUniqueName=d,e.getGeneratedNameForNode=p,e.createToken=f,e.createSuper=m,e.createThis=g,e.createNull=y,e.createTrue=h,e.createFalse=v,e.createQualifiedName=b,e.updateQualifiedName=x,e.createComputedPropertyName=k,e.updateComputedPropertyName=S,e.createSignatureDeclaration=T,e.createFunctionTypeNode=E,e.updateFunctionTypeNode=D,e.createConstructorTypeNode=N,e.updateConstructorTypeNode=A,e.createCallSignatureDeclaration=w,e.updateCallSignatureDeclaration=P,e.createConstructSignatureDeclaration=O,e.updateConstructSignatureDeclaration=F,e.createMethodSignature=I,e.updateMethodSignature=R,e.createKeywordTypeNode=M,e.createThisTypeNode=L,e.createLiteralTypeNode=B,e.updateLiteralTypeNode=K,e.createTypeReferenceNode=j,e.updateTypeReferenceNode=J,e.createTypePredicateNode=z,e.updateTypePredicateNode=U,e.createTypeQueryNode=V,e.updateTypeQueryNode=q,e.createArrayTypeNode=$,e.updateArrayTypeNode=G,e.createUnionOrIntersectionTypeNode=W,e.updateUnionOrIntersectionTypeNode=H,e.createTypeLiteralNode=X,e.updateTypeLiteralNode=Y,e.createTupleTypeNode=Q,e.updateTypleTypeNode=Z,e.createMappedTypeNode=ee,e.updateMappedTypeNode=te,e.createTypeOperatorNode=ne,e.updateTypeOperatorNode=re,e.createIndexedAccessTypeNode=ae,e.updateIndexedAccessTypeNode=ie,e.createTypeParameterDeclaration=oe,e.updateTypeParameterDeclaration=se,e.createPropertySignature=ce,e.updatePropertySignature=ue,e.createIndexSignatureDeclaration=le,e.updateIndexSignatureDeclaration=_e,e.createParameter=de,e.updateParameter=pe,e.createDecorator=fe,e.updateDecorator=me,e.createProperty=ge,e.updateProperty=ye,e.createMethodDeclaration=he,e.updateMethod=ve,e.createConstructor=be,e.updateConstructor=xe,e.createGetAccessor=ke,e.updateGetAccessor=Se,e.createSetAccessor=Te,e.updateSetAccessor=Ce,e.createObjectBindingPattern=Ee,e.updateObjectBindingPattern=De,e.createArrayBindingPattern=Ne,e.updateArrayBindingPattern=Ae,e.createBindingElement=we,e.updateBindingElement=Pe,e.createArrayLiteral=Oe,e.updateArrayLiteral=Fe,e.createObjectLiteral=Ie,e.updateObjectLiteral=Re,e.createPropertyAccess=Me,e.updatePropertyAccess=Le,e.createElementAccess=Be,e.updateElementAccess=Ke,e.createCall=je,e.updateCall=Je,e.createNew=ze,e.updateNew=Ue,e.createTaggedTemplate=Ve,e.updateTaggedTemplate=qe,e.createTypeAssertion=$e,e.updateTypeAssertion=Ge,e.createParen=We,e.updateParen=He,e.createFunctionExpression=Xe,e.updateFunctionExpression=Ye,e.createArrowFunction=Qe,e.updateArrowFunction=Ze,e.createDelete=et,e.updateDelete=tt,e.createTypeOf=nt,e.updateTypeOf=rt,e.createVoid=at,e.updateVoid=it,e.createAwait=ot,e.updateAwait=st,e.createPrefix=ct,e.updatePrefix=ut,e.createPostfix=lt,e.updatePostfix=_t,e.createBinary=dt,e.updateBinary=pt,e.createConditional=ft,e.updateConditional=mt,e.createTemplateExpression=gt,e.updateTemplateExpression=yt,e.createYield=ht,e.updateYield=vt,e.createSpread=bt,e.updateSpread=xt,e.createClassExpression=kt,e.updateClassExpression=St,e.createOmittedExpression=Tt,e.createExpressionWithTypeArguments=Ct,e.updateExpressionWithTypeArguments=Et,e.createAsExpression=Dt,e.updateAsExpression=Nt,e.createNonNullExpression=At,e.updateNonNullExpression=wt,e.createTemplateSpan=Pt,e.updateTemplateSpan=Ot,e.createBlock=Ft,e.updateBlock=It,e.createVariableStatement=Rt,e.updateVariableStatement=Mt,e.createVariableDeclarationList=Lt,e.updateVariableDeclarationList=Bt,e.createVariableDeclaration=Kt,e.updateVariableDeclaration=jt,e.createEmptyStatement=Jt,e.createStatement=zt,e.updateStatement=Ut,e.createIf=Vt,e.updateIf=qt,e.createDo=$t,e.updateDo=Gt,e.createWhile=Wt,e.updateWhile=Ht,e.createFor=Xt,e.updateFor=Yt,e.createForIn=Qt,e.updateForIn=Zt,e.createForOf=en,e.updateForOf=tn,e.createContinue=nn,e.updateContinue=rn,e.createBreak=an,e.updateBreak=on$$1,e.createReturn=sn,e.updateReturn=cn,e.createWith=un,e.updateWith=ln,e.createSwitch=_n,e.updateSwitch=dn,e.createLabel=pn,e.updateLabel=fn,e.createThrow=mn,e.updateThrow=gn,e.createTry=yn,e.updateTry=hn,e.createFunctionDeclaration=vn,e.updateFunctionDeclaration=bn,e.createClassDeclaration=xn,e.updateClassDeclaration=kn,e.createEnumDeclaration=Sn,e.updateEnumDeclaration=Tn,e.createModuleDeclaration=Cn,e.updateModuleDeclaration=En,e.createModuleBlock=Dn,e.updateModuleBlock=Nn,e.createCaseBlock=An,e.updateCaseBlock=wn,e.createImportEqualsDeclaration=Pn,e.updateImportEqualsDeclaration=On,e.createImportDeclaration=Fn,e.updateImportDeclaration=In,e.createImportClause=Rn,e.updateImportClause=Mn,e.createNamespaceImport=Ln,e.updateNamespaceImport=Bn,e.createNamedImports=Kn,e.updateNamedImports=jn,e.createImportSpecifier=Jn,e.updateImportSpecifier=zn,e.createExportAssignment=Un,e.updateExportAssignment=Vn,e.createExportDeclaration=qn,e.updateExportDeclaration=$n,e.createNamedExports=Gn,e.updateNamedExports=Wn,e.createExportSpecifier=Hn,e.updateExportSpecifier=Xn,e.createExternalModuleReference=Yn,e.updateExternalModuleReference=Qn,e.createJsxElement=Zn,e.updateJsxElement=er,e.createJsxSelfClosingElement=tr,e.updateJsxSelfClosingElement=nr,e.createJsxOpeningElement=rr,e.updateJsxOpeningElement=ar,e.createJsxClosingElement=ir,e.updateJsxClosingElement=or,e.createJsxAttributes=sr,e.updateJsxAttributes=cr,e.createJsxAttribute=ur,e.updateJsxAttribute=lr,e.createJsxSpreadAttribute=_r,e.updateJsxSpreadAttribute=dr,e.createJsxExpression=pr,e.updateJsxExpression=fr,e.createHeritageClause=mr,e.updateHeritageClause=gr,e.createCaseClause=yr,e.updateCaseClause=hr,e.createDefaultClause=vr,e.updateDefaultClause=br,e.createCatchClause=xr,e.updateCatchClause=kr,e.createPropertyAssignment=Sr,e.updatePropertyAssignment=Tr,e.createShorthandPropertyAssignment=Cr,e.updateShorthandPropertyAssignment=Er,e.createSpreadAssignment=Dr,e.updateSpreadAssignment=Nr,e.createEnumMember=Ar,e.updateEnumMember=wr,e.updateSourceFileNode=Pr,e.getMutableClone=Or,e.createNotEmittedStatement=Fr,e.createEndOfDeclarationMarker=Ir,e.createMergeDeclarationMarker=Rr,e.createPartiallyEmittedExpression=Mr,e.updatePartiallyEmittedExpression=Lr,e.createBundle=Br,e.updateBundle=Kr,e.createComma=jr,e.createLessThan=Jr,e.createAssignment=zr,e.createStrictEquality=Ur,e.createStrictInequality=Vr,e.createAdd=qr,e.createSubtract=$r,e.createPostfixIncrement=Gr,e.createLogicalAnd=Wr,e.createLogicalOr=Hr,e.createLogicalNot=Xr,e.createVoidZero=Yr,e.createExportDefault=Qr,e.createExternalModuleExport=Zr,e.disposeEmitNodes=aa,e.getOrCreateEmitNode=ia,e.setTextRange=oa,e.getEmitFlags=sa,e.setEmitFlags=ca,e.getSourceMapRange=ua,e.setSourceMapRange=la,e.getTokenSourceMapRange=_a,e.setTokenSourceMapRange=da,e.getCommentRange=pa,e.setCommentRange=fa,e.getSyntheticLeadingComments=ma,e.setSyntheticLeadingComments=ga,e.addSyntheticLeadingComment=ya,e.getSyntheticTrailingComments=ha,e.setSyntheticTrailingComments=va,e.addSyntheticTrailingComment=ba,e.getConstantValue=xa,e.setConstantValue=ka,e.addEmitHelper=Sa,e.addEmitHelpers=Ta,e.removeEmitHelper=Ca,e.getEmitHelpers=Ea,e.moveEmitHelpers=Da,e.compareEmitHelpers=Na,e.setOriginalNode=Aa;}(r||(r={})),function(e){function t(t,n){return"undefined"===n?e.createStrictEquality(t,e.createVoidZero()):e.createStrictEquality(e.createTypeOf(t),e.createLiteral(n))}function n(t,n,r){if(e.isComputedPropertyName(n))return e.setTextRange(e.createElementAccess(t,n.expression),r);var a=e.setTextRange(e.isIdentifier(n)?e.createPropertyAccess(t,n):e.createElementAccess(t,n),n);return e.getOrCreateEmitNode(a).flags|=64,a}function r(t,n,r,a){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"call"),void 0,[n].concat(r)),a)}function a(t,n,r,a){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"apply"),void 0,[n,r]),a)}function i(t,n){var r=[];return void 0!==n&&r.push("number"==typeof n?e.createLiteral(n):n),e.createCall(e.createPropertyAccess(t,"slice"),void 0,r)}function o(t,n){return e.createCall(e.createPropertyAccess(t,"concat"),void 0,n)}function s(t,n,r){return e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Math"),"pow"),void 0,[t,n]),r)}function c(t,n){var r=e.createIdentifier(t||"React");return r.flags&=-9,r.parent=e.getParseTreeNode(n),r}function u(t,n){if(e.isQualifiedName(t)){var r=u(t.left,n),a=e.createIdentifier(t.right.text);return a.text=t.right.text,e.createPropertyAccess(r,a)}return c(t.text,n)}function l(t,n,r){return t?u(t,r):e.createPropertyAccess(c(n,r),"createElement")}function _(t,n,r,a,i,o,s){var c=[r];if(a&&c.push(a),i&&i.length>0)if(a||c.push(e.createNull()),i.length>1)for(var u=0,_=i;u<_.length;u++){var d=_[u];d.startsOnNewLine=!0,c.push(d);}else c.push(i[0]);return e.setTextRange(e.createCall(l(t,n,o),void 0,c),s)}function d(t){return e.setEmitFlags(e.createIdentifier(t),4098)}function p(t,n,r){return t.requestEmitHelper(Fe),e.setTextRange(e.createCall(d("__values"),void 0,[n]),r)}function f(t,n,r,a){return t.requestEmitHelper(Ie),e.setTextRange(e.createCall(d("__read"),void 0,void 0!==r?[n,e.createLiteral(r)]:[n]),a)}function m(t,n,r){return t.requestEmitHelper(Ie),t.requestEmitHelper(Re),e.setTextRange(e.createCall(d("__spread"),void 0,n),r)}function g(t,n){if(e.isVariableDeclarationList(t)){var r=e.firstOrUndefined(t.declarations),a=e.updateVariableDeclaration(r,r.name,void 0,n);return e.setTextRange(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[a])),t)}var i=e.setTextRange(e.createAssignment(t,n),t);return e.setTextRange(e.createStatement(i),t)}function y(t,n){return e.isBlock(t)?e.updateBlock(t,e.setTextRange(e.createNodeArray([n].concat(t.statements)),t.statements)):e.createBlock(e.createNodeArray([t,n]),!0)}function h(t,n,r){if(!n)return t;var a=e.updateLabel(n,n.label,222===n.statement.kind?h(t,n.statement):t);return r&&r(n),a}function v(e,t){var n=ce(e);switch(n.kind){case 71:return t;case 99:case 8:case 9:return!1;case 177:return 0!==n.elements.length;case 178:return n.properties.length>0;default:return!0}}function b(t,n,r,a){var i,o,s=se(t,7);if(e.isSuperProperty(s))i=e.createThis(),o=s;else if(97===s.kind)i=e.createThis(),o=r<2?e.setTextRange(e.createIdentifier("_super"),s):s;else if(4096&e.getEmitFlags(s))i=e.createVoidZero(),o=Q(s);else switch(s.kind){case 179:v(s.expression,a)?(i=e.createTempVariable(n),o=e.createPropertyAccess(e.setTextRange(e.createAssignment(i,s.expression),s.expression),s.name),e.setTextRange(o,s)):(i=s.expression,o=s);break;case 180:v(s.expression,a)?(i=e.createTempVariable(n),o=e.createElementAccess(e.setTextRange(e.createAssignment(i,s.expression),s.expression),s.argumentExpression),e.setTextRange(o,s)):(i=s.expression,o=s);break;default:i=e.createVoidZero(),o=Q(t);}return{target:o,thisArg:i}}function x(t){return e.reduceLeft(t,e.createComma)}function k(t){if(e.isQualifiedName(t)){var n=k(t.left),r=e.getMutableClone(t.right);return e.setTextRange(e.createPropertyAccess(n,r),t)}return e.getMutableClone(t)}function S(t){return e.isIdentifier(t)?e.createLiteral(t):e.isComputedPropertyName(t)?e.getMutableClone(t.expression):e.getMutableClone(t)}function T(e,t,n){switch(t.kind){case 153:case 154:return C(e.properties,t,n,e.multiLine);case 261:return E(t,n);case 262:return D(t,n);case 151:return N(t,n)}}function C(t,n,r,a){var i=e.getAllAccessorDeclarations(t,n),o=i.firstAccessor,s=i.getAccessor,c=i.setAccessor;if(n===o){var u=[];if(s){var l=e.createFunctionExpression(s.modifiers,void 0,void 0,void 0,s.parameters,void 0,s.body);e.setTextRange(l,s),e.setOriginalNode(l,s);var _=e.createPropertyAssignment("get",l);u.push(_);}if(c){var d=e.createFunctionExpression(c.modifiers,void 0,void 0,void 0,c.parameters,void 0,c.body);e.setTextRange(d,c),e.setOriginalNode(d,c);var p=e.createPropertyAssignment("set",d);u.push(p);}u.push(e.createPropertyAssignment("enumerable",e.createTrue())),u.push(e.createPropertyAssignment("configurable",e.createTrue()));var f=e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"defineProperty"),void 0,[r,S(n.name),e.createObjectLiteral(u,a)]),o);return e.aggregateTransformFlags(f)}}function E(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(n(r,t.name,t.name),t.initializer),t),t))}function D(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(n(r,t.name,t.name),e.getSynthesizedClone(t.name)),t),t))}function N(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(n(r,t.name,t.name),e.setOriginalNode(e.setTextRange(e.createFunctionExpression(t.modifiers,t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t))}function A(e,t,n){return I(e,t,n,16384)}function w(t){return 0!=(16384&e.getEmitFlags(t))}function P(e,t,n){return I(e,t,n,8192)}function O(t){return 0!=(8192&e.getEmitFlags(t))}function F(e,t,n){return I(e,t,n)}function I(t,n,r,a){if(t.name&&e.isIdentifier(t.name)&&!e.isGeneratedIdentifier(t.name)){var i=e.getMutableClone(t.name);return a|=e.getEmitFlags(t.name),r||(a|=48),n||(a|=1536),a&&e.setEmitFlags(i,a),i}return e.getGeneratedNameForNode(t)}function R(t,n,r,a){return t&&e.hasModifier(n,1)?M(t,I(n),r,a):P(n,r,a)}function M(t,n,r,a){var i=e.createPropertyAccess(t,e.nodeIsSynthesized(n)?n:e.getSynthesizedClone(n));e.setTextRange(i,n);var o;return a||(o|=48),r||(o|=1536),o&&e.setEmitFlags(i,o),i}function L(t,n){return e.isBlock(t)?t:e.setTextRange(e.createBlock([e.setTextRange(e.createReturn(t),t)],n),t)}function B(e){return"use strict"===e.expression.text}function K(e,t,n,r){return J(e,t,j(e,t,n),r)}function j(t,n,r){e.Debug.assert(0===t.length,"Prologue directives should be at the first statement in the target statements array");for(var a=!1,i=0,o=n.length;ie.getOperatorPrecedence(194,26)?t:e.setTextRange(e.createParen(t),t)}function re(t){var n=le(t);if(e.isCallExpression(n)){var r=n.expression,a=le(r).kind;if(186===a||187===a){var i=e.getMutableClone(n);return i.expression=e.setTextRange(e.createParen(r),r),ae(t,i)}}else{var o=ie(n).kind;if(178===o||186===o)return e.setTextRange(e.createParen(t),t)}return t}function ae(t,n){if(e.isPartiallyEmittedExpression(t)){var r=e.getMutableClone(t);return r.expression=ae(r.expression,n),r}return n}function ie(e){for(;;){switch(e.kind){case 193:e=e.operand;continue;case 194:e=e.left;continue;case 195:e=e.condition;continue;case 181:case 180:case 179:case 296:e=e.expression;continue}return e}}function oe(t){return e.isBlock(t)||178!==ie(t).kind?t:e.setTextRange(e.createParen(t),t)}function se(e,t){void 0===t&&(t=7);var n;do{n=e,1&t&&(e=ce(e)),2&t&&(e=ue(e)),4&t&&(e=le(e));}while(n!==e);return e}function ce(e){for(;185===e.kind;)e=e.expression;return e}function ue(t){for(;e.isAssertionExpression(t);)t=t.expression;return t}function le(e){for(;296===e.kind;)e=e.expression;return e}function _e(e){return e.startsOnNewLine=!0,e}function de(t){var n=e.getOriginalNode(t,e.isSourceFile),r=n&&n.emitNode;return r&&r.externalHelpersModuleName}function pe(t,n){if(n.importHelpers&&(e.isExternalModule(t)||n.isolatedModules)){var r=de(t);if(r)return r;var a=e.getEmitHelpers(t);if(a)for(var i=0,o=a;i= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };\n '};e.createValuesHelper=p;var Ie={name:"typescript:read",scoped:!1,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };\n '};e.createReadHelper=f;var Re={name:"typescript:spread",scoped:!1,text:"\n var __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };"};e.createSpreadHelper=m,e.createForOfBindingStatement=g,e.insertLeadingStatement=y,e.restoreEnclosingLabel=h,e.createCallBinding=b,e.inlineExpressions=x,e.createExpressionFromEntityName=k,e.createExpressionForPropertyName=S,e.createExpressionForObjectLiteralElementLike=T,e.getLocalName=A,e.isLocalName=w,e.getExportName=P,e.isExportName=O,e.getDeclarationName=F,e.getExternalModuleOrNamespaceExportName=R,e.getNamespaceMemberName=M,e.convertToFunctionBody=L,e.addPrologue=K,e.addStandardPrologue=j,e.addCustomPrologue=J,e.startsWithUseStrict=z,e.ensureUseStrict=U,e.parenthesizeConditionalHead=V,e.parenthesizeBinaryOperand=q,e.parenthesizeForConditionalHead=H,e.parenthesizeSubexpressionOfConditionalExpression=X,e.parenthesizeForNew=Y,e.parenthesizeForAccess=Q,e.parenthesizePostfixOperand=Z,e.parenthesizePrefixOperand=ee,e.parenthesizeListElements=te,e.parenthesizeExpressionForList=ne,e.parenthesizeExpressionForExpressionStatement=re,e.parenthesizeConciseBody=oe;!function(e){e[e.Parentheses=1]="Parentheses",e[e.Assertions=2]="Assertions",e[e.PartiallyEmittedExpressions=4]="PartiallyEmittedExpressions",e[e.All=7]="All";}(e.OuterExpressionKinds||(e.OuterExpressionKinds={})),e.skipOuterExpressions=se,e.skipParentheses=ce,e.skipAssertions=ue,e.skipPartiallyEmittedExpressions=le,e.startOnNewLine=_e,e.getExternalHelpersModuleName=de,e.getOrCreateExternalHelpersModuleNameIfNeeded=pe,e.getLocalNameForExternalImport=fe,e.getExternalModuleNameLiteral=me,e.tryGetModuleNameFromFile=ye,e.getInitializerOfBindingOrAssignmentElement=ve,e.getTargetOfBindingOrAssignmentElement=be,e.getRestIndicatorOfBindingOrAssignmentElement=xe,e.getPropertyNameOfBindingOrAssignmentElement=ke,e.getElementsOfBindingOrAssignmentPattern=Se,e.convertToArrayAssignmentElement=Te,e.convertToObjectAssignmentElement=Ce,e.convertToAssignmentPattern=Ee,e.convertToObjectAssignmentPattern=De,e.convertToArrayAssignmentPattern=Ne,e.convertToAssignmentElementTarget=Ae,e.collectExternalModuleInfo=we;}(r||(r={}));!function(e){function t(t,n,r){return 265===t?new(m||(m=e.objectAllocator.getSourceFileConstructor()))(t,n,r):71===t?new(f||(f=e.objectAllocator.getIdentifierConstructor()))(t,n,r):t<143?new(p||(p=e.objectAllocator.getTokenConstructor()))(t,n,r):new(d||(d=e.objectAllocator.getNodeConstructor()))(t,n,r)}function n(e,t){if(t)return e(t)}function r(e,t){if(t)return e(t)}function a(e,t){if(t)for(var n=0,r=t;n107)}function W(t,n,r){return void 0===r&&(r=!0),M()===t?(r&&L(),!0):(n?P(n):P(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function H(e){return M()===e&&(L(),!0)}function X(e){if(M()===e)return Q()}function Y(e,t,n,r){return X(e)||ae(e,t,n,r)}function Q(){var e=te(M());return L(),re(e)}function Z(){return 25===M()||(18===M()||1===M()||_i.hasPrecedingLineBreak())}function ee(){return Z()?(25===M()&&L(),!0):W(25)}function te(e,t){return oi++,t>=0||(t=_i.getStartPos()),e>=143?new Ya(e,t,t):71===e?new Za(e,t,t):new Qa(e,t,t)}function ne(e,t){var n=e||[];return t>=0||(t=I()),n.pos=t,n.end=t,n}function re(e,t){return e.end=void 0===t?_i.getStartPos():t,li&&(e.flags|=li),pi&&(pi=!1,e.flags|=32768),e}function ae(e,t,n,r){t?O(_i.getStartPos(),0,n,r):P(n,r);var a=te(e,_i.getStartPos());return a.text="",re(a)}function ie(t){t=e.escapeIdentifier(t);var n=si.get(t);return void 0===n&&si.set(t,n=t),n}function oe(t,n){if(ci++,t){var r=te(71);return 71!==M()&&(r.originalKeywordKind=M()),r.text=ie(_i.getTokenValue()),L(),re(r)}return ae(71,!1,n||e.Diagnostics.Identifier_expected)}function se(e){return oe(G(),e)}function ce(){return oe(e.tokenIsIdentifierOrKeyword(M()))}function ue(){return e.tokenIsIdentifierOrKeyword(M())||9===M()||8===M()}function le(e){return 9===M()||8===M()?Ye(!0):e&&21===M()?fe():ce()}function _e(){return le(!0)}function de(){return le(!1)}function pe(){return 9===M()||8===M()||e.tokenIsIdentifierOrKeyword(M())}function fe(){var e=te(144);return W(21),e.expression=v(en),W(22),re(e)}function me(e){return M()===e&&$(ye)}function ge(){return L(),!_i.hasPrecedingLineBreak()&&ve()}function ye(){return 76===M()?83===L():84===M()?(L(),79===M()?q(be):39!==M()&&118!==M()&&17!==M()&&ve()):79===M()?be():115===M()?(L(),ve()):ge()}function he(){return e.isModifierKind(M())&&$(ye)}function ve(){return 21===M()||17===M()||39===M()||24===M()||ue()}function be(){return L(),75===M()||89===M()||117===M()&&q(Fr)||120===M()&&q(Ir)}function xe(t,n){if(Oe(t))return!0;switch(t){case 0:case 1:case 3:return!(25===M()&&n)&&Br();case 2:return 73===M()||79===M();case 4:return q(bt);case 5:return q(ua)||25===M()&&!n;case 6:return 21===M()||ue();case 12:return 21===M()||39===M()||24===M()||ue();case 17:return ue();case 9:return 21===M()||24===M()||ue();case 7:return 17===M()?q(ke):n?G()&&!Ce():Yt()&&!Ce();case 8:return Hr();case 10:return 26===M()||24===M()||Hr();case 18:return G();case 11:case 15:return 26===M()||24===M()||Qt();case 16:return ct();case 19:case 20:return 26===M()||Rt();case 21:return ka();case 22:return e.tokenIsIdentifierOrKeyword(M());case 13:return e.tokenIsIdentifierOrKeyword(M())||17===M();case 14:return!0;case 23:case 24:case 26:return gi.isJSDocType();case 25:return pe()}e.Debug.fail("Non-exhaustive case in 'isListElement'.");}function ke(){if(e.Debug.assert(17===M()),18===L()){var t=L();return 26===t||17===t||85===t||108===t}return!0}function Se(){return L(),G()}function Te(){return L(),e.tokenIsIdentifierOrKeyword(M())}function Ce(){return(108===M()||85===M())&&q(Ee)}function Ee(){return L(),Qt()}function De(e){if(1===M())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 22:return 18===M();case 3:return 18===M()||73===M()||79===M();case 7:return 17===M()||85===M()||108===M();case 8:return Ne();case 18:return 29===M()||19===M()||17===M()||85===M()||108===M();case 11:return 20===M()||25===M();case 15:case 20:case 10:return 22===M();case 16:case 17:return 20===M()||22===M();case 19:return 26!==M();case 21:return 17===M()||18===M();case 13:return 29===M()||41===M();case 14:return 27===M()&&q(Ia);case 23:return 20===M()||56===M()||18===M();case 24:return 29===M()||18===M();case 26:return 22===M()||18===M();case 25:return 18===M()}}function Ne(){return!!Z()||(!!hn(M())||36===M())}function Ae(){for(var e=0;e<27;e++)if(ui&1<=0&&(a.hasTrailingComma=!0),a.end=R(),ui=r,a}function qe(){return ne()}function $e(e,t,n,r){if(W(n)){var a=Ve(e,t);return W(r),a}return qe()}function Ge(e,t){for(var n=se(t);H(23);){var r=te(143,n.pos);r.left=n,r.right=We(e),n=re(r);}return n}function We(t){return _i.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(M())&&q(Or)?ae(71,!0,e.Diagnostics.Identifier_expected):t?ce():se()}function He(){var t=te(196);t.head=Qe(),e.Debug.assert(14===t.head.kind,"Template head has wrong token kind");var n=ne();do{n.push(Xe());}while(15===e.lastOrUndefined(n).literal.kind);return n.end=R(),t.templateSpans=n,re(t)}function Xe(){var t=te(205);t.expression=v(en);var n;return 18===M()?(j(),n=Ze()):n=Y(16,!1,e.Diagnostics._0_expected,e.tokenToString(18)),t.literal=n,re(t)}function Ye(e){return et(M(),e)}function Qe(){var t=et(M(),!1);return e.Debug.assert(14===t.kind,"Template head has wrong token kind"),t}function Ze(){var t=et(M(),!1);return e.Debug.assert(15===t.kind||16===t.kind,"Template fragment has wrong token kind"),t}function et(e,t){var n=te(e),r=_i.getTokenValue();return n.text=t?ie(r):r,_i.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),_i.isUnterminated()&&(n.isUnterminated=!0),8===n.kind&&(n.numericLiteralFlags=_i.getNumericLiteralFlags()),L(),re(n),n}function tt(){var t=te(159);return t.typeName=Ge(!1,e.Diagnostics.Type_expected),_i.hasPrecedingLineBreak()||27!==M()||(t.typeArguments=$e(19,Wt,27,29)),re(t)}function nt(e){L();var t=te(158,e.pos);return t.parameterName=e,t.type=Wt(),re(t)}function rt(){var e=te(169);return L(),re(e)}function at(){var e=te(162);return W(103),e.exprName=Ge(!0),re(e)}function it(){var e=te(145);return e.name=se(),H(85)&&(Rt()||!Qt()?e.constraint=Wt():e.expression=wn()),H(58)&&(e.default=Wt()),re(e)}function ot(){if(27===M())return $e(18,it,27,29)}function st(){if(H(56))return Wt()}function ct(){return 24===M()||Hr()||e.isModifierKind(M())||57===M()||99===M()}function ut(){var t=te(146);return 99===M()?(t.name=oe(!0),t.type=st(),re(t)):(t.decorators=la(),t.modifiers=_a(),t.dotDotDotToken=X(24),t.name=Xr(),0===e.getFullWidth(t.name)&&!e.hasModifiers(t)&&e.isModifierKind(M())&&L(),t.questionToken=X(55),t.type=st(),t.initializer=lt(!0),u(re(t)))}function lt(e){return e?_t():oa()}function _t(){return tn(!0)}function dt(e,t,n,r,a){var i=36===e;a.typeParameters=ot(),a.parameters=pt(t,n,r),i?(W(e),a.type=$t()):H(e)&&(a.type=$t());}function pt(e,t,n){if(W(19)){var r=D(),a=w();f(e),g(t);var i=Ve(16,ut);if(f(r),g(a),!W(20)&&n)return;return i}return n?void 0:qe()}function ft(){H(26)||ee();}function mt(e){var t=te(e);return 156===e&&W(94),dt(56,!1,!1,!1,t),ft(),u(re(t))}function gt(){return 21===M()&&q(yt)}function yt(){if(L(),24===M()||22===M())return!0;if(e.isModifierKind(M())){if(L(),G())return!0}else{if(!G())return!1;L();}return 56===M()||26===M()||55===M()&&(L(),56===M()||26===M()||22===M())}function ht(e,t,n){var r=te(157,e);return r.decorators=t,r.modifiers=n,r.parameters=$e(16,ut,21,22),r.type=Xt(),ft(),re(r)}function vt(e,t){var n=_e(),r=X(55);if(19===M()||27===M()){var a=te(150,e);return a.modifiers=t,a.name=n,a.questionToken=r,dt(56,!1,!1,!1,a),ft(),u(re(a))}var i=te(148,e);return i.modifiers=t,i.name=n,i.questionToken=r,i.type=Xt(),58===M()&&(i.initializer=oa()),ft(),u(re(i))}function bt(){if(19===M()||27===M())return!0;for(var t;e.isModifierKind(M());)t=!0,L();return 21===M()||(ue()&&(t=!0,L()),!!t&&(19===M()||27===M()||55===M()||56===M()||26===M()||Z()))}function xt(){if(19===M()||27===M())return mt(155);if(94===M()&&q(kt))return mt(156);var e=I(),t=_a();return gt()?ht(e,void 0,t):vt(e,t)}function kt(){return L(),19===M()||27===M()}function St(){var e=te(163);return e.members=Tt(),re(e)}function Tt(){var e;return W(17)?(e=we(4,xt),W(18)):e=qe(),e}function Ct(){return L(),131===M()&&L(),21===M()&&Se()&&92===L()}function Et(){var e=te(145);return e.name=se(),W(92),e.constraint=Wt(),re(e)}function Dt(){var e=te(172);return W(17),e.readonlyToken=X(131),W(21),e.typeParameter=Et(),W(22),e.questionToken=X(55),e.type=Xt(),ee(),W(18),re(e)}function Nt(){var e=te(165);return e.elementTypes=$e(20,Wt,21,22),re(e)}function At(){var e=te(168);return W(19),e.type=Wt(),W(20),re(e)}function wt(e){var t=te(e);return 161===e&&W(94),dt(36,!1,!1,!1,t),re(t)}function Pt(){var e=Q();return 23===M()?void 0:e}function Ot(){var e=te(173);return e.literal=Pn(),re(e),e}function Ft(){return 8===L()}function It(){switch(M()){case 119:case 136:case 133:case 122:case 137:case 139:case 130:case 134:return $(Pt)||tt();case 9:case 8:case 101:case 86:return Ot();case 38:return q(Ft)?Ot():tt();case 105:case 95:return Q();case 99:var e=rt();return 126!==M()||_i.hasPrecedingLineBreak()?e:nt(e);case 103:return at();case 17:return q(Ct)?Dt():St();case 21:return Nt();case 19:return At();default:return tt()}}function Rt(){switch(M()){case 119:case 136:case 133:case 122:case 137:case 105:case 139:case 95:case 99:case 103:case 130:case 17:case 21:case 27:case 49:case 48:case 94:case 9:case 8:case 101:case 86:case 134:return!0;case 38:return q(Ft);case 19:return q(Mt);default:return G()}}function Mt(){return L(),20===M()||ct()||Rt()}function Lt(){for(var e=It();!_i.hasPrecedingLineBreak()&&H(21);)if(Rt())(t=te(171,e.pos)).objectType=e,t.indexType=Wt(),W(22),e=re(t);else{var t=te(164,e.pos);t.elementType=e,W(22),e=re(t);}return e}function Bt(e){var t=te(170);return W(e),t.operator=e,t.type=Kt(),re(t)}function Kt(){switch(M()){case 127:return Bt(127)}return Lt()}function jt(e,t,n){H(n);var r=t();if(M()===n){for(var a=ne([r],r.pos);H(n);)a.push(t());a.end=R();var i=te(e,r.pos);i.types=a,r=re(i);}return r}function Jt(){return jt(167,Kt,48)}function zt(){return jt(166,Jt,49)}function Ut(){return 27===M()||19===M()&&q(qt)}function Vt(){if(e.isModifierKind(M())&&_a(),G()||99===M())return L(),!0;if(21===M()||17===M()){var t=ni.length;return Xr(),t===ni.length}return!1}function qt(){if(L(),20===M()||24===M())return!0;if(Vt()){if(56===M()||26===M()||55===M()||58===M())return!0;if(20===M()&&(L(),36===M()))return!0}return!1}function $t(){var e=G()&&$(Gt),t=Wt();if(e){var n=te(158,e.pos);return n.parameterName=e,n.type=t,re(n)}return t}function Gt(){var e=se();if(126===M()&&!_i.hasPrecedingLineBreak())return L(),e}function Wt(){return y(20480,Ht)}function Ht(){return Ut()?wt(160):94===M()?wt(161):zt()}function Xt(){return H(56)?Wt():void 0}function Yt(){switch(M()){case 99:case 97:case 95:case 101:case 86:case 8:case 9:case 13:case 14:case 19:case 21:case 17:case 89:case 75:case 94:case 41:case 63:case 71:return!0;default:return G()}}function Qt(){if(Yt())return!0;switch(M()){case 37:case 38:case 52:case 51:case 80:case 103:case 105:case 43:case 44:case 27:case 121:case 116:return!0;default:return!!bn()||G()}}function Zt(){return 17!==M()&&89!==M()&&75!==M()&&57!==M()&&Qt()}function en(){var e=A();e&&m(!1);for(var t,n=nn();t=X(26);)n=kn(n,t,nn());return e&&m(!0),n}function tn(e){if(58===M()||!(_i.hasPrecedingLineBreak()||e&&17===M())&&Qt())return W(58),nn()}function nn(){if(rn())return on$$1();var t=cn()||dn();if(t)return t;var n=yn(0);return 71===n.kind&&36===M()?sn(n):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(B())?kn(n,Q(),nn()):gn(n)}function rn(){return 116===M()&&(!!D()||q(Rr))}function an(){return L(),!_i.hasPrecedingLineBreak()&&G()}function on$$1(){var e=te(197);return L(),_i.hasPrecedingLineBreak()||39!==M()&&!Qt()?re(e):(e.asteriskToken=X(39),e.expression=nn(),re(e))}function sn(t,n){e.Debug.assert(36===M(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var r;n?(r=te(187,n.pos)).modifiers=n:r=te(187,t.pos);var a=te(146,t.pos);return a.name=t,re(a),r.parameters=ne([a],a.pos),r.parameters.end=a.end,r.equalsGreaterThanToken=Y(36,!1,e.Diagnostics._0_expected,"=>"),r.body=mn(!!n),u(re(r))}function cn(){var t=un();if(0!==t){var n=1===t?fn(!0):$(_n);if(n){var r=!!(256&e.getModifierFlags(n)),a=M();return n.equalsGreaterThanToken=Y(36,!1,e.Diagnostics._0_expected,"=>"),n.body=36===a||17===a?mn(r):se(),u(re(n))}}}function un(){return 19===M()||27===M()||120===M()?q(ln):36===M()?1:0}function ln(){if(120===M()){if(L(),_i.hasPrecedingLineBreak())return 0;if(19!==M()&&27!==M())return 0}var t=M(),n=L();if(19===t){if(20===n)switch(L()){case 36:case 56:case 17:return 1;default:return 0}return 21===n||17===n?2:24===n?1:G()?56===L()?1:2:0}return e.Debug.assert(27===t),G()?1===ti.languageVariant?q(function(){var e=L();if(85===e)switch(L()){case 58:case 29:return!1;default:return!0}else if(26===e)return!0;return!1})?1:0:2:0}function _n(){return fn(!1)}function dn(){if(120===M()&&1===q(pn)){var e=da();return sn(yn(0),e)}}function pn(){if(120===M()){if(L(),_i.hasPrecedingLineBreak()||36===M())return 0;var e=yn(0);if(!_i.hasPrecedingLineBreak()&&71===e.kind&&36===M())return 1}return 0}function fn(t){var n=te(187);if(n.modifiers=da(),dt(56,!1,!!(256&e.getModifierFlags(n)),!t,n),n.parameters&&(t||36===M()||17===M()))return n}function mn(e){return 17===M()?fr(!1,e,!1):25!==M()&&89!==M()&&75!==M()&&Br()&&!Zt()?fr(!1,e,!0):e?S(nn):T(nn)}function gn(t){var n=X(55);if(!n)return t;var r=te(195,t.pos);return r.condition=t,r.questionToken=n,r.whenTrue=y(di,nn),r.colonToken=Y(56,!1,e.Diagnostics._0_expected,e.tokenToString(56)),r.whenFalse=nn(),re(r)}function yn(e){return vn(e,wn())}function hn(e){return 92===e||142===e}function vn(e,t){for(;;){B();var n=xn();if(!(40===M()?n>=e:n>e))break;if(92===M()&&N())break;if(118===M()){if(_i.hasPrecedingLineBreak())break;L(),t=Sn(t,Wt());}else t=kn(t,Q(),yn(n));}return t}function bn(){return(!N()||92!==M())&&xn()>0}function xn(){switch(M()){case 54:return 1;case 53:return 2;case 49:return 3;case 50:return 4;case 48:return 5;case 32:case 33:case 34:case 35:return 6;case 27:case 29:case 30:case 31:case 93:case 92:case 118:return 7;case 45:case 46:case 47:return 8;case 37:case 38:return 9;case 39:case 41:case 42:return 10;case 40:return 11}return-1}function kn(e,t,n){var r=te(194,e.pos);return r.left=e,r.operatorToken=t,r.right=n,re(r)}function Sn(e,t){var n=te(202,e.pos);return n.expression=e,n.type=t,re(n)}function Tn(){var e=te(192);return e.operator=M(),L(),e.operand=Pn(),re(e)}function Cn(){var e=te(188);return L(),e.expression=Pn(),re(e)}function En(){var e=te(189);return L(),e.expression=Pn(),re(e)}function Dn(){var e=te(190);return L(),e.expression=Pn(),re(e)}function Nn(){return 121===M()&&(!!w()||q(an))}function An(){var e=te(191);return L(),e.expression=Pn(),re(e)}function wn(){if(On()){var t=Fn();return 40===M()?vn(xn(),t):t}var n=M(),r=Pn();if(40===M()){var a=e.skipTrivia(ii,r.pos);184===r.kind?O(a,r.end-a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):O(a,r.end-a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n));}return r}function Pn(){switch(M()){case 37:case 38:case 52:case 51:return Tn();case 80:return Cn();case 103:return En();case 105:return Dn();case 27:return Hn();case 121:if(Nn())return An();default:return Fn()}}function On(){switch(M()){case 37:case 38:case 52:case 51:case 80:case 103:case 105:case 121:return!1;case 27:if(1!==ti.languageVariant)return!1;default:return!0}}function Fn(){if(43===M()||44===M())return(n=te(192)).operator=M(),L(),n.operand=In(),re(n);if(1===ti.languageVariant&&27===M()&&q(Te))return Bn(!0);var t=In();if(e.Debug.assert(e.isLeftHandSideExpression(t)),(43===M()||44===M())&&!_i.hasPrecedingLineBreak()){var n=te(193,t.pos);return n.operand=t,n.operator=M(),L(),re(n)}return t}function In(){return Yn(97===M()?Mn():Rn())}function Rn(){return Xn(tr())}function Mn(){var t=Q();if(19===M()||23===M()||21===M())return t;var n=te(179,t.pos);return n.expression=t,Y(23,!1,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),n.name=We(!0),re(n)}function Ln(e,t){return e.kind===t.kind&&(71===e.kind?e.text===t.text:99===e.kind||e.name.text===t.name.text&&Ln(e.expression,t.expression))}function Bn(t){var n,r=Un(t);if(251===r.kind){var a=te(249,r.pos);a.openingElement=r,a.children=Jn(a.openingElement.tagName),a.closingElement=Wn(t),Ln(a.openingElement.tagName,a.closingElement.tagName)||O(a.closingElement.pos,a.closingElement.end-a.closingElement.pos,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(ii,a.openingElement.tagName)),n=re(a);}else e.Debug.assert(250===r.kind),n=r;if(t&&27===M()){var i=$(function(){return Bn(!0)});if(i){P(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=te(194,n.pos);return o.end=i.end,o.left=n,o.right=i,o.operatorToken=ae(26,!1,void 0),o.operatorToken.pos=o.operatorToken.end=o.right.pos,o}}return n}function Kn(){var e=te(10,_i.getStartPos());return e.containsOnlyWhiteSpaces=11===ai,ai=_i.scanJsxToken(),re(e)}function jn(){switch(M()){case 10:case 11:return Kn();case 17:return qn(!1);case 27:return Bn(!1)}e.Debug.fail("Unknown JSX child kind "+M());}function Jn(t){var n=ne(),r=ui;for(ui|=16384;;){if(ai=_i.reScanJsxToken(),28===M())break;if(1===M()){O(t.pos,t.end-t.pos,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(ii,t));break}if(7===M())break;var a=jn();a&&n.push(a);}return n.end=_i.getTokenPos(),ui=r,n}function zn(){var e=te(254);return e.properties=we(13,$n),re(e)}function Un(e){var t=_i.getStartPos();W(27);var n,r=Vn(),a=zn();return 29===M()?(n=te(251,t),z()):(W(41),e?W(29):(W(29,void 0,!1),z()),n=te(250,t)),n.tagName=r,n.attributes=a,re(n)}function Vn(){J();for(var e=99===M()?Q():ce();H(23);){var t=te(179,e.pos);t.expression=e,t.name=We(!0),e=re(t);}return e}function qn(e){var t=te(256);return W(17),18!==M()&&(t.dotDotDotToken=X(24),t.expression=nn()),e?W(18):(W(18,void 0,!1),z()),re(t)}function $n(){if(17===M())return Gn();J();var e=te(253);if(e.name=ce(),58===M())switch(U()){case 9:e.initializer=Ye();break;default:e.initializer=qn(!0);}return re(e)}function Gn(){var e=te(255);return W(17),W(24),e.expression=en(),W(18),re(e)}function Wn(e){var t=te(252);return W(28),t.tagName=Vn(),e?W(29):(W(29,void 0,!1),z()),re(t)}function Hn(){var e=te(184);return W(27),e.type=Wt(),W(29),e.expression=Pn(),re(e)}function Xn(e){for(;;)if(X(23)){var t=te(179,e.pos);t.expression=e,t.name=We(!0),e=re(t);}else if(51!==M()||_i.hasPrecedingLineBreak())if(A()||!H(21)){if(13!==M()&&14!==M())return e;var n=te(183,e.pos);n.tag=e,n.template=13===M()?Ye():He(),e=re(n);}else{var r=te(180,e.pos);if(r.expression=e,22!==M()&&(r.argumentExpression=v(en),9===r.argumentExpression.kind||8===r.argumentExpression.kind)){var a=r.argumentExpression;a.text=ie(a.text);}W(22),e=re(r);}else{L();var i=te(203,e.pos);i.expression=e,e=re(i);}}function Yn(e){for(;;)if(e=Xn(e),27!==M()){if(19!==M())return e;var t=te(181,e.pos);t.expression=e,t.arguments=Qn(),e=re(t);}else{var n=$(Zn);if(!n)return e;(t=te(181,e.pos)).expression=e,t.typeArguments=n,t.arguments=Qn(),e=re(t);}}function Qn(){W(19);var e=Ve(11,ir);return W(20),e}function Zn(){if(H(27)){var e=Ve(19,Wt);if(W(29))return e&&er()?e:void 0}}function er(){switch(M()){case 19:case 23:case 20:case 22:case 56:case 25:case 55:case 32:case 34:case 33:case 35:case 53:case 54:case 50:case 48:case 49:case 18:case 1:return!0;case 26:case 17:default:return!1}}function tr(){switch(M()){case 8:case 9:case 13:return Ye();case 99:case 97:case 95:case 101:case 86:return Q();case 19:return nr();case 21:return or();case 17:return ur();case 120:if(!q(Ir))break;return lr();case 75:return fa();case 89:return lr();case 94:return dr();case 41:case 63:if(12===K())return Ye();break;case 14:return He()}return se(e.Diagnostics.Expression_expected)}function nr(){var e=te(185);return W(19),e.expression=v(en),W(20),re(e)}function rr(){var e=te(198);return W(24),e.expression=nn(),re(e)}function ar(){return 24===M()?rr():26===M()?te(200):nn()}function ir(){return y(di,ar)}function or(){var e=te(177);return W(21),_i.hasPrecedingLineBreak()&&(e.multiLine=!0),e.elements=Ve(15,ar),W(22),re(e)}function sr(e,t,n){return me(125)?sa(153,e,t,n):me(135)?sa(154,e,t,n):void 0}function cr(){var e=_i.getStartPos();if(X(24)){var t=te(263,e);return t.expression=nn(),u(re(t))}var n=la(),r=_a(),a=sr(e,n,r);if(a)return a;var i=X(39),o=G(),s=_e(),c=X(55);if(i||19===M()||27===M())return ra(e,n,r,i,s,c);if(o&&(26===M()||18===M()||58===M())){var l=te(262,e);l.name=s,l.questionToken=c;var _=X(58);return _&&(l.equalsToken=_,l.objectAssignmentInitializer=v(nn)),u(re(l))}var d=te(261,e);return d.modifiers=r,d.name=s,d.questionToken=c,W(56),d.initializer=v(nn),u(re(d))}function ur(){var e=te(178);return W(17),_i.hasPrecedingLineBreak()&&(e.multiLine=!0),e.properties=Ve(12,cr,!0),W(18),re(e)}function lr(){var t=A();t&&m(!1);var n=te(186);n.modifiers=_a(),W(89),n.asteriskToken=X(39);var r=!!n.asteriskToken,a=!!(256&e.getModifierFlags(n));return n.name=r&&a?C(_r):r?x(_r):a?S(_r):_r(),dt(56,r,a,!1,n),n.body=fr(r,a,!1),t&&m(!0),u(re(n))}function _r(){return G()?se():void 0}function dr(){var e=_i.getStartPos();if(W(94),H(23)){var t=te(204,e);return t.keywordToken=94,t.name=ce(),re(t)}var n=te(182,e);return n.expression=Rn(),n.typeArguments=$(Zn),(n.typeArguments||19===M())&&(n.arguments=Qn()),re(n)}function pr(e,t){var n=te(207);return W(17,t)||e?(_i.hasPrecedingLineBreak()&&(n.multiLine=!0),n.statements=we(1,Jr),W(18)):n.statements=qe(),re(n)}function fr(e,t,n,r){var a=D();f(e);var i=w();g(t);var o=A();o&&m(!1);var s=pr(n,r);return o&&m(!0),f(a),g(i),s}function mr(){var e=te(209);return W(25),re(e)}function gr(){var e=te(211);return W(90),W(19),e.expression=v(en),W(20),e.thenStatement=Jr(),e.elseStatement=H(82)?Jr():void 0,re(e)}function yr(){var e=te(212);return W(81),e.statement=Jr(),W(106),W(19),e.expression=v(en),W(20),H(25),re(e)}function hr(){var e=te(213);return W(106),W(19),e.expression=v(en),W(20),e.statement=Jr(),re(e)}function vr(){var e=I();W(88);var t=X(121);W(19);var n=void 0;25!==M()&&(n=104===M()||110===M()||76===M()?Qr(!0):b(en));var r;if(t?W(142):H(142)){var a=te(216,e);a.awaitModifier=t,a.initializer=n,a.expression=v(nn),W(20),r=a;}else if(H(92)){var i=te(215,e);i.initializer=n,i.expression=v(en),W(20),r=i;}else{var o=te(214,e);o.initializer=n,W(25),25!==M()&&20!==M()&&(o.condition=v(en)),W(25),20!==M()&&(o.incrementor=v(en)),W(20),r=o;}return r.statement=Jr(),re(r)}function br(e){var t=te(e);return W(218===e?72:77),Z()||(t.label=se()),ee(),re(t)}function xr(){var e=te(219);return W(96),Z()||(e.expression=v(en)),ee(),re(e)}function kr(){var e=te(220);return W(107),W(19),e.expression=v(en),W(20),e.statement=Jr(),re(e)}function Sr(){var e=te(257);return W(73),e.expression=v(en),W(56),e.statements=we(3,Jr),re(e)}function Tr(){var e=te(258);return W(79),W(56),e.statements=we(3,Jr),re(e)}function Cr(){return 73===M()?Sr():Tr()}function Er(){var e=te(221);W(98),W(19),e.expression=v(en),W(20);var t=te(235,_i.getStartPos());return W(17),t.clauses=we(2,Cr),W(18),e.caseBlock=re(t),re(e)}function Dr(){var e=te(223);return W(100),e.expression=_i.hasPrecedingLineBreak()?void 0:v(en),ee(),re(e)}function Nr(){var e=te(224);return W(102),e.tryBlock=pr(!1),e.catchClause=74===M()?Ar():void 0,e.catchClause&&87!==M()||(W(87),e.finallyBlock=pr(!1)),re(e)}function Ar(){var e=te(260);return W(74),W(19)&&(e.variableDeclaration=Yr()),W(20),e.block=pr(!1),re(e)}function wr(){var e=te(225);return W(78),ee(),re(e)}function Pr(){var e=_i.getStartPos(),t=v(en);if(71===t.kind&&H(56)){var n=te(222,e);return n.label=t,n.statement=Jr(),u(re(n))}var r=te(210,e);return r.expression=t,ee(),u(re(r))}function Or(){return L(),e.tokenIsIdentifierOrKeyword(M())&&!_i.hasPrecedingLineBreak()}function Fr(){return L(),75===M()&&!_i.hasPrecedingLineBreak()}function Ir(){return L(),89===M()&&!_i.hasPrecedingLineBreak()}function Rr(){return L(),(e.tokenIsIdentifierOrKeyword(M())||8===M())&&!_i.hasPrecedingLineBreak()}function Mr(){for(;;)switch(M()){case 104:case 110:case 76:case 89:case 75:case 83:return!0;case 109:case 138:return an();case 128:case 129:return Ur();case 117:case 120:case 124:case 112:case 113:case 114:case 131:if(L(),_i.hasPrecedingLineBreak())return!1;continue;case 141:return L(),17===M()||71===M()||84===M();case 91:return L(),9===M()||39===M()||17===M()||e.tokenIsIdentifierOrKeyword(M());case 84:if(L(),58===M()||39===M()||17===M()||79===M()||118===M())return!0;continue;case 115:L();continue;default:return!1}}function Lr(){return q(Mr)}function Br(){switch(M()){case 57:case 25:case 17:case 104:case 110:case 89:case 75:case 83:case 90:case 81:case 106:case 88:case 77:case 72:case 96:case 107:case 98:case 100:case 102:case 78:case 74:case 87:return!0;case 76:case 84:case 91:return Lr();case 120:case 124:case 109:case 128:case 129:case 138:case 141:return!0;case 114:case 112:case 113:case 115:case 131:return Lr()||!q(Or);default:return Qt()}}function Kr(){return L(),G()||17===M()||21===M()}function jr(){return q(Kr)}function Jr(){switch(M()){case 25:return mr();case 17:return pr(!1);case 104:return ea(_i.getStartPos(),void 0,void 0);case 110:if(jr())return ea(_i.getStartPos(),void 0,void 0);break;case 89:return ta(_i.getStartPos(),void 0,void 0);case 75:return ma(_i.getStartPos(),void 0,void 0);case 90:return gr();case 81:return yr();case 106:return hr();case 88:return vr();case 77:return br(217);case 72:return br(218);case 96:return xr();case 107:return kr();case 98:return Er();case 100:return Dr();case 102:case 74:case 87:return Nr();case 78:return wr();case 57:return zr();case 120:case 109:case 138:case 128:case 129:case 124:case 76:case 83:case 84:case 91:case 112:case 113:case 114:case 117:case 115:case 131:case 141:if(Lr())return zr()}return Pr()}function zr(){var t=I(),n=la(),r=_a();switch(M()){case 104:case 110:case 76:return ea(t,n,r);case 89:return ta(t,n,r);case 75:return ma(t,n,r);case 109:return Ta(t,n,r);case 138:return Ca(t,n,r);case 83:return Da(t,n,r);case 141:case 128:case 129:return Pa(t,n,r);case 91:return Ma(t,n,r);case 84:switch(L(),M()){case 79:case 58:return Wa(t,n,r);case 118:return Ra(t,n,r);default:return Ga(t,n,r)}default:if(n||r){var a=ae(247,!0,e.Diagnostics.Declaration_expected);return a.pos=t,a.decorators=n,a.modifiers=r,re(a)}}}function Ur(){return L(),!_i.hasPrecedingLineBreak()&&(G()||9===M())}function Vr(e,t,n){if(17===M()||!Z())return fr(e,t,!1,n);ee();}function qr(){if(26===M())return te(200);var e=te(176);return e.dotDotDotToken=X(24),e.name=Xr(),e.initializer=lt(!1),re(e)}function $r(){var e=te(176);e.dotDotDotToken=X(24);var t=G(),n=_e();return t&&56!==M()?e.name=n:(W(56),e.propertyName=n,e.name=Xr()),e.initializer=lt(!1),re(e)}function Gr(){var e=te(174);return W(17),e.elements=Ve(9,$r),W(18),re(e)}function Wr(){var e=te(175);return W(21),e.elements=Ve(10,qr),W(22),re(e)}function Hr(){return 17===M()||21===M()||G()}function Xr(){return 21===M()?Wr():17===M()?Gr():se()}function Yr(){var e=te(226);return e.name=Xr(),e.type=Xt(),hn(M())||(e.initializer=tn(!1)),re(e)}function Qr(t){var n=te(227);switch(M()){case 104:break;case 110:n.flags|=1;break;case 76:n.flags|=2;break;default:e.Debug.fail();}if(L(),142===M()&&q(Zr))n.declarations=qe();else{var r=N();p(t),n.declarations=Ve(8,Yr),p(r);}return re(n)}function Zr(){return Se()&&20===L()}function ea(e,t,n){var r=te(208,e);return r.decorators=t,r.modifiers=n,r.declarationList=Qr(!1),ee(),u(re(r))}function ta(t,n,r){var a=te(228,t);a.decorators=n,a.modifiers=r,W(89),a.asteriskToken=X(39),a.name=e.hasModifier(a,512)?_r():se();var i=!!a.asteriskToken,o=e.hasModifier(a,256);return dt(56,i,o,!1,a),a.body=Vr(i,o,e.Diagnostics.or_expected),u(re(a))}function na(t,n,r){var a=te(152,t);return a.decorators=n,a.modifiers=r,W(123),dt(56,!1,!1,!1,a),a.body=Vr(!1,!1,e.Diagnostics.or_expected),u(re(a))}function ra(t,n,r,a,i,o,s){var c=te(151,t);c.decorators=n,c.modifiers=r,c.asteriskToken=a,c.name=i,c.questionToken=o;var l=!!a,_=e.hasModifier(c,256);return dt(56,l,_,!1,c),c.body=Vr(l,_,s),u(re(c))}function aa(t,n,r,a,i){var o=te(149,t);return o.decorators=n,o.modifiers=r,o.name=a,o.questionToken=i,o.type=Xt(),o.initializer=e.hasModifier(o,32)?v(oa):y(6144,oa),ee(),u(re(o))}function ia(t,n,r){var a=X(39),i=_e(),o=X(55);return a||19===M()||27===M()?ra(t,n,r,a,i,o,e.Diagnostics.or_expected):aa(t,n,r,i,o)}function oa(){return tn(!1)}function sa(e,t,n,r){var a=te(e,t);return a.decorators=n,a.modifiers=r,a.name=_e(),dt(56,!1,!1,!1,a),a.body=Vr(!1,!1),u(re(a))}function ca(e){switch(e){case 114:case 112:case 113:case 115:case 131:return!0;default:return!1}}function ua(){var t;if(57===M())return!0;for(;e.isModifierKind(M());){if(t=M(),ca(t))return!0;L();}if(39===M())return!0;if(ue()&&(t=M(),L()),21===M())return!0;if(void 0!==t){if(!e.isKeyword(t)||135===t||125===t)return!0;switch(M()){case 19:case 27:case 56:case 58:case 55:return!0;default:return Z()}}return!1}function la(){for(var e;;){var t=I();if(!H(57))break;var n=te(147,t);n.expression=k(In),re(n),e?e.push(n):e=ne([n],t);}return e&&(e.end=R()),e}function _a(e){for(var t;;){var n=_i.getStartPos(),r=M();if(76===M()&&e){if(!$(ge))break}else if(!he())break;var a=re(te(r,n));t?t.push(a):t=ne([a],n);}return t&&(t.end=_i.getStartPos()),t}function da(){var e;if(120===M()){var t=_i.getStartPos(),n=M();L(),(e=ne([re(te(n,t))],t)).end=_i.getStartPos();}return e}function pa(){if(25===M()){var t=te(206);return L(),re(t)}var n=I(),r=la(),a=_a(!0),i=sr(n,r,a);return i||(123===M()?na(n,r,a):gt()?ht(n,r,a):e.tokenIsIdentifierOrKeyword(M())||9===M()||8===M()||39===M()||21===M()?ia(n,r,a):r||a?aa(n,r,a,ae(71,!0,e.Diagnostics.Declaration_expected),void 0):void e.Debug.fail("Should not have attempted to parse class member declaration."))}function fa(){return ga(_i.getStartPos(),void 0,void 0,199)}function ma(e,t,n){return ga(e,t,n,229)}function ga(e,t,n,r){var a=te(r,e);return a.decorators=t,a.modifiers=n,W(75),a.name=ya(),a.typeParameters=ot(),a.heritageClauses=va(),W(17)?(a.members=Sa(),W(18)):a.members=qe(),u(re(a))}function ya(){return G()&&!ha()?se():void 0}function ha(){return 108===M()&&q(Te)}function va(){if(ka())return we(21,ba)}function ba(){var e=M();if(85===e||108===e){var t=te(259);return t.token=e,L(),t.types=Ve(7,xa),re(t)}}function xa(){var e=te(201);return e.expression=In(),27===M()&&(e.typeArguments=$e(19,Wt,27,29)),re(e)}function ka(){return 85===M()||108===M()}function Sa(){return we(5,pa)}function Ta(e,t,n){var r=te(230,e);return r.decorators=t,r.modifiers=n,W(109),r.name=se(),r.typeParameters=ot(),r.heritageClauses=va(),r.members=Tt(),u(re(r))}function Ca(e,t,n){var r=te(231,e);return r.decorators=t,r.modifiers=n,W(138),r.name=se(),r.typeParameters=ot(),W(58),r.type=Wt(),ee(),u(re(r))}function Ea(){var e=te(264,_i.getStartPos());return e.name=_e(),e.initializer=v(oa),u(re(e))}function Da(e,t,n){var r=te(232,e);return r.decorators=t,r.modifiers=n,W(83),r.name=se(),W(17)?(r.members=Ve(6,Ea),W(18)):r.members=qe(),u(re(r))}function Na(){var e=te(234,_i.getStartPos());return W(17)?(e.statements=we(1,Jr),W(18)):e.statements=qe(),re(e)}function Aa(e,t,n,r){var a=te(233,e),i=16&r;return a.decorators=t,a.modifiers=n,a.flags|=r,a.name=se(),a.body=H(23)?Aa(I(),void 0,void 0,4|i):Na(),u(re(a))}function wa(e,t,n){var r=te(233,e);return r.decorators=t,r.modifiers=n,141===M()?(r.name=se(),r.flags|=512):r.name=Ye(!0),17===M()?r.body=Na():ee(),re(r)}function Pa(e,t,n){var r=0;if(141===M())return wa(e,t,n);if(H(129))r|=16;else if(W(128),9===M())return wa(e,t,n);return Aa(e,t,n,r)}function Oa(){return 132===M()&&q(Fa)}function Fa(){return 19===L()}function Ia(){return 41===L()}function Ra(e,t,n){var r=te(236,e);return r.decorators=t,r.modifiers=n,W(118),W(129),r.name=se(),ee(),re(r)}function Ma(e,t,n){W(91);var r,a=_i.getStartPos();if(G()&&(r=se(),26!==M()&&140!==M()))return La(e,t,n,r);var i=te(238,e);return i.decorators=t,i.modifiers=n,(r||39===M()||17===M())&&(i.importClause=Ba(r,a),W(140)),i.moduleSpecifier=Ja(),ee(),re(i)}function La(e,t,n,r){var a=te(237,e);return a.decorators=t,a.modifiers=n,a.name=r,W(58),a.moduleReference=Ka(),ee(),u(re(a))}function Ba(e,t){var n=te(239,t);return e&&(n.name=e),n.name&&!H(26)||(n.namedBindings=39===M()?za():Ua(241)),re(n)}function Ka(){return Oa()?ja():Ge(!1)}function ja(){var e=te(248);return W(132),W(19),e.expression=Ja(),W(20),re(e)}function Ja(){if(9===M()){var e=Ye();return ie(e.text),e}return en()}function za(){var e=te(240);return W(39),W(118),e.name=se(),re(e)}function Ua(e){var t=te(e);return t.elements=$e(22,241===e?qa:Va,17,18),re(t)}function Va(){return $a(246)}function qa(){return $a(242)}function $a(t){var n=te(t),r=e.isKeyword(M())&&!G(),a=_i.getTokenPos(),i=_i.getTextPos(),o=ce();return 118===M()?(n.propertyName=o,W(118),r=e.isKeyword(M())&&!G(),a=_i.getTokenPos(),i=_i.getTextPos(),n.name=ce()):n.name=o,242===t&&r&&O(a,i-a,e.Diagnostics.Identifier_expected),re(n)}function Ga(e,t,n){var r=te(244,e);return r.decorators=t,r.modifiers=n,H(39)?(W(140),r.moduleSpecifier=Ja()):(r.exportClause=Ua(245),(140===M()||9===M()&&!_i.hasPrecedingLineBreak())&&(W(140),r.moduleSpecifier=Ja())),ee(),re(r)}function Wa(e,t,n){var r=te(243,e);return r.decorators=t,r.modifiers=n,H(58)?r.isExportEquals=!0:W(79),r.expression=nn(),ee(),re(r)}function Ha(t){for(var n,r=e.createScanner(t.languageVersion,!1,0,ii),a=[],i=[],o=[],s=void 0;;){var c=r.scan();if(2!==c){if(e.isTrivia(c))continue;break}var u={kind:r.getToken(),pos:r.getTokenPos(),end:r.getTextPos()},l=ii.substring(u.pos,u.end),_=e.getFileReferenceFromReferencePath(l,u);if(_){var d=_.fileReference;t.hasNoDefaultLib=_.isNoDefaultLib;var p=_.diagnosticMessage;d&&(_.isTypeReferenceDirective?i.push(d):a.push(d)),p&&ni.push(e.createFileDiagnostic(t,u.pos,u.end-u.pos,p));}else{var f=/^\/\/\/\s*".length-n,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function b(e){var t=te(143,e.pos);return t.left=e,t.right=ce(),re(t)}function x(){var e=te(275);return e.literal=St(),re(e)}function k(){var e=te(274);return L(),e.type=c(),re(e)}function S(){var e=te(272);return L(),e.types=Ve(26,c),T(e.types),W(22),re(e)}function T(t){0===ni.length&&t.hasTrailingComma&&O(t.end-",".length,",".length,e.Diagnostics.Trailing_comma_not_allowed);}function C(){var e=te(271);return L(),e.types=E(c()),W(20),re(e)}function E(t){e.Debug.assert(!!t);for(var n=ne([t],t.pos);H(49);)n.push(c());return n.end=_i.getStartPos(),n}function D(){var e=te(268);return L(),re(e)}function N(){var e=te(293);return e.literal=Ot(),re(e)}function A(){var e=_i.getStartPos();if(L(),26===M()||18===M()||20===M()||29===M()||58===M()||49===M())return re(t=te(269,e));var t=te(273,e);return t.type=c(),re(t)}function w(e,t,n){o(e,5,void 0,1),ti={languageVariant:0,text:e};var r=I(t,n),a=ni;return s(),r?{jsDoc:r,diagnostics:a}:void 0}function F(e,t,n){var r=ai,a=ni.length,i=pi,o=I(t,n);return o&&(o.parent=e),ai=r,ni.length=a,pi=i,o}function I(t,n){function r(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift();}function i(e){for(;e.length&&("\n"===e[e.length-1]||"\r"===e[e.length-1]);)e.pop();}function o(){var e=te(283,t);return e.tags=E,e.comment=N.length?N.join(""):void 0,re(e,C)}function s(){for(;5===M()||4===M();)x();}function c(t){e.Debug.assert(57===M());var n=te(57,_i.getTokenPos());n.end=_i.getTextPos(),x();var r=k();if(s(),r){var a;if(r)switch(r.text){case"augments":a=y(n,r);break;case"param":a=p(n,r);break;case"return":case"returns":a=f(n,r);break;case"template":a=b(n,r);break;case"type":a=m(n,r);break;case"typedef":a=h(n,r);break;default:a=l(n,r);}else a=l(n,r);a&&_(a,u(t+a.end-a.pos));}}function u(e){function t(t){n||(n=e),a.push(t),e+=t.length;}for(var n,a=[],o=0;57!==M()&&1!==M();){switch(M()){case 4:o>=1&&(o=0,a.push(_i.getTokenText())),e=0;break;case 57:break;case 5:if(2===o)t(_i.getTokenText());else{var s=_i.getTokenText();void 0!==n&&e+s.length>n&&a.push(s.slice(n-e-1)),e+=s.length;}break;case 39:if(0===o){o=1,e+=_i.getTokenText().length;break}default:o=2,t(_i.getTokenText());}if(57===M())break;x();}return r(a),i(a),a}function l(e,t){var n=te(284,e.pos);return n.atToken=e,n.tagName=t,re(n)}function _(e,t){e.comment=t.join(""),E?E.push(e):E=ne([e],e.pos),E.end=e.end;}function d(){return $(function(){if(s(),17===M())return a()})}function p(t,n){var r=d();s();var a,i;if(X(21)?(a=k(),s(),i=!0,X(58)&&en(),W(22)):e.tokenIsIdentifierOrKeyword(M())&&(a=k()),a){var o,c;r?c=a:o=a,r||(r=d());var u=te(286,t.pos);return u.atToken=t,u.tagName=n,u.preParameterName=o,u.typeExpression=r,u.postParameterName=c,u.parameterName=c||o,u.isBracketed=i,re(u)}O(_i.getStartPos(),0,e.Diagnostics.Identifier_expected);}function f(t,n){e.forEach(E,function(e){return 287===e.kind})&&O(n.pos,_i.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var r=te(287,t.pos);return r.atToken=t,r.tagName=n,r.typeExpression=d(),re(r)}function m(t,n){e.forEach(E,function(e){return 288===e.kind})&&O(n.pos,_i.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var r=te(288,t.pos);return r.atToken=t,r.tagName=n,r.typeExpression=d(),re(r)}function g(t,n){var r=d();s();var a=k();s();if(a){var i=te(291,t.pos);return i.atToken=t,i.tagName=n,i.name=a,i.typeExpression=r,re(i)}O(_i.getStartPos(),0,e.Diagnostics.Identifier_expected);}function y(e,t){var n=d(),r=te(285,e.pos);return r.atToken=e,r.tagName=t,r.typeExpression=n,re(r)}function h(e,t){function n(){for(var e=te(292,_i.getStartPos()),t=_i.getStartPos(),n=!0,r=!1,a=!1;1!==M()&&!a;)switch(x(),M()){case 57:n&&((a=!v(e))||(t=_i.getStartPos())),r=!1;break;case 4:t=_i.getStartPos()-1,n=!0,r=!1;break;case 39:r&&(n=!1),r=!0;break;case 71:n=!1;}return _i.setTextPos(t),re(e)}function r(e){var t=_i.getTokenPos(),n=k();if(n&&H(23)){var a=te(233,t);return a.flags|=e,a.name=n,a.body=r(4),a}return n&&4&e&&(n.isInJSDocNamespace=!0),n}var a=d();s();var i=te(290,e.pos);if(i.atToken=e,i.tagName=t,i.fullName=r(0),i.fullName)for(var o=i.fullName;;){if(71===o.kind||!o.body){i.name=71===o.kind?o:o.name;break}o=o.body;}if(i.typeExpression=a,s(),a){if(277===a.type.kind){var c=a.type;71===c.name.kind&&"Object"===c.name.text&&(i.jsDocTypeLiteral=n());}i.jsDocTypeLiteral||(i.jsDocTypeLiteral=a.type);}else i.jsDocTypeLiteral=n();return re(i)}function v(t){e.Debug.assert(57===M());var n=te(57,_i.getStartPos());n.end=_i.getTextPos(),x();var r=k();if(s(),!r)return!1;switch(r.text){case"type":return!t.jsDocTypeTag&&(t.jsDocTypeTag=m(n,r),!0);case"prop":case"property":var a=g(n,r);return!!a&&(t.jsDocPropertyTags||(t.jsDocPropertyTags=[]),t.jsDocPropertyTags.push(a),!0)}return!1}function b(t,n){e.forEach(E,function(e){return 289===e.kind})&&O(n.pos,_i.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);for(var r=ne();;){var a=k();if(s(),!a)return void O(_i.getStartPos(),0,e.Diagnostics.Identifier_expected);var i=te(145,a.pos);if(i.name=a,re(i),r.push(i),26!==M())break;x(),s();}var o=te(289,t.pos);return o.atToken=t,o.tagName=n,o.typeParameters=r,re(o),r.end=o.end,o}function x(){return ai=_i.scanJSDocToken()}function k(){return S(e.tokenIsIdentifierOrKeyword(M()))}function S(t){if(t){var n=_i.getTokenPos(),r=_i.getTextPos(),a=te(71,n);return a.text=T.substring(n,r),re(a,r),x(),a}P(e.Diagnostics.Identifier_expected);}var T=ii;t=t||0;var C=void 0===n?T.length:t+n;n=C-t,e.Debug.assert(t>=0),e.Debug.assert(t<=C),e.Debug.assert(C<=T.length);var E,D,N=[];return function(e,t){return 47===e.charCodeAt(t)&&42===e.charCodeAt(t+1)&&42===e.charCodeAt(t+2)&&42!==e.charCodeAt(t+3)}(T,t)?(_i.scanRange(t+3,n-5,function(){function e(e){s||(s=u),N.push(e),u+=e.length;}var n=!0,a=1,s=void 0,u=t-Math.max(T.lastIndexOf("\n",t),0)+4;for(x();5===M();)x();for(4===M()&&(a=0,u=0,x());1!==M();){switch(M()){case 57:0===a||1===a?(i(N),c(u),a=0,n=!1,s=void 0,u++):e(_i.getTokenText());break;case 4:N.push(_i.getTokenText()),a=0,u=0;break;case 39:var l=_i.getTokenText();1===a||2===a?(a=2,e(l)):(a=1,u+=l.length);break;case 71:e(_i.getTokenText()),a=2;break;case 5:var _=_i.getTokenText();2===a?N.push(_):void 0!==s&&u+_.length>s&&N.push(_.slice(s-u-1)),u+=_.length;break;case 1:break;default:a=2,e(_i.getTokenText());}n?x():n=!0;}r(N),i(N),D=o();}),D):D}t.isJSDocType=n,t.parseJSDocTypeExpressionForTests=r,t.parseJSDocTypeExpression=a,t.parseIsolatedJSDocComment=w,t.parseJSDocComment=F;var R;!function(e){e[e.BeginningOfLine=0]="BeginningOfLine",e[e.SawAsterisk=1]="SawAsterisk",e[e.SavingComments=2]="SavingComments";}(R||(R={})),t.parseJSDocCommentWorker=I;}(gi=t.JSDocParser||(t.JSDocParser={}));}(g||(g={}));var y;!function(t){function n(t,n,r,a){if(a=a||e.Debug.shouldAssert(2),_(t,n,r,a),e.textChangeRangeIsUnchanged(r))return t;if(0===t.statements.length)return g.parseSourceFile(t.fileName,n,t.languageVersion,void 0,!0,t.scriptKind);var i=t;e.Debug.assert(!i.hasBeenIncrementallyParsed),i.hasBeenIncrementallyParsed=!0;var o=t.text,s=d(t),l=u(t,r);_(t,n,l,a),e.Debug.assert(l.span.start<=r.span.start),e.Debug.assert(e.textSpanEnd(l.span)===e.textSpanEnd(r.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(l))===e.textSpanEnd(e.textChangeRangeNewSpan(r)));var p=e.textChangeRangeNewSpan(l).length-l.span.length;return c(i,l.span.start,e.textSpanEnd(l.span),e.textSpanEnd(e.textChangeRangeNewSpan(l)),p,o,n,a),g.parseSourceFile(t.fileName,n,t.languageVersion,s,!0,t.scriptKind)}function r(t,n,r,o,c,u){function l(t){var n="";if(u&&a(t)&&(n=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),t.pos+=r,t.end+=r,u&&a(t)&&e.Debug.assert(n===c.substring(t.pos,t.end)),i(t,l,_),t.jsDoc)for(var d=0,p=t.jsDoc;d=n,"Adjusting an element that was entirely before the change range"),e.Debug.assert(t.pos<=r,"Adjusting an element that was entirely after the change range"),e.Debug.assert(t.pos<=t.end),t.pos=Math.min(t.pos,a),t.end>=r?t.end+=i:t.end=Math.min(t.end,a),e.Debug.assert(t.pos<=t.end),t.parent&&(e.Debug.assert(t.pos>=t.parent.pos),e.Debug.assert(t.end<=t.parent.end));}function s(t,n){if(n){var r=t.pos;i(t,function(t){e.Debug.assert(t.pos>=r),r=t.end;}),e.Debug.assert(r<=t.end);}}function c(t,n,a,c,u,l,_,d){function p(t){if(e.Debug.assert(t.pos<=t.end),t.pos>a)r(t,!1,u,l,_,d);else{var m=t.end;if(m>=n)return t.intersectsChange=!0,t._children=void 0,o(t,n,a,c,u),i(t,p,f),void s(t,d);e.Debug.assert(ma)r(t,!0,u,l,_,d);else{var i=t.end;if(i>=n){t.intersectsChange=!0,t._children=void 0,o(t,n,a,c,u);for(var s=0,f=t;s0&&a<=1;a++){var i=l(t,r);e.Debug.assert(i.pos<=r);var o=i.pos;r=Math.max(0,o-1);}var s=e.createTextSpanFromBounds(r,e.textSpanEnd(n.span)),c=n.newLength+(n.span.start-r);return e.createTextChangeRange(s,c)}function l(t,n){function r(t){var n=void 0;return i(t,function(t){e.nodeIsPresent(t)&&(n=t);}),n}function a(t){if(!e.nodeIsMissing(t))return t.pos<=n?(t.pos>=s.pos&&(s=t),nn),!0)}var o,s=t;if(i(t,a),o){var c=function(e){for(;;){var t=r(e);if(!t)return e;e=t;}}(o);c.pos>s.pos&&(s=c);}return s}function _(t,n,r,a){var i=t.text;if(r&&(e.Debug.assert(i.length-r.span.length+r.newLength===n.length),a||e.Debug.shouldAssert(3))){var o=i.substr(0,r.span.start),s=n.substr(0,r.span.start);e.Debug.assert(o===s);var c=i.substring(e.textSpanEnd(r.span),i.length),u=n.substring(e.textSpanEnd(e.textChangeRangeNewSpan(r)),n.length);e.Debug.assert(c===u);}}function d(t){function n(e){function n(t){return e>=t.pos&&e=t.pos&&e=158&&e<=173)return-3;switch(e){case 181:case 182:case 177:return 537396545;case 233:return 574674241;case 146:return 536872257;case 187:return 601249089;case 186:case 228:return 601281857;case 227:return 546309441;case 229:case 199:return 539358529;case 152:return 601015617;case 151:case 153:case 154:return 601015617;case 119:case 133:case 130:case 136:case 134:case 122:case 137:case 105:case 145:case 148:case 150:case 155:case 156:case 157:case 230:case 231:return-3;case 178:return 540087617;case 260:return 537920833;case 174:case 175:return 537396545;default:return 536872257}}!function(e){e[e.NonInstantiated=0]="NonInstantiated",e[e.Instantiated=1]="Instantiated",e[e.ConstEnumOnly=2]="ConstEnumOnly";}(e.ModuleInstanceState||(e.ModuleInstanceState={})),e.getModuleInstanceState=t;var O;!function(e){e[e.None=0]="None",e[e.IsContainer=1]="IsContainer",e[e.IsBlockScopedContainer=2]="IsBlockScopedContainer",e[e.IsControlFlowContainer=4]="IsControlFlowContainer",e[e.IsFunctionLike=8]="IsFunctionLike",e[e.IsFunctionExpression=16]="IsFunctionExpression",e[e.HasLocals=32]="HasLocals",e[e.IsInterface=64]="IsInterface",e[e.IsObjectLiteralOrClassExpressionMethod=128]="IsObjectLiteralOrClassExpressionMethod";}(O||(O={}));var F=function(){function n(t,n){Et=t,Dt=n,Nt=e.getEmitScriptTarget(Dt),Vt=a(Et,n),$t=e.createMap(),Wt=0,Gt=e.isDeclarationFile(Et),qt=e.objectAllocator.getSymbolConstructor(),Et.locals||($e(Et),Et.symbolCount=Wt,Et.classifiableNames=$t),Et=void 0,Dt=void 0,Nt=void 0,At=void 0,wt=void 0,Pt=void 0,Ot=void 0,Ft=!1,It=void 0,Rt=void 0,Mt=void 0,Lt=void 0,Bt=void 0,Kt=void 0,Jt=void 0,zt=!1,Ut=0,Yt=0;}function a(t,n){return!((void 0===n.alwaysStrict?!n.strict:!n.alwaysStrict)||e.isDeclarationFile(t))||!!t.externalModuleIndicator}function i(e,t){return Wt++,new qt(e,t)}function o(t,n,r){if(t.flags|=r,n.symbol=t,t.declarations||(t.declarations=[]),t.declarations.push(n),1952&r&&!t.exports&&(t.exports=e.createMap()),6240&r&&!t.members&&(t.members=e.createMap()),107455&r){var a=t.valueDeclaration;(!a||a.kind!==n.kind&&233===a.kind)&&(t.valueDeclaration=n);}}function s(t){if(t.name){if(e.isAmbientModule(t))return e.isGlobalScopeAugmentation(t)?"__global":'"'+t.name.text+'"';if(144===t.name.kind){var n=t.name.expression;return e.isStringOrNumericLiteral(n)?n.text:(e.Debug.assert(e.isWellKnownSymbolSyntactically(n)),e.getPropertyNameForKnownSymbolName(n.name.text))}return t.name.text}switch(t.kind){case 152:return"__constructor";case 160:case 155:return"__call";case 161:case 156:return"__new";case 157:return"__index";case 244:return"__export";case 243:return t.isExportEquals?"export=":"default";case 194:switch(e.getSpecialPropertyAssignmentKind(t)){case 2:return"export=";case 1:case 4:case 5:return t.left.name.text;case 3:return t.left.expression.name.text}e.Debug.fail("Unknown binary declaration kind");break;case 228:case 229:return e.hasModifier(t,512)?"default":void 0;case 279:return e.isJSDocConstructSignature(t)?"__new":"__call";case 146:e.Debug.assert(279===t.parent.kind);var r=t.parent;return"arg"+e.indexOf(r.parameters,t);case 290:var a=t.parent&&t.parent.parent,i=void 0;if(a&&208===a.kind&&a.declarationList.declarations.length>0){var o=a.declarationList.declarations[0].name;71===o.kind&&(i=o.text);}return i}}function c(t){return t.name?e.declarationNameToString(t.name):s(t)}function u(t,n,r,a,u){e.Debug.assert(!e.hasDynamicName(r));var l,_=e.hasModifier(r,512),d=_&&n?"default":s(r);if(void 0===d)l=i(0,"__missing");else if((l=t.get(d))||t.set(d,l=i(0,d)),d&&788448&a&&$t.set(d,d),l.flags&u)if(l.isReplaceableByMethod)t.set(d,l=i(0,d));else{r.name&&(r.name.parent=r);var p=2&l.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0;l.declarations&&l.declarations.length&&(_?p=e.Diagnostics.A_module_cannot_have_multiple_default_exports:l.declarations&&l.declarations.length&&(_||243===r.kind&&!r.isExportEquals)&&(p=e.Diagnostics.A_module_cannot_have_multiple_default_exports)),e.forEach(l.declarations,function(t){Et.bindDiagnostics.push(e.createDiagnosticForNode(t.name||t,p,c(t)));}),Et.bindDiagnostics.push(e.createDiagnosticForNode(r.name||r,p,c(r))),l=i(0,d);}return o(l,r,a),l.parent=n,l}function l(t,n,r){var a=1&e.getCombinedModifierFlags(t);if(8388608&n)return 246===t.kind||237===t.kind&&a?u(wt.symbol.exports,wt.symbol,t,n,r):u(wt.locals,void 0,t,n,r);var i=290===t.kind&&t.name&&71===t.name.kind&&t.name.isInJSDocNamespace;if(!e.isAmbientModule(t)&&(a||32&wt.flags)||i){var o=(107455&n?1048576:0)|(793064&n?2097152:0)|(1920&n?4194304:0),s=u(wt.locals,void 0,t,o,r);return s.exportSymbol=u(wt.symbol.exports,wt.symbol,t,n,r),t.localSymbol=s,s}return u(wt.locals,void 0,t,n,r)}function _(t,n){var r=wt,a=Pt;if(1&n?(wt=Pt=t,32&n&&(wt.locals=e.createMap()),pe(wt)):2&n&&((Pt=t).locals=void 0),4&n){var i=It,o=Rt,s=Mt,c=Lt,u=Jt,l=zt,_=16&n&&!e.hasModifier(t,256)&&!!e.getImmediatelyInvokedFunctionExpression(t);_?Lt=k():(It={flags:2},144&n&&(It.container=t),Lt=void 0),Rt=void 0,Mt=void 0,Jt=void 0,zt=!1,d(t),t.flags&=-1409,!(1&It.flags)&&8&n&&e.nodeIsPresent(t.body)&&(t.flags|=128,zt&&(t.flags|=256)),265===t.kind&&(t.flags|=Ut),_?(C(Lt,It),It=w(Lt)):It=i,Rt=o,Mt=s,Lt=c,Jt=u,zt=l;}else 64&n?(Ft=!1,d(t),t.flags=Ft?64|t.flags:-65&t.flags):d(t);wt=r,Pt=a;}function d(e){if(Gt)m(e);else if(536870912&e.transformFlags)Gt=!0,m(e),Gt=!1,Yt|=e.transformFlags&~P(e.kind);else{var t=Yt;Yt=0,m(e),Yt=t|r(e,Yt);}}function p(t){if(void 0!==t)if(Gt)e.forEach(t,$e);else{var n=Yt;Yt=0;for(var r=0,a=0,i=t;a=108&&t.originalKeywordKind<=116&&!e.isIdentifierName(t)&&!e.isInAmbientContext(t)&&(Et.parseDiagnostics.length||Et.bindDiagnostics.push(e.createDiagnosticForNode(t,we(t),e.declarationNameToString(t))));}function we(t){return e.getContainingClass(t)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:Et.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function Pe(t){Vt&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)&&Re(t,t.left);}function Oe(e){Vt&&e.variableDeclaration&&Re(e,e.variableDeclaration.name);}function Fe(t){if(Vt&&71===t.expression.kind){var n=e.getErrorSpanForNode(Et,t.expression);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,n.start,n.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode));}}function Ie(e){return 71===e.kind&&("eval"===e.text||"arguments"===e.text)}function Re(t,n){if(n&&71===n.kind){var r=n;if(Ie(r)){var a=e.getErrorSpanForNode(Et,n);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,a.start,a.length,Me(t),r.text));}}}function Me(t){return e.getContainingClass(t)?e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:Et.externalModuleIndicator?e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:e.Diagnostics.Invalid_use_of_0_in_strict_mode}function Le(e){Vt&&Re(e,e.name);}function Be(t){return e.getContainingClass(t)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:Et.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function Ke(t){if(Nt<2&&265!==Pt.kind&&233!==Pt.kind&&!e.isFunctionLike(Pt)){var n=e.getErrorSpanForNode(Et,t);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,n.start,n.length,Be(t)));}}function je(t){Vt&&4&t.numericLiteralFlags&&Et.bindDiagnostics.push(e.createDiagnosticForNode(t,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode));}function Je(e){Vt&&Re(e,e.operand);}function ze(e){Vt&&(43!==e.operator&&44!==e.operator||Re(e,e.operand));}function Ue(t){Vt&&Ve(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode);}function Ve(t,n,r,a,i){var o=e.getSpanOfTokenAtPosition(Et,t.pos);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,o.start,o.length,n,r,a,i));}function qe(t){return"__"+e.indexOf(t.parent.parameters,t)}function $e(t){if(t){t.parent=At;var n=Vt;if(e.isInJavaScriptFile(t)&&Ge(t),Xe(t),t.kind>142){var a=At;At=t;var i=de(t);0===i?d(t):_(t,i),At=a;}else Gt||0!=(536870912&t.transformFlags)||(Yt|=r(t,0));Vt=n;}}function Ge(e){if(e.jsDoc)for(var t=0,n=e.jsDoc;t1);}function v(t,n,r){function a(t,n){return function(r){return wv.add(e.createDiagnosticForNode(r,n,t))}}n.forEach(function(n,i){var o=t.get(i);o?e.forEach(o.declarations,a(i,r)):t.set(i,n);});}function b(e){if(134217728&e.flags)return e;var t=n(e);return vv[t]||(vv[t]={})}function x(e){var n=t(e);return bv[n]||(bv[n]={flags:0})}function k(e){return 32768&e.flags?e.objectFlags:0}function S(e){return 134217728&e.flags?e.checkFlags:0}function T(t){return 265===t.kind&&!e.isExternalOrCommonJsModule(t)}function C(t,n,r){if(r){var a=t.get(n);if(a){if(e.Debug.assert(0==(1&S(a)),"Should never get an instantiated symbol here."),a.flags&r)return a;if(8388608&a.flags){var i=Z(a);if(i===Zy||i.flags&r)return a}}}}function E(t,n){var r=t.parent,a=t.parent.parent,i=C(r.locals,n,107455),o=C(a.symbol.members,n,107455);if(i&&o)return[i,o];e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration");}function D(t,n){function a(t,n,r){return!!e.findAncestor(t,function(a){if(a===r)return"quit";if(e.isFunctionLike(a))return!0;if(a.parent&&149===a.parent.kind&&a.parent.initializer===a)if(32&e.getModifierFlags(a.parent)){if(151===n.kind)return!0}else if(!(149===n.kind&&!(32&e.getModifierFlags(n)))||e.getContainingClass(t)!==e.getContainingClass(n))return!0})}var i=e.getSourceFileOfNode(t),o=e.getSourceFileOfNode(n);if(i!==o){if(Ry&&(i.externalModuleIndicator||o.externalModuleIndicator)||!Fy.outFile&&!Fy.out)return!0;if(a(n,t))return!0;var s=r.getSourceFiles();return e.indexOf(s,i)<=e.indexOf(s,o)}if(t.pos<=n.pos){if(176===t.kind){var c=e.getAncestor(n,176);return c?e.findAncestor(c,e.isBindingElement)!==e.findAncestor(t,e.isBindingElement)||t.pos=o&&(i=i.substr(0,o-"...".length)+"..."),i}function $e(t,n,r){var a=e.getSingleLineStringWriter();Ze().buildTypePredicateDisplay(t,a,n,r);var i=a.string();return e.releaseStringWriter(a),i}function Ge(e){for(var t=[],n=0,r=0;r0&&(26!==t&&ze(a),Je(a,t),ze(a)),c(e[n],26===t?0:64);}function l(e,t,n,o,s){if((32&e.flags||!De(e.name))&&r(e,a,i,793064,0,s),n0&&(Je(t,26),ze(t)),n(e[r]);}function p(e,t,n,r){if(e&&e.length){Je(n,27);for(var i=256,o=0;o0&&(Je(n,26),ze(n),i=0),a(t(e[o]),n,r,i);Je(n,29);}}function f(e,t,n,r,a,i){Je(n,19),e&&s(e,n,r,a,i);for(var o=0;o0||e)&&(Je(n,26),ze(n)),s(t[o],n,r,a,i);Je(n,20);}function m(t,n,r,i,o){e.isIdentifierTypePredicate(t)?n.writeParameter(t.parameterName):je(n,99),ze(n),je(n,126),ze(n),a(t.type,n,r,i,o);}function g(e,t,n,r,i){var o=Ir(e);2048&r&&ut(o)||(8&r?(ze(t),Je(t,36)):Je(t,56),ze(t),e.typePredicate?m(e.typePredicate,t,n,r,i):a(o,t,n,r,i));}function y(e,t,n,r,a,i){1===a&&(je(t,94),ze(t)),e.target&&32&r?p(e.target.typeParameters,e.mapper,t,n):l(e.typeParameters,t,n,r,i),f(e.thisParameter,e.parameters,t,n,r,i),g(e,t,n,r,i);}function h(t,n,r,i,o,s){if(t){switch(t.isReadonly&&(je(n,131),ze(n)),Je(n,21),n.writeParameter(t.declaration?e.declarationNameToString(t.declaration.parameters[0].name):"x"),Je(n,56),ze(n),r){case 1:je(n,133);break;case 0:je(n,136);}Je(n,22),Je(n,56),ze(n),a(t.type,n,i,o,s),Je(n,25),n.writeLine();}}return Rv||(Rv={buildSymbolDisplay:r,buildTypeDisplay:a,buildTypeParameterDisplay:o,buildTypePredicateDisplay:m,buildParameterDisplay:s,buildDisplayForParametersAndDelimiters:f,buildDisplayForTypeParametersAndDelimiters:l,buildTypeParameterDisplayFromSymbol:i,buildSignatureDisplay:y,buildIndexSignatureDisplay:h,buildReturnTypeDisplay:g})}function et(t){if(t){var n=x(t);return void 0===n.isVisible&&(n.isVisible=!!function(){switch(t.kind){case 176:return et(t.parent.parent);case 226:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 233:case 229:case 230:case 231:case 228:case 232:case 237:if(e.isExternalModuleAugmentation(t))return!0;var n=ot(t);return 1&e.getCombinedModifierFlags(t)||237!==t.kind&&265!==n.kind&&e.isInAmbientContext(n)?et(n):T(n);case 149:case 148:case 153:case 154:case 151:case 150:if(24&e.getModifierFlags(t))return!1;case 152:case 156:case 155:case 157:case 146:case 234:case 160:case 161:case 163:case 159:case 164:case 165:case 166:case 167:case 168:return et(t.parent);case 239:case 240:case 242:return!1;case 145:case 265:case 236:return!0;case 243:default:return!1}}()),n.isVisible}return!1}function tt(t){function n(t){e.forEach(t,function(t){x(t).isVisible=!0;var r=B(t)||t;if(e.contains(i,r)||i.push(r),e.isInternalModuleImportEqualsDeclaration(t)){var a=N(t,Yf(t.moduleReference).text,901119,void 0,void 0);a&&n(a.declarations);}});}var r;if(t.parent&&243===t.parent.kind)r=N(t.parent,t.text,9289727,e.Diagnostics.Cannot_find_name_0,t);else if(246===t.parent.kind){var a=t.parent;r=a.parent.parent.moduleSpecifier?$(a.parent.parent,a):ae(a.propertyName||a.name,9289727);}var i=[];return r&&n(r.declarations),i}function nt(e,t){var n=rt(e,t);if(n>=0){for(var r=mv.length,a=n;a=0;n--){if(at(mv[n],yv[n]))return-1;if(mv[n]===e&&yv[n]===t)return n}return-1}function at(t,n){return 0===n?b(t).type:2===n?b(t).declaredType:1===n?t.resolvedBaseConstructorType:3===n?t.resolvedReturnType:void e.Debug.fail("Unhandled TypeSystemPropertyName "+n)}function it(){return mv.pop(),yv.pop(),gv.pop()}function ot(t){return(t=e.findAncestor(e.getRootDeclaration(t),function(e){switch(e.kind){case 226:case 227:case 242:case 241:case 240:case 239:return!1;default:return!0}}))&&t.parent}function st(t){var n=fn(be(t));return n.typeParameters?Hr(n,e.map(n.typeParameters,function(e){return th})):n}function ct(e,t){var n=_r(e,t);return n?Lt(n):void 0}function ut(e){return e&&0!=(1&e.flags)}function lt(e){var t=ve(e);return t&&b(t).type||ht(e,!1)}function _t(t){return 144===t.kind&&!e.isStringOrNumericLiteral(t.expression)}function dt(t,n,r){if(8192&(t=kc(t,function(e){return!(6144&e.flags)})).flags)return hh;if(65536&t.flags)return Sc(t,function(e){return dt(e,n,r)});for(var a=e.createMap(),i=e.createMap(),o=0,s=n;o=2?Fa(th):Fh;var o=Ka(e.map(a,function(t){return e.isOmittedExpression(t)?th:bt(t,n,r)}));return n&&((o=Xr(o)).pattern=t),o}function St(e,t,n){return 174===e.kind?xt(e,t,n):kt(e,t,n)}function Tt(e,t){var n=ht(e,!0);return n?(t&&hs(e,n),261===e.kind?n:ms(n)):(n=e.dotDotDotToken?Fh:th,t&&Ky&&(Ct(e)||ys(e,n)),n)}function Ct(t){var n=e.getRootDeclaration(t);return pp(146===n.kind?n.parent:n)}function Et(t){var n=b(t);if(!n.type){if(16777216&t.flags)return n.type=st(t);var r=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(r))return n.type=th;if(243===r.kind)return n.type=Bd(r.expression);if(65536&r.flags&&291===r.kind&&r.typeExpression)return n.type=wi(r.typeExpression.type);if(!nt(t,0))return rh;var a=void 0;a=194===r.kind||179===r.kind&&194===r.parent.kind?vt(t):Tt(r,!0),it()||(a=Mt(t)),n.type=a;}return n.type}function Dt(t){if(t){if(153===t.kind)return t.type&&wi(t.type);var n=e.getSetAccessorTypeAnnotationNode(t);return n&&wi(n)}}function Nt(e){var t=Hg(e);return t&&t.symbol}function At(e){return Fr(Nr(e))}function wt(t){var n=b(t);if(!n.type){var r=e.getDeclarationOfKind(t,153),a=e.getDeclarationOfKind(t,154);if(r&&65536&r.flags){var i=ft(r);if(i)return n.type=i}if(!nt(t,0))return rh;var o=void 0,s=Dt(r);if(s)o=s;else{var c=Dt(a);c?o=c:r&&r.body?o=j_(r):(Ky&&(a?l(a,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,Ue(t)):(e.Debug.assert(!!r,"there must existed getter as we are current checking either setter or getter in this function"),l(r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,Ue(t)))),o=th);}it()||(o=th,Ky&&l(e.getDeclarationOfKind(t,153),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,Ue(t))),n.type=o;}return n.type}function Pt(e){var t=Yt(an(e));return 540672&t.flags?t:void 0}function Ot(t){var n=b(t);if(!n.type)if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))n.type=th;else{var r=Ee(16,t);if(32&t.flags){var a=Pt(t);n.type=a?ti([r,a]):r;}else n.type=By&&67108864&t.flags?is(r,2048):r;}return n.type}function Ft(e){var t=b(e);return t.type||(t.type=_n(e)),t.type}function It(e){var t=b(e);if(!t.type){var n=Z(e);t.type=107455&n.flags?Lt(n):rh;}return t.type}function Rt(t){var n=b(t);if(!n.type)if(100===wy)l(t.valueDeclaration,e.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite),n.type=rh;else{if(!nt(t,0))return rh;wy++;var r=to(Lt(n.target),n.mapper);wy--,it()||(r=Mt(t)),n.type=r;}return n.type}function Mt(t){return t.valueDeclaration.type?(l(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Ue(t)),rh):(Ky&&l(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,Ue(t)),th)}function Lt(e){return 1&S(e)?Rt(e):7&e.flags?Et(e):9136&e.flags?Ot(e):8&e.flags?Ft(e):98304&e.flags?wt(e):8388608&e.flags?It(e):rh}function Bt(e,t){return void 0!==e&&void 0!==t&&0!=(4&k(e))&&e.target===t}function Kt(e){return 4&k(e)?e.target:e}function jt(t,n){function r(t){if(7&k(t)){var a=Kt(t);return a===n||e.forEach(Qt(a),r)}if(131072&t.flags)return e.forEach(t.types,r)}return r(t)}function Jt(t,n){for(var r=0,a=n;r0)return!0;if(540672&e.flags){var t=nr(e);return t&&tn(t)&&$t(t)}return!1}function Wt(t){return e.getClassExtendsHeritageClauseElement(t.symbol.valueDeclaration)}function Ht(t,n,r){var a=e.length(n),i=e.isInJavaScriptFile(r);return e.filter(pr(t,1),function(t){return(i||a>=Er(t.typeParameters))&&a<=e.length(t.typeParameters)})}function Xt(t,n,r){var a=Ht(t,n,r);if(n){var i=e.map(n,wi);a=e.map(a,function(e){return Mr(e,i)});}return a}function Yt(t){if(!t.resolvedBaseConstructorType){var n=Wt(t);if(!n)return t.resolvedBaseConstructorType=ah;if(!nt(t,1))return rh;var r=Bd(n.expression);if(163840&r.flags&&Wn(r),!it())return l(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,Ue(t.symbol)),t.resolvedBaseConstructorType=rh;if(!(1&r.flags||r===sh||Gt(r)))return l(n.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,qe(r)),t.resolvedBaseConstructorType=rh;t.resolvedBaseConstructorType=r;}return t.resolvedBaseConstructorType}function Qt(t){return t.resolvedBaseTypes||(8&t.objectFlags?t.resolvedBaseTypes=[Ra(Xa(t.typeParameters))]:96&t.symbol.flags?(32&t.symbol.flags&&Zt(t),64&t.symbol.flags&&nn(t)):e.Debug.fail("type must be class or interface")),t.resolvedBaseTypes}function Zt(t){t.resolvedBaseTypes=t.resolvedBaseTypes||Py;var n=sr(Yt(t));if(163841&n.flags){var r,a=Wt(t),i=n&&n.symbol?fn(n.symbol):void 0;if(n.symbol&&32&n.symbol.flags&&en(i))r=Qr(a,n.symbol);else if(1&n.flags)r=n;else{var o=Xt(n,a.typeArguments,a);if(!o.length)return void l(a.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments);r=Ir(o[0]);}var s=t.symbol.valueDeclaration;if(s&&e.isInJavaScriptFile(s)){var c=e.getJSDocAugmentsTag(t.symbol.valueDeclaration);c&&(r=wi(c.typeExpression.type));}r!==rh&&(tn(r)?t===r||jt(r,t)?l(s,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,qe(t,void 0,1)):t.resolvedBaseTypes===Py?t.resolvedBaseTypes=[r]:t.resolvedBaseTypes.push(r):l(a.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_a_class_or_interface_type,qe(r)));}}function en(e){var t=e.outerTypeParameters;if(t){var n=t.length-1,r=e.typeArguments;return t[n].symbol!==r[n].symbol}return!0}function tn(t){return 16809985&t.flags&&!Gn(t)||131072&t.flags&&!e.forEach(t.types,function(e){return!tn(e)})}function nn(t){t.resolvedBaseTypes=t.resolvedBaseTypes||Py;for(var n=0,r=t.symbol.declarations;n1&&(n.flags|=65536,n.types=r,Gy.set(Gr(r),n));}}return t.declaredType}function _n(e){var t=b(e);if(!t.declaredType){var n=ln(be(e));t.declaredType=65536&n.flags?n.memberTypes[ng(e.valueDeclaration)]:n;}return t.declaredType}function dn(e){var t=b(e);if(!t.declaredType){var n=Te(16384);n.symbol=e,t.declaredType=n;}return t.declaredType}function pn(e){var t=b(e);return t.declaredType||(t.declaredType=fn(Z(e))),t.declaredType}function fn(e){return 96&e.flags?an(e):524288&e.flags?on$$1(e):262144&e.flags?dn(e):384&e.flags?ln(e):8&e.flags?_n(e):8388608&e.flags?pn(e):rh}function mn(e){if(e.typeArguments)for(var t=0,n=e.typeArguments;t=_)&&o<=d){var p=d?Lr(l,Dr(i,l.typeParameters,_,r)):An(l);p.typeParameters=t.localTypeParameters,p.resolvedReturnType=t,s.push(p);}}return s}function Pn(e,t,n,r,a){for(var i=0,o=e;i0)return;for(i=1;i1){if(l=An(c),e.forEach(u,function(e){return e.thisParameter})){var _=Xa(e.map(u,function(e){return Lt(e.thisParameter)||th}),!0);l.thisParameter=us(c.thisParameter,_);}l.resolvedReturnType=void 0,l.unionSignatures=u;}(a||(a=[])).push(l);}}}return a||Py}function In(e,t){for(var n=[],r=!1,a=0,i=e;a0&&(l=e.map(l,function(e){var t=An(e);return t.resolvedReturnType=Kn(Ir(e),o,c),t})),i=e.concatenate(i,l);}a=e.concatenate(a,pr(u,0)),n=Ln(n,gr(u,0)),r=Ln(r,gr(u,1));}(c);Ae(t,Oy,a,i,n,r);}function Jn(e){var t=e.symbol;if(e.target)Ae(e,r=xn(Hn(e.target),e.mapper,!1),n=Fi(pr(e.target,0),e.mapper),a=Fi(pr(e.target,1),e.mapper),i=ro(gr(e.target,0),e.mapper),c=ro(gr(e.target,1),e.mapper));else if(2048&t.flags){var n=Pr((r=t.members).get("__call"));Ae(e,r,n,a=Pr(r.get("__new")),i=Ur(t,0),c=Ur(t,1));}else{var r=Oy,a=Py,i=void 0;if(t.exports&&(r=fe(t)),32&t.flags){var o=an(t);(a=Pr(t.members.get("__constructor"))).length||(a=wn(o));var s=Yt(o);704512&s.flags?kn(r=bn(Ne(r)),Qn(s)):s===th&&(i=zr(th,!1));}var c=384&t.flags?sv:void 0;Ae(e,r,Py,a,i,c),8208&t.flags&&(e.callSignatures=Pr(t));}}function zn(t){function n(e,n){var o=Bi([i],[e]),d=t.mapper?Ui(t.mapper,o):o,p=to(s,d);if(32&e.flags){var f=e.text,m=_r(c,f),g=_(4|(l||!!(m&&67108864&m.flags)?67108864:0),f);g.checkFlags=u||m&&H_(m)?8:0,g.type=p,n&&(g.syntheticOrigin=n),a.set(f,g);}else 2&e.flags&&(r=zr(p,u));}var r,a=e.createMap();Ae(t,Oy,Py,Py,void 0,void 0);var i=Un(t),o=Vn(t),s=qn(t),c=sr($n(t)),u=!!t.declaration.readonlyToken,l=!!t.declaration.questionToken;if(170===t.declaration.typeParameter.constraint.kind){for(var d=0,p=Qn(c);d=2):16777216&t.flags?hh:t}function cr(t,n){for(var r,a=t.types,i=65536&t.flags,o=i?24:0,s=i?0:67108864,c=4,u=0,l=0,d=a;l=0),a>=r.minArgumentCount}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&(!t.type&&!t.dotDotDotToken&&e.indexOf(t.parent.parameters,t)>=i.arguments.length)}function Cr(e){if(71===e.parameterName.kind){var t=e.parameterName;return{kind:1,parameterName:t?t.text:void 0,parameterIndex:t?zd(e.parent.parameters,t):void 0,type:wi(e.type)}}return{kind:0,type:wi(e.type)}}function Er(e){var t=0;if(e)for(var n=0;n=r)&&o<=i){t||(t=[]);for(c=o;cc.arguments.length&&!d.type||kr(d)||l||(i=r.length);}if(!(153!==t.kind&&154!==t.kind||e.hasDynamicName(t)||s&&o)){var f=153===t.kind?154:153,m=e.getDeclarationOfKind(t.symbol,f);m&&(o=Nt(m));}var g=152===t.kind?an(he(t.parent.symbol)):void 0,y=g?g.localTypeParameters:t.typeParameters?br(t.typeParameters):vr(t),h=Ar(t,u,g),v=t.type&&158===t.type.kind?Cr(t.type):void 0;n.resolvedSignature=Nn(t,y,o,r,h,v,i,e.hasRestParameter(t),a);}return n.resolvedSignature}function Ar(t,n,r){if(n)return wi(t.parameters[0].type);if(r)return r;if(t.type)return wi(t.type);if(65536&t.flags){var a=L_(t);if(a&&a!==rh)return a}return 153!==t.kind||e.hasDynamicName(t)?e.nodeIsMissing(t.body)?th:void 0:Dt(e.getDeclarationOfKind(t.symbol,154))}function wr(t){function n(t){if(!t)return!1;switch(t.kind){case 71:return"arguments"===t.text&&e.isPartOfExpression(t);case 149:case 151:case 153:case 154:return 144===t.name.kind&&n(t.name);default:return!e.nodeStartsNewLexicalEnvironment(t)&&!e.isPartOfTypeNode(t)&&e.forEachChild(t,n)}}var r=x(t);return void 0===r.containsArgumentsReference&&(8192&r.flags?r.containsArgumentsReference=!0:r.containsArgumentsReference=n(t.body)),r.containsArgumentsReference}function Pr(e){if(!e)return Py;for(var t=[],n=0;n0&&r.body){var a=e.declarations[n-1];if(r.parent===a.parent&&r.kind===a.kind&&r.pos===a.end)break}t.push(Nr(r));}}return t}function Or(e){var t=ie(e,e);if(t){var n=ce(t);if(n)return Lt(n)}return th}function Fr(e){if(e.thisParameter)return Lt(e.thisParameter)}function Ir(t){if(!t.resolvedReturnType){if(!nt(t,3))return rh;var n=void 0;if(n=t.target?to(Ir(t.target),t.mapper):t.unionSignatures?Xa(e.map(t.unionSignatures,Ir),!0):j_(t.declaration),!it()&&(n=th,Ky)){var r=t.declaration;r.name?l(r.name,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,e.declarationNameToString(r.name)):l(r,e.Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions);}t.resolvedReturnType=n;}return t.resolvedReturnType}function Rr(t){if(t.hasRestParameter){var n=Lt(e.lastOrUndefined(t.parameters));if(4&k(n)&&n.target===Eh)return n.typeArguments[0]}return th}function Mr(t,n){n=Dr(n,t.typeParameters,Er(t.typeParameters));var r=t.instantiations||(t.instantiations=e.createMap()),a=Gr(n),i=r.get(a);return i||r.set(a,i=Lr(t,n)),i}function Lr(e,t){return Gi(e,Bi(e.typeParameters,t),!0)}function Br(e){return e.typeParameters?(e.erasedSignatureCache||(e.erasedSignatureCache=Gi(e,Ki(e.typeParameters),!0)),e.erasedSignatureCache):e}function Kr(e){if(!e.isolatedSignatureType){var t=152===e.declaration.kind||156===e.declaration.kind,n=Ee(16);n.members=Oy,n.properties=Py,n.callSignatures=t?Py:[e],n.constructSignatures=t?[e]:Py,e.isolatedSignatureType=n;}return e.isolatedSignatureType}function jr(e){return e.members.get("__index")}function Jr(e,t){var n=1===t?133:136,r=jr(e);if(r)for(var a=0,i=r.declarations;a1&&(t+=":"+i),r+=i;}return t}function Wr(e,t){for(var n=0,r=0,a=e;ra.length)?(l(t,o===a.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,qe(r,void 0,1),o,a.length),rh):Hr(r,e.concatenate(r.outerTypeParameters,Dr(e.map(t.typeArguments,wi),a,o,t)))}return t.typeArguments?(l(t,e.Diagnostics.Type_0_is_not_generic,qe(r)),rh):r}function Zr(e,t){var n=fn(e),r=b(e),a=r.typeParameters,i=Gr(t),o=r.instantiations.get(i);return o||r.instantiations.set(i,o=no(n,Bi(a,Dr(t,a,Er(a))))),o}function ea(t,n){var r=fn(n),a=b(n).typeParameters;if(a){var i=e.length(t.typeArguments),o=Er(a);return ia.length?(l(t,o===a.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Ue(n),o,a.length),rh):Zr(n,e.map(t.typeArguments,wi))}return t.typeArguments?(l(t,e.Diagnostics.Type_0_is_not_generic,Ue(n)),rh):r}function ta(t,n){return t.typeArguments?(l(t,e.Diagnostics.Type_0_is_not_generic,Ue(n)),rh):fn(n)}function na(t){switch(t.kind){case 159:return t.typeName;case 277:return t.name;case 201:var n=t.expression;if(e.isEntityNameExpression(n))return n}}function ra(e){return e?ae(e,793064)||Zy:Zy}function aa(e,t){return t===Zy?rh:96&t.flags?Qr(e,t):524288&t.flags?ea(e,t):107455&t.flags&&277===e.kind?Lt(t):ta(e,t)}function ia(t){if(e.isIdentifier(t.name))switch(t.name.text){case"String":return ch;case"Number":return uh;case"Boolean":return dh;case"Void":return fh;case"Undefined":return ah;case"Null":return oh;case"Object":return th;case"Function":return kh;case"Array":case"array":return t.typeArguments&&t.typeArguments.length?void 0:Ra(th);case"Promise":case"promise":return t.typeArguments&&t.typeArguments.length?void 0:B_(th)}}function oa(e){var t=wi(e.type);return By?Xa([t,oh]):t}function sa(t){var n=x(t);if(!n.resolvedType){var r=void 0,a=void 0;if(277===t.kind)(a=ia(t))||(a=aa(t,r=ra(na(t))));else{var i=159===t.kind?t.typeName:e.isEntityNameExpression(t.expression)?t.expression:void 0;a=(r=i&&ae(i,793064)||Zy)===Zy?rh:96&r.flags?Qr(t,r):524288&r.flags?ea(t,r):ta(t,r);}n.resolvedSymbol=r,n.resolvedType=a;}return n.resolvedType}function ca(e){var t=x(e);return t.resolvedType||(t.resolvedType=ms(Bd(e.exprName))),t.resolvedType}function ua(t,n){function r(e){for(var t=0,n=e.declarations;t>1),o=e[i].id;if(o===a)return i;o>a?r=i-1:n=i+1;}return~n}function za(e,t){return Ja(e,t)>=0}function Ua(e,t){var n=t.flags;if(65536&n)Va(e,t.types);else if(1&n)e.containsAny=!0;else if(!By&&6144&n)2048&n&&(e.containsUndefined=!0),4096&n&&(e.containsNull=!0),2097152&n||(e.containsNonWideningType=!0);else if(!(8192&n)){2&n&&(e.containsString=!0),4&n&&(e.containsNumber=!0),96&n&&(e.containsStringOrNumberLiteral=!0);var r=e.length,a=r&&t.id>e[r-1].id?~r:Ja(e,t);a<0&&(32768&n&&16&t.objectFlags&&t.symbol&&8208&t.symbol.flags&&qa(e,t)||e.splice(~a,0,t));}}function Va(e,t){for(var n=0,r=t;n0;)$a(t[--n],t)&&e.orderedRemoveItemAt(t,n);}function Ha(t){for(var n=t.length;n>0;){var r=t[--n];(32&r.flags&&t.containsString||64&r.flags&&t.containsNumber||96&r.flags&&1048576&r.flags&&za(t,r.regularType))&&e.orderedRemoveItemAt(t,n);}}function Xa(e,t,n,r){if(0===e.length)return mh;if(1===e.length)return e[0];var a=[];return Va(a,e),a.containsAny?th:(t?Wa(a):a.containsStringOrNumberLiteral&&Ha(a),0===a.length?a.containsNull?a.containsNonWideningType?oh:sh:a.containsUndefined?a.containsNonWideningType?ah:ih:mh:Ya(a,n,r))}function Ya(e,t,n){if(0===e.length)return mh;if(1===e.length)return e[0];var r=Gr(e),a=Gy.get(r);return a||(a=Te(65536|Wr(e,6144)),Gy.set(r,a),a.types=e,a.aliasSymbol=t,a.aliasTypeArguments=n),a}function Qa(t){var n=x(t);return n.resolvedType||(n.resolvedType=Xa(e.map(t.types,wi),!1,gi(t),yi(t))),n.resolvedType}function Za(t,n){131072&n.flags?ei(t,n.types):1&n.flags?t.containsAny=!0:16&k(n)&&Do(n)?t.containsEmptyObject=!0:8192&n.flags||!By&&6144&n.flags||e.contains(t,n)||(32768&n.flags&&(t.containsObjectType=!0),65536&n.flags&&void 0===t.unionIndex&&(t.unionIndex=t.length),32768&n.flags&&16&n.objectFlags&&n.symbol&&8208&n.symbol.flags&&qa(t,n)||t.push(n));}function ei(e,t){for(var n=0,r=t;n=n?hh:r};return r.mappedTypes=t,r}function Ji(e){if(!e.mapper){var t=function(t){for(var n=e.signature.typeParameters,r=0;rn.parameters.length)return 0;t=Br(t),n=Br(n);var s=-1,c=Fr(t);if(c&&c!==fh){var u=Fr(n);if(u){if(!(h=o(c,u,!1)||o(u,c,a)))return a&&i(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;s&=h;}}for(var l=To(t),_=To(n),d=Co(t,l,n,_),p=t.parameters,f=n.parameters,m=0;m0){for(var s=0;s=5&&32768&e.flags){var r=e.symbol;if(r)for(var a=0,i=0;i=5)return!0}}return!1}function Ko(e,t){return 0!==jo(e,t,uo)}function jo(e,t,n){if(e===t)return-1;var r=24&El(e);if(r!==(24&El(t)))return 0;if(r){if(Lf(e)!==Lf(t))return 0}else if((67108864&e.flags)!=(67108864&t.flags))return 0;return H_(e)!==H_(t)?0:n(Lt(e),Lt(t))}function Jo(e,t,n){if(e.parameters.length===t.parameters.length&&e.minArgumentCount===t.minArgumentCount&&e.hasRestParameter===t.hasRestParameter)return!0;var r=e.hasRestParameter?1:0,a=t.hasRestParameter?1:0;return!!(n&&e.minArgumentCount<=t.minArgumentCount&&(r>a||r===a&&e.parameters.length>=t.parameters.length))}function zo(t,n,r,a,i,o){if(t===n)return-1;if(!Jo(t,n,r))return 0;if(e.length(t.typeParameters)!==e.length(n.typeParameters))return 0;t=Br(t),n=Br(n);var s=-1;if(!a){var c=Fr(t);if(c){var u=Fr(n);if(u){if(!(d=o(c,u)))return 0;s&=d;}}}for(var l=n.parameters.length,_=0;_=e.parameters.length-1}function Vo(e,t){for(var n=0,r=t;no&&(a=t[s],i=u,o=c),o===t.length-1)break}yo(i,a,n,e.Diagnostics.Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0,r);}function Ho(e){return 4&k(e)&&e.target===Eh}function Xo(e){return 4&k(e)&&(e.target===Eh||e.target===Dh)||!(6144&e.flags)&&po(e,Rh)}function Yo(e){return!!_r(e,"0")}function Qo(e){return 0!=(6624&e.flags)}function Zo(t){return!!(8&t.flags)||(65536&t.flags?!!(16&t.flags)||!e.forEach(t.types,function(e){return!Qo(e)}):Qo(t))}function es(t){return 32&t.flags?ch:64&t.flags?uh:128&t.flags?dh:256&t.flags?t.baseType:65536&t.flags&&!(16&t.flags)?Xa(e.sameMap(t.types,es)):t}function ts(t){return 32&t.flags&&1048576&t.flags?ch:64&t.flags&&1048576&t.flags?uh:128&t.flags?dh:256&t.flags?t.baseType:65536&t.flags&&!(16&t.flags)?Xa(e.sameMap(t.types,ts)):t}function ns(e){return!!(4&k(e)&&8&e.target.objectFlags)}function rs(e){for(var t=0,n=0,r=e;n=0&&!n[s].isFixed){var l=Cs(r,a);l&&(g++,o(l,t[s]),g--);}return}if(16384&i.flags)return o(oi(r),i),void o(Xa(e.map(Qn(r),Lt)),qn(a))}c(r,a),u(r,a,0),u(r,a,1),d(r,a);}function c(e,t){for(var n=0,r=Hn(t);nn)&&(t.failedTypeParameterIndex=n);}return a}function Fs(e){for(var t=0;t=2||0==(34&n.flags)||260===n.valueDeclaration.parent.kind)){for(var r=e.getEnclosingBlockScopeContainer(n.valueDeclaration),a=Xc(t.parent,r),i=r,o=!1;i&&!e.nodeStartsNewLexicalEnvironment(i);){if(e.isIterationStatement(i,!1)){o=!0;break}i=i.parent;}o&&(a&&(x(i).flags|=65536),214===r.kind&&e.getAncestor(n.valueDeclaration,227).parent===r&&Qc(t,r)&&(x(n.valueDeclaration).flags|=2097152),x(n.valueDeclaration).flags|=262144),a&&(x(n.valueDeclaration).flags|=131072);}}function Qc(t,n){for(var r=t;185===r.parent.kind;)r=r.parent;var a=!1;if(e.isAssignmentTarget(r))a=!0;else if(192===r.parent.kind||193===r.parent.kind){var i=r.parent;a=43===i.operator||44===i.operator;}return!!a&&!!e.findAncestor(r,function(e){return e===n?"quit":e===n.statement})}function Zc(e,t){x(e).flags|=2,149===t.kind||152===t.kind?x(t.parent).flags|=4:x(t).flags|=4;}function eu(t){if(e.isSuperCall(t))return t;if(!e.isFunctionLike(t))return e.forEachChild(t,eu)}function tu(e){var t=x(e);return void 0===t.hasSuperCall&&(t.superCall=eu(e.body),t.hasSuperCall=!!t.superCall),t.superCall}function nu(e){return Yt(fn(ve(e)))===sh}function ru(t,n,r){var a=n.parent;if(e.getClassExtendsHeritageClauseElement(a)&&!nu(a)){var i=tu(n);(!i||i.end>t.pos)&&l(t,r);}}function au(t){var n=e.getThisContainer(t,!0),r=!1;switch(152===n.kind&&ru(t,n,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),187===n.kind&&(n=e.getThisContainer(n,!1),r=Iy<2),n.kind){case 233:l(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 232:l(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 152:ou(t,n)&&l(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 149:case 148:32&e.getModifierFlags(n)&&l(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 144:l(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name);}if(r&&Zc(t,n),e.isFunctionLike(n)&&(!gu(t)||e.getThisParameter(n))){if(186===n.kind&&194===n.parent.kind&&3===e.getSpecialPropertyAssignmentKind(n.parent)){var a=Bd(n.parent.left.expression.expression).symbol;if(a&&a.members&&16&a.flags)return T_(a)}var i=At(n)||_u(n);if(i)return i}if(e.isClassLike(n.parent)){var o=ve(n.parent);return Jc(t,s=e.hasModifier(n,32)?Lt(o):fn(o).thisType)}if(e.isInJavaScriptFile(t)){var s=iu(n);if(s&&s!==rh)return s}return jy&&l(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation),th}function iu(t){var n=e.getJSDocType(t);if(n&&279===n.kind){var r=n;if(r.parameters.length>0&&282===r.parameters[0].type.kind)return wi(r.parameters[0].type)}}function ou(t,n){return!!e.findAncestor(t,function(e){return e===n?"quit":146===e.kind})}function su(t){var n=181===t.parent.kind&&t.parent.expression===t,r=e.getSuperContainer(t,!0),a=!1;if(!n)for(;r&&187===r.kind;)r=e.getSuperContainer(r,!0),a=Iy<2;var i=0;if(!function(t){return!!t&&(n?152===t.kind:!(!e.isClassLike(t.parent)&&178!==t.parent.kind)&&(32&e.getModifierFlags(t)?151===t.kind||150===t.kind||153===t.kind||154===t.kind:151===t.kind||150===t.kind||153===t.kind||154===t.kind||149===t.kind||148===t.kind||152===t.kind))}(r)){var o=e.findAncestor(t,function(e){return e===r?"quit":144===e.kind});return o&&144===o.kind?l(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):n?l(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):r&&r.parent&&(e.isClassLike(r.parent)||178===r.parent.kind)?l(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):l(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),rh}if(n||152!==r.kind||ru(t,r,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),i=32&e.getModifierFlags(r)||n?512:256,x(t).flags|=i,151===r.kind&&256&e.getModifierFlags(r)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?x(r).flags|=4096:x(r).flags|=2048),a&&Zc(t.parent,r),178===r.parent.kind)return Iy<2?(l(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),rh):th;var s=r.parent,c=fn(ve(s)),u=c&&Qt(c)[0];return u?152===r.kind&&ou(t,r)?(l(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),rh):512===i?Yt(c):Tn(u,c.thisType):(e.getClassExtendsHeritageClauseElement(s)||l(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),rh)}function cu(e){return 151!==e.kind&&153!==e.kind&&154!==e.kind||178!==e.parent.kind?186===e.kind&&261===e.parent.kind?e.parent.parent:void 0:e.parent}function uu(e){return 4&k(e)&&e.target===Oh?e.typeArguments[0]:void 0}function lu(t){return Sc(t,function(t){return 131072&t.flags?e.forEach(t.types,uu):uu(t)})}function _u(e){if(187!==e.kind){if(oo(e)){var t=Bu(e);if(t){var n=t.thisParameter;if(n)return Lt(n)}}if(jy){var r=cu(e);if(r){for(var a=wu(r),i=r,o=a;o;){var s=lu(o);if(s)return to(s,Ou(r));if(261!==i.parent.kind)break;o=wu(i=i.parent.parent);}return a?ss(a):Nd(r)}if(194===e.parent.kind&&58===e.parent.operatorToken.kind){var c=e.parent.left;if(179===c.kind||180===c.kind)return Nd(c.expression)}}}}function du(t){var n=t.parent;if(oo(n)){var r=e.getImmediatelyInvokedFunctionExpression(n);if(r&&r.arguments){var a=e.indexOf(n.parameters,t);if(t.dotDotDotToken){for(var i=[],o=a;o=0)return O_(S_(t),a)}function vu(e,t){if(183===e.parent.kind)return hu(e.parent,t)}function bu(t){var n=t.parent,r=n.operatorToken.kind;if(r>=58&&r<=70){if(0!==e.getSpecialPropertyAssignmentKind(n))return;if(t===n.right)return Md(n.left)}else{if(54===r){var a=Pu(n);return a||t!==n.right||(a=Md(n.left)),a}if((53===r||26===r)&&t===n.right)return Pu(n)}}function xu(e,t){return Sc(e,function(e){var n=229376&e.flags?_r(e,t):void 0;return n?Lt(n):void 0})}function ku(e,t){return Sc(e,function(e){return mr(e,t)})}function Su(t){return!!(65536&t.flags?e.forEach(t.types,Yo):Yo(t))}function Tu(t){if(e.Debug.assert(e.isObjectLiteralMethod(t)),!hm(t))return Cu(t)}function Cu(t){var n=wu(t.parent);if(n){if(!e.hasDynamicName(t)){var r=xu(n,ve(t).name);if(r)return r}return zu(t.name)&&ku(n,1)||ku(n,0)}}function Eu(t){var n=t.parent,r=wu(n);if(r)return xu(r,""+e.indexOf(n.elements,t))||ku(r,1)||ff(r,void 0,!1,!1,!1)}function Du(e){var t=e.parent;return e===t.whenTrue||e===t.whenFalse?Pu(t):void 0}function Nu(t){var n=Pu(e.isJsxAttributeLike(t.parent)?t.parent.parent:t.parent.openingElement.attributes);if(n&&!ut(n)){if(e.isJsxAttribute(t.parent))return ct(n,t.parent.name.text);if(249===t.parent.kind){var r=cl();return r&&""!==r?ct(n,r):th}return n}}function Au(t){var n=Pu(t.parent);if(e.isJsxAttribute(t)){if(!n||ut(n))return;return ct(n,t.name.text)}return n}function wu(e){var t=Pu(e);return t&&sr(t)}function Pu(t){if(!hm(t)){if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 226:case 146:case 149:case 148:case 176:return pu(t);case 187:case 219:return fu(t);case 197:return mu(n);case 181:case 182:return hu(n,t);case 184:case 202:return wi(n.type);case 194:return bu(t);case 261:case 262:return Cu(n);case 177:return Eu(t);case 195:return Du(t);case 205:return e.Debug.assert(196===n.parent.kind),vu(n.parent,t);case 185:return Pu(n);case 256:return Nu(n);case 253:case 255:return Au(n);case 251:case 250:return ml(n)}}}function Ou(t){return t=e.findAncestor(t,function(e){return!!e.contextualMapper}),t?t.contextualMapper:zi}function Fu(e,t){var n=dr(e,0);if(1===n.length){var r=n[0];if(!r.typeParameters&&!Iu(r,t))return r}}function Iu(t,n){for(var r=0;r0&&(s=hi(s,r()),o=[],i=e.createMap(),g=!1,y=!1,f=0),!Xu(S=Bd(b.expression)))return l(b,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),rh;s=hi(s,S),h=v+1;continue}e.Debug.assert(153===b.kind||154===b.kind),lm(b);}e.hasDynamicName(b)?zu(b.name)?y=!0:g=!0:i.set(x.name,x),o.push(x);}if(d)for(var C=0,E=Qn(u);C0&&(s=hi(s,r())),32768&s.flags&&(s.flags|=c,s.symbol=t.symbol),s):r()}function Xu(t){return!!(16783361&t.flags||32768&t.flags&&!Gn(t)||196608&t.flags&&!e.forEach(t.types,function(e){return!Xu(e)}))}function Yu(e){return kl(e),hl()||th}function Qu(e){return kl(e.openingElement),el(e.closingElement.tagName)?al(e.closingElement):Bd(e.closingElement.tagName),hl()||th}function Zu(e){return e.indexOf("-")<0}function el(t){return 179!==t.kind&&99!==t.kind&&e.isIntrinsicJsxName(t.text)}function tl(t,n,r){function a(e,t){var n=we(e,t,Py,Py,void 0,void 0),r=Fy.suppressExcessPropertyErrors?0:1048576;return n.flags|=37748736|r,n.objectFlags|=128,n}for(var i=t.attributes,o=e.createMap(),s=hh,c=[],u=0,d=i.properties;u0&&(s=hi(s,a(i.symbol,o)),c=[],o=e.createMap()),!Xu(m=Bd(p.expression)))return l(p,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),th;if(ut(m))return th;s=hi(s,m);}}s!==hh&&(c.length>0&&(s=hi(s,a(i.symbol,o)),c=[],o=e.createMap()),c=Qn(s)),o=e.createMap(),c&&e.forEach(c,function(e){n&&!n(e)||o.set(e.name,e);});var y=249===t.parent.kind?t.parent:void 0;if(y&&y.openingElement===t&&y.children.length>0){for(var h=[],v=0,b=y.children;v1&&l(r.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,t);}}function sl(){return Jv||(Jv=!0,Fv=ol(Vv.ElementAttributesPropertyNameContainer)),Fv}function cl(){return zv||(zv=!0,Iv=ol(Vv.ElementChildrenAttributeNameContainer)),Iv}function ul(t,n,r,a){if(e.Debug.assert(!(65536&n.flags)),!a||!po(r,a)){var i=vl();if(i){var o=v_(t,n,void 0);if(o!==av){var s=o&&Ir(o),c=s&&(0===o.parameters.length?hh:Lt(o.parameters[0]));if(s&&po(s,i)){var u=rl(Vv.IntrinsicAttributes);return u!==rh&&(c=Mn(u,c)),c}}}}}function ll(t,n,r,a){if(e.Debug.assert(!(65536&n.flags)),!a||!po(r,a)){var i=vl();if(i){var o=[];v_(t,n,o);for(var s=void 0,c=void 0,u=0,l=o;u0)?l(t,e.Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,sl()):ho(r,n,t.attributes.properties.length>0?t.attributes:t);}function Tl(t,n){if(t.expression){var r=Bd(t.expression,n);return t.dotDotDotToken&&r!==th&&!Ho(r)&&l(t,e.Diagnostics.JSX_spread_child_must_be_an_array_type,t.toString(),qe(r)),r}return rh}function Cl(e){return e.valueDeclaration?e.valueDeclaration.kind:149}function El(t){if(t.valueDeclaration){var n=e.getCombinedModifierFlags(t.valueDeclaration);return t.parent&&32&t.parent.flags?n:-29&n}if(6&S(t)){var r=t.checkFlags;return(256&r?8:64&r?4:16)|(512&r?32:0)}return 16777216&t.flags?36:0}function Dl(t){return t.valueDeclaration?e.getCombinedNodeFlags(t.valueDeclaration):0}function Nl(e){return!!(8192&e.flags||4&S(e))}function Al(t,n,r,a){var i=El(a),o=179===t.kind||226===t.kind?t.name:t.right;if(256&S(a))return l(o,e.Diagnostics.Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1,Ue(a),qe(r)),!1;if(97===n.kind){if(Iy<2&&Oo(a,function(e){var t=Cl(e);return 151!==t&&150!==t}))return l(o,e.Diagnostics.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword),!1;if(128&i)return l(o,e.Diagnostics.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression,Ue(a),qe(Fo(a))),!1}if(!(24&i))return!0;if(8&i)return!!Cm(t,Bf(be(a)))||(l(o,e.Diagnostics.Property_0_is_private_and_only_accessible_within_class_1,Ue(a),qe(Fo(a))),!1);if(97===n.kind)return!0;var s=Tm(t,function(e){var t=fn(ve(e));return Mo(t,a)?t:void 0});return s?!!(32&i)||(16384&r.flags&&r.isThisType&&(r=er(r)),!!(3&k(Kt(r))&&jt(r,s))||(l(o,e.Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1,Ue(a),qe(s)),!1)):(l(o,e.Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,Ue(a),qe(Fo(a)||r)),!1)}function wl(e){return Pl(Bd(e),e)}function Pl(t,n){var r=6144&(By?as(t):t.flags);if(r){l(n,2048&r?4096&r?e.Diagnostics.Object_is_possibly_null_or_undefined:e.Diagnostics.Object_is_possibly_undefined:e.Diagnostics.Object_is_possibly_null);var a=ss(t);return 14336&a.flags?rh:a}return t}function Ol(e){return Ll(e,e.expression,e.name)}function Fl(e){return Ll(e,e.left,e.right)}function Il(t,n){var r;if(65536&n.flags&&!(8190&n.flags))for(var a=0,i=n.types;a=m&&o.length<=f))return!1;if(c>=0)return Uo(r,c);if(!r.hasRestParameter&&i>r.parameters.length)return!1;var g=i>=r.minArgumentCount;return s||g}function Hl(e){if(32768&e.flags){var t=Wn(e);if(1===t.callSignatures.length&&0===t.constructSignatures.length&&0===t.properties.length&&!t.stringIndexInfo&&!t.numberIndexInfo)return t.callSignatures[0]}}function Xl(e,t,n){var r=bs(e,!0,!1);return vs(t,e,function(e,t){Es(r,to(e,n),t);}),Mr(e,Fs(r))}function Yl(e,t,n,r,a){for(var i=t.typeParameters,o=Ji(a),s=0;s0?[t.attributes]:Py:t.arguments||Py;}return n}function r_(e,t,n){if(147!==e.kind)return t.length;switch(e.parent.kind){case 229:case 199:return 1;case 149:return 2;case 151:case 153:case 154:return 0===Iy?2:n.parameters.length>=3?3:2;case 146:return 3}}function a_(t){if(229===t.kind)return Lt(n=ve(t));if(146===t.kind&&152===(t=t.parent).kind){var n=ve(t);return Lt(n)}return 149===t.kind||151===t.kind||153===t.kind||154===t.kind?Lm(t):(e.Debug.fail("Unsupported decorator target."),rh)}function i_(t){if(229===t.kind)return e.Debug.fail("Class decorators should not have a second synthetic argument."),rh;if(146===t.kind&&152===(t=t.parent).kind)return th;if(149===t.kind||151===t.kind||153===t.kind||154===t.kind){var n=t;switch(n.name.kind){case 71:case 8:case 9:return Ti(32,n.name.text);case 144:var r=Gu(n.name);return od(r,512)?r:ch;default:return e.Debug.fail("Unsupported property name."),rh}}return e.Debug.fail("Unsupported decorator target."),rh}function o_(t){return 229===t.kind?(e.Debug.fail("Class decorators should not have a third synthetic argument."),rh):146===t.kind?uh:149===t.kind?(e.Debug.fail("Property decorators should not have a third synthetic argument."),rh):151===t.kind||153===t.kind||154===t.kind?wa(Fm(t)):(e.Debug.fail("Unsupported decorator target."),rh)}function s_(t,n){return 0===n?a_(t.parent):1===n?i_(t.parent):2===n?o_(t.parent):(e.Debug.fail("Decorators should not have a fourth synthetic argument."),rh)}function c_(e,t){return 147===e.kind?s_(e,t):0===t&&183===e.kind?ma():void 0}function u_(e,t,n){if(147!==e.kind&&(0!==n||183!==e.kind))return t[n]}function l_(e,t,n){return 147===e.kind?e.expression:0===t&&183===e.kind?e.template:n}function __(t,n,r,a){function o(n,r,i,o){var s;s=e.chainDiagnosticMessages(s,n,r,i,o),a&&(s=e.chainDiagnosticMessages(s,a)),wv.add(e.createDiagnosticForNodeFromMessageChain(t,s));}function s(n,r,a){void 0===a&&(a=!1);for(var i=0,o=n;i1&&(S=s(g,qv,T)),S||(b=void 0,x=void 0,k=void 0,S=s(g,$v,T)),S)return S;if(b){if(d)return b;e_(t,h,b,$v,void 0,!0);}else if(x)if(u||l||!c){e.Debug.assert(k.failedTypeParameterIndex>=0);var C=x.typeParameters[k.failedTypeParameterIndex],E=ws(k,k.failedTypeParameterIndex),D=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly,qe(C));a&&(D=e.chainDiagnosticMessages(D,a)),Wo(E,t.tagName||t.expression||t.tag,D);}else{var N=t.typeArguments;Ql(x,N,e.map(N,wi),!0,a);}else o(e.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target);if(!i)for(var A=0,w=g;A=0&&l(t.arguments[r],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher);}var a=wl(t.expression);if(a===gh)return ov;if((a=sr(a))===rh)return ql(t);var i=a.symbol&&Bf(a.symbol);if(i&&128&e.getModifierFlags(i))return l(t,e.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0,e.declarationNameToString(i.name)),ql(t);if(ut(a))return t.typeArguments&&l(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),Vl(t);var o=pr(a,1);if(o.length)return m_(t,o[0])?__(t,o,n):ql(t);var s=pr(a,0);if(s.length){var c=__(t,s,n);return Ir(c)!==fh&&l(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Fr(c)===fh&&l(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void),c}return l(t,e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature),ql(t)}function m_(t,n){if(!n||!n.declaration)return!0;var r=n.declaration,a=e.getModifierFlags(r);if(!(24&a))return!0;var i=Bf(r.parent.symbol),o=fn(r.parent.symbol);if(!Cm(t,i)){var s=e.getContainingClass(t);if(s)for(var c=Qt(Fm(s));c.length;){var u=c[0];if(16&a&&u.symbol===r.parent.symbol)return!0;c=Qt(u);}return 8&a&&l(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,qe(o)),16&a&&l(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,qe(o)),!1}return!0}function g_(t,n){var r=Bd(t.tag),a=sr(r);if(a===rh)return ql(t);var i=pr(a,0),o=pr(a,1);return p_(r,a,i.length,o.length)?Vl(t):i.length?__(t,i,n):(l(t,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,qe(a)),ql(t))}function y_(t){switch(t.parent.kind){case 229:case 199:return e.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 146:return e.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 149:return e.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 151:case 153:case 154:return e.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression}}function h_(t,n){var r=Bd(t.expression),a=sr(r);if(a===rh)return ql(t);var i=pr(a,0),o=pr(a,1);if(p_(r,a,i.length,o.length))return Vl(t);var s=y_(t);if(!i.length){var c=void 0;return c=e.chainDiagnosticMessages(c,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,qe(a)),c=e.chainDiagnosticMessages(c,s),wv.add(e.createDiagnosticForNodeFromMessageChain(t,c)),ql(t)}return __(t,i,n,s)}function v_(t,n,r){return e.Debug.assert(!(65536&n.flags)),b_(t,n,r)}function b_(e,t,n){if(65536&t.flags){for(var r=void 0,a=0,i=t.types;a0){return __(e,s,n)}}function x_(t,n){switch(t.kind){case 181:return d_(t,n);case 182:return f_(t,n);case 183:return g_(t,n);case 147:return h_(t,n);case 251:case 250:return b_(t,Bd(t.tagName),n)}e.Debug.fail("Branch in 'resolveSignature' should be unreachable.");}function k_(e,t){var n=x(e),r=n.resolvedSignature;if(r&&r!==iv&&!t)return r;n.resolvedSignature=iv;var a=x_(e,t);return n.resolvedSignature=lv===_v?a:r,a}function S_(e){return x(e).resolvedSignature===iv?iv:k_(e)}function T_(e){var t=b(e);return t.inferredClassType||(t.inferredClassType=we(e,e.members,Py,Py,void 0,void 0)),t.inferredClassType}function C_(t){Rg(t,t.typeArguments)||Lg(t,t.arguments);var n=k_(t);if(97===t.expression.kind)return fh;if(182===t.kind){var r=n.declaration;if(r&&152!==r.kind&&156!==r.kind&&161!==r.kind&&!e.isJSDocConstructSignature(r)){var a=71===t.expression.kind?Is(t.expression):Bd(t.expression).symbol;return a&&e.isDeclarationOfFunctionOrClassExpression(a)&&(a=ve(a.valueDeclaration.initializer)),a&&a.members&&16&a.flags?T_(a):(Ky&&l(t,e.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),th)}}return e.isInJavaScriptFile(t)&&E_(t)?Or(t.arguments[0]):Ir(n)}function E_(t){if(!e.isRequireCall(t,!0))return!1;var n=N(t.expression,t.expression.text,107455,void 0,void 0);if(!n)return!0;if(8388608&n.flags)return!1;var r=16&n.flags?228:3&n.flags?226:0;if(0!==r){var a=e.getDeclarationOfKind(n,r);return e.isInAmbientContext(a)}return!1}function D_(e){return Ir(k_(e))}function N_(t){var n=_s(es(Bd(t.expression)));um(t.type);var r=wi(t.type);return i&&r!==rh&&(mo(r,ms(n))||vo(n,r,t,e.Diagnostics.Type_0_cannot_be_converted_to_type_1)),r}function A_(e){return ss(Bd(e.expression))}function w_(t){sy(t);var n=e.getNewTargetContainer(t);if(n){if(152===n.kind)return Lt(r=ve(n.parent));var r=ve(n);return Lt(r)}return l(t,e.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor,"new.target"),rh}function P_(e){var t=Lt(e);if(By){var n=e.valueDeclaration;if(n&&n.initializer)return is(t,2048)}return t}function O_(e,t){return e.hasRestParameter?t0?O_(e,0):mh}function I_(t,n,r,a){var i=t.parameters.length-(t.hasRestParameter?1:0);if(2===a)for(s=0;s=58&&_<=70&&Q_(t,e.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access)&&ho(n,d,t,void 0);}function u(){l(o||n,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2,e.tokenToString(n.kind),qe(d),qe(p));}var _=n.kind;if(58===_&&(178===t.kind||177===t.kind))return md(t,Bd(r,a),a);var d=Bd(t,a),p=Bd(r,a);switch(_){case 39:case 40:case 61:case 62:case 41:case 63:case 42:case 64:case 38:case 60:case 45:case 65:case 46:case 66:case 47:case 67:case 49:case 69:case 50:case 70:case 48:case 68:if(d===gh||p===gh)return gh;d=Pl(d,t),p=Pl(p,r);var f=void 0;if(136&d.flags&&136&p.flags&&void 0!==(f=function(e){switch(e){case 49:case 69:return 54;case 50:case 70:return 35;case 48:case 68:return 53;default:return}}(n.kind)))l(o||n,e.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,e.tokenToString(n.kind),e.tokenToString(f));else{var m=W_(t,d,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type),g=W_(r,p,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type);m&&g&&c(uh);}return uh;case 37:case 59:if(d===gh||p===gh)return gh;od(d,262179)||od(p,262179)||(d=Pl(d,t),p=Pl(p,r));var y=void 0;if(od(d,340)&&od(p,340))y=uh;else if(od(d,262178)||od(p,262178)?y=ch:(ut(d)||ut(p))&&(y=d===rh||p===rh?rh:th),y&&!s(_))return y;return y?(59===_&&c(y),y):(u(),th);case 27:case 29:case 30:case 31:return s(_)&&(d=es(Pl(d,t)),p=es(Pl(p,r)),mo(d,p)||mo(p,d)||u()),dh;case 32:case 33:case 34:case 35:var h=Zo(d),v=Zo(p);return h&&v||(d=h?es(d):d,p=v?es(p):p),hd(d,p)||hd(p,d)||u(),dh;case 93:return ud(t,r,d,p);case 92:return ld(t,r,d,p);case 53:return 1048576&Hs(d)?is(p,as(By?d:es(p))):d;case 54:return 2097152&Hs(d)?vd(os$$1(d),p):d;case 58:return c(p),_s(p);case 26:return Fy.allowUnreachableCode||!yd(t)||function(e){return 71===e.kind&&"eval"===e.text}(r)||l(t,e.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects),p}}function kd(t){for(var n=t,r=t.parent;r;){if(e.isFunctionLike(r)&&n===r.body)return!1;if(e.isClassLike(n))return!0;n=r,r=r.parent;}return!1}function Sd(t){if(i&&(4096&t.flags&&!kd(t)||uy(t,e.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body),gu(t)&&l(t,e.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer)),t.expression){var n=e.getContainingFunction(t),r=n&&e.getFunctionFlags(n);if(t.asteriskToken&&(2&r?Iy<4&&yg(t,4096):Iy<2&&Fy.downlevelIteration&&yg(t,256)),1&r){var a=Nd(t.expression,void 0),o=void 0,s=!!t.asteriskToken;if(s&&(o=pf(a,t.expression,!1,0!=(2&r))),n.type){var c=yf(wi(n.type),0!=(2&r))||th;s?ho(2&r?bp(o,t.expression,e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o,c,t.expression,void 0):ho(2&r?bp(a,t.expression,e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):a,c,t.expression,void 0);}}}return th}function Td(e,t){return Bd(e.condition),vd(Bd(e.whenTrue,t),Bd(e.whenFalse,t))}function Cd(e){switch(8===e.kind&&vy(e),e.kind){case 9:return ki(Ti(32,e.text));case 8:return ki(Ti(64,e.text));case 101:return lh;case 86:return _h}}function Ed(t){return e.forEach(t.templateSpans,function(e){Bd(e.expression);}),ch}function Dd(e,t,n){var r=e.contextualType,a=e.contextualMapper;e.contextualType=t,e.contextualMapper=n;var i=Bd(e,n===zi?1:n?2:0);return e.contextualType=r,e.contextualMapper=a,i}function Nd(e,t){var n=x(e);if(!n.resolvedType){var r=lv;lv=_v,n.resolvedType=Bd(e,t),lv=r;}return n.resolvedType}function Ad(t){return 184===(t=e.skipParentheses(t)).kind||202===t.kind}function wd(t){var n=Md(t.initializer,!0);return 2&e.getCombinedNodeFlags(t)||64&e.getCombinedModifierFlags(t)&&!e.isParameterPropertyDeclaration(t)||Ad(t.initializer)?n:ts(n)}function Pd(e){if(e){if(540672&e.flags){var t=nr(e)||hh;if(30&t.flags)return!0;e=t;}return id(e,262624)}return!1}function Od(e,t){var n=Bd(e,t);return Ad(e)||Pd(Pu(e))?n:ts(n)}function Fd(e,t){return 144===e.name.kind&&Gu(e.name),Od(e.initializer,t)}function Id(e,t){return Yg(e),144===e.name.kind&&Gu(e.name),Rd(e,$_(e,t),t)}function Rd(e,t,n){if(2===n){var r=Hl(t);if(r&&r.typeParameters){var a=wu(e);if(a){var i=Hl(a);if(i&&!i.typeParameters)return Kr(Xl(r,i,Ou(e)))}}}return t}function Md(t,n){if(181===t.kind&&97!==t.expression.kind&&!e.isRequireCall(t,!0)){var r=Hl(wl(t.expression));if(r&&!r.typeParameters)return Ir(r)}return n?Nd(t):Bd(t)}function Ld(e){var t=e.contextualType;e.contextualType=th;var n=Md(e);return e.contextualType=t,n}function Bd(t,n){var r;return r=143===t.kind?Fl(t):Rd(t,Kd(t,n),n),sd(r)&&(179===t.parent.kind&&t.parent.expression===t||180===t.parent.kind&&t.parent.expression===t||(71===t.kind||143===t.kind)&&Dm(t)||l(t,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment)),r}function Kd(t,n){switch(t.kind){case 71:return Hc(t);case 99:return au(t);case 97:return su(t);case 95:return sh;case 9:case 8:case 101:case 86:return Cd(t);case 196:return Ed(t);case 13:return ch;case 12:return Ph;case 177:return Ju(t,n);case 178:return Hu(t,n);case 179:return Ol(t);case 180:return zl(t);case 181:case 182:return C_(t);case 183:return D_(t);case 185:return Bd(t.expression,n);case 199:return Of(t);case 186:case 187:return $_(t,n);case 189:return ed(t);case 184:case 202:return N_(t);case 203:return A_(t);case 204:return w_(t);case 188:return Z_(t);case 190:return td(t);case 191:return nd(t);case 192:return rd(t);case 193:return ad(t);case 194:return bd(t,n);case 195:return Td(t,n);case 198:return Ku(t,n);case 200:return ih;case 197:return Sd(t);case 256:return Tl(t,n);case 249:return Qu(t);case 250:return Yu(t);case 254:return nl(t,n);case 251:e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement");}return rh}function jd(t){t.expression&&uy(t.expression,e.Diagnostics.Type_expected),um(t.constraint),um(t.default);var n=dn(ve(t));rr(n)||l(t.constraint,e.Diagnostics.Type_parameter_0_has_a_circular_constraint,qe(n));var r=er(n),a=or(n);r&&a&&ho(a,Tn(r,a),t.default,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1),i&&Nf(t.name,e.Diagnostics.Type_parameter_name_cannot_be_0);}function Jd(t){bg(t)||xg(t),Yp(t);var n=e.getContainingFunction(t);92&e.getModifierFlags(t)&&(152===(n=e.getContainingFunction(t)).kind&&e.nodeIsPresent(n.body)||l(t,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation)),t.questionToken&&e.isBindingPattern(t.name)&&n.body&&l(t,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),"this"===t.name.text&&(0!==e.indexOf(n.parameters,t)&&l(t,e.Diagnostics.A_this_parameter_must_be_the_first_parameter),152!==n.kind&&156!==n.kind&&161!==n.kind||l(t,e.Diagnostics.A_constructor_cannot_have_a_this_parameter)),!t.dotDotDotToken||e.isBindingPattern(t.name)||Ho(Lt(t.symbol))||l(t,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type);}function zd(e,t){if(e)for(var n=0;n=0)if(n.parameters[r.parameterIndex].dotDotDotToken)l(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter);else{var i=e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);ho(r.type,Fm(n.parameters[r.parameterIndex]),t.type,void 0,i);}else if(a){for(var o=!1,s=0,c=n.parameters;s0&&n.declarations[0]!==t)return}var r=jr(ve(t));if(r)for(var a=!1,i=!1,o=0,s=r.declarations;o=0)return void(n&&l(n,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));Av.push(t.id);var _=bp(u,n,r);if(Av.pop(),!_)return;return a.awaitedTypeOfType=_}var d=ct(t,"then");if(!(d&&pr(d,0).length>0))return a.awaitedTypeOfType=t;n&&(e.Debug.assert(!!r),l(n,r));}function xp(t){var n=wi(t.type);if(Iy>=2){if(n===rh)return rh;var r=ha(!0);if(r!==xh&&!Bt(n,r))return l(t.type,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type),rh}else{if(Sp(t.type),n===rh)return rh;var a=e.getEntityNameFromTypeNode(t.type);if(void 0===a)return l(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,qe(n)),rh;var i=ae(a,107455,!0),o=i?Lt(i):rh;if(o===rh)return 71===a.kind&&"Promise"===a.text&&Kt(n)===ha(!1)?l(t.type,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):l(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),rh;var s=ba(!0);if(s===hh)return l(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),rh;if(!ho(o,s,t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return rh;var c=a&&Yf(a),u=C(t.locals,c.text,107455);if(u)return l(u.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,c.text,e.entityNameToString(a)),rh}return vp(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}function kp(t){var n=Ir(k_(t));if(!(1&n.flags)){var r,a,i=y_(t);switch(t.parent.kind){case 229:r=Xa([Lt(ve(t.parent)),fh]);break;case 146:r=fh,a=e.chainDiagnosticMessages(a,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 149:r=fh,a=e.chainDiagnosticMessages(a,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 151:case 153:case 154:r=Xa([wa(Fm(t.parent)),fh]);}ho(n,r,t,i,a);}}function Sp(t){var n=t&&e.getEntityNameFromTypeNode(t),r=n&&Yf(n),a=r&&N(r,r.text,8388608|(71===n.kind?793064:1920),void 0,void 0);a&&8388608&a.flags&&ke(a)&&!Ym(Z(a))&&te(a);}function Tp(t){return t.dotDotDotToken?e.getRestParameterElementType(t.type):t.type}function Cp(t){if(t.decorators&&e.nodeCanBeDecorated(t)){Fy.experimentalDecorators||l(t,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning);var n=t.decorators[0];if(yg(n,8),146===t.kind&&yg(n,32),Fy.emitDecoratorMetadata)switch(yg(n,16),t.kind){case 229:var r=e.getFirstConstructorWithBody(t);if(r)for(var a=0,i=r.parameters;a=e.ModuleKind.ES2015)&&(jp(t,n,"require")||jp(t,n,"exports"))&&(233!==t.kind||1===e.getModuleInstanceState(t))){var r=ot(t);265===r.kind&&e.isExternalOrCommonJsModule(r)&&l(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(n),e.declarationNameToString(n));}}function Gp(t,n){if(!(Iy>=4)&&jp(t,n,"Promise")&&(233!==t.kind||1===e.getModuleInstanceState(t))){var r=ot(t);265===r.kind&&e.isExternalOrCommonJsModule(r)&&1024&r.flags&&l(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(n),e.declarationNameToString(n));}}function Wp(t){if(0==(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(226!==t.kind||t.initializer)){var n=ve(t);if(1&n.flags){var r=N(t,t.name.text,3,void 0,void 0);if(r&&r!==n&&2&r.flags&&3&Dl(r)){var a=e.getAncestor(r.valueDeclaration,227),i=208===a.parent.kind&&a.parent.parent?a.parent.parent:void 0;if(!(i&&(207===i.kind&&e.isFunctionLike(i.parent)||234===i.kind||233===i.kind||265===i.kind))){var o=Ue(r);l(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,o,o);}}}}}function Hp(t){function n(a){if(!e.isTypeNode(a)&&!e.isDeclarationName(a)){if(179===a.kind)return n(a.expression);if(71!==a.kind)return e.forEachChild(a,n);var i=N(a,a.text,8496063,void 0,void 0);if(i&&i!==Zy&&i.valueDeclaration)if(i.valueDeclaration!==t){if(e.getEnclosingBlockScopeContainer(i.valueDeclaration)===r){if(146===i.valueDeclaration.kind||176===i.valueDeclaration.kind){if(i.valueDeclaration.pos1)return uy(t,e.Diagnostics.Modifiers_cannot_appear_here)}}function rf(e){hy(e),Bd(e.expression);}function af(t){hy(t),Bd(t.expression),um(t.thenStatement),209===t.thenStatement.kind&&l(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement),um(t.elseStatement);}function of(e){hy(e),um(e.statement),Bd(e.expression);}function sf(e){hy(e),Bd(e.expression),um(e.statement);}function cf(t){hy(t)||t.initializer&&227===t.initializer.kind&&ay(t.initializer),t.initializer&&(227===t.initializer.kind?e.forEach(t.initializer.declarations,Zp):Bd(t.initializer)),t.condition&&Bd(t.condition),t.incrementor&&Bd(t.incrementor),um(t.statement),t.locals&&Np(t);}function uf(t){if($g(t),216===t.kind&&(t.awaitModifier?Iy<4&&yg(t,8192):Iy<2&&Fy.downlevelIteration&&yg(t,256)),227===t.initializer.kind)_f(t);else{var n=t.initializer,r=df(t.expression,t.awaitModifier);if(177===n.kind||178===n.kind)md(n,r||rh);else{var a=Bd(n);Q_(n,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access),r&&ho(r,a,n,void 0);}}um(t.statement),t.locals&&Np(t);}function lf(t){$g(t);var n=wl(t.expression);if(227===t.initializer.kind){var r=t.initializer.declarations[0];r&&e.isBindingPattern(r.name)&&l(r.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),_f(t);}else{var a=t.initializer,i=Bd(a);177===a.kind||178===a.kind?l(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):po(si(n),i)?Q_(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access):l(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any);}Vu(n,17350656)||l(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter),um(t.statement),t.locals&&Np(t);}function _f(e){var t=e.initializer;t.declarations.length>=1&&Zp(t.declarations[0]);}function df(e,t){return pf(wl(e),e,!0,void 0!==t)}function pf(e,t,n,r){return ut(e)?e:ff(e,t,n,r,!0)||th}function ff(t,n,r,a,i){var o=Iy>=2,s=!o&&Fy.downlevelIteration;if(o||s||a){var c=mf(t,o?n:void 0,a,a,i);if(c||o)return c}var u=t,_=!1,d=!1;if(r){if(65536&u.flags){var p=t.types,f=e.filter(p,function(e){return!(262178&e.flags)});f!==p&&(u=Xa(f,!0));}else 262178&u.flags&&(u=mh);if((d=u!==t)&&(Iy<1&&n&&(l(n,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),_=!0),8192&u.flags))return ch}if(!Xo(u))return n&&!_&&l(n,!r||d?s?e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:e.Diagnostics.Type_0_is_not_an_array_type:s?e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,qe(u)),d?ch:void 0;var m=yr(u,1);return d&&m?262178&m.flags?ch:Xa([m,ch],!0):m}function mf(t,n,r,a,i){if(!ut(t)){var o=t;if(r?o.iteratedTypeOfAsyncIterable:o.iteratedTypeOfIterable)return r?o.iteratedTypeOfAsyncIterable:o.iteratedTypeOfIterable;if(r&&(Bt(t,xa(!1))||Bt(t,Sa(!1))))return o.iteratedTypeOfAsyncIterable=t.typeArguments[0];if((!r||a)&&(Bt(t,Ta(!1))||Bt(t,Ea(!1))))return r?o.iteratedTypeOfAsyncIterable=t.typeArguments[0]:o.iteratedTypeOfIterable=t.typeArguments[0];var s,c=!1;if(r){if(ut(u=ct(t,e.getPropertyNameForKnownSymbolName("asyncIterator"))))return;s=u&&pr(u,0);}if(!r||a&&!e.some(s)){var u=ct(t,e.getPropertyNameForKnownSymbolName("iterator"));if(ut(u))return;s=u&&pr(u,0),c=!0;}if(e.some(s)){var _=gf(Xa(e.map(s,Ir),!0),n,!c);return i&&n&&_&&ho(t,c?Fa(_):Pa(_),n),r?o.iteratedTypeOfAsyncIterable=_:o.iteratedTypeOfIterable=_}n&&l(n,r?e.Diagnostics.Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:e.Diagnostics.Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator);}}function gf(t,n,r){if(!ut(t)){var a=t;if(r?a.iteratedTypeOfAsyncIterator:a.iteratedTypeOfIterator)return r?a.iteratedTypeOfAsyncIterator:a.iteratedTypeOfIterator;if(Bt(t,(r?ka:Ca)(!1)))return r?a.iteratedTypeOfAsyncIterator=t.typeArguments[0]:a.iteratedTypeOfIterator=t.typeArguments[0];var i=ct(t,"next");if(!ut(i)){var o=i?pr(i,0):Py;if(0!==o.length){var s=Xa(e.map(o,Ir),!0);if(!(ut(s)||r&&(s=yp(s,n,e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property),ut(s)))){var c=s&&ct(s,"value");if(c)return r?a.iteratedTypeOfAsyncIterator=c:a.iteratedTypeOfIterator=c;n&&l(n,r?e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property);}}else n&&l(n,r?e.Diagnostics.An_async_iterator_must_have_a_next_method:e.Diagnostics.An_iterator_must_have_a_next_method);}}}function yf(e,t){if(!ut(e))return mf(e,void 0,t,!1,!1)||gf(e,void 0,t)}function hf(e){hy(e)||Qg(e);}function vf(t){return!(153!==t.kind||!e.getSetAccessorTypeAnnotationNode(e.getDeclarationOfKind(t.symbol,154)))}function bf(t,n){var r=2==(3&e.getFunctionFlags(t))?hp(n):n;return r&&id(r,1025)}function xf(t){hy(t)||e.getContainingFunction(t)||uy(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body);var n=e.getContainingFunction(t);if(n){var r=Ir(Nr(n));if(By||t.expression||8192&r.flags){var a=t.expression?Nd(t.expression):ah,i=e.getFunctionFlags(n);if(1&i)return;if(154===n.kind)t.expression&&l(t,e.Diagnostics.Setters_cannot_return_a_value);else if(152===n.kind)t.expression&&!ho(a,r,t)&&l(t,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(n.type||vf(n))if(2&i){var o=hp(r),s=vp(a,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);o&&ho(s,o,t);}else ho(a,r,t);}else 152!==n.kind&&Fy.noImplicitReturns&&!bf(n,r)&&l(t,e.Diagnostics.Not_all_code_paths_return_a_value);}}function kf(t){hy(t)||16384&t.flags&&uy(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block),Bd(t.expression);var n=e.getSourceFileOfNode(t);if(!cy(n)){var r=e.getSpanOfTokenAtPosition(n,t.pos).start;ly(n,r,t.statement.pos-r,e.Diagnostics.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any);}}function Sf(t){hy(t);var n,r=!1,a=Bd(t.expression),o=Zo(a);e.forEach(t.caseBlock.clauses,function(s){if(258===s.kind&&!r)if(void 0===n)n=s;else{var c=e.getSourceFileOfNode(t),u=e.skipTrivia(c.text,s.pos);ly(c,u,(s.statements.length>0?s.statements[0].pos:s.end)-u,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),r=!0;}if(i&&257===s.kind){var l=s,_=Bd(l.expression),d=Zo(_),p=a;d&&o||(_=d?es(_):_,p=es(a)),hd(p,_)||vo(_,p,l.expression,void 0);}e.forEach(s.statements,um);}),t.caseBlock.locals&&Np(t.caseBlock);}function Tf(t){hy(t)||e.findAncestor(t.parent,function(n){if(e.isFunctionLike(n))return"quit";if(222===n.kind&&n.label.text===t.label.text){var r=e.getSourceFileOfNode(t);return _y(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNodeFromSourceText(r.text,t.label)),!0}}),um(t.statement);}function Cf(t){hy(t)||void 0===t.expression&&by(t,e.Diagnostics.Line_break_not_permitted_here),t.expression&&Bd(t.expression);}function Ef(t){hy(t),Bp(t.tryBlock);var n=t.catchClause;if(n){if(n.variableDeclaration)if(n.variableDeclaration.type)uy(n.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation);else if(n.variableDeclaration.initializer)uy(n.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer);else{var r=n.block.locals;r&&e.forEachKey(n.locals,function(t){var n=r.get(t);n&&0!=(2&n.flags)&&_y(n.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,t);});}Bp(n.block);}t.finallyBlock&&Bp(t.finallyBlock);}function Df(t){function n(t,n,r,a,i,o){if(i){var s=t.valueDeclaration;if(1!==o||(s?zu(s.name):$u(t.name))){var c;!s||144!==s.name.kind&&t.parent!==r.symbol?a?c=a:2&k(r)&&(c=e.forEach(Qt(r),function(e){return Xn(e,t.name)&&yr(e,o)})?void 0:r.symbol.declarations[0]):c=s,c&&!po(n,i)&&l(c,0===o?e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2:e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2,Ue(t),qe(n),qe(i));}}}var r=Jr(t.symbol,1),a=Jr(t.symbol,0),i=yr(t,0),o=yr(t,1);if((i||o)&&(e.forEach(Hn(t),function(e){var s=Lt(e);n(e,s,t,a,i,0),n(e,s,t,r,o,1);}),1&k(t)&&e.isClassLike(t.symbol.valueDeclaration)))for(var s=0,c=t.symbol.valueDeclaration.members;sr)return!1;for(var u=0;u>s;case 47:return a>>>s;case 45:return a<1&&e.forEach(r.declarations,function(t){e.isConstEnumDeclaration(t)!==n&&l(t.name,e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const);});var a=!1;e.forEach(r.declarations,function(t){if(232!==t.kind)return!1;var n=t;if(!n.members.length)return!1;var r=n.members[0];r.initializer||(a?l(r.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):a=!0);});}}}function Gf(t){for(var n=0,r=t.declarations;n1&&!r&&e.isInstantiatedModule(t,Fy.preserveConstEnums||Fy.isolatedModules)){var s=Gf(o);s&&(e.getSourceFileOfNode(t)!==e.getSourceFileOfNode(s)?l(t.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):t.pos1)for(var s=0,c=a;s0?e.concatenate(o,i):i}return e.forEach(r.getSourceFiles(),dm),wv.getDiagnostics()}function gm(){return ym(),wv.getGlobalDiagnostics()}function ym(){if(!i)throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}function hm(e){if(e)for(;e.parent;){if(220===e.parent.kind&&e.parent.statement===e)return!0;e=e.parent;}return!1}function vm(t,n){function r(e,t){if(e.flags&t){var n=e.name;i.has(n)||i.set(n,e);}}function a(e,t){t&&e.forEach(function(e){r(e,t);});}if(hm(t))return[];var i=e.createMap(),o=0;return function(){for(;t;){switch(t.locals&&!T(t)&&a(t.locals,n),t.kind){case 265:if(!e.isExternalOrCommonJsModule(t))break;case 233:a(ve(t).exports,8914931&n);break;case 232:a(ve(t).exports,8&n);break;case 199:t.name&&r(t.symbol,n);case 229:case 230:32&o||a(ve(t).members,793064&n);break;case 186:t.name&&r(t.symbol,n);}e.introducesArgumentsExoticObject(t)&&r(Vy,n),o=e.getModifierFlags(t),t=t.parent;}a(uv,n);}(),xr(i)}function bm(e){return 71===e.kind&&xm(e.parent)&&e.parent.name===e}function xm(e){switch(e.kind){case 145:case 229:case 230:case 231:case 232:return!0}}function km(e){for(var t=e;t.parent&&143===t.parent.kind;)t=t.parent;return t.parent&&(159===t.parent.kind||277===t.parent.kind)}function Sm(e){for(var t=e;t.parent&&179===t.parent.kind;)t=t.parent;return t.parent&&201===t.parent.kind}function Tm(t,n){for(var r;;){if(!(t=e.getContainingClass(t)))break;if(r=n(t))break}return r}function Cm(e,t){return!!Tm(e,function(e){return e===t})}function Em(e){for(;143===e.parent.kind;)e=e.parent;return 237===e.parent.kind?e.parent.moduleReference===e&&e.parent:243===e.parent.kind?e.parent.expression===e&&e.parent:void 0}function Dm(e){return void 0!==Em(e)}function Nm(t){switch(e.getSpecialPropertyAssignmentKind(t.parent.parent)){case 1:case 3:return ve(t.parent);case 4:case 2:case 5:return ve(t.parent.parent)}}function Am(t){if(e.isDeclarationName(t))return ve(t.parent);if(e.isInJavaScriptFile(t)&&179===t.parent.kind&&t.parent===t.parent.parent.left){var n=Nm(t);if(n)return n}if(243===t.parent.kind&&e.isEntityNameExpression(t))return ae(t,9289727);if(179!==t.kind&&Dm(t)){var r=e.getAncestor(t,237);return e.Debug.assert(void 0!==r),ne(t,!0)}if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),Sm(t)){var a=0;201===t.parent.kind?(a=793064,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(a|=107455)):a=1920;var i=ae(t,a|=8388608);if(i)return i}if(e.isPartOfExpression(t)){if(e.nodeIsMissing(t))return;if(71===t.kind)return e.isJSXTagName(t)&&el(t)?al(t.parent):ae(t,107455,!1,!0);if(179===t.kind)return(o=x(t).resolvedSymbol)||Ol(t),x(t).resolvedSymbol;if(143===t.kind){var o=x(t).resolvedSymbol;return o||Fl(t),x(t).resolvedSymbol}}else{if(km(t))return ae(t,a=159===t.parent.kind||277===t.parent.kind?793064:1920,!1,!0);if(253===t.parent.kind)return gl(t.parent)}return 158===t.parent.kind?ae(t,1):void 0}function wm(t){if(265===t.kind)return e.isExternalModule(t)?he(t.symbol):void 0;if(!hm(t)){if(e.isDeclarationName(t))return ve(t.parent);if(e.isLiteralComputedPropertyDeclarationName(t))return ve(t.parent.parent);if(71===t.kind){if(Dm(t))return Am(t);if(176===t.parent.kind&&174===t.parent.parent.kind&&t===t.parent.propertyName){var n=Fm(t.parent.parent),r=n&&_r(n,t.text);if(r)return r}}switch(t.kind){case 71:case 179:case 143:return Am(t);case 99:var a=e.getThisContainer(t,!1);if(e.isFunctionLike(a)){var i=Nr(a);if(i.thisParameter)return i.thisParameter}case 97:return(e.isPartOfExpression(t)?Md(t):wi(t)).symbol;case 169:return wi(t).symbol;case 123:var o=t.parent;if(o&&152===o.kind)return o.parent.symbol;return;case 9:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(238===t.parent.kind||244===t.parent.kind)&&t.parent.moduleSpecifier===t)return ie(t,t);if(e.isInJavaScriptFile(t)&&e.isRequireCall(t.parent,!1))return ie(t,t);case 8:if(180===t.parent.kind&&t.parent.argumentExpression===t){var s=Md(t.parent.expression);if(s===rh)return;var c=sr(s);if(c===rh)return;return _r(c,t.text)}}}}function Pm(e){if(e&&262===e.kind)return ae(e.name,8496063)}function Om(e){return e.parent.parent.moduleSpecifier?$(e.parent.parent,e):ae(e.propertyName||e.name,9289727)}function Fm(t){if(hm(t))return rh;if(e.isPartOfTypeNode(t)){var n=wi(t);return n&&e.isExpressionWithTypeArgumentsInClassImplementsClause(t)&&(n=Tn(n,(r=Fm(e.getContainingClass(t))).thisType)),n}if(e.isPartOfExpression(t))return Mm(t);if(e.isExpressionWithTypeArgumentsInClassExtendsClause(t)){var r=fn(ve(e.getContainingClass(t))),a=Qt(r)[0];return a&&Tn(a,r.thisType)}if(xm(t))return fn(i=ve(t));if(bm(t))return(i=wm(t))&&fn(i);if(e.isDeclaration(t))return Lt(i=ve(t));if(e.isDeclarationName(t))return(i=wm(t))&&Lt(i);if(e.isBindingPattern(t))return ht(t.parent,!0);if(Dm(t)){var i=wm(t),o=i&&fn(i);return o!==rh?o:Lt(i)}return rh}function Im(t){if(e.Debug.assert(178===t.kind||177===t.kind),216===t.parent.kind)return md(t,(n=df(t.parent.expression,t.parent.awaitModifier))||rh);if(194===t.parent.kind){var n=Md(t.parent.right);return md(t,n||rh)}if(261===t.parent.kind)return dd(Im(t.parent.parent)||rh,t.parent);e.Debug.assert(177===t.parent.kind);var r=Im(t.parent),a=pf(r||rh,t.parent,!1,!1)||rh;return fd(t.parent,r,e.indexOf(t.parent.elements,t),a||rh)}function Rm(e){var t=Im(e.parent.parent);return t&&_r(t,e.text)}function Mm(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),Si(Md(t))}function Lm(t){var n=ve(t.parent);return 32&e.getModifierFlags(t)?Lt(n):fn(n)}function Bm(t){var n=bn(Qn(t=sr(t)));return(pr(t,0).length||pr(t,1).length)&&e.forEach(Qn(Ch),function(e){n.has(e.name)||n.set(e.name,e);}),Ne(n)}function Km(t){if(6&S(t)){var n=[],r=t.name;return e.forEach(b(t).containingType.types,function(e){var t=_r(e,r);t&&n.push(t);}),n}if(134217728&t.flags){if(t.leftSpread){var a=t;return Km(a.leftSpread).concat(Km(a.rightSpread))}if(t.syntheticOrigin)return Km(t.syntheticOrigin);for(var i=void 0,o=t;o=b(o).target;)i=o;if(i)return[i]}return[t]}function jm(t){return!(e.isGeneratedIdentifier(t)||!(t=e.getParseTreeNode(t,e.isIdentifier)))&&(!(179===t.parent.kind&&t.parent.name===t)&&dg(t)===Vy)}function Jm(t){function n(e){return(e=Q(e))&&!!(107455&e.flags)}var r=ie(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var a=le(r),i=b(r=ce(r));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=a?!!(107455&r.flags):e.forEachEntry(me(r),n)),i.exportsSomeValue}function zm(t){var n=t.parent;return n&&e.isModuleOrEnumDeclaration(n)&&t===n.name}function Um(t,n){if(t=e.getParseTreeNode(t,e.isIdentifier)){var r=dg(t,zm(t));if(r){if(1048576&r.flags){var a=he(r.exportSymbol);if(!n&&944&a.flags)return;r=a;}var i=be(r);if(i){if(512&i.flags&&265===i.valueDeclaration.kind){var o=i.valueDeclaration;return o!==e.getSourceFileOfNode(t)?void 0:o}return e.findAncestor(t.parent,function(t){return e.isModuleOrEnumDeclaration(t)&&ve(t)===i})}}}}function Vm(t){if(t=e.getParseTreeNode(t,e.isIdentifier)){var n=dg(t);if(n&&8388608&n.flags)return K(n)}}function qm(t){if(418&t.flags){var n=b(t);if(void 0===n.isDeclarationWithCollidingName){var r=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(r)){var a=x(t.valueDeclaration);if(N(r.parent,t.name,107455,void 0,void 0))n.isDeclarationWithCollidingName=!0;else if(131072&a.flags){var i=262144&a.flags,o=e.isIterationStatement(r,!1),s=207===r.kind&&e.isIterationStatement(r.parent,!1);n.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(r)||i&&(o||s));}else n.isDeclarationWithCollidingName=!1;}}return n.isDeclarationWithCollidingName}return!1}function $m(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=dg(t);if(n&&qm(n))return n.valueDeclaration}}function Gm(t){if(t=e.getParseTreeNode(t,e.isDeclaration)){var n=ve(t);if(n)return qm(n)}return!1}function Wm(t){switch(t.kind){case 237:case 239:case 240:case 242:case 246:return Xm(ve(t)||Zy);case 244:var n=t.exportClause;return n&&e.forEach(n.elements,Wm);case 243:return!t.expression||71!==t.expression.kind||Xm(ve(t)||Zy)}return!1}function Hm(t){return!(void 0===(t=e.getParseTreeNode(t,e.isImportEqualsDeclaration))||265!==t.parent.kind||!e.isInternalModuleImportEqualsDeclaration(t))&&(Xm(ve(t))&&t.moduleReference&&!e.nodeIsMissing(t.moduleReference))}function Xm(e){var t=Z(e);return t===Zy||107455&t.flags&&(Fy.preserveConstEnums||!Ym(t))}function Ym(e){return cd(e)||e.constEnumOnlyModule}function Qm(t,n){if(e.isAliasSymbolDeclaration(t)){var r=ve(t);if(r&&b(r).referenced)return!0}return!!n&&e.forEachChild(t,function(e){return Qm(e,n)})}function Zm(t){if(e.nodeIsPresent(t.body)){var n=Pr(ve(t));return n.length>1||1===n.length&&n[0].declaration!==t}return!1}function eg(t){return By&&!Tr(t)&&t.initializer&&!(92&e.getModifierFlags(t))}function tg(e){return x(e).flags}function ng(e){return qf(e.parent),x(e).enumMemberValue}function rg(e){switch(e.kind){case 264:case 179:case 180:return!0}return!1}function ag(t){if(264===t.kind)return ng(t);var n=x(t).resolvedSymbol;return n&&8&n.flags&&e.isConstEnumDeclaration(n.valueDeclaration.parent)?ng(n.valueDeclaration):void 0}function ig(e){return 32768&e.flags&&pr(e,0).length>0}function og(t,n){var r=ae(t,107455,!0,!1,n),a=ae(t,793064,!0,!1,n);if(r&&r===a){var i=va(!1);if(i&&r===i)return e.TypeReferenceSerializationKind.Promise;var o=Lt(r);if(o&&Gt(o))return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!a)return e.TypeReferenceSerializationKind.ObjectType;var s=fn(a);return s===rh?e.TypeReferenceSerializationKind.Unknown:1&s.flags?e.TypeReferenceSerializationKind.ObjectType:od(s,15360)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:od(s,136)?e.TypeReferenceSerializationKind.BooleanType:od(s,340)?e.TypeReferenceSerializationKind.NumberLikeType:od(s,262178)?e.TypeReferenceSerializationKind.StringLikeType:ns(s)?e.TypeReferenceSerializationKind.ArrayLikeType:od(s,512)?e.TypeReferenceSerializationKind.ESSymbolType:ig(s)?e.TypeReferenceSerializationKind.TypeWithCallSignature:Ho(s)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function sg(e,t,n,r){var a=ve(e),i=!a||133120&a.flags?rh:ts(Lt(a));4096&n&&(i=is(i,2048)),Ze().buildTypeDisplay(i,r,t,n);}function cg(e,t,n,r){var a=Nr(e);Ze().buildTypeDisplay(Ir(a),r,t,n);}function ug(e,t,n,r){var a=ms(Mm(e));Ze().buildTypeDisplay(a,r,t,n);}function lg(e,t,n,r){var a=fn(ve(e));Zt(a);var i=a.resolvedBaseTypes.length?a.resolvedBaseTypes[0]:rh;i.symbol||r.reportIllegalExtends(),Ze().buildTypeDisplay(i,r,t,n);}function _g(e){return uv.has(e)}function dg(t,n){var r=x(t).resolvedSymbol;if(r)return r;var a=t;if(n){var i=t.parent;e.isDeclaration(i)&&t===i.name&&(a=ot(i));}return N(a,t.text,9544639,void 0,void 0)}function pg(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=dg(t);if(n)return xe(n).valueDeclaration}}function fg(t){if(e.isConst(t)){var n=Lt(ve(t));return!!(96&n.flags&&1048576&n.flags)}return!1}function mg(e,t){var n=Lt(ve(e));t.writeStringLiteral(Ye(n));}function gg(t){var n=e.getExternalModuleName(t),r=oe(n,n,void 0);if(r)return e.getDeclarationOfKind(r,265)}function yg(t,n){if((Sy&n)!==n&&Fy.importHelpers){var r=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(r,Fy)&&!e.isInAmbientContext(t)){var a=vg(r,t);if(a!==Zy)for(var i=n&~Sy,o=1;o<=8192;o<<=1)if(i&o){var s=hg(o);C(a.exports,e.escapeIdentifier(s),107455)||l(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1,e.externalHelpersModuleNameText,s);}Sy|=n;}}}function hg(t){switch(t){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator";case 256:return"__values";case 512:return"__read";case 1024:return"__spread";case 2048:return"__asyncGenerator";case 4096:return"__asyncDelegator";case 8192:return"__asyncValues";default:e.Debug.fail("Unrecognized helper.");}}function vg(t,n){return Ty||(Ty=se(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,n)||Zy),Ty}function bg(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t))return 151!==t.kind||e.nodeIsPresent(t.body)?uy(t,e.Diagnostics.Decorators_are_not_valid_here):uy(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(153===t.kind||154===t.kind){var n=e.getAllAccessorDeclarations(t.parent.members,t);if(n.firstAccessor.decorators&&t===n.secondAccessor)return uy(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}function xg(t){var n=kg(t);if(void 0!==n)return n;for(var r,a,i,o,s=0,c=0,u=t.modifiers;c1||e.modifiers[0].kind!==t}function Cg(t,n){switch(t.kind){case 151:case 228:case 186:case 187:return!1}return _y(n,e.Diagnostics._0_modifier_cannot_be_used_here,"async")}function Eg(t){if(t&&t.hasTrailingComma){var n=t.end-",".length,r=t.end;return ly(e.getSourceFileOfNode(t[0]),n,r-n,e.Diagnostics.Trailing_comma_not_allowed)}}function Dg(t,n){if(Eg(t))return!0;if(t&&0===t.length){var r=t.pos-"<".length;return ly(n,r,e.skipTrivia(n.text,t.end)+">".length-r,e.Diagnostics.Type_parameter_list_cannot_be_empty)}}function Ng(t){for(var n=!1,r=t.length,a=0;a".length-a,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function Rg(e,t){return Eg(t)||Ig(e,t)}function Mg(t,n){if(n)for(var r=e.getSourceFileOfNode(t),a=0,i=n;a1)return uy(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);n=!0;}else{if(e.Debug.assert(108===o.token),r)return uy(o,e.Diagnostics.implements_clause_already_seen);r=!0;}Bg(o);}}function jg(t){var n=!1;if(t.heritageClauses)for(var r=0,a=t.heritageClauses;r1){i=215===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return uy(n.declarations[1],i)}var a=r[0];if(a.initializer){var i=215===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return _y(a.name,i)}if(a.type)return _y(a,i=215===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function Gg(t){var n=t.kind;if(Iy<1)return _y(t.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(e.isInAmbientContext(t))return _y(t.name,e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context);if(!(void 0!==t.body||128&e.getModifierFlags(t)))return ly(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{");if(t.body&&128&e.getModifierFlags(t))return _y(t,e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation);if(t.typeParameters)return _y(t.name,e.Diagnostics.An_accessor_cannot_have_type_parameters);if(!Wg(t))return _y(t.name,153===n?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter);if(154===n){if(t.type)return _y(t.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation);var r=t.parameters[0];if(r.dotDotDotToken)return _y(r.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter);if(r.questionToken)return _y(r.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter);if(r.initializer)return _y(t.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}}function Wg(e){return Hg(e)||e.parameters.length===(153===e.kind?0:1)}function Hg(t){if(t.parameters.length===(153===t.kind?1:2))return e.getThisParameter(t)}function Xg(t,n){if(e.isDynamicName(t))return _y(t,n)}function Yg(t){if(nf(t)||Ag(t)||zg(t))return!0;if(178===t.parent.kind){if(Ug(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(void 0===t.body)return ly(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(e.isClassLike(t.parent)){if(e.isInAmbientContext(t))return Xg(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol);if(!t.body)return Xg(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol)}else{if(230===t.parent.kind)return Xg(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol);if(163===t.parent.kind)return Xg(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol)}}function Qg(t){for(var n=t;n;){if(e.isFunctionLike(n))return _y(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(n.kind){case 222:if(t.label&&n.label.text===t.label.text)return!(217!==t.kind||e.isIterationStatement(n.statement,!0))&&_y(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement);break;case 221:if(218===t.kind&&!t.label)return!1;break;default:if(e.isIterationStatement(n,!1)&&!t.label)return!1}n=n.parent;}if(t.label)return _y(t,r=218===t.kind?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement);var r=218===t.kind?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return _y(t,r)}function Zg(t){if(t.dotDotDotToken){var n=t.parent.elements;if(t!==e.lastOrUndefined(n))return _y(t,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);if(175===t.name.kind||174===t.name.kind)return _y(t.name,e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern);if(t.initializer)return ly(e.getSourceFileOfNode(t),t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}function ey(e){return 9===e.kind||8===e.kind||192===e.kind&&38===e.operator&&8===e.operand.kind}function ty(t){if(215!==t.parent.parent.kind&&216!==t.parent.parent.kind)if(e.isInAmbientContext(t)){if(t.initializer){if(!e.isConst(t)||t.type){n="=".length;return ly(e.getSourceFileOfNode(t),t.initializer.pos-n,n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}if(!ey(t.initializer))return _y(t.initializer,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal)}if(t.initializer&&(!e.isConst(t)||!ey(t.initializer))){var n="=".length;return ly(e.getSourceFileOfNode(t),t.initializer.pos-n,n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return _y(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isConst(t))return _y(t,e.Diagnostics.const_declarations_must_be_initialized)}return Fy.module===e.ModuleKind.ES2015||Fy.module===e.ModuleKind.System||Fy.noEmit||e.isInAmbientContext(t.parent.parent)||!e.hasModifier(t.parent.parent,1)||ny(t.name),(e.isLet(t)||e.isConst(t))&&ry(t.name)}function ny(t){if(71===t.kind){if("__esModule"===e.unescapeIdentifier(t.text))return _y(t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var n=0,r=t.elements;n0}function uy(t,n,r,a,i){var o=e.getSourceFileOfNode(t);if(!cy(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return wv.add(e.createFileDiagnostic(o,s.start,s.length,n,r,a,i)),!0}}function ly(t,n,r,a,i,o,s){if(!cy(t))return wv.add(e.createFileDiagnostic(t,n,r,a,i,o,s)),!0}function _y(t,n,r,a,i){if(!cy(e.getSourceFileOfNode(t)))return wv.add(e.createDiagnosticForNode(t,n,r,a,i)),!0}function dy(t){if(t.typeParameters)return ly(e.getSourceFileOfNode(t),t.typeParameters.pos,t.typeParameters.end-t.typeParameters.pos,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}function py(t){if(t.type)return _y(t.type,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}function fy(t){if(e.isClassLike(t.parent)){if(Xg(t.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol))return!0}else if(230===t.parent.kind){if(Xg(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol))return!0;if(t.initializer)return _y(t.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}else if(163===t.parent.kind){if(Xg(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol))return!0;if(t.initializer)return _y(t.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}if(e.isInAmbientContext(t)&&t.initializer)return uy(t.initializer,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}function my(t){return!(230===t.kind||231===t.kind||238===t.kind||237===t.kind||244===t.kind||243===t.kind||236===t.kind||515&e.getModifierFlags(t))&&uy(t,e.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file)}function gy(t){for(var n=0,r=t.statements;n=1?n=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,173)?n=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,264)&&(n=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),n){var r=e.isPrefixUnaryExpression(t.parent)&&38===t.parent.operator,a=(r?"-":"")+"0o"+t.text;return _y(r?t.parent:t,n,a)}}}function by(t,n,r,a,i){var o=e.getSourceFileOfNode(t);if(!cy(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return wv.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,n,r,a,i)),!0}}function xy(){var e=[];return uv.forEach(function(t,n){a.test(n)&&e.push(t);}),e}var ky,Sy,Ty,Cy=e.objectAllocator.getSymbolConstructor(),Ey=e.objectAllocator.getTypeConstructor(),Dy=e.objectAllocator.getSignatureConstructor(),Ny=0,Ay=0,wy=0,Py=[],Oy=e.createMap(),Fy=r.getCompilerOptions(),Iy=e.getEmitScriptTarget(Fy),Ry=e.getEmitModuleKind(Fy),My=!!Fy.noUnusedLocals||!!Fy.noUnusedParameters,Ly=void 0!==Fy.allowSyntheticDefaultImports?Fy.allowSyntheticDefaultImports:Ry===e.ModuleKind.System,By=void 0===Fy.strictNullChecks?Fy.strict:Fy.strictNullChecks,Ky=void 0===Fy.noImplicitAny?Fy.strict:Fy.noImplicitAny,jy=void 0===Fy.noImplicitThis?Fy.strict:Fy.noImplicitThis,Jy=function(){function t(e){if(i){var t=179===e.kind||71===e.kind&&Rs(e)?1156031:794600,r=ae(e,t,!0);return r&&r!==Zy?n(r,t):void 0}}function n(t,n){if(i&&a(t)){for(var r,o=0,s=t.declarations;o0){var v=o(r.slice(0,Yr(t)));if(v&&v.length>0)return e.createTupleTypeNode(v)}c.encounteredError||c.flags&e.NodeBuilderFlags.allowEmptyTuple||(c.encounteredError=!0);}(t);if(3&p){e.Debug.assert(!!(32768&t.flags));f=s(t.symbol,!1);return e.createTypeReferenceNode(f,void 0)}if(16384&t.flags){f=s(t.symbol,!1);return e.createTypeReferenceNode(f,void 0)}if(c.checkAlias&&t.aliasSymbol){var f=s(t.aliasSymbol,!1),m=t.aliasTypeArguments&&o(t.aliasTypeArguments);return e.createTypeReferenceNode(f,m)}if(c.checkAlias=!1,65536&t.flags){var g=Ge(t.types),y=g&&o(g);return y&&y.length>0?e.createUnionOrIntersectionTypeNode(166,y):void(c.encounteredError||c.flags&e.NodeBuilderFlags.allowEmptyUnionOrIntersection||(c.encounteredError=!0))}if(131072&t.flags)return e.createUnionOrIntersectionTypeNode(167,o(t.types));if(48&p)return e.Debug.assert(!!(32768&t.flags)),function(t){var n=t.symbol;if(n){if(32&n.flags&&!Pt(n)||896&n.flags||function(){var t=!!(8192&n.flags&&e.forEach(n.declarations,function(t){return 32&e.getModifierFlags(t)})),r=!!(16&n.flags)&&(n.parent||e.forEach(n.declarations,function(e){return 265===e.parent.kind||234===e.parent.kind}));if(t||r)return e.contains(c.symbolStack,n)}())return _(n);if(e.contains(c.symbolStack,n)){var r=He(t);if(r){var a=s(r,!1);return e.createTypeReferenceNode(a,void 0)}return e.createKeywordTypeNode(119)}c.symbolStack||(c.symbolStack=[]),c.symbolStack.push(n);var i=l(t);return c.symbolStack.pop(),i}return l(t)}(t);if(262144&t.flags){v=n(t.type);return e.createTypeOperatorNode(v)}if(524288&t.flags){var h=n(t.objectType),v=n(t.indexType);return e.createIndexedAccessTypeNode(h,v)}e.Debug.fail("Should be unreachable.");}else c.encounteredError=!0;}function r(t,r){var a=e.createKeywordTypeNode(0===r?136:133),i=e.getNameFromIndexInfo(t),o=e.createParameter(void 0,void 0,void 0,i,void 0,a,void 0),s=n(t.type);return e.createIndexSignatureDeclaration(void 0,t.isReadonly?[e.createToken(131)]:void 0,[o],s)}function a(t,r){var a,s=t.typeParameters&&t.typeParameters.map(function(e){return i(e)}),c=t.parameters.map(function(e){return o(e)});if(t.typePredicate){var u=t.typePredicate,l=1===u.kind?e.createIdentifier(u.parameterName):e.createThisTypeNode(),_=n(u.type);a=e.createTypePredicateNode(l,_);}else{var d=Ir(t);a=d&&n(d);}var p=a&&119!==a.kind?a:void 0;return e.createSignatureDeclaration(r,s,c,p)}function i(t){var r=qr(t),a=r&&n(r),i=or(t),o=i&&n(i),c=s(t.symbol,!0);return e.createTypeParameterDeclaration(c,a,o)}function o(t){var r=e.getDeclarationOfKind(t,146),a=n(Lt(t));return e.createParameter(r.decorators,r.modifiers,r.dotDotDotToken&&e.createToken(24),e.getSynthesizedClone(r.name),r.questionToken&&e.createToken(55),a,r.initializer)}function s(t,n){function r(t,n){e.Debug.assert(t&&0<=n&&n0){var s=t[n-1],u=void 0;if(1&S(a)?u=qt(s):524384&Lf(s).flags&&(u=Vt(a)),u&&u.length>0){c.encounteredError||c.flags&e.NodeBuilderFlags.allowTypeParameterInQualifiedName||(c.encounteredError=!0);var l=e.getSingleLineStringWriter();Ze().buildDisplayForTypeParametersAndDelimiters(u,l,c.enclosingDeclaration,0),o=l.string(),e.releaseStringWriter(l);}}var _=i(a),d=o.length>0?_+"<"+o+">":_,p=e.createIdentifier(d);return n>0?e.createQualifiedName(r(t,n-1),p):p}function a(t,n,r){var i,o=Fe(t,c.enclosingDeclaration,n,!1);if(!o||Ie(o[0],c.enclosingDeclaration,1===o.length?n:Oe(n))){var s=be(o?o[0]:t);if(s){var u=a(s,Oe(n),!1);u&&(i=s,o=u.concat(o||[t]));}}return o||(!r&&(!i&&e.forEach(t.declarations,Le)||6144&t.flags)?void 0:[t])}function i(t){var n=e.firstOrUndefined(t.declarations);if(n){if(n.name)return e.declarationNameToString(n.name);if(n.parent&&226===n.parent.kind)return e.declarationNameToString(n.parent.name);switch(c.encounteredError||c.flags&e.NodeBuilderFlags.allowAnonymousIdentifier||(c.encounteredError=!0),n.kind){case 199:return"(Anonymous class)";case 186:case 187:return"(Anonymous function)"}}return t.name}var o;return!(262144&t.flags)&&c.enclosingDeclaration?(o=a(t,0,!0),e.Debug.assert(o&&o.length>0)):o=[t],!n||1===o.length||c.encounteredError||c.flags&e.NodeBuilderFlags.allowQualifedNameInPlaceOfIdentifier||(c.encounteredError=!0),r(o,o.length-1)}var c;return{typeToTypeNode:function(e,r,a){c=t(r,a);var i=n(e);return c.encounteredError?void 0:i},indexInfoToIndexSignatureDeclaration:function(e,n,a,i){c=t(a,i);var o=r(e,n);return c.encounteredError?void 0:o},signatureToSignatureDeclaration:function(e,n,r,i){c=t(r,i);var o=a(e,n);return c.encounteredError?void 0:o}}}(),Uy=_(4,"undefined");Uy.declarations=[];var Vy=_(4,"arguments"),qy={getNodeCount:function(){return e.sum(r.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return e.sum(r.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return e.sum(r.getSourceFiles(),"symbolCount")+Ay},getTypeCount:function(){return Ny},isUndefinedSymbol:function(e){return e===Uy},isArgumentsSymbol:function(e){return e===Vy},isUnknownSymbol:function(e){return e===Zy},getMergedSymbol:he,getDiagnostics:fm,getGlobalDiagnostics:gm,getTypeOfSymbolAtLocation:function(t,n){return n=e.getParseTreeNode(n),n?zc(t,n):rh},getSymbolsOfParameterPropertyDeclaration:function(t,n){return t=e.getParseTreeNode(t,e.isParameter),e.Debug.assert(void 0!==t,"Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."),E(t,n)},getDeclaredTypeOfSymbol:fn,getPropertiesOfType:Qn,getPropertyOfType:_r,getIndexInfoOfType:gr,getSignaturesOfType:pr,getIndexTypeOfType:yr,getBaseTypes:Qt,getBaseTypeOfLiteralType:es,getWidenedType:ms,getTypeFromTypeNode:function(t){return t=e.getParseTreeNode(t,e.isTypeNode),t?wi(t):rh},getParameterType:O_,getReturnTypeOfSignature:Ir,getNonNullableType:ss,typeToTypeNode:zy.typeToTypeNode,indexInfoToIndexSignatureDeclaration:zy.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:zy.signatureToSignatureDeclaration,getSymbolsInScope:function(t,n){return t=e.getParseTreeNode(t),t?vm(t,n):[]},getSymbolAtLocation:function(t){return t=e.getParseTreeNode(t),t?wm(t):void 0},getShorthandAssignmentValueSymbol:function(t){return t=e.getParseTreeNode(t),t?Pm(t):void 0},getExportSpecifierLocalTargetSymbol:function(t){return t=e.getParseTreeNode(t,e.isExportSpecifier),t?Om(t):void 0},getTypeAtLocation:function(t){return t=e.getParseTreeNode(t),t?Fm(t):rh},getPropertySymbolOfDestructuringAssignment:function(t){return t=e.getParseTreeNode(t,e.isIdentifier),t?Rm(t):void 0},signatureToString:function(t,n,r,a){return Ve(t,e.getParseTreeNode(n),r,a)},typeToString:function(t,n,r){return qe(t,e.getParseTreeNode(n),r)},getSymbolDisplayBuilder:Ze,symbolToString:function(t,n,r){return Ue(t,e.getParseTreeNode(n),r)},getAugmentedPropertiesOfType:Bm,getRootSymbols:Km,getContextualType:function(t){return t=e.getParseTreeNode(t,e.isExpression),t?Pu(t):void 0},getFullyQualifiedName:re,getResolvedSignature:function(t,n){return t=e.getParseTreeNode(t,e.isCallLikeExpression),t?k_(t,n):void 0},getConstantValue:function(t){return t=e.getParseTreeNode(t,rg),t?ag(t):void 0},isValidPropertyAccess:function(t,n){return!!(t=e.getParseTreeNode(t,e.isPropertyAccessOrQualifiedName))&&Bl(t,n)},getSignatureFromDeclaration:function(t){return t=e.getParseTreeNode(t,e.isFunctionLike),t?Nr(t):void 0},isImplementationOfOverload:function(t){return t=e.getParseTreeNode(t,e.isFunctionLike),t?Zm(t):void 0},getImmediateAliasedSymbol:function(t){e.Debug.assert(0!=(8388608&t.flags),"Should only get Alias here.");var n=b(t);if(!n.immediateTarget){var r=K(t);e.Debug.assert(!!r),n.immediateTarget=Y(r,!0);}return n.immediateTarget},getAliasedSymbol:Z,getEmitResolver:u,getExportsOfModule:_e,getExportsAndPropertiesOfModule:de,getAmbientModules:xy,getAllAttributesTypeFromJsxOpeningLikeElement:function(t){return t=e.getParseTreeNode(t,e.isJsxOpeningLikeElement),t?fl(t):void 0},getJsxIntrinsicTagNames:bl,isOptionalParameter:function(t){return!!(t=e.getParseTreeNode(t,e.isParameter))&&Tr(t)},tryGetMemberInModuleExports:pe,tryFindAmbientModuleWithoutAugmentations:function(e){return Sr(e,!1)},getApparentType:sr},$y=[],Gy=e.createMap(),Wy=e.createMap(),Hy=e.createMap(),Xy=e.createMap(),Yy=e.createMap(),Qy=[],Zy=_(4,"unknown"),eh=_(0,"__resolving__"),th=Ce(1,"any"),nh=Ce(1,"any"),rh=Ce(1,"unknown"),ah=Ce(2048,"undefined"),ih=By?ah:Ce(2099200,"undefined"),oh=Ce(4096,"null"),sh=By?oh:Ce(2101248,"null"),ch=Ce(2,"string"),uh=Ce(4,"number"),lh=Ce(128,"true"),_h=Ce(128,"false"),dh=function(e){var t=Xa(e);return t.flags|=8,t.intrinsicName="boolean",t}([lh,_h]),ph=Ce(512,"symbol"),fh=Ce(1024,"void"),mh=Ce(8192,"never"),gh=Ce(8192,"never"),yh=Ce(16777216,"object"),hh=we(void 0,Oy,Py,Py,void 0,void 0),vh=_(2048,"__type");vh.members=e.createMap();var bh=we(vh,Oy,Py,Py,void 0,void 0),xh=we(void 0,Oy,Py,Py,void 0,void 0);xh.instantiations=e.createMap();var kh=we(void 0,Oy,Py,Py,void 0,void 0);kh.flags|=8388608;var Sh,Th,Ch,Eh,Dh,Nh,Ah,wh,Ph,Oh,Fh,Ih,Rh,Mh,Lh,Bh,Kh,jh,Jh,zh,Uh,Vh,qh,$h,Gh,Wh,Hh,Xh,Yh,Qh,Zh,ev,tv=we(void 0,Oy,Py,Py,void 0,void 0),nv=we(void 0,Oy,Py,Py,void 0,void 0),rv=Nn(void 0,void 0,void 0,Py,th,void 0,0,!1,!1),av=Nn(void 0,void 0,void 0,Py,rh,void 0,0,!1,!1),iv=Nn(void 0,void 0,void 0,Py,th,void 0,0,!1,!1),ov=Nn(void 0,void 0,void 0,Py,gh,void 0,0,!1,!1),sv=zr(ch,!0),cv=zr(th,!1),uv=e.createMap(),lv=0,_v=0,dv=0,pv=Ti(32,""),fv=Ti(64,"0"),mv=[],gv=[],yv=[],hv=[],vv=[],bv=[],xv=[],kv=[],Sv=[],Tv=[],Cv=[],Ev=[],Dv=[],Nv=[],Av=[],wv=e.createDiagnosticCollection();!function(e){e[e.None=0]="None",e[e.TypeofEQString=1]="TypeofEQString",e[e.TypeofEQNumber=2]="TypeofEQNumber",e[e.TypeofEQBoolean=4]="TypeofEQBoolean",e[e.TypeofEQSymbol=8]="TypeofEQSymbol",e[e.TypeofEQObject=16]="TypeofEQObject",e[e.TypeofEQFunction=32]="TypeofEQFunction",e[e.TypeofEQHostObject=64]="TypeofEQHostObject",e[e.TypeofNEString=128]="TypeofNEString",e[e.TypeofNENumber=256]="TypeofNENumber",e[e.TypeofNEBoolean=512]="TypeofNEBoolean",e[e.TypeofNESymbol=1024]="TypeofNESymbol",e[e.TypeofNEObject=2048]="TypeofNEObject",e[e.TypeofNEFunction=4096]="TypeofNEFunction",e[e.TypeofNEHostObject=8192]="TypeofNEHostObject",e[e.EQUndefined=16384]="EQUndefined",e[e.EQNull=32768]="EQNull",e[e.EQUndefinedOrNull=65536]="EQUndefinedOrNull",e[e.NEUndefined=131072]="NEUndefined",e[e.NENull=262144]="NENull",e[e.NEUndefinedOrNull=524288]="NEUndefinedOrNull",e[e.Truthy=1048576]="Truthy",e[e.Falsy=2097152]="Falsy",e[e.Discriminatable=4194304]="Discriminatable",e[e.All=8388607]="All",e[e.BaseStringStrictFacts=933633]="BaseStringStrictFacts",e[e.BaseStringFacts=3145473]="BaseStringFacts",e[e.StringStrictFacts=4079361]="StringStrictFacts",e[e.StringFacts=4194049]="StringFacts",e[e.EmptyStringStrictFacts=3030785]="EmptyStringStrictFacts",e[e.EmptyStringFacts=3145473]="EmptyStringFacts",e[e.NonEmptyStringStrictFacts=1982209]="NonEmptyStringStrictFacts",e[e.NonEmptyStringFacts=4194049]="NonEmptyStringFacts",e[e.BaseNumberStrictFacts=933506]="BaseNumberStrictFacts",e[e.BaseNumberFacts=3145346]="BaseNumberFacts",e[e.NumberStrictFacts=4079234]="NumberStrictFacts",e[e.NumberFacts=4193922]="NumberFacts",e[e.ZeroStrictFacts=3030658]="ZeroStrictFacts",e[e.ZeroFacts=3145346]="ZeroFacts",e[e.NonZeroStrictFacts=1982082]="NonZeroStrictFacts",e[e.NonZeroFacts=4193922]="NonZeroFacts",e[e.BaseBooleanStrictFacts=933252]="BaseBooleanStrictFacts",e[e.BaseBooleanFacts=3145092]="BaseBooleanFacts",e[e.BooleanStrictFacts=4078980]="BooleanStrictFacts",e[e.BooleanFacts=4193668]="BooleanFacts",e[e.FalseStrictFacts=3030404]="FalseStrictFacts",e[e.FalseFacts=3145092]="FalseFacts",e[e.TrueStrictFacts=1981828]="TrueStrictFacts",e[e.TrueFacts=4193668]="TrueFacts",e[e.SymbolStrictFacts=1981320]="SymbolStrictFacts",e[e.SymbolFacts=4193160]="SymbolFacts",e[e.ObjectStrictFacts=6166480]="ObjectStrictFacts",e[e.ObjectFacts=8378320]="ObjectFacts",e[e.FunctionStrictFacts=6164448]="FunctionStrictFacts",e[e.FunctionFacts=8376288]="FunctionFacts",e[e.UndefinedFacts=2457472]="UndefinedFacts",e[e.NullFacts=2340752]="NullFacts";}(ev||(ev={}));var Pv,Ov,Fv,Iv,Rv,Mv,Lv=e.createMapFromTemplate({string:1,number:2,boolean:4,symbol:8,undefined:16384,object:16,function:32}),Bv=e.createMapFromTemplate({string:128,number:256,boolean:512,symbol:1024,undefined:131072,object:2048,function:4096}),Kv=e.createMapFromTemplate({string:ch,number:uh,boolean:dh,symbol:ph,undefined:ah}),jv=function(){return Xa(e.convertToArray(Lv.keys(),function(e){return Ti(32,e)}))}(),Jv=!1,zv=!1,Uv=e.createMap(),Vv={JSX:"JSX",IntrinsicElements:"IntrinsicElements",ElementClass:"ElementClass",ElementAttributesPropertyNameContainer:"ElementAttributesProperty",ElementChildrenAttributeNameContainer:"ElementChildrenAttribute",Element:"Element",IntrinsicAttributes:"IntrinsicAttributes",IntrinsicClassAttributes:"IntrinsicClassAttributes"},qv=e.createMap(),$v=e.createMap(),Gv=e.createMap(),Wv=e.createMap(),Hv=e.createMap();!function(e){e[e.Type=0]="Type",e[e.ResolvedBaseConstructorType=1]="ResolvedBaseConstructorType",e[e.DeclaredType=2]="DeclaredType",e[e.ResolvedReturnType=3]="ResolvedReturnType";}(Mv||(Mv={}));var Xv;!function(e){e[e.Normal=0]="Normal",e[e.SkipContextSensitive=1]="SkipContextSensitive",e[e.Inferential=2]="Inferential";}(Xv||(Xv={}));var Yv=e.createMap();return Yv.set(Uy.name,Uy),function(){for(var t=0,n=r.getSourceFiles();ts-a)&&(i=s-a),(a>0||i0&&_<=142||169===_)return o;switch(o.kind){case 206:case 209:case 200:case 225:case 298:case 247:return o;case 143:return e.updateQualifiedName(o,t(o.left,s,e.isEntityName),t(o.right,s,e.isIdentifier));case 144:return e.updateComputedPropertyName(o,t(o.expression,s,e.isExpression));case 160:return e.updateFunctionTypeNode(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 161:return e.updateConstructorTypeNode(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 155:return e.updateCallSignatureDeclaration(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 156:return e.updateConstructSignatureDeclaration(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 150:return e.updateMethodSignature(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),t(o.name,s,e.isPropertyName),t(o.questionToken,l,e.isToken));case 157:return e.updateIndexSignatureDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 146:return e.updateParameter(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.dotDotDotToken,l,e.isToken),t(o.name,s,e.isBindingName),t(o.questionToken,l,e.isToken),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 147:return e.updateDecorator(o,t(o.expression,s,e.isExpression));case 159:return e.updateTypeReferenceNode(o,t(o.typeName,s,e.isEntityName),u(o.typeArguments,s,e.isTypeNode));case 158:return e.updateTypePredicateNode(o,t(o.parameterName,s),t(o.type,s,e.isTypeNode));case 162:return e.updateTypeQueryNode(o,t(o.exprName,s,e.isEntityName));case 163:return e.updateTypeLiteralNode(o,u(o.members,s));case 164:return e.updateArrayTypeNode(o,t(o.elementType,s,e.isTypeNode));case 165:return e.updateTypleTypeNode(o,u(o.elementTypes,s,e.isTypeNode));case 166:case 167:return e.updateUnionOrIntersectionTypeNode(o,u(o.types,s,e.isTypeNode));case 168:throw e.Debug.fail("not implemented.");case 170:return e.updateTypeOperatorNode(o,t(o.type,s,e.isTypeNode));case 171:return e.updateIndexedAccessTypeNode(o,t(o.objectType,s,e.isTypeNode),t(o.indexType,s,e.isTypeNode));case 172:return e.updateMappedTypeNode(o,t(o.readonlyToken,l,e.isToken),t(o.typeParameter,s,e.isTypeParameter),t(o.questionToken,l,e.isToken),t(o.type,s,e.isTypeNode));case 173:return e.updateLiteralTypeNode(o,t(o.literal,s,e.isExpression));case 145:return e.updateTypeParameterDeclaration(o,t(o.name,s,e.isIdentifier),t(o.constraint,s,e.isTypeNode),t(o.default,s,e.isTypeNode));case 148:return e.updatePropertySignature(o,t(o.name,s,e.isPropertyName),t(o.questionToken,l,e.isToken),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 149:return e.updateProperty(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isPropertyName),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 151:return e.updateMethod(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.asteriskToken,l,e.isToken),t(o.name,s,e.isPropertyName),t(o.questionToken,l,e.isToken),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 152:return e.updateConstructor(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),a(o.parameters,s,c,u),i(o.body,s,c));case 153:return e.updateGetAccessor(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isPropertyName),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 154:return e.updateSetAccessor(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isPropertyName),a(o.parameters,s,c,u),i(o.body,s,c));case 174:return e.updateObjectBindingPattern(o,u(o.elements,s,e.isBindingElement));case 175:return e.updateArrayBindingPattern(o,u(o.elements,s,e.isArrayBindingElement));case 176:return e.updateBindingElement(o,t(o.dotDotDotToken,l,e.isToken),t(o.propertyName,s,e.isPropertyName),t(o.name,s,e.isBindingName),t(o.initializer,s,e.isExpression));case 177:return e.updateArrayLiteral(o,u(o.elements,s,e.isExpression));case 178:return e.updateObjectLiteral(o,u(o.properties,s,e.isObjectLiteralElementLike));case 179:return e.updatePropertyAccess(o,t(o.expression,s,e.isExpression),t(o.name,s,e.isIdentifier));case 180:return e.updateElementAccess(o,t(o.expression,s,e.isExpression),t(o.argumentExpression,s,e.isExpression));case 181:return e.updateCall(o,t(o.expression,s,e.isExpression),u(o.typeArguments,s,e.isTypeNode),u(o.arguments,s,e.isExpression));case 182:return e.updateNew(o,t(o.expression,s,e.isExpression),u(o.typeArguments,s,e.isTypeNode),u(o.arguments,s,e.isExpression));case 183:return e.updateTaggedTemplate(o,t(o.tag,s,e.isExpression),t(o.template,s,e.isTemplateLiteral));case 184:return e.updateTypeAssertion(o,t(o.type,s,e.isTypeNode),t(o.expression,s,e.isExpression));case 185:return e.updateParen(o,t(o.expression,s,e.isExpression));case 186:return e.updateFunctionExpression(o,u(o.modifiers,s,e.isModifier),t(o.asteriskToken,l,e.isToken),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 187:return e.updateArrowFunction(o,u(o.modifiers,s,e.isModifier),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 188:return e.updateDelete(o,t(o.expression,s,e.isExpression));case 189:return e.updateTypeOf(o,t(o.expression,s,e.isExpression));case 190:return e.updateVoid(o,t(o.expression,s,e.isExpression));case 191:return e.updateAwait(o,t(o.expression,s,e.isExpression));case 194:return e.updateBinary(o,t(o.left,s,e.isExpression),t(o.right,s,e.isExpression));case 192:return e.updatePrefix(o,t(o.operand,s,e.isExpression));case 193:return e.updatePostfix(o,t(o.operand,s,e.isExpression));case 195:return e.updateConditional(o,t(o.condition,s,e.isExpression),t(o.whenTrue,s,e.isExpression),t(o.whenFalse,s,e.isExpression));case 196:return e.updateTemplateExpression(o,t(o.head,s,e.isTemplateHead),u(o.templateSpans,s,e.isTemplateSpan));case 197:return e.updateYield(o,t(o.asteriskToken,l,e.isToken),t(o.expression,s,e.isExpression));case 198:return e.updateSpread(o,t(o.expression,s,e.isExpression));case 199:return e.updateClassExpression(o,u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),u(o.heritageClauses,s,e.isHeritageClause),u(o.members,s,e.isClassElement));case 201:return e.updateExpressionWithTypeArguments(o,u(o.typeArguments,s,e.isTypeNode),t(o.expression,s,e.isExpression));case 202:return e.updateAsExpression(o,t(o.expression,s,e.isExpression),t(o.type,s,e.isTypeNode));case 203:return e.updateNonNullExpression(o,t(o.expression,s,e.isExpression));case 205:return e.updateTemplateSpan(o,t(o.expression,s,e.isExpression),t(o.literal,s,e.isTemplateMiddleOrTemplateTail));case 207:return e.updateBlock(o,u(o.statements,s,e.isStatement));case 208:return e.updateVariableStatement(o,u(o.modifiers,s,e.isModifier),t(o.declarationList,s,e.isVariableDeclarationList));case 210:return e.updateStatement(o,t(o.expression,s,e.isExpression));case 211:return e.updateIf(o,t(o.expression,s,e.isExpression),t(o.thenStatement,s,e.isStatement,e.liftToBlock),t(o.elseStatement,s,e.isStatement,e.liftToBlock));case 212:return e.updateDo(o,t(o.statement,s,e.isStatement,e.liftToBlock),t(o.expression,s,e.isExpression));case 213:return e.updateWhile(o,t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 214:return e.updateFor(o,t(o.initializer,s,e.isForInitializer),t(o.condition,s,e.isExpression),t(o.incrementor,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 215:return e.updateForIn(o,t(o.initializer,s,e.isForInitializer),t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 216:return e.updateForOf(o,o.awaitModifier,t(o.initializer,s,e.isForInitializer),t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 217:return e.updateContinue(o,t(o.label,s,e.isIdentifier));case 218:return e.updateBreak(o,t(o.label,s,e.isIdentifier));case 219:return e.updateReturn(o,t(o.expression,s,e.isExpression));case 220:return e.updateWith(o,t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 221:return e.updateSwitch(o,t(o.expression,s,e.isExpression),t(o.caseBlock,s,e.isCaseBlock));case 222:return e.updateLabel(o,t(o.label,s,e.isIdentifier),t(o.statement,s,e.isStatement,e.liftToBlock));case 223:return e.updateThrow(o,t(o.expression,s,e.isExpression));case 224:return e.updateTry(o,t(o.tryBlock,s,e.isBlock),t(o.catchClause,s,e.isCatchClause),t(o.finallyBlock,s,e.isBlock));case 226:return e.updateVariableDeclaration(o,t(o.name,s,e.isBindingName),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 227:return e.updateVariableDeclarationList(o,u(o.declarations,s,e.isVariableDeclaration));case 228:return e.updateFunctionDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.asteriskToken,l,e.isToken),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 229:return e.updateClassDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),u(o.heritageClauses,s,e.isHeritageClause),u(o.members,s,e.isClassElement));case 232:return e.updateEnumDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),u(o.members,s,e.isEnumMember));case 233:return e.updateModuleDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),t(o.body,s,e.isModuleBody));case 234:return e.updateModuleBlock(o,u(o.statements,s,e.isStatement));case 235:return e.updateCaseBlock(o,u(o.clauses,s,e.isCaseOrDefaultClause));case 237:return e.updateImportEqualsDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),t(o.moduleReference,s,e.isModuleReference));case 238:return e.updateImportDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.importClause,s,e.isImportClause),t(o.moduleSpecifier,s,e.isExpression));case 239:return e.updateImportClause(o,t(o.name,s,e.isIdentifier),t(o.namedBindings,s,e.isNamedImportBindings));case 240:return e.updateNamespaceImport(o,t(o.name,s,e.isIdentifier));case 241:return e.updateNamedImports(o,u(o.elements,s,e.isImportSpecifier));case 242:return e.updateImportSpecifier(o,t(o.propertyName,s,e.isIdentifier),t(o.name,s,e.isIdentifier));case 243:return e.updateExportAssignment(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.expression,s,e.isExpression));case 244:return e.updateExportDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.exportClause,s,e.isNamedExports),t(o.moduleSpecifier,s,e.isExpression));case 245:return e.updateNamedExports(o,u(o.elements,s,e.isExportSpecifier));case 246:return e.updateExportSpecifier(o,t(o.propertyName,s,e.isIdentifier),t(o.name,s,e.isIdentifier));case 248:return e.updateExternalModuleReference(o,t(o.expression,s,e.isExpression));case 249:return e.updateJsxElement(o,t(o.openingElement,s,e.isJsxOpeningElement),u(o.children,s,e.isJsxChild),t(o.closingElement,s,e.isJsxClosingElement));case 254:return e.updateJsxAttributes(o,u(o.properties,s,e.isJsxAttributeLike));case 250:return e.updateJsxSelfClosingElement(o,t(o.tagName,s,e.isJsxTagNameExpression),t(o.attributes,s,e.isJsxAttributes));case 251:return e.updateJsxOpeningElement(o,t(o.tagName,s,e.isJsxTagNameExpression),t(o.attributes,s,e.isJsxAttributes));case 252:return e.updateJsxClosingElement(o,t(o.tagName,s,e.isJsxTagNameExpression));case 253:return e.updateJsxAttribute(o,t(o.name,s,e.isIdentifier),t(o.initializer,s,e.isStringLiteralOrJsxExpression));case 255:return e.updateJsxSpreadAttribute(o,t(o.expression,s,e.isExpression));case 256:return e.updateJsxExpression(o,t(o.expression,s,e.isExpression));case 257:return e.updateCaseClause(o,t(o.expression,s,e.isExpression),u(o.statements,s,e.isStatement));case 258:return e.updateDefaultClause(o,u(o.statements,s,e.isStatement));case 259:return e.updateHeritageClause(o,u(o.types,s,e.isExpressionWithTypeArguments));case 260:return e.updateCatchClause(o,t(o.variableDeclaration,s,e.isVariableDeclaration),t(o.block,s,e.isBlock));case 261:return e.updatePropertyAssignment(o,t(o.name,s,e.isPropertyName),t(o.initializer,s,e.isExpression));case 262:return e.updateShorthandPropertyAssignment(o,t(o.name,s,e.isIdentifier),t(o.objectAssignmentInitializer,s,e.isExpression));case 263:return e.updateSpreadAssignment(o,t(o.expression,s,e.isExpression));case 264:return e.updateEnumMember(o,t(o.name,s,e.isPropertyName),t(o.initializer,s,e.isExpression));case 265:return e.updateSourceFileNode(o,r(o.statements,s,c));case 296:return e.updatePartiallyEmittedExpression(o,t(o.expression,s,e.isExpression));default:return o}}}function s(t){return e.Debug.assert(t.length<=1,"Too many nodes written to output."),e.singleOrUndefined(t)}e.visitNode=t,e.visitNodes=n,e.visitLexicalEnvironment=r,e.visitParameterList=a,e.visitFunctionBody=i,e.visitEachChild=o;}(r||(r={})),function(e){function t(e,t,n){return e?t(n,e):n}function n(e,t,n){return e?t(n,e):n}function r(r,a,i,o){if(void 0===r)return a;var s=o?n:e.reduceLeft,c=o||i,u=r.kind;if(u>0&&u<=142)return a;if(u>=158&&u<=173)return a;var l=a;switch(r.kind){case 206:case 209:case 200:case 225:case 295:break;case 143:l=t(r.left,i,l),l=t(r.right,i,l);break;case 144:l=t(r.expression,i,l);break;case 146:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.type,i,l),l=t(r.initializer,i,l);break;case 147:l=t(r.expression,i,l);break;case 149:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.type,i,l),l=t(r.initializer,i,l);break;case 151:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 152:l=s(r.modifiers,c,l),l=s(r.parameters,c,l),l=t(r.body,i,l);break;case 153:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 154:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.parameters,c,l),l=t(r.body,i,l);break;case 174:case 175:l=s(r.elements,c,l);break;case 176:l=t(r.propertyName,i,l),l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 177:l=s(r.elements,c,l);break;case 178:l=s(r.properties,c,l);break;case 179:l=t(r.expression,i,l),l=t(r.name,i,l);break;case 180:l=t(r.expression,i,l),l=t(r.argumentExpression,i,l);break;case 181:case 182:l=t(r.expression,i,l),l=s(r.typeArguments,c,l),l=s(r.arguments,c,l);break;case 183:l=t(r.tag,i,l),l=t(r.template,i,l);break;case 184:l=t(r.type,i,l),l=t(r.expression,i,l);break;case 186:l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 187:l=s(r.modifiers,c,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 185:case 188:case 189:case 190:case 191:case 197:case 198:case 203:l=t(r.expression,i,l);break;case 192:case 193:l=t(r.operand,i,l);break;case 194:l=t(r.left,i,l),l=t(r.right,i,l);break;case 195:l=t(r.condition,i,l),l=t(r.whenTrue,i,l),l=t(r.whenFalse,i,l);break;case 196:l=t(r.head,i,l),l=s(r.templateSpans,c,l);break;case 199:l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.heritageClauses,c,l),l=s(r.members,c,l);break;case 201:l=t(r.expression,i,l),l=s(r.typeArguments,c,l);break;case 202:l=t(r.expression,i,l),l=t(r.type,i,l);break;case 203:l=t(r.expression,i,l);break;case 205:l=t(r.expression,i,l),l=t(r.literal,i,l);break;case 207:l=s(r.statements,c,l);break;case 208:l=s(r.modifiers,c,l),l=t(r.declarationList,i,l);break;case 210:l=t(r.expression,i,l);break;case 211:l=t(r.expression,i,l),l=t(r.thenStatement,i,l),l=t(r.elseStatement,i,l);break;case 212:l=t(r.statement,i,l),l=t(r.expression,i,l);break;case 213:case 220:l=t(r.expression,i,l),l=t(r.statement,i,l);break;case 214:l=t(r.initializer,i,l),l=t(r.condition,i,l),l=t(r.incrementor,i,l),l=t(r.statement,i,l);break;case 215:case 216:l=t(r.initializer,i,l),l=t(r.expression,i,l),l=t(r.statement,i,l);break;case 219:case 223:l=t(r.expression,i,l);break;case 221:l=t(r.expression,i,l),l=t(r.caseBlock,i,l);break;case 222:l=t(r.label,i,l),l=t(r.statement,i,l);break;case 224:l=t(r.tryBlock,i,l),l=t(r.catchClause,i,l),l=t(r.finallyBlock,i,l);break;case 226:l=t(r.name,i,l),l=t(r.type,i,l),l=t(r.initializer,i,l);break;case 227:l=s(r.declarations,c,l);break;case 228:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 229:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.heritageClauses,c,l),l=s(r.members,c,l);break;case 232:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.members,c,l);break;case 233:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.body,i,l);break;case 234:l=s(r.statements,c,l);break;case 235:l=s(r.clauses,c,l);break;case 237:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.moduleReference,i,l);break;case 238:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.importClause,i,l),l=t(r.moduleSpecifier,i,l);break;case 239:l=t(r.name,i,l),l=t(r.namedBindings,i,l);break;case 240:l=t(r.name,i,l);break;case 241:case 245:l=s(r.elements,c,l);break;case 242:case 246:l=t(r.propertyName,i,l),l=t(r.name,i,l);break;case 243:l=e.reduceLeft(r.decorators,i,l),l=e.reduceLeft(r.modifiers,i,l),l=t(r.expression,i,l);break;case 244:l=e.reduceLeft(r.decorators,i,l),l=e.reduceLeft(r.modifiers,i,l),l=t(r.exportClause,i,l),l=t(r.moduleSpecifier,i,l);break;case 248:l=t(r.expression,i,l);break;case 249:l=t(r.openingElement,i,l),l=e.reduceLeft(r.children,i,l),l=t(r.closingElement,i,l);break;case 250:case 251:l=t(r.tagName,i,l),l=t(r.attributes,i,l);break;case 254:l=s(r.properties,c,l);break;case 252:l=t(r.tagName,i,l);break;case 253:l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 255:case 256:l=t(r.expression,i,l);break;case 257:l=t(r.expression,i,l);case 258:l=s(r.statements,c,l);break;case 259:l=s(r.types,c,l);break;case 260:l=t(r.variableDeclaration,i,l),l=t(r.block,i,l);break;case 261:l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 262:l=t(r.name,i,l),l=t(r.objectAssignmentInitializer,i,l);break;case 263:l=t(r.expression,i,l);break;case 264:l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 265:l=s(r.statements,c,l);break;case 296:l=t(r.expression,i,l);}return l}function a(t,n){return e.some(n)?e.isNodeArray(t)?e.setTextRange(e.createNodeArray(e.concatenate(t,n)),t):e.addRange(t,n):t}function i(t){return d.assert(e.every(t,e.isStatement),"Cannot lift nodes to a Block."),e.singleOrUndefined(t)||e.createBlock(t)}function o(e){return s(e),e}function s(t){if(void 0===t)return 0;if(536870912&t.transformFlags)return t.transformFlags&~e.getTransformFlagsSubtreeExclusions(t.kind);var n=u(t);return e.computeTransformFlagsForNode(t,n)}function c(e){if(void 0===e)return 0;for(var t=0,n=0,r=0,a=e;r=1)||1572864&f.transformFlags||1572864&e.getTargetOfBindingOrAssignmentElement(f).transformFlags||e.isComputedPropertyName(g)){_&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(_),i,o,a),_=void 0);var y=s(t,i,g);e.isComputedPropertyName(g)&&(d=e.append(d,y.argumentExpression)),r(t,f,y,f);}else _=e.append(_,f);}}_&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(_),i,o,a);}function i(t,n,a,i,o){var s=e.getElementsOfBindingOrAssignmentPattern(a),u=s.length;t.level<1&&t.downlevelIteration?i=c(t,e.createReadHelper(t.context,i,u>0&&e.getRestIndicatorOfBindingOrAssignmentElement(s[u-1])?void 0:u,o),!1,o):1!==u&&(t.level<1||0===u)&&(i=c(t,i,!e.isDeclarationBindingElement(n)||0!==u,o));for(var l,_,d=0;d=1)if(1048576&p.transformFlags){var f=e.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(f),_=e.append(_,[f,p]),l=e.append(l,t.createArrayBindingOrAssignmentElement(f));}else l=e.append(l,p);else{if(e.isOmittedExpression(p))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(p)){if(d===u-1){var m=e.createArraySlice(i,d);r(t,p,m,p);}}else r(t,p,m=e.createElementAccess(i,d),p);}}if(l&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(l),i,o,a),_)for(var g=0,y=_;g0)return!0;var n=e.getFirstConstructorWithBody(t);return!!n&&e.forEach(n.parameters,x)}function x(e){return void 0!==e.decorators&&e.decorators.length>0}function k(t){var n=I(t,!0),r=void 0!==e.getClassExtendsHeritageClauseElement(t),a=b(t),i=t.name;!i&&(n.length>0||e.childIsDecorated(t))&&(i=e.getGeneratedNameForNode(t));var o=a?T(t,i,r):S(t,i,r,n.length>0),s=[o];return n.length&&B(s,n,e.getLocalName(t)),Q(s,t,!1),Q(s,t,!0),te(s,t),dt(t)?yt(s,t):a&&(mt(t)?s.push(e.createExportDefault(e.getLocalName(t,!1,!0))):ft(t)&&s.push(e.createExternalModuleExport(e.getLocalName(t,!1,!0)))),s.length>1&&(s.push(e.createEndOfDeclarationMarker(t)),e.setEmitFlags(o,2097152|e.getEmitFlags(o))),e.singleOrMany(s)}function S(t,n,r,a){var i=e.createClassDeclaration(void 0,e.visitNodes(t.modifiers,y,e.isModifier),n,void 0,e.visitNodes(t.heritageClauses,u,e.isHeritageClause),E(t,r)),o=e.getEmitFlags(t);return a&&(o|=32),e.setTextRange(i,t),e.setOriginalNode(i,t),e.setEmitFlags(i,o),i}function T(t,n,r){var a=e.moveRangePastDecorators(t),i=St(t),o=e.getLocalName(t,!1,!0),s=e.visitNodes(t.heritageClauses,u,e.isHeritageClause),c=E(t,r),l=e.createClassExpression(void 0,n,void 0,s,c);e.setOriginalNode(l,t),e.setTextRange(l,a);var _=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(o,void 0,i?e.createAssignment(i,l):l)],1));return e.setOriginalNode(_,t),e.setTextRange(_,a),e.setCommentRange(_,t),_}function C(t){var n=I(t,!0),r=e.visitNodes(t.heritageClauses,u,e.isHeritageClause),a=E(t,e.some(r,function(e){return 85===e.token})),i=e.createClassExpression(void 0,t.name,void 0,r,a);if(e.setOriginalNode(i,t),e.setTextRange(i,t),n.length>0){var o=[],s=e.createTempVariable(qt);return 8388608&$t.getNodeCheckFlags(t)&&(Dt(),an[e.getOriginalNodeId(t)]=e.getSynthesizedClone(s)),e.setEmitFlags(i,32768|e.getEmitFlags(i)),o.push(e.startOnNewLine(e.createAssignment(s,i))),e.addRange(o,K(n,s)),o.push(e.startOnNewLine(s)),e.inlineExpressions(o)}return i}function E(t,n){var r=[],a=D(t,n);return a&&r.push(a),e.addRange(r,e.visitNodes(t.members,m,e.isClassElement)),e.setTextRange(e.createNodeArray(r),t.members)}function D(n,r){var a=e.forEach(n.members,M),i=262144&n.transformFlags,o=e.getFirstConstructorWithBody(n);if(!a&&!i)return e.visitEachChild(o,u,t);var s=N(o),c=A(n,o,r);return e.startOnNewLine(e.setOriginalNode(e.setTextRange(e.createConstructor(void 0,void 0,s,c),o||n),o))}function N(n){return e.visitParameterList(n&&n.parameters,u,t)||[]}function A(t,n,r){var a=[],i=0;if(Ut(),n){i=w(n,a);var o=P(n);e.addRange(a,e.map(o,F));}else r&&a.push(e.createStatement(e.createCall(e.createSuper(),void 0,[e.createSpread(e.createIdentifier("arguments"))])));return B(a,I(t,!1),e.createThis()),n&&e.addRange(a,e.visitNodes(n.body.statements,u,e.isStatement,i)),a=e.mergeLexicalEnvironment(a,Vt()),e.setTextRange(e.createBlock(e.setTextRange(e.createNodeArray(a),n?n.body.statements:t.members),!0),n?n.body:void 0)}function w(t,n){if(t.body){var r=t.body.statements,a=e.addPrologue(n,r,!1,u);if(a===r.length)return a;var i=r[a];return 210===i.kind&&e.isSuperCall(i.expression)?(n.push(e.visitNode(i,u,e.isStatement)),a+1):a}return 0}function P(t){return e.filter(t.parameters,O)}function O(t){return e.hasModifier(t,92)&&e.isIdentifier(t.name)}function F(t){e.Debug.assert(e.isIdentifier(t.name));var n=t.name,r=e.getMutableClone(n);e.setEmitFlags(r,1584);var a=e.getMutableClone(n);return e.setEmitFlags(a,1536),e.startOnNewLine(e.setTextRange(e.createStatement(e.createAssignment(e.setTextRange(e.createPropertyAccess(e.createThis(),r),t.name),a)),e.moveRangePos(t,-1)))}function I(t,n){return e.filter(t.members,n?R:M)}function R(e){return L(e,!0)}function M(e){return L(e,!1)}function L(t,n){return 149===t.kind&&n===e.hasModifier(t,32)&&void 0!==t.initializer}function B(t,n,r){for(var a=0,i=n;a0?149===a.kind?e.createVoidZero():e.createNull():void 0,u=n(t,i,o,s,c,e.moveRangePastDecorators(a));return e.setEmitFlags(u,1536),u}}function te(t,n){var r=ne(n);r&&t.push(e.setOriginalNode(e.createStatement(r),n));}function ne(r){var a=Y(r,r,$(r));if(a){var i=an&&an[e.getOriginalNodeId(r)],o=e.getLocalName(r,!1,!0),s=n(t,a,o),c=e.createAssignment(o,i?e.createAssignment(i,s):s);return e.setEmitFlags(c,1536),e.setSourceMapRange(c,e.moveRangePastDecorators(r)),c}}function re(t){return e.visitNode(t.expression,u,e.isExpression)}function ae(n,r){var i;if(n){i=[];for(var o=0,s=n;o= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'},c={name:"typescript:metadata",scoped:!1,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'},u={name:"typescript:param",scoped:!1,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"};}(r||(r={}));!function(e){function t(t){function r(n){if(e.isDeclarationFile(n))return n;k=n;var r=e.visitEachChild(n,a,t);return e.addEmitHelpers(r,t.readEmitHelpers()),k=void 0,r}function a(n){if(0==(16&n.transformFlags))return n;switch(n.kind){case 120:return;case 191:return i(n);case 151:return o(n);case 228:return s(n);case 186:return c(n);case 187:return u(n);default:return e.visitEachChild(n,a,t)}}function i(t){return e.setOriginalNode(e.setTextRange(e.createYield(void 0,e.visitNode(t.expression,a,e.isExpression)),t),t)}function o(n){return e.updateMethod(n,void 0,e.visitNodes(n.modifiers,a,e.isModifier),n.asteriskToken,n.name,void 0,void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function s(n){return e.updateFunctionDeclaration(n,void 0,e.visitNodes(n.modifiers,a,e.isModifier),n.asteriskToken,n.name,void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function c(n){return e.updateFunctionExpression(n,e.visitNodes(n.modifiers,a,e.isModifier),n.asteriskToken,n.name,void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function u(n){return e.updateArrowFunction(n,e.visitNodes(n.modifiers,a,e.isModifier),void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function l(r){C();var i=e.getOriginalNode(r,e.isFunctionLike).type,o=A<2?d(i):void 0,s=187===r.kind,c=0!=(8192&D.getNodeCheckFlags(r));if(s){var u=n(t,c,o,_(r.body)),l=E();if(e.some(l)){g=e.convertToFunctionBody(u);return e.updateBlock(g,e.setTextRange(e.createNodeArray(e.concatenate(g.statements,l)),g.statements))}return u}var f=[],m=e.addPrologue(f,r.body.statements,!1,a);f.push(e.createReturn(n(t,c,o,_(r.body,m)))),e.addRange(f,E());var g=e.createBlock(f,!0);return e.setTextRange(g,r.body),A>=2&&(4096&D.getNodeCheckFlags(r)?(p(),e.addEmitHelper(g,e.advancedAsyncSuperHelper)):2048&D.getNodeCheckFlags(r)&&(p(),e.addEmitHelper(g,e.asyncSuperHelper))),g}function _(n,r){if(e.isBlock(n))return e.updateBlock(n,e.visitLexicalEnvironment(n.statements,a,t,r));T();var i=e.convertToFunctionBody(e.visitNode(n,a,e.isConciseBody)),o=E();return e.updateBlock(i,e.setTextRange(e.createNodeArray(e.concatenate(i.statements,o)),i.statements))}function d(t){var n=t&&e.getEntityNameFromTypeNode(t);if(n&&e.isEntityName(n)){var r=D.getTypeReferenceSerializationKind(n);if(r===e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue||r===e.TypeReferenceSerializationKind.Unknown)return n}}function p(){0==(1&S)&&(S|=1,t.enableSubstitution(181),t.enableSubstitution(179),t.enableSubstitution(180),t.enableEmitNotification(229),t.enableEmitNotification(151),t.enableEmitNotification(153),t.enableEmitNotification(154),t.enableEmitNotification(152));}function f(e,t,n){if(1&S&&b(t)){var r=6144&D.getNodeCheckFlags(t);if(r!==w){var a=w;return w=r,P(e,t,n),void(w=a)}}P(e,t,n);}function m(e,t){return t=O(e,t),1===e&&w?g(t):t}function g(e){switch(e.kind){case 179:return y(e);case 180:return h(e);case 181:return v(e)}return e}function y(t){return 97===t.expression.kind?x(e.createLiteral(t.name.text),t):t}function h(e){return 97===e.expression.kind?x(e.argumentExpression,e):e}function v(t){var n=t.expression;if(e.isSuperProperty(n)){var r=e.isPropertyAccessExpression(n)?y(n):h(n);return e.createCall(e.createPropertyAccess(r,"call"),void 0,[e.createThis()].concat(t.arguments))}return t}function b(e){var t=e.kind;return 229===t||152===t||151===t||153===t||154===t}function x(t,n){return 4096&w?e.setTextRange(e.createPropertyAccess(e.createCall(e.createIdentifier("_super"),void 0,[t]),"value"),n):e.setTextRange(e.createCall(e.createIdentifier("_super"),void 0,[t]),n)}var k,S,T=t.startLexicalEnvironment,C=t.resumeLexicalEnvironment,E=t.endLexicalEnvironment,D=t.getEmitResolver(),N=t.getCompilerOptions(),A=e.getEmitScriptTarget(N),w=0,P=t.onEmitNode,O=t.onSubstituteNode;return t.onEmitNode=f,t.onSubstituteNode=m,r}function n(t,n,r,i){t.requestEmitHelper(a);var o=e.createFunctionExpression(void 0,e.createToken(39),void 0,void 0,[],void 0,i);return(o.emitNode||(o.emitNode={})).flags|=131072,e.createCall(e.getHelperName("__awaiter"),void 0,[e.createThis(),n?e.createIdentifier("arguments"):e.createVoidZero(),r?e.createExpressionFromEntityName(r):e.createVoidZero(),o])}var r;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper";}(r||(r={})),e.transformES2017=t;var a={name:"typescript:awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'};e.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:"\n const _super = name => super[name];\n "},e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:"\n const _super = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);\n "};}(r||(r={}));!function(e){function t(t){function o(n){if(e.isDeclarationFile(n))return n;var r=e.visitEachChild(n,s,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r}function s(e){return l(e,!1)}function c(e){return l(e,!0)}function u(e){if(120!==e.kind)return e}function l(n,r){if(0==(8&n.transformFlags))return n;switch(n.kind){case 191:return _(n);case 197:return d(n);case 222:return p(n);case 178:return m(n);case 194:return h(n,r);case 226:return v(n);case 216:return k(n,void 0);case 214:return b(n);case 190:return x(n);case 152:return D(n);case 151:return w(n);case 153:return N(n);case 154:return A(n);case 228:return P(n);case 186:return F(n);case 187:return O(n);case 146:return E(n);case 210:return g(n);case 185:return y(n,r);default:return e.visitEachChild(n,s,t)}}function _(n){if(2&te&&1&te){var r=e.visitNode(n.expression,s,e.isExpression);return e.setOriginalNode(e.setTextRange(e.createYield(void 0,e.createArrayLiteral([e.createLiteral("await"),r])),n),n)}return e.visitEachChild(n,s,t)}function d(n){if(2&te&&1&te){var r=e.visitNode(n.expression,s,e.isExpression);return e.updateYield(n,n.asteriskToken,n.asteriskToken?a(t,r,r):e.createArrayLiteral(r?[e.createLiteral("yield"),r]:[e.createLiteral("yield")]))}return e.visitEachChild(n,s,t)}function p(n){if(2&te&&1&te){var r=e.unwrapInnermostStatementOfLabel(n);return 216===r.kind&&r.awaitModifier?k(r,n):e.restoreEnclosingLabel(e.visitEachChild(n,s,t),n)}return e.visitEachChild(n,s,t)}function f(t){for(var n,r=[],a=0,i=t;a=2&&(4096&H.getNodeCheckFlags(n)?(L(),e.addEmitHelper(o,e.advancedAsyncSuperHelper)):2048&H.getNodeCheckFlags(n)&&(L(),e.addEmitHelper(o,e.asyncSuperHelper))),o}function R(t){$();var n=0,r=[],a=e.visitNode(t.body,s,e.isConciseBody);e.isBlock(a)&&(n=e.addPrologue(r,a.statements,!1,s)),e.addRange(r,M(void 0,t));var i=G();if(n>0||e.some(r)||e.some(i)){var o=e.convertToFunctionBody(a,!0);return e.addRange(r,o.statements.slice(n)),e.addRange(r,i),e.updateBlock(o,e.setTextRange(e.createNodeArray(r),o.statements))}return a}function M(n,r){for(var a=0,i=r.parameters;a=2?e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"assign"),void 0,n):(t.requestEmitHelper(s),e.createCall(e.getHelperName("__assign"),void 0,n))}function r(t,n){return t.requestEmitHelper(c),(n.emitNode||(n.emitNode={})).flags|=131072,e.createCall(e.getHelperName("__asyncGenerator"),void 0,[e.createThis(),e.createIdentifier("arguments"),n])}function a(t,n,r){return t.requestEmitHelper(u),t.requestEmitHelper(l),e.setTextRange(e.createCall(e.getHelperName("__asyncDelegator"),void 0,[n]),r)}function i(t,n,r){return t.requestEmitHelper(l),e.setTextRange(e.createCall(e.getHelperName("__asyncValues"),void 0,[n]),r)}var o;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper";}(o||(o={})),e.transformESNext=t;var s={name:"typescript:assign",scoped:!1,priority:1,text:"\n var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };"};e.createAssignHelper=n;var c={name:"typescript:asyncGenerator",scoped:!1,text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), q = [], c, i;\n return i = { next: verb("next"), "throw": verb("throw"), "return": verb("return") }, i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { return function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]), next(); }); }; }\n function next() { if (!c && q.length) resume((c = q.shift())[0], c[1]); }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(c[3], e); } }\n function step(r) { r.done ? settle(c[2], r) : Promise.resolve(r.value[1]).then(r.value[0] === "yield" ? send : fulfill, reject); }\n function send(value) { settle(c[2], { value: value, done: false }); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { c = void 0, f(v), next(); }\n };\n '},u={name:"typescript:asyncDelegator",scoped:!1,text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i = { next: verb("next"), "throw": verb("throw", function (e) { throw e; }), "return": verb("return", function (v) { return { value: v, done: true }; }) }, p;\n return o = __asyncValues(o), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { return function (v) { return v = p && n === "throw" ? f(v) : p && v.done ? v : { value: p ? ["yield", v.value] : ["await", (o[n] || f).call(o, v)], done: false }, p = !p, v; }; }\n };\n '},l={name:"typescript:asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncIterator) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator];\n return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator]();\n };\n '};}(r||(r={}));!function(e){function t(t){function r(n){if(e.isDeclarationFile(n))return n;var r=e.visitEachChild(n,a,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r}function a(e){return 4&e.transformFlags?i(e):e}function i(n){switch(n.kind){case 249:return s(n,!1);case 250:return c(n,!1);case 256:return b(n);default:return e.visitEachChild(n,a,t)}}function o(t){switch(t.kind){case 10:return p(t);case 256:return b(t);case 249:return s(t,!0);case 250:return c(t,!0);default:return void e.Debug.failBadSyntaxKind(t)}}function s(e,t){return u(e.openingElement,e.children,t,e)}function c(e,t){return u(e,void 0,t,e)}function u(n,r,a,i){var s,c=h(n),u=n.attributes.properties;if(0===u.length)s=e.createNull();else{var d=e.flatten(e.spanMap(u,e.isJsxSpreadAttribute,function(t,n){return n?e.map(t,l):e.createObjectLiteral(e.map(t,_))}));e.isJsxSpreadAttribute(u[0])&&d.unshift(e.createObjectLiteral()),(s=e.singleOrUndefined(d))||(s=e.createAssignHelper(t,d));}var p=e.createExpressionForJsxElement(t.getEmitResolver().getJsxFactoryEntity(),x.reactNamespace,c,s,e.filter(e.map(r,o),e.isDefined),n,i);return a&&e.startOnNewLine(p),p}function l(t){return e.visitNode(t.expression,a,e.isExpression)}function _(t){var n=v(t),r=d(t.initializer);return e.createPropertyAssignment(n,r)}function d(t){if(void 0===t)return e.createTrue();if(9===t.kind){var n=y(t.text);return n?e.setTextRange(e.createLiteral(n),t):t}if(256===t.kind)return void 0===t.expression?e.createTrue():b(t);e.Debug.failBadSyntaxKind(t);}function p(t){var n=f(e.getTextOfNode(t,!0));return void 0===n?void 0:e.createLiteral(n)}function f(t){for(var n,r=0,a=-1,i=0;i=0,"statementOffset not initialized correctly!"));var s=r&&95!==e.skipOuterExpressions(r.expression).kind,u=A(i,t,s,a,o);1!==u&&2!==u||o++,t&&(1===u&&(wt|=4096),e.addRange(i,e.visitNodes(t.body.statements,c,e.isStatement,o))),!s||2===u||t&&N(t.body)||i.push(e.createReturn(e.createIdentifier("_this"))),e.addRange(i,kt()),t&&J(i,t,!1);var l=e.createBlock(e.setTextRange(e.createNodeArray(i),t?t.body.statements:n.members),!0);return e.setTextRange(l,t?t.body:n),t||e.setEmitFlags(l,1536),l}function N(t){if(219===t.kind)return!0;if(211===t.kind){var n=t;if(n.elseStatement)return N(n.thenStatement)&&N(n.elseStatement)}else if(207===t.kind){var r=e.lastOrUndefined(t.statements);if(r&&N(r))return!0}return!1}function A(t,n,r,a,i){if(!r)return n&&K(t,n),0;if(!n)return t.push(e.createReturn(P())),2;if(a)return j(t,n,P()),_t(),1;var o,s,c=n.body.statements;if(i0?n.push(e.setEmitFlags(e.createVariableStatement(void 0,e.createVariableDeclarationList(e.flattenDestructuringBinding(r,c,t,0,o))),524288)):i&&n.push(e.setEmitFlags(e.createStatement(e.createAssignment(o,e.visitNode(i,c,e.isExpression))),524288));}function M(t,n,r,a){a=e.visitNode(a,c,e.isExpression);var i=e.createIf(e.createTypeCheck(e.getSynthesizedClone(r),"undefined"),e.setEmitFlags(e.setTextRange(e.createBlock([e.createStatement(e.setTextRange(e.createAssignment(e.setEmitFlags(e.getMutableClone(r),48),e.setEmitFlags(a,48|e.getEmitFlags(a))),n))]),n),417));i.startsOnNewLine=!0,e.setTextRange(i,n),e.setEmitFlags(i,524704),t.push(i);}function L(e,t){return e&&e.dotDotDotToken&&71===e.name.kind&&!t}function B(t,n,r){var a=e.lastOrUndefined(n.parameters);if(L(a,r)){var i=e.getMutableClone(a.name);e.setEmitFlags(i,48);var o=e.getSynthesizedClone(a.name),s=n.parameters.length-1,c=e.createLoopVariable();t.push(e.setEmitFlags(e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(i,void 0,e.createArrayLiteral([]))])),a),524288));var u=e.createFor(e.setTextRange(e.createVariableDeclarationList([e.createVariableDeclaration(c,void 0,e.createLiteral(s))]),a),e.setTextRange(e.createLessThan(c,e.createPropertyAccess(e.createIdentifier("arguments"),"length")),a),e.setTextRange(e.createPostfixIncrement(c),a),e.createBlock([e.startOnNewLine(e.setTextRange(e.createStatement(e.createAssignment(e.createElementAccess(o,0===s?c:e.createSubtract(c,e.createLiteral(s))),e.createElementAccess(e.createIdentifier("arguments"),c))),a))]));e.setEmitFlags(u,524288),e.startOnNewLine(u),t.push(u);}}function K(t,n){32768&n.transformFlags&&187!==n.kind&&j(t,n,e.createThis());}function j(t,n,r,a){_t();var i=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration("_this",void 0,r)]));e.setEmitFlags(i,525824),e.setTextRange(i,a),e.setSourceMapRange(i,n),t.push(i);}function J(t,n,r){if(16384&wt){var a=void 0;switch(n.kind){case 187:return t;case 151:case 153:case 154:a=e.createVoidZero();break;case 152:a=e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor");break;case 228:case 186:a=e.createConditional(e.createLogicalAnd(e.setEmitFlags(e.createThis(),4),e.createBinary(e.setEmitFlags(e.createThis(),4),93,e.getLocalName(n))),e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor"),e.createVoidZero());break;default:e.Debug.failBadSyntaxKind(n);}var i=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration("_newTarget",void 0,a)]));if(r)return[i].concat(t);t.unshift(i);}return t}function z(t,n){for(var r=0,a=n.members;r0&&(o=!0),e.isBlock(l))i=e.addCustomPrologue(u,l.statements,i,c),r=l.statements,e.addRange(u,e.visitNodes(l.statements,c,e.isStatement,i)),!o&&l.multiLine&&(o=!0);else{e.Debug.assert(187===n.kind),r=e.moveRangeEnd(l,-1);var _=n.equalsGreaterThanToken;e.nodeIsSynthesized(_)||e.nodeIsSynthesized(l)||(e.rangeEndIsOnSameLineAsRangeStart(_,l,Nt)?s=!0:o=!0);var d=e.visitNode(l,c,e.isExpression),p=e.createReturn(d);e.setTextRange(p,l),e.setEmitFlags(p,1440),u.push(p),a=l;}var f=t.endLexicalEnvironment();e.addRange(u,f),J(u,n,!1),!o&&f&&f.length&&(o=!0);var m=e.createBlock(e.setTextRange(e.createNodeArray(u),r),o);return e.setTextRange(m,n.body),!o&&s&&e.setEmitFlags(m,1),a&&e.setTokenSourceMapRange(m,18,a),e.setOriginalNode(m,n.body),m}function Q(n){var r=e.visitFunctionBody(n.body,u,t);return e.updateBlock(r,e.setTextRange(e.createNodeArray(J(r.statements,n,!0)),r.statements))}function Z(n,r){if(r)return e.visitEachChild(n,c,t);var o=256&wt?a(4032,512):a(3904,128),s=e.visitEachChild(n,c,t);return i(o,0,0),s}function ee(n){switch(n.expression.kind){case 185:return e.updateStatement(n,te(n.expression,!1));case 194:return e.updateStatement(n,ne(n.expression,!1))}return e.visitEachChild(n,c,t)}function te(n,r){if(!r)switch(n.expression.kind){case 185:return e.updateParen(n,te(n.expression,!1));case 194:return e.updateParen(n,ne(n.expression,!1))}return e.visitEachChild(n,c,t)}function ne(n,r){return e.isDestructuringAssignment(n)?e.flattenDestructuringAssignment(n,c,t,0,r):e.visitEachChild(n,c,t)}function re(n){var r,o=a(0,e.hasModifier(n,1)?32:0);if(Pt&&0==(3&n.declarationList.flags)){for(var s=void 0,u=0,l=n.declarationList.declarations;u=72&&n<=107)return e.setTextRange(e.createLiteral(t),t)}var c,u,l=t.getCompilerOptions();1!==l.jsx&&3!==l.jsx||(c=t.onEmitNode,t.onEmitNode=r,t.enableEmitNotification(251),t.enableEmitNotification(252),t.enableEmitNotification(250),u=[]);var _=t.onSubstituteNode;return t.onSubstituteNode=a,t.enableSubstitution(179),t.enableSubstitution(261),n}e.transformES5=t;}(r||(r={}));!function(e){function t(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally"}}function n(n){function a(t){if(e.isDeclarationFile(t)||0==(512&t.transformFlags))return t;Ft=t;var r=e.visitEachChild(t,i,n);return e.addEmitHelpers(r,n.readEmitHelpers()),Ft=void 0,r}function i(t){var r=t.transformFlags;return Lt?o(t):Mt?s(t):256&r?u(t):512&r?e.visitEachChild(t,i,n):t}function o(e){switch(e.kind){case 212:return j(e);case 213:return z(e);case 221:return te(e);case 222:return re(e);default:return s(e)}}function s(t){switch(t.kind){case 228:return l(t);case 186:return _(t);case 153:case 154:return d(t);case 208:return f(t);case 214:return V(t);case 215:return $(t);case 218:return X(t);case 217:return W(t);case 219:return Q(t);default:return 16777216&t.transformFlags?c(t):33554944&t.transformFlags?e.visitEachChild(t,i,n):t}}function c(t){switch(t.kind){case 194:return m(t);case 195:return k(t);case 197:return S(t);case 177:return T(t);case 178:return E(t);case 180:return D(t);case 181:return N(t);case 182:return A(t);default:return e.visitEachChild(t,i,n)}}function u(t){switch(t.kind){case 228:return l(t);case 186:return _(t);default:return e.Debug.failBadSyntaxKind(t),e.visitEachChild(t,i,n)}}function l(t){if(t.asteriskToken)t=e.setOriginalNode(e.setTextRange(e.createFunctionDeclaration(void 0,t.modifiers,void 0,t.name,void 0,e.visitParameterList(t.parameters,i,n),void 0,p(t.body)),t),t);else{var r=Mt,a=Lt;Mt=!1,Lt=!1,t=e.visitEachChild(t,i,n),Mt=r,Lt=a;}return Mt?void Dt(t):t}function _(t){if(t.asteriskToken)t=e.setOriginalNode(e.setTextRange(e.createFunctionExpression(void 0,void 0,t.name,void 0,e.visitParameterList(t.parameters,i,n),void 0,p(t.body)),t),t);else{var r=Mt,a=Lt;Mt=!1,Lt=!1,t=e.visitEachChild(t,i,n),Mt=r,Lt=a;}return t}function d(t){var r=Mt,a=Lt;return Mt=!1,Lt=!1,t=e.visitEachChild(t,i,n),Mt=r,Lt=a,t}function p(t){var n=[],r=Mt,a=Lt,o=Bt,s=Kt,c=jt,u=Jt,l=zt,_=Ut,d=nn,p=Vt,f=qt,m=$t,g=Gt;Mt=!0,Lt=!1,Bt=void 0,Kt=void 0,jt=void 0,Jt=void 0,zt=void 0,Ut=void 0,nn=1,Vt=void 0,qt=void 0,$t=void 0,Gt=e.createTempVariable(void 0),Ct();var y=e.addPrologue(n,t.statements,!1,i);w(t.statements,y);var h=it();return e.addRange(n,Et()),n.push(e.createReturn(h)),Mt=r,Lt=a,Bt=o,Kt=s,jt=c,Jt=u,zt=l,Ut=_,nn=d,Vt=p,qt=f,$t=m,Gt=g,e.setTextRange(e.createBlock(n,t.multiLine),t)}function f(t){if(16777216&t.transformFlags)M(t.declarationList);else{if(524288&e.getEmitFlags(t))return t;for(var n=0,r=t.declarationList.declarations;n=59&&e<=70}function y(e){switch(e){case 59:return 37;case 60:return 38;case 61:return 39;case 62:return 40;case 63:return 41;case 64:return 42;case 65:return 45;case 66:return 46;case 67:return 47;case 68:return 48;case 69:return 49;case 70:return 50}}function h(t){var r=t.left,a=t.right;if(oe(a)){var o=void 0;switch(r.kind){case 179:o=e.updatePropertyAccess(r,_e(e.visitNode(r.expression,i,e.isLeftHandSideExpression)),r.name);break;case 180:o=e.updateElementAccess(r,_e(e.visitNode(r.expression,i,e.isLeftHandSideExpression)),_e(e.visitNode(r.argumentExpression,i,e.isExpression)));break;default:o=e.visitNode(r,i,e.isExpression);}var s=t.operatorToken.kind;return g(s)?e.setTextRange(e.createAssignment(o,e.setTextRange(e.createBinary(_e(o),y(s),e.visitNode(a,i,e.isExpression)),t)),t):e.updateBinary(t,o,e.visitNode(a,i,e.isExpression))}return e.visitEachChild(t,i,n)}function v(t){if(oe(t.right)){if(e.isLogicalOperator(t.operatorToken.kind))return b(t);if(26===t.operatorToken.kind)return x(t);var r=e.getMutableClone(t);return r.left=_e(e.visitNode(t.left,i,e.isExpression)),r.right=e.visitNode(t.right,i,e.isExpression),r}return e.visitEachChild(t,i,n)}function b(t){var n=pe(),r=de();return He(r,e.visitNode(t.left,i,e.isExpression),t.left),53===t.operatorToken.kind?Qe(n,r,t.left):Ye(n,r,t.left),He(r,e.visitNode(t.right,i,e.isExpression),t.right),fe(n),r}function x(t){function n(t){e.isBinaryExpression(t)&&26===t.operatorToken.kind?(n(t.left),n(t.right)):(oe(t)&&r.length>0&&(at(1,[e.createStatement(e.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,i,e.isExpression)));}var r=[];return n(t.left),n(t.right),e.inlineExpressions(r)}function k(t){if(oe(t.whenTrue)||oe(t.whenFalse)){var r=pe(),a=pe(),o=de();return Qe(r,e.visitNode(t.condition,i,e.isExpression),t.condition),He(o,e.visitNode(t.whenTrue,i,e.isExpression),t.whenTrue),Xe(a),fe(r),He(o,e.visitNode(t.whenFalse,i,e.isExpression),t.whenFalse),fe(a),o}return e.visitEachChild(t,i,n)}function S(t){var r=pe(),a=e.visitNode(t.expression,i,e.isExpression);return t.asteriskToken?Ze(0==(4194304&e.getEmitFlags(t.expression))?e.createValuesHelper(n,a,t):a,t):et(a,t),fe(r),$e(t)}function T(e){return C(e.elements,void 0,void 0,e.multiLine)}function C(t,n,r,a){function o(t,r){if(oe(r)&&t.length>0){var o=void 0!==s;s||(s=de()),He(s,o?e.createArrayConcat(s,[e.createArrayLiteral(t,a)]):e.createArrayLiteral(n?[n].concat(t):t,a)),n=void 0,t=[];}return t.push(e.visitNode(r,i,e.isExpression)),t}var s,c=se(t);if(c>0){s=de();var u=e.visitNodes(t,i,e.isExpression,0,c);He(s,e.createArrayLiteral(n?[n].concat(u):u)),n=void 0;}var l=e.reduceLeft(t,o,[],c);return s?e.createArrayConcat(s,[e.createArrayLiteral(l,a)]):e.setTextRange(e.createArrayLiteral(n?[n].concat(l):l,a),r)}function E(t){function n(n,r){oe(r)&&n.length>0&&(We(e.createStatement(e.inlineExpressions(n))),n=[]);var o=e.createExpressionForObjectLiteralElementLike(t,r,s),c=e.visitNode(o,i,e.isExpression);return c&&(a&&(c.startsOnNewLine=!0),n.push(c)),n}var r=t.properties,a=t.multiLine,o=se(r),s=de();He(s,e.createObjectLiteral(e.visitNodes(r,i,e.isObjectLiteralElementLike,0,o),a));var c=e.reduceLeft(r,n,[],o);return c.push(a?e.startOnNewLine(e.getMutableClone(s)):s),e.inlineExpressions(c)}function D(t){if(oe(t.argumentExpression)){var r=e.getMutableClone(t);return r.expression=_e(e.visitNode(t.expression,i,e.isLeftHandSideExpression)),r.argumentExpression=e.visitNode(t.argumentExpression,i,e.isExpression),r}return e.visitEachChild(t,i,n)}function N(t){if(e.forEach(t.arguments,oe)){var r=e.createCallBinding(t.expression,Nt,wt,!0),a=r.target,o=r.thisArg;return e.setOriginalNode(e.createFunctionApply(_e(e.visitNode(a,i,e.isLeftHandSideExpression)),o,C(t.arguments),t),t)}return e.visitEachChild(t,i,n)}function A(t){if(e.forEach(t.arguments,oe)){var r=e.createCallBinding(e.createPropertyAccess(t.expression,"bind"),Nt),a=r.target,o=r.thisArg;return e.setOriginalNode(e.setTextRange(e.createNew(e.createFunctionApply(_e(e.visitNode(a,i,e.isExpression)),o,C(t.arguments,e.createVoidZero())),void 0,[]),t),t)}return e.visitEachChild(t,i,n)}function w(e,t){void 0===t&&(t=0);for(var n=e.length,r=t;r0);l++)u.push(L(a));u.length&&(We(e.createStatement(e.inlineExpressions(u))),c+=u.length,u=[]);}}function L(t){return e.createAssignment(e.getSynthesizedClone(t.name),e.visitNode(t.initializer,i,e.isExpression))}function B(t){if(oe(t))if(oe(t.thenStatement)||oe(t.elseStatement)){var n=pe(),r=t.elseStatement?pe():void 0;Qe(t.elseStatement?r:n,e.visitNode(t.expression,i,e.isExpression),t.expression),P(t.thenStatement),t.elseStatement&&(Xe(n),fe(r),P(t.elseStatement)),fe(n);}else We(e.visitNode(t,i,e.isStatement));else We(e.visitNode(t,i,e.isStatement));}function K(t){if(oe(t)){var n=pe(),r=pe();Ne(n),fe(r),P(t.statement),fe(n),Ye(r,e.visitNode(t.expression,i,e.isExpression)),Ae();}else We(e.visitNode(t,i,e.isStatement));}function j(t){return Lt?(De(),t=e.visitEachChild(t,i,n),Ae(),t):e.visitEachChild(t,i,n)}function J(t){if(oe(t)){var n=pe(),r=Ne(n);fe(n),Qe(r,e.visitNode(t.expression,i,e.isExpression)),P(t.statement),Xe(n),Ae();}else We(e.visitNode(t,i,e.isStatement));}function z(t){return Lt?(De(),t=e.visitEachChild(t,i,n),Ae(),t):e.visitEachChild(t,i,n)}function U(t){if(oe(t)){var n=pe(),r=pe(),a=Ne(r);if(t.initializer){var o=t.initializer;e.isVariableDeclarationList(o)?M(o):We(e.setTextRange(e.createStatement(e.visitNode(o,i,e.isExpression)),o));}fe(n),t.condition&&Qe(a,e.visitNode(t.condition,i,e.isExpression)),P(t.statement),fe(r),t.incrementor&&We(e.setTextRange(e.createStatement(e.visitNode(t.incrementor,i,e.isExpression)),t.incrementor)),Xe(n),Ae();}else We(e.visitNode(t,i,e.isStatement));}function V(t){Lt&&De();var r=t.initializer;if(r&&e.isVariableDeclarationList(r)){for(var a=0,o=r.declarations;a0?e.inlineExpressions(e.map(c,L)):void 0,e.visitNode(t.condition,i,e.isExpression),e.visitNode(t.incrementor,i,e.isExpression),e.visitNode(t.statement,i,e.isStatement,e.liftToBlock));}else t=e.visitEachChild(t,i,n);return Lt&&Ae(),t}function q(t){if(oe(t)){var n=de(),r=de(),a=e.createLoopVariable(),o=t.initializer;Nt(a),He(n,e.createArrayLiteral()),We(e.createForIn(r,e.visitNode(t.expression,i,e.isExpression),e.createStatement(e.createCall(e.createPropertyAccess(n,"push"),void 0,[r])))),He(a,e.createLiteral(0));var s=pe(),c=pe(),u=Ne(c);fe(s),Qe(u,e.createLessThan(a,e.createPropertyAccess(n,"length")));var l=void 0;if(e.isVariableDeclarationList(o)){for(var _=0,d=o.declarations;_0,"Expected continue statment to point to a valid Label."),Xe(n,t);}function W(t){if(Lt){var r=Je(t.label&&t.label.text);if(r>0)return Ve(r,t)}return e.visitEachChild(t,i,n)}function H(t){var n=je(t.label?t.label.text:void 0);e.Debug.assert(n>0,"Expected break statment to point to a valid Label."),Xe(n,t);}function X(t){if(Lt){var r=je(t.label&&t.label.text);if(r>0)return Ve(r,t)}return e.visitEachChild(t,i,n)}function Y(t){tt(e.visitNode(t.expression,i,e.isExpression),t);}function Q(t){return qe(e.visitNode(t.expression,i,e.isExpression),t)}function Z(t){oe(t)?(ve(_e(e.visitNode(t.expression,i,e.isExpression))),P(t.statement),be()):We(e.visitNode(t,i,e.isStatement));}function ee(t){if(oe(t.caseBlock)){for(var n=t.caseBlock,r=n.clauses.length,a=Pe(),o=_e(e.visitNode(t.expression,i,e.isExpression)),s=[],c=-1,u=0;u0)break;d.push(e.createCaseClause(e.visitNode(f.expression,i,e.isExpression),[Ve(s[u],f.expression)]));}else p++;d.length&&(We(e.createSwitch(o,e.createCaseBlock(d))),_+=d.length,d=[]),p>0&&(_+=p,p=0);}Xe(c>=0?s[c]:a);for(u=0;u=0;n--){var r=Jt[n];if(!Le(r))break;if(r.labelText===e)return!0}return!1}function je(t){if(e.Debug.assert(void 0!==Bt),t)for(n=Jt.length-1;n>=0;n--){if(Le(r=Jt[n])&&r.labelText===t)return r.breakLabel;if(Me(r)&&Ke(t,n-1))return r.breakLabel}else for(var n=Jt.length-1;n>=0;n--){var r=Jt[n];if(Me(r))return r.breakLabel}return 0}function Je(t){if(e.Debug.assert(void 0!==Bt),t){for(n=Jt.length-1;n>=0;n--)if(Be(r=Jt[n])&&Ke(t,n-1))return r.continueLabel}else for(var n=Jt.length-1;n>=0;n--){var r=Jt[n];if(Be(r))return r.continueLabel}return 0}function ze(t){if(t>0){void 0===Ut&&(Ut=[]);var n=e.createLiteral(-1);return void 0===Ut[t]?Ut[t]=[n]:Ut[t].push(n),n}return e.createOmittedExpression()}function Ue(n){var r=e.createLiteral(n);return e.addSyntheticTrailingComment(r,3,t(n)),r}function Ve(t,n){return e.Debug.assert(t>0,"Invalid label: "+t),e.setTextRange(e.createReturn(e.createArrayLiteral([Ue(3),ze(t)])),n)}function qe(t,n){return e.setTextRange(e.createReturn(e.createArrayLiteral(t?[Ue(2),t]:[Ue(2)])),n)}function $e(t){return e.setTextRange(e.createCall(e.createPropertyAccess(Gt,"sent"),void 0,[]),t)}function Ge(){at(0);}function We(e){e?at(1,[e]):Ge();}function He(e,t,n){at(2,[e,t],n);}function Xe(e,t){at(3,[e],t);}function Ye(e,t,n){at(4,[e,t],n);}function Qe(e,t,n){at(5,[e,t],n);}function Ze(e,t){at(7,[e],t);}function et(e,t){at(6,[e],t);}function tt(e,t){at(8,[e],t);}function nt(e,t){at(9,[e],t);}function rt(){at(10);}function at(e,t,n){void 0===Vt&&(Vt=[],qt=[],$t=[]),void 0===zt&&fe(pe());var r=Vt.length;Vt[r]=e,qt[r]=t,$t[r]=n;}function it(){rn=0,an=0,Wt=void 0,Ht=!1,Xt=!1,Yt=void 0,Qt=void 0,Zt=void 0,en=void 0,tn=void 0;var t=ot();return r(n,e.setEmitFlags(e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,Gt)],void 0,e.createBlock(t,t.length>0)),262144))}function ot(){if(Vt){for(var t=0;t=0;n--){var r=tn[n];Qt=[e.createWith(r.expression,e.createBlock(Qt))];}if(en){var a=en.startLabel,i=en.catchLabel,o=en.finallyLabel,s=en.endLabel;Qt.unshift(e.createStatement(e.createCall(e.createPropertyAccess(e.createPropertyAccess(Gt,"trys"),"push"),void 0,[e.createArrayLiteral([ze(a),ze(i),ze(o),ze(s)])]))),en=void 0;}t&&Qt.push(e.createStatement(e.createAssignment(e.createPropertyAccess(Gt,"label"),e.createLiteral(an+1))));}Yt.push(e.createCaseClause(e.createLiteral(an),Qt||[])),Qt=void 0;}function _t(e){if(zt)for(var t=0;t 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'};}(r||(r={}));!function(e){function t(t){function r(t){switch(t){case e.ModuleKind.AMD:return s;case e.ModuleKind.UMD:return c;default:return o}}function a(t){if(e.isDeclarationFile(t)||!e.isExternalModule(t)&&!$.isolatedModules)return t;Z=t,ee=e.collectExternalModuleInfo(t,G,$),ne[e.getOriginalNodeId(t)]=ee;var n=r(X)(t);return Z=void 0,ee=void 0,e.aggregateTransformFlags(n)}function i(){return!(ee.exportEquals||!e.isExternalModule(Z))}function o(t){V();var r=[],a=$.alwaysStrict||!$.noImplicitUseStrict&&e.isExternalModule(Z),o=e.addPrologue(r,t.statements,a,d);i()&&e.append(r,O()),e.append(r,e.visitNode(ee.externalHelpersImportDeclaration,d,e.isStatement)),e.addRange(r,e.visitNodes(t.statements,d,e.isStatement,o)),_(r,!1),e.addRange(r,q());var s=e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray(r),t.statements));return ee.hasExportStarsToExportValues&&e.addEmitHelper(s,n),s}function s(t){var n=e.createIdentifier("define"),r=e.tryGetModuleNameFromFile(t,W,$),a=u(t,!0),i=a.aliasedModuleNames,o=a.unaliasedModuleNames,s=a.importAliasNames;return e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createStatement(e.createCall(n,void 0,(r?[r]:[]).concat([e.createArrayLiteral([e.createLiteral("require"),e.createLiteral("exports")].concat(i,o)),e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,"require"),e.createParameter(void 0,void 0,void 0,"exports")].concat(s),void 0,l(t))])))]),t.statements))}function c(t){var n=u(t,!1),r=n.aliasedModuleNames,a=n.unaliasedModuleNames,i=n.importAliasNames,o=e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,"factory")],void 0,e.setTextRange(e.createBlock([e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("module"),"object"),e.createTypeCheck(e.createPropertyAccess(e.createIdentifier("module"),"exports"),"object")),e.createBlock([e.createVariableStatement(void 0,[e.createVariableDeclaration("v",void 0,e.createCall(e.createIdentifier("factory"),void 0,[e.createIdentifier("require"),e.createIdentifier("exports")]))]),e.setEmitFlags(e.createIf(e.createStrictInequality(e.createIdentifier("v"),e.createIdentifier("undefined")),e.createStatement(e.createAssignment(e.createPropertyAccess(e.createIdentifier("module"),"exports"),e.createIdentifier("v")))),1)]),e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("define"),"function"),e.createPropertyAccess(e.createIdentifier("define"),"amd")),e.createBlock([e.createStatement(e.createCall(e.createIdentifier("define"),void 0,[e.createArrayLiteral([e.createLiteral("require"),e.createLiteral("exports")].concat(r,a)),e.createIdentifier("factory")]))])))],!0),void 0));return e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createStatement(e.createCall(o,void 0,[e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,"require"),e.createParameter(void 0,void 0,void 0,"exports")].concat(i),void 0,l(t))]))]),t.statements))}function u(t,n){for(var r=[],a=[],i=[],o=0,s=t.amdDependencies;o=2?2:0)),t));}else r&&e.isDefaultImport(t)&&(n=e.append(n,e.createVariableStatement(void 0,e.createVariableDeclarationList([e.setTextRange(e.createVariableDeclaration(e.getSynthesizedClone(r.name),void 0,e.getGeneratedNameForNode(t)),t)],H>=2?2:0))));if(S(t)){var i=e.getOriginalNodeId(t);re[i]=C(re[i],t);}else n=C(n,t);return e.singleOrMany(n)}function f(t){var n=e.getExternalModuleNameLiteral(t,Z,W,G,$),r=[];return n&&r.push(n),e.createCall(e.createIdentifier("require"),void 0,r)}function m(t){e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer.");var n;if(X!==e.ModuleKind.AMD?n=e.hasModifier(t,1)?e.append(n,e.setTextRange(e.createStatement(I(t.name,f(t))),t)):e.append(n,e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedClone(t.name),void 0,f(t))],H>=2?2:0)),t)):e.hasModifier(t,1)&&(n=e.append(n,e.setTextRange(e.createStatement(I(e.getExportName(t),e.getLocalName(t))),t))),S(t)){var r=e.getOriginalNodeId(t);re[r]=E(re[r],t);}else n=E(n,t);return e.singleOrMany(n)}function g(t){if(t.moduleSpecifier){var n=e.getGeneratedNameForNode(t);if(t.exportClause){var r=[];X!==e.ModuleKind.AMD&&r.push(e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(n,void 0,f(t))])),t));for(var a=0,i=t.exportClause.elements;a0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed.");var n=e.createVariableDeclaration(t);S?S.push(n):S=[n];}function m(t){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),T?T.push(t):T=[t];}function g(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!w,"Lexical environment is suspended."),D[A]=S,N[A]=T,A++,S=void 0,T=void 0;}function y(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!w,"Lexical environment is already suspended."),w=!0;}function h(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(w,"Lexical environment is not suspended."),w=!1;}function v(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!w,"Lexical environment is suspended.");var t;if((S||T)&&(T&&(t=T.slice()),S)){var n=e.createVariableStatement(void 0,e.createVariableDeclarationList(S));t?t.push(n):t=[n];}return A--,S=D[A],T=N[A],0===A&&(D=[],N=[]),t}function b(t){e.Debug.assert(F>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(F<2,"Cannot modify the transformation context after transformation has completed."),e.Debug.assert(!t.scoped,"Cannot request a scoped emit helper."),C=e.append(C,t);}function x(){e.Debug.assert(F>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(F<2,"Cannot modify the transformation context after transformation has completed.");var t=C;return C=void 0,t}function k(){if(F<3){for(var t=0,n=a;t=0&&(e.Debug.assert(!1,"We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this"),x.sourceMapMappings+=r(h.nameIndex-b),b=h.nameIndex),v=h,x.sourceMapDecodedMappings.push(v);}}function c(t){if(!T&&!e.positionIsSynthesized(t)){S&&e.performance.mark("beforeSourcemap");var r=e.getLineAndCharacterOfPosition(f,t);r.line++,r.character++;var a=n.getLine(),i=n.getColumn();!h||h.emittedLine!==a||h.emittedColumn!==i||h.sourceIndex===y&&(h.sourceLine>r.line||h.sourceLine===r.line&&h.sourceColumn>r.character)?(s(),h={emittedLine:a,emittedColumn:i,sourceLine:r.line,sourceColumn:r.character,sourceIndex:y}):(h.sourceLine=r.line,h.sourceColumn=r.character,h.sourceIndex=y),S&&(e.performance.mark("afterSourcemap"),e.performance.measure("Source Map","beforeSourcemap","afterSourcemap"));}}function u(t,n,r){if(T)return r(t,n);if(n){var a=n.emitNode,i=a&&a.flags,o=a&&a.sourceMapRange||n,s=o.pos,u=o.end;295!==n.kind&&0==(16&i)&&s>=0&&c(e.skipTrivia(m,s)),64&i?(T=!0,r(t,n),T=!1):r(t,n),295!==n.kind&&0==(32&i)&&u>=0&&c(u);}}function l(t,n,r,a){if(T)return a(n,r);var i=t&&t.emitNode,o=i&&i.flags,s=i&&i.tokenSourceMapRanges&&i.tokenSourceMapRanges[n];return r=e.skipTrivia(m,s?s.pos:r),0==(128&o)&&r>=0&&c(r),r=a(n,r),s&&(r=s.end),0==(256&o)&&r>=0&&c(r),r}function _(n){if(!T){m=(f=n).text;var r=k.sourceRoot?t.getCommonSourceDirectory():g,a=e.getRelativePathToDirectoryOrUrl(r,f.fileName,t.getCurrentDirectory(),t.getCanonicalFileName,!0);-1===(y=e.indexOf(x.sourceMapSources,a))&&(y=x.sourceMapSources.length,x.sourceMapSources.push(a),x.inputSourceFileNames.push(f.fileName),k.inlineSources&&x.sourceMapSourcesContent.push(f.text));}}function d(){if(!T)return s(),JSON.stringify({version:3,file:x.sourceMapFile,sourceRoot:x.sourceMapSourceRoot,sources:x.sourceMapSources,names:x.sourceMapNames,mappings:x.sourceMapMappings,sourcesContent:x.sourceMapSourcesContent})}function p(){if(!T){if(k.inlineSourceMap){var t=e.convertToBase64(d());return x.jsSourceMappingURL="data:application/json;base64,"+t}return x.jsSourceMappingURL}}var f,m,g,y,h,v,b,x,k=t.getCompilerOptions(),S=k.extendedDiagnostics,T=!(k.sourceMap||k.inlineSourceMap);return{initialize:i,reset:o,getSourceMapData:function(){return x},setSourceFile:_,emitPos:c,emitNodeWithSourceMap:u,emitTokenWithSourceMap:l,getText:d,getSourceMappingURL:p}}function n(e){if(e<64)return i.charAt(e);throw TypeError(e+": not a 64 based value")}function r(e){e<0?e=1+(-e<<1):e<<=1;var t="";do{var r=31&e;(e>>=5)>0&&(r|=32),t+=n(r);}while(e>0);return t}var a={emittedLine:1,emittedColumn:1,sourceLine:1,sourceColumn:1,sourceIndex:0};e.createSourceMapWriter=t;var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";}(r||(r={}));!function(e){function t(t,n){function r(t,n,r){if(j)r(t,n);else if(n){K=!1;var i=n.emitNode,o=i&&i.flags,s=i&&i.commentRange||n,c=s.pos,u=s.end;if(c<0&&u<0||c===u)a(t,n,i,o,r);else{I&&e.performance.mark("preEmitNodeWithComment");var l=295!==n.kind,d=c<0||0!=(512&o),p=u<0||0!=(1024&o);d||_(c,l);var f=M,g=L,y=B;d||(M=c),p||(L=u,227===n.kind&&(B=u)),I&&e.performance.measure("commentTime","preEmitNodeWithComment"),a(t,n,i,o,r),I&&e.performance.mark("postEmitNodeWithComment"),M=f,L=g,B=y,!p&&l&&m(u),I&&e.performance.measure("commentTime","postEmitNodeWithComment");}}}function a(t,n,r,a,s){var c=r&&r.leadingComments;e.some(c)&&(I&&e.performance.mark("preEmitNodeWithSynthesizedComments"),e.forEach(c,i),I&&e.performance.measure("commentTime","preEmitNodeWithSynthesizedComments")),u(t,n,a,s);var l=r&&r.trailingComments;e.some(l)&&(I&&e.performance.mark("postEmitNodeWithSynthesizedComments"),e.forEach(l,o),I&&e.performance.measure("commentTime","postEmitNodeWithSynthesizedComments"));}function i(e){2===e.kind&&A.writeLine(),s(e),e.hasTrailingNewLine||2===e.kind?A.writeLine():A.write(" ");}function o(e){A.isAtStartOfLine()||A.write(" "),s(e),e.hasTrailingNewLine&&A.writeLine();}function s(t){var n=c(t),r=3===t.kind?e.computeLineStarts(n):void 0;e.writeCommentRange(n,r,A,0,n.length,R);}function c(e){return 3===e.kind?"/*"+e.text+"*/":"//"+e.text}function u(e,t,n,r){2048&n?(j=!0,r(e,t),j=!1):r(e,t);}function l(t,n,r){I&&e.performance.mark("preEmitBodyWithDetachedComments");var a=n.pos,i=n.end,o=e.getEmitFlags(t),s=a<0||0!=(512&o),c=j||i<0||0!=(1024&o);s||E(n),I&&e.performance.measure("commentTime","preEmitBodyWithDetachedComments"),2048&o&&!j?(j=!0,r(t),j=!1):r(t),I&&e.performance.mark("beginEmitBodyWithDetachedCommetns"),c||(_(n.end,!0),K&&!A.isAtStartOfLine()&&A.writeLine()),I&&e.performance.measure("commentTime","beginEmitBodyWithDetachedCommetns");}function _(e,t){K=!1,t?v(e,p):0===e&&v(e,d);}function d(e,t,n,r,a){N(e,t)&&p(e,t,n,r,a);}function p(t,r,a,i,o){K||(e.emitNewLineBeforeLeadingCommentOfPosition(O,A,o,t),K=!0),n&&n(t),e.writeCommentRange(P,O,A,t,r,R),n&&n(r),i?A.writeLine():A.write(" ");}function f(e){j||-1===e||_(e,!0);}function m(e){b(e,g);}function g(t,r,a,i){A.isAtStartOfLine()||A.write(" "),n&&n(t),e.writeCommentRange(P,O,A,t,r,R),n&&n(r),i&&A.writeLine();}function y(t){j||(I&&e.performance.mark("beforeEmitTrailingCommentsOfPosition"),b(t,h),I&&e.performance.measure("commentTime","beforeEmitTrailingCommentsOfPosition"));}function h(t,r,a,i){n&&n(t),e.writeCommentRange(P,O,A,t,r,R),n&&n(r),i?A.writeLine():A.write(" ");}function v(t,n){-1!==M&&t===M||(T(t)?C(n):e.forEachLeadingCommentRange(P,t,n,t));}function b(t,n){(-1===L||t!==L&&t!==B)&&e.forEachTrailingCommentRange(P,t,n);}function x(){w=void 0,P=void 0,O=void 0,F=void 0;}function k(e){A=e;}function S(t){P=(w=t).text,O=e.getLineStarts(w),F=void 0;}function T(t){return void 0!==F&&e.lastOrUndefined(F).nodePos===t}function C(t){var n=e.lastOrUndefined(F).detachedCommentEndPos;F.length-1?F.pop():F=void 0,e.forEachLeadingCommentRange(P,n,t,n);}function E(t){var n=e.emitDetachedComments(P,O,A,D,t,R,j);n&&(F?F.push(n):F=[n]);}function D(t,r,a,i,o,s){n&&n(i),e.writeCommentRange(t,r,a,i,o,s),n&&n(o);}function N(t,n){if(47===P.charCodeAt(t+1)&&t+2=0}function c(t){if(t){var n=e.getLeadingCommentRanges(ve,t.pos);if(e.forEach(n,s))return;ie(t);}}function u(){var t=e.createTextWriter(me);t.trackSymbol=f,t.reportInaccessibleThisError=g,t.reportIllegalExtends=m,t.writeKeyword=t.write,t.writeOperator=t.write,t.writePunctuation=t.write,t.writeSpace=t.write,t.writeStringLiteral=t.writeLiteral,t.writeParameter=t.write,t.writeProperty=t.write,t.writeSymbol=t.write,l(t);}function l(e){de=e,se=e.write,_e=e.writeTextOfNode,ce=e.writeLine,ue=e.increaseIndent,le=e.decreaseIndent;}function _(t){var n=de;e.forEach(t,function(t){var n;226===t.kind?n=t.parent.parent:241===t.kind||242===t.kind||239===t.kind?e.Debug.fail("We should be getting ImportDeclaration instead to write"):n=t;var r=e.forEach(we,function(e){return e.node===n?e:void 0});if(!r&&Ce&&(r=e.forEach(Ce,function(e){return e.node===n?e:void 0})),r)if(238===r.node.kind)r.isVisible=!0;else{u();for(var a=r.indent;a;a--)ue();233===n.kind&&(e.Debug.assert(void 0===Ce),Ce=[]),w(n),233===n.kind&&(r.subModuleElementDeclarationEmitInfo=Ce,Ce=void 0),r.asynchronousOutput=de.getText();}}),l(n);}function d(t){if(t){Ee||(Ee=e.createMap());for(var n=0,r=t;n")));}(t);case 159:return function(e){a(e.typeName),e.typeArguments&&(se("<"),x(e.typeArguments,T),se(">"));}(t);case 162:return function(e){se("typeof "),a(e.exprName);}(t);case 164:return function(e){T(e.elementType),se("[]");}(t);case 165:return function(e){se("["),x(e.elementTypes,T),se("]");}(t);case 166:return function(e){b(e.types," | ",T);}(t);case 167:return function(e){b(e.types," & ",T);}(t);case 168:return function(e){se("("),T(e.type),se(")");}(t);case 170:return function(t){se(e.tokenToString(t.operator)),se(" "),T(t.type);}(t);case 171:return function(e){T(e.objectType),se("["),T(e.indexType),se("]");}(t);case 172:return function(e){var t=ye;ye=e,se("{"),ce(),ue(),e.readonlyToken&&se("readonly "),se("["),r(e.typeParameter.name),se(" in "),T(e.typeParameter.constraint),se("]"),e.questionToken&&se("?"),se(": "),T(e.type),se(";"),ce(),le(),se("}"),ye=t;}(t);case 160:case 161:return ne(t);case 163:return function(e){se("{"),e.members.length&&(ce(),ue(),v(e.members),le()),se("}");}(t);case 71:case 143:return a(t);case 158:return function(e){_e(ve,e.parameterName),se(" is "),T(e.type);}(t)}}function C(t){ve=t.text,be=e.getLineStarts(t),xe=t.identifiers,ke=e.isExternalModule(t),ye=t,e.emitDetachedComments(ve,be,de,e.writeCommentRange,t,me,!0),v(t.statements);}function E(){if(!xe.has("_default"))return"_default";for(var e=0;;){var t="_default_"+ ++e;if(!xe.has(t))return t}}function D(t){function r(){return{diagnosticMessage:e.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:t}}if(71===t.expression.kind)se(t.isExportEquals?"export = ":"export default "),_e(ve,t.expression);else{var a=E();Te||se("declare "),se("var "),se(a),se(": "),de.getSymbolAccessibilityDiagnostic=r,n.writeTypeOfExpression(t.expression,ye,1026,de),se(";"),ce(),se(t.isExportEquals?"export = ":"export default "),se(a);}se(";"),ce(),71===t.expression.kind&&_(n.collectLinkedAliases(t.expression));}function N(e){return n.isDeclarationVisible(e)}function A(e,t){if(t)w(e);else if(237===e.kind||265===e.parent.kind&&ke){var r=void 0;if(Ce&&265!==e.parent.kind)Ce.push({node:e,outputPos:de.getTextPos(),indent:de.getIndent(),isVisible:r});else{if(238===e.kind){var a=e;a.importClause&&(r=a.importClause.name&&n.isDeclarationVisible(a.importClause)||I(a.importClause.namedBindings));}we.push({node:e,outputPos:de.getTextPos(),indent:de.getIndent(),isVisible:r});}}}function w(t){switch(t.kind){case 228:return te(t);case 208:return Z(t);case 230:return W(t);case 229:return G(t);case 231:return J(t);case 232:return z(t);case 233:return j(t);case 237:return F(t);case 238:return R(t);default:e.Debug.fail("Unknown symbol kind");}}function P(t){if(265===t.parent.kind){var n=e.getModifierFlags(t);1&n&&se("export "),512&n?se("default "):230===t.kind||Te||se("declare ");}}function O(e){8&e?se("private "):16&e&&se("protected "),32&e&&se("static "),64&e&&se("readonly "),128&e&&se("abstract ");}function F(t){function n(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}Ne(t),e.hasModifier(t,1)&&se("export "),se("import "),_e(ve,t.name),se(" = "),e.isInternalModuleImportEqualsDeclaration(t)?(S(t.moduleReference,n),se(";")):(se("require("),M(t),se(");")),de.writeLine();}function I(t){if(t)return 240===t.kind?n.isDeclarationVisible(t):e.forEach(t.elements,function(e){return n.isDeclarationVisible(e)})}function R(t){if(Ne(t),e.hasModifier(t,1)&&se("export "),se("import "),t.importClause){var r=de.getTextPos();t.importClause.name&&n.isDeclarationVisible(t.importClause)&&_e(ve,t.importClause.name),t.importClause.namedBindings&&I(t.importClause.namedBindings)&&(r!==de.getTextPos()&&se(", "),240===t.importClause.namedBindings.kind?(se("* as "),_e(ve,t.importClause.namedBindings.name)):(se("{ "),x(t.importClause.namedBindings.elements,L,n.isDeclarationVisible),se(" }"))),se(" from ");}M(t),se(";"),de.writeLine();}function M(r){he=he||233!==r.kind;var a;if(237===r.kind){var i=r;a=e.getExternalModuleImportEqualsDeclarationExpression(i);}else a=233===r.kind?r.name:(i=r).moduleSpecifier;if(9===a.kind&&fe&&(ge.out||ge.outFile)){var o=e.getExternalModuleNameFromDeclaration(t,n,r);if(o)return se('"'),se(o),void se('"')}_e(ve,a);}function L(e){e.propertyName&&(_e(ve,e.propertyName),se(" as ")),_e(ve,e.name);}function B(e){L(e),_(n.collectLinkedAliases(e.propertyName||e.name));}function K(e){Ne(e),se("export "),e.exportClause?(se("{ "),x(e.exportClause.elements,B),se(" }")):se("*"),e.moduleSpecifier&&(se(" from "),M(e)),se(";"),de.writeLine();}function j(t){for(Ne(t),P(t),e.isGlobalScopeAugmentation(t)?se("global "):(se(16&t.flags?"namespace ":"module "),e.isExternalModuleAugmentation(t)?M(t):_e(ve,t.name));t.body&&234!==t.body.kind;)t=t.body,se("."),_e(ve,t.name);var n=ye;t.body?(ye=t,se(" {"),ce(),ue(),v(t.body.statements),le(),se("}"),ce(),ye=n):se(";");}function J(t){function n(){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}var r=ye;ye=t,Ne(t),P(t),se("type "),_e(ve,t.name),q(t.typeParameters),se(" = "),S(t.type,n),se(";"),ce(),ye=r;}function z(t){Ne(t),P(t),e.isConst(t)&&se("const "),se("enum "),_e(ve,t.name),se(" {"),ce(),ue(),v(t.members),le(),se("}"),ce();}function U(e){Ne(e),_e(ve,e.name);var t=n.getConstantValue(e);void 0!==t&&(se(" = "),se(t.toString())),se(","),ce();}function V(t){return 151===t.parent.kind&&e.hasModifier(t.parent,8)}function q(t){function n(t){function n(){var n;switch(t.parent.kind){case 229:n=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 230:n=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 156:n=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 155:n=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 151:case 150:n=e.hasModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:229===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 228:n=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 231:n=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind);}return{diagnosticMessage:n,errorNode:t,typeName:t.name}}ue(),Ne(t),le(),_e(ve,t.name),t.constraint&&!V(t)&&(se(" extends "),160===t.parent.kind||161===t.parent.kind||t.parent.parent&&163===t.parent.parent.kind?(e.Debug.assert(151===t.parent.kind||150===t.parent.kind||160===t.parent.kind||161===t.parent.kind||155===t.parent.kind||156===t.parent.kind),T(t.constraint)):S(t.constraint,n)),t.default&&!V(t)&&(se(" = "),160===t.parent.kind||161===t.parent.kind||t.parent.parent&&163===t.parent.parent.kind?(e.Debug.assert(151===t.parent.kind||150===t.parent.kind||160===t.parent.kind||161===t.parent.kind||155===t.parent.kind||156===t.parent.kind),T(t.default)):S(t.default,n));}t&&(se("<"),x(t,n),se(">"));}function $(t,r,a){function i(r){function i(){var t;return t=229===r.parent.parent.kind?a?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,{diagnosticMessage:t,errorNode:r,typeName:r.parent.parent.name}}e.isEntityNameExpression(r.expression)?S(r,i):a||95!==r.expression.kind?(de.getSymbolAccessibilityDiagnostic=i,Se=t,n.writeBaseConstructorTypeOfClass(ye,ye,1026,de),Se=void 0):se("null");}r&&(se(a?" implements ":" extends "),x(r,i));}function G(t){Ne(t),P(t),e.hasModifier(t,128)&&se("abstract "),se("class "),_e(ve,t.name);var n=ye;ye=t,q(t.typeParameters);var r=e.getClassExtendsHeritageClauseElement(t);r&&(t.name,$(t.name,[r],!1)),$(t.name,e.getClassImplementsHeritageClauseElements(t),!0),se(" {"),ce(),ue(),function(t){t&&e.forEach(t.parameters,function(t){e.hasModifier(t,92)&&H(t);});}(e.getFirstConstructorWithBody(t)),v(t.members),le(),se("}"),ce(),ye=n;}function W(t){Ne(t),P(t),se("interface "),_e(ve,t.name);var n=ye;ye=t,q(t.typeParameters);var r=e.filter(e.getInterfaceBaseTypeNodes(t),function(t){return e.isEntityNameExpression(t.expression)});r&&r.length&&$(t.name,r,!1),se(" {"),ce(),ue(),v(t.members),le(),se("}"),ce(),ye=n;}function H(t){e.hasDynamicName(t)||(Ne(t),O(e.getModifierFlags(t)),X(t),se(";"),ce());}function X(t){function r(n){return 226===t.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:149===t.kind||148===t.kind?e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:229===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}function a(e){var n=r(e);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}function i(e){for(var t=[],n=0,r=e.elements;n0?e.parameters[0].type:void 0}function r(t){var n;return 154===a.kind?(n=e.hasModifier(a.parent,32)?t.errorModuleName?e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1,{diagnosticMessage:n,errorNode:a.parameters[0],typeName:a.name}):(n=e.hasModifier(a,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0,{diagnosticMessage:n,errorNode:a.name,typeName:void 0})}if(!e.hasDynamicName(t)){var a,i=e.getAllAccessorDeclarations(t.parent.members,t);if(t===i.firstAccessor){if(Ne(i.getAccessor),Ne(i.setAccessor),O(e.getModifierFlags(t)|(i.setAccessor?0:64)),_e(ve,t.name),!e.hasModifier(t,8)){a=t;var o=n(t);if(!o){var s=153===t.kind?i.setAccessor:i.getAccessor;(o=n(s))&&(a=s);}y(t,o,r);}se(";"),ce();}}}function te(t){e.hasDynamicName(t)||n.isImplementationOfOverload(t)||(Ne(t),228===t.kind?P(t):151!==t.kind&&152!==t.kind||O(e.getModifierFlags(t)),228===t.kind?(se("function "),_e(ve,t.name)):152===t.kind?se("constructor"):(_e(ve,t.name),e.hasQuestionToken(t)&&se("?")),re(t));}function ne(e){Ne(e),re(e);}function re(t){function n(n){var r;switch(t.kind){case 156:r=n.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 155:r=n.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 157:r=n.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 151:case 150:r=e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:229===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:n.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 228:r=n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:e.Debug.fail("This is unknown kind for signature: "+t.kind);}return{diagnosticMessage:r,errorNode:t.name||t}}var r=ye;ye=t;var a=!1;if(157===t.kind)O(e.getModifierFlags(t)),se("[");else{if(156===t.kind||161===t.kind)se("new ");else if(160===t.kind){var i=de.getText();t.typeParameters&&"<"===i.charAt(i.length-1)&&(a=!0,se("("));}q(t.typeParameters),se("(");}x(t.parameters,ae),se(157===t.kind?"]":")");var o=160===t.kind||161===t.kind;o||163===t.parent.kind?t.type&&(se(o?" => ":": "),T(t.type)):152===t.kind||e.hasModifier(t,8)||h(t,n),ye=r,o?a&&se(")"):(se(";"),ce());}function ae(t){function r(e){var n=a(e);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}function a(n){switch(t.parent.kind){case 152:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 156:return n.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 155:return n.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 157:return n.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 151:case 150:return e.hasModifier(t.parent,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:229===t.parent.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 228:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;default:e.Debug.fail("This is unknown parent for parameter: "+t.parent.kind);}}function i(e){if(174===e.kind)se("{"),x(e.elements,o),se("}");else if(175===e.kind){se("[");var t=e.elements;x(t,o),t&&t.hasTrailingComma&&se(", "),se("]");}}function o(t){200===t.kind?se(" "):176===t.kind&&(t.propertyName&&(_e(ve,t.propertyName),se(": ")),t.name&&(e.isBindingPattern(t.name)?i(t.name):(e.Debug.assert(71===t.name.kind),t.dotDotDotToken&&se("..."),_e(ve,t.name))));}ue(),Ne(t),t.dotDotDotToken&&se("..."),e.isBindingPattern(t.name)?i(t.name):_e(ve,t.name),n.isOptionalParameter(t)&&se("?"),le(),160===t.parent.kind||161===t.parent.kind||163===t.parent.parent.kind?Y(t):e.hasModifier(t.parent,8)||y(t,t.type,r);}function ie(e){switch(e.kind){case 228:case 233:case 237:case 230:case 229:case 231:case 232:return A(e,N(e));case 208:return A(e,Q(e));case 238:return A(e,!e.importClause);case 244:return K(e);case 152:case 151:case 150:return te(e);case 156:case 155:case 157:return ne(e);case 153:case 154:return ee(e);case 149:case 148:return H(e);case 264:return U(e);case 243:return D(e);case 265:return C(e)}}function oe(n,r,i){function o(t,a){var i=266===a.kind;i&&!r||(e.Debug.assert(!!t.declarationFilePath||e.isSourceFileJavaScript(n),"Declaration file is not present only for javascript files"),s=t.declarationFilePath||t.jsFilePath,c=i);}var s,c=!1;return e.isDeclarationFile(n)?s=n.fileName:e.forEachEmittedFile(t,o,n,i),s&&(s=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizeSlashes(a)),s,t.getCurrentDirectory(),t.getCanonicalFileName,!1),Pe+='/// '+me),c}var se,ce,ue,le,_e,de,pe=266===i.kind?i.sourceFiles:[i],fe=266===i.kind,me=t.getNewLine(),ge=t.getCompilerOptions();u();var ye,he,ve,be,xe,ke,Se,Te,Ce,Ee,De=!1,Ne=ge.removeComments?e.noop:k,Ae=ge.stripInternal?c:ie,we=[],Pe="",Oe=[],Fe=!1,Ie=[];return e.forEach(pe,function(n){if(!e.isSourceFileJavaScript(n)){if(ge.noResolve||e.forEach(n.referencedFiles,function(r){var a=e.tryResolveScriptReference(t,n,r);a&&!e.contains(Oe,a)&&(oe(a,!fe&&!Fe,o)&&(Fe=!0),Oe.push(a));}),he=!1,fe&&e.isExternalModule(n)?e.isExternalModule(n)&&(Te=!0,se('declare module "'+e.getResolvedExternalModuleName(t,n)+'" {'),ce(),ue(),C(n),le(),se("}"),ce()):(Te=!1,C(n)),we.length){var r=de;e.forEach(we,function(t){if(t.isVisible&&!t.asynchronousOutput){e.Debug.assert(238===t.node.kind),u(),e.Debug.assert(0===t.indent||1===t.indent&&fe);for(n=0;n'+me;}),{reportedDeclarationError:De,moduleElementDeclarationEmitInfo:Ie,synchronousDeclarationOutput:de.getText(),referencesOutput:Pe}}function r(t,r,a,i,o,s){function c(t,n){var r=0,a="";return e.forEach(n,function(e){e.asynchronousOutput&&(a+=t.substring(r,e.outputPos),a+=c(e.asynchronousOutput,e.subModuleElementDeclarationEmitInfo),r=e.outputPos);}),a+=t.substring(r)}var u=n(a,i,o,t,r,s),l=u.reportedDeclarationError||a.isEmitBlocked(t)||a.getCompilerOptions().noEmit;if(!l){var _=266===r.kind?r.sourceFiles:[r],d=u.referencesOutput+c(u.synchronousDeclarationOutput,u.moduleElementDeclarationEmitInfo);e.writeFile(a,o,t,d,a.getCompilerOptions().emitBOM,_);}return l}e.getDeclarationDiagnostics=t,e.writeDeclarationFile=r;}(r||(r={}));!function(e){function t(t,r,a,i,o){function s(n,a){var o=n.jsFilePath,s=n.sourceMapFilePath,u=n.declarationFilePath;r.isEmitBlocked(o)||f.noEmit?k=!0:i||c(o,s,a),u&&(k=e.writeDeclarationFile(u,e.getOriginalSourceFileOrBundle(a),r,t,h,i)||k),!k&&y&&(i||y.push(o),s&&y.push(s),u&&y.push(u));}function c(t,n,a){var i=266===a.kind?a:void 0,o=265===a.kind?a:void 0,s=i?i.sourceFiles:[o];x.initialize(t,n,a),i?(d=e.createMap(),p=!1,C.writeBundle(i,b)):(p=!0,C.writeFile(o,b)),b.writeLine();var c=x.getSourceMappingURL();c&&b.write("//# sourceMappingURL="+c),f.sourceMap&&!f.inlineSourceMap&&e.writeFile(r,h,n,x.getText(),!1,s),g&&g.push(x.getSourceMapData()),e.writeFile(r,h,t,b.getText(),f.emitBOM,s),x.reset(),b.reset(),_=void 0,d=void 0,p=!1;}function u(e){_=e,x.setSourceFile(e);}function l(t,n){var r=!1,a=266===t.kind?t:void 0;if(!a||m!==e.ModuleKind.None){for(var i=a?a.sourceFiles.length:1,o=0;o "),h(e.type);}function Z(e){Fn("new "),En(e,e.typeParameters),Nn(e,e.parameters),Fn(" => "),h(e.type);}function ee(e){Fn("typeof "),h(e.exprName);}function te(e){Fn("{"),wn(e,e.members,65),Fn("}");}function ne(e){h(e.elementType),Fn("[]");}function re(e){Fn("["),wn(e,e.elementTypes,336),Fn("]");}function ae(e){wn(e,e.types,260);}function ie(e){wn(e,e.types,264);}function oe(e){Fn("("),h(e.type),Fn(")");}function se(){Fn("this");}function ce(e){jn(e.operator),Fn(" "),h(e.type);}function ue(e){h(e.objectType),Fn("["),h(e.indexType),Fn("]");}function le(e){Fn("{"),In(),Rn(),Bn(e.readonlyToken,"readonly "),Fn("["),h(e.typeParameter.name),Fn(" in "),h(e.typeParameter.constraint),Fn("]"),Bn(e.questionToken,"?"),Fn(": "),h(e.type),Fn(";"),In(),Mn(),Fn("}");}function _e(e){b(e.literal);}function de(e){var t=e.elements;0===t.length?Fn("{}"):(Fn("{"),wn(e,t,432),Fn("}"));}function pe(e){0===e.elements.length?Fn("[]"):(Fn("["),wn(e,e.elements,304),Fn("]"));}function fe(e){kn(e.propertyName,": "),Bn(e.dotDotDotToken,"..."),h(e.name),bn(" = ",e.initializer);}function me(e){var t=e.elements;0===t.length?Fn("[]"):Pn(e,t,4466|(e.multiLine?32768:0));}function ge(t){var n=t.properties;if(0===n.length)Fn("{}");else{var r=32768&e.getEmitFlags(t);r&&Rn();var a=t.multiLine?32768:0;wn(t,n,978|(hr.languageVersion>=1?32:0)|a),r&&Mn();}}function ye(t){var n=!1,r=!1;if(!(65536&e.getEmitFlags(t))){var a={kind:23,pos:t.expression.end,end:e.skipTrivia(hr.text,t.expression.end)+1};n=Xn(t,t.expression,a),r=Xn(t,a,t.name);}b(t.expression),Vn(n),Fn(!n&&he(t.expression)?"..":"."),Vn(r),h(t.name),qn(n,r);}function he(n){if(n=e.skipPartiallyEmittedExpressions(n),e.isNumericLiteral(n)){var r=tr(n);return!n.numericLiteralFlags&&r.indexOf(e.tokenToString(23))<0}if(e.isPropertyAccessExpression(n)||e.isElementAccessExpression(n)){var a=e.getConstantValue(n);return isFinite(a)&&Math.floor(a)===a&&t.removeComments}}function ve(e){b(e.expression),Fn("["),b(e.argumentExpression),Fn("]");}function be(e){b(e.expression),Cn(e,e.typeArguments),Pn(e,e.arguments,1296);}function xe(e){Fn("new "),b(e.expression),Cn(e,e.typeArguments),Pn(e,e.arguments,9488);}function ke(e){b(e.tag),Fn(" "),b(e.template);}function Se(e){Fn("<"),h(e.type),Fn(">"),b(e.expression);}function Te(e){Fn("("),b(e.expression),Fn(")");}function Ce(e){gt(e);}function Ee(e){Tn(e,e.decorators),hn(e,e.modifiers),ht(e,De);}function De(e){En(e,e.typeParameters),Nn(e,e.parameters),vn(": ",e.type),Fn(" =>");}function Ne(e){Fn("delete "),b(e.expression);}function Ae(e){Fn("typeof "),b(e.expression);}function we(e){Fn("void "),b(e.expression);}function Pe(e){Fn("await "),b(e.expression);}function Oe(e){jn(e.operator),Fe(e)&&Fn(" "),b(e.operand);}function Fe(e){var t=e.operand;return 192===t.kind&&(37===e.operator&&(37===t.operator||43===t.operator)||38===e.operator&&(38===t.operator||44===t.operator))}function Ie(e){b(e.operand),jn(e.operator);}function Re(e){var t=26!==e.operatorToken.kind,n=Xn(e,e.left,e.operatorToken),r=Xn(e,e.operatorToken,e.right);b(e.left),Vn(n,t?" ":void 0),jn(e.operatorToken.kind),Vn(r," "),b(e.right),qn(n,r);}function Me(e){var t=Xn(e,e.condition,e.questionToken),n=Xn(e,e.questionToken,e.whenTrue),r=Xn(e,e.whenTrue,e.colonToken),a=Xn(e,e.colonToken,e.whenFalse);b(e.condition),Vn(t," "),Fn("?"),Vn(n," "),b(e.whenTrue),qn(t,n),Vn(r," "),Fn(":"),Vn(a," "),b(e.whenFalse),qn(r,a);}function Le(e){h(e.head),wn(e,e.templateSpans,131072);}function Be(e){Fn(e.asteriskToken?"yield*":"yield"),bn(" ",e.expression);}function Ke(e){Fn("..."),b(e.expression);}function je(e){Ct(e);}function Je(e){b(e.expression),Cn(e,e.typeArguments);}function ze(e){b(e.expression),e.type&&(Fn(" as "),h(e.type));}function Ue(e){b(e.expression),Fn("!");}function Ve(e){Kn(e.keywordToken,e.pos),Fn("."),h(e.name);}function qe(e){b(e.expression),h(e.literal);}function $e(e){Yn(e)?(Kn(17,e.pos,e),Fn(" "),Kn(18,e.statements.end,e)):(Kn(17,e.pos,e),Ge(e),Rn(),Jr(e.statements.end),Mn(),Kn(18,e.statements.end,e));}function Ge(t){1&e.getEmitFlags(t)?wn(t,t.statements,384):wn(t,t.statements,65);}function We(e){hn(e,e.modifiers),h(e.declarationList),Fn(";");}function He(){Fn(";");}function Xe(e){b(e.expression),Fn(";");}function Ye(e){var t=Kn(90,e.pos,e);Fn(" "),Kn(19,t,e),b(e.expression),Kn(20,e.expression.end,e),Sn(e,e.thenStatement),e.elseStatement&&(Jn(e),Kn(82,e.thenStatement.end,e),211===e.elseStatement.kind?(Fn(" "),h(e.elseStatement)):Sn(e,e.elseStatement));}function Qe(t){Fn("do"),Sn(t,t.statement),e.isBlock(t.statement)?Fn(" "):Jn(t),Fn("while ("),b(t.expression),Fn(");");}function Ze(e){Fn("while ("),b(e.expression),Fn(")"),Sn(e,e.statement);}function et(e){var t=Kn(88,e.pos);Fn(" "),Kn(19,t,e),rt(e.initializer),Fn(";"),bn(" ",e.condition),Fn(";"),bn(" ",e.incrementor),Fn(")"),Sn(e,e.statement);}function tt(e){var t=Kn(88,e.pos);Fn(" "),Kn(19,t),rt(e.initializer),Fn(" in "),b(e.expression),Kn(20,e.expression.end),Sn(e,e.statement);}function nt(e){var t=Kn(88,e.pos);Fn(" "),kn(e.awaitModifier," "),Kn(19,t),rt(e.initializer),Fn(" of "),b(e.expression),Kn(20,e.expression.end),Sn(e,e.statement);}function rt(e){void 0!==e&&(227===e.kind?h(e):b(e));}function at(e){Kn(77,e.pos),vn(" ",e.label),Fn(";");}function it(e){Kn(72,e.pos),vn(" ",e.label),Fn(";");}function ot(e){Kn(96,e.pos,e),bn(" ",e.expression),Fn(";");}function st(e){Fn("with ("),b(e.expression),Fn(")"),Sn(e,e.statement);}function ct(e){var t=Kn(98,e.pos);Fn(" "),Kn(19,t),b(e.expression),Kn(20,e.expression.end),Fn(" "),h(e.caseBlock);}function ut(e){h(e.label),Fn(": "),h(e.statement);}function lt(e){Fn("throw"),bn(" ",e.expression),Fn(";");}function _t(e){Fn("try "),h(e.tryBlock),e.catchClause&&(Jn(e),h(e.catchClause)),e.finallyBlock&&(Jn(e),Fn("finally "),h(e.finallyBlock));}function dt(e){Kn(78,e.pos),Fn(";");}function pt(e){h(e.name),vn(": ",e.type),bn(" = ",e.initializer);}function ft(t){Fn(e.isLet(t)?"let ":e.isConst(t)?"const ":"var "),wn(t,t.declarations,272);}function mt(e){gt(e);}function gt(e){Tn(e,e.decorators),hn(e,e.modifiers),Fn(e.asteriskToken?"function* ":"function "),v(e.name),ht(e,vt);}function yt(e,t){xt(t);}function ht(t,n){var r=t.body;if(r)if(e.isBlock(r)){var a=32768&e.getEmitFlags(t);a&&Rn(),262144&e.getEmitFlags(t)?(n(t),wr?wr(3,r,yt):xt(r)):(nr(),n(t),wr?wr(3,r,yt):xt(r),rr()),a&&Mn();}else n(t),Fn(" "),b(r);else n(t),Fn(";");}function vt(e){En(e,e.typeParameters),Dn(e,e.parameters),vn(": ",e.type);}function bt(t){if(1&e.getEmitFlags(t))return!0;if(t.multiLine)return!1;if(!e.nodeIsSynthesized(t)&&!e.rangeIsOnSingleLine(t,hr))return!1;if($n(t,t.statements,2)||Wn(t,t.statements,2))return!1;for(var n,r=0,a=t.statements;r0&&h(e.attributes),Fn("/>");}function Wt(e){Fn("<"),tn(e.tagName),Ln(e.attributes.properties," "),e.attributes.properties&&e.attributes.properties.length>0&&h(e.attributes),Fn(">");}function Ht(e){Tr.writeLiteral(er(e,!0));}function Xt(e){Fn("");}function Yt(e){wn(e,e.properties,131328);}function Qt(e){h(e.name),vn("=",e.initializer);}function Zt(e){Fn("{..."),b(e.expression),Fn("}");}function en(e){e.expression&&(Fn("{"),e.dotDotDotToken&&Fn("..."),b(e.expression),Fn("}"));}function tn(e){71===e.kind?b(e):h(e);}function nn(e){Fn("case "),b(e.expression),Fn(":"),an(e,e.statements);}function rn(e){Fn("default:"),an(e,e.statements);}function an(t,n){1===n.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(n[0])||e.rangeStartPositionsAreOnSameLine(t,n[0],hr))?(Fn(" "),h(n[0])):wn(t,n,81985);}function on$$1(e){Fn(" "),jn(e.token),Fn(" "),wn(e,e.types,272);}function sn(e){var t=Kn(74,e.pos);Fn(" "),Kn(19,t),h(e.variableDeclaration),Kn(20,e.variableDeclaration?e.variableDeclaration.end:t),Fn(" "),h(e.block);}function cn(t){h(t.name),Fn(": ");var n=t.initializer;if(jr&&0==(512&e.getEmitFlags(n))){var r=e.getCommentRange(n);jr(r.pos);}b(n);}function un(e){h(e.name),e.objectAssignmentInitializer&&(Fn(" = "),b(e.objectAssignmentInitializer));}function ln(e){e.expression&&(Fn("..."),b(e.expression));}function _n(e){h(e.name),bn(" = ",e.initializer);}function dn(t){In();var n=t.statements;!Kr||0!==n.length&&e.isPrologueDirective(n[0])&&!e.nodeIsSynthesized(n[0])?pn(t):Kr(t,n,pn);}function pn(t){var n=t.statements;nr(),w(t);var r=e.findIndex(n,function(t){return!e.isPrologueDirective(t)});wn(t,n,1,-1===r?n.length:r),rr();}function fn(e){b(e.expression);}function mn(t,n,r){for(var a=0;a0)&&In(),h(i),r&&r.set(i.expression.text,i.expression.text));}return t.length}function gn(t){if(e.isSourceFile(t))m(t),mn(t.statements);else for(var n=e.createMap(),r=0,a=t.sourceFiles;r=o.length||0===u;if(!(_&&16384&s)){if(7680&s&&Fn(a(s)),Ir&&Ir(o),_)1&s?In():128&s&&Fn(" ");else{var d=0==(131072&s),p=d;$n(n,o,s)?(In(),p=!1):128&s&&Fn(" "),64&s&&Rn();for(var f=void 0,m=void 0,g=r(s),y=0;y"],e[4096]=["[","]"],e}();e.emitFiles=t,e.createPrinter=n;var c;!function(e){e[e.Auto=0]="Auto",e[e.CountMask=268435455]="CountMask",e[e._i=268435456]="_i";}(c||(c={}));var u;!function(e){e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.DelimitersMask=28]="DelimitersMask",e[e.AllowTrailingComma=32]="AllowTrailingComma",e[e.Indented=64]="Indented",e[e.SpaceBetweenBraces=128]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=256]="SpaceBetweenSiblings",e[e.Braces=512]="Braces",e[e.Parenthesis=1024]="Parenthesis",e[e.AngleBrackets=2048]="AngleBrackets",e[e.SquareBrackets=4096]="SquareBrackets",e[e.BracketsMask=7680]="BracketsMask",e[e.OptionalIfUndefined=8192]="OptionalIfUndefined",e[e.OptionalIfEmpty=16384]="OptionalIfEmpty",e[e.Optional=24576]="Optional",e[e.PreferNewLine=32768]="PreferNewLine",e[e.NoTrailingNewLine=65536]="NoTrailingNewLine",e[e.NoInterveningComments=131072]="NoInterveningComments",e[e.Modifiers=256]="Modifiers",e[e.HeritageClauses=256]="HeritageClauses",e[e.TypeLiteralMembers=65]="TypeLiteralMembers",e[e.TupleTypeElements=336]="TupleTypeElements",e[e.UnionTypeConstituents=260]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=264]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=432]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=304]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=978]="ObjectLiteralExpressionProperties",e[e.ArrayLiteralExpressionElements=4466]="ArrayLiteralExpressionElements",e[e.CallExpressionArguments=1296]="CallExpressionArguments",e[e.NewExpressionArguments=9488]="NewExpressionArguments",e[e.TemplateExpressionSpans=131072]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=384]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=65]="MultiLineBlockStatements",e[e.VariableDeclarationList=272]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=384]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=256]="ClassHeritageClauses",e[e.ClassMembers=65]="ClassMembers",e[e.InterfaceMembers=65]="InterfaceMembers",e[e.EnumMembers=81]="EnumMembers",e[e.CaseBlockClauses=65]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=432]="NamedImportsOrExportsElements",e[e.JsxElementChildren=131072]="JsxElementChildren",e[e.JsxElementAttributes=131328]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=81985]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=272]="HeritageClauseTypes",e[e.SourceFileStatements=65537]="SourceFileStatements",e[e.Decorators=24577]="Decorators",e[e.TypeArguments=26960]="TypeArguments",e[e.TypeParameters=26960]="TypeParameters",e[e.Parameters=1360]="Parameters",e[e.IndexSignatureParameters=4432]="IndexSignatureParameters";}(u||(u={}));}(r||(r={}));!function(e){function t(t,n,r){for(void 0===r&&(r="tsconfig.json");;){var a=e.combinePaths(t,r);if(n(a))return a;var i=e.getDirectoryPath(t);if(i===t)break;t=i;}}function n(t,n){var r=e.getDirectoryPath(n),a=e.isRootedDiskPath(t)?t:e.combinePaths(r,t);return e.normalizePath(a)}function r(t,n,r){var a;return e.forEach(t,function(t){var i=e.getNormalizedPathComponents(t,n);if(i.pop(),a){for(var o=Math.min(a.length,i.length),s=0;se.getRootLength(t)&&!i(t)&&(o(e.getDirectoryPath(t)),e.sys.createDirectory(t));}function s(t,n,r){l||(l=e.createMap());var a=e.sys.createHash(n),i=e.sys.getModifiedTime(t);if(i){var o=l.get(t);if(o&&o.byteOrderMark===r&&o.hash===a&&o.mtime.getTime()===i.getTime())return}e.sys.writeFile(t,n,r);var s=e.sys.getModifiedTime(t);l.set(t,{hash:a,byteOrderMark:r,mtime:s});}function c(n,r,a,i){try{e.performance.mark("beforeIOWrite"),o(e.getDirectoryPath(e.normalizePath(n))),e.isWatchSet(t)&&e.sys.createHash&&e.sys.getModifiedTime?s(n,r,a):e.sys.writeFile(n,r,a),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite");}catch(e){i&&i(e.message);}}function u(){return e.getDirectoryPath(e.normalizePath(e.sys.getExecutingFilePath()))}var l,_=e.createMap(),d=e.getNewLineCharacter(t),p=e.sys.realpath&&function(t){return e.sys.realpath(t)};return{getSourceFile:a,getDefaultLibLocation:u,getDefaultLibFileName:function(t){return e.combinePaths(u(),e.getDefaultLibFileName(t))},writeFile:c,getCurrentDirectory:e.memoize(function(){return e.sys.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return e.sys.useCaseSensitiveFileNames},getCanonicalFileName:r,getNewLine:function(){return d},fileExists:function(t){return e.sys.fileExists(t)},readFile:function(t){return e.sys.readFile(t)},trace:function(t){return e.sys.write(t+d)},directoryExists:function(t){return e.sys.directoryExists(t)},getEnvironmentVariable:function(t){return e.sys.getEnvironmentVariable?e.sys.getEnvironmentVariable(t):""},getDirectories:function(t){return e.sys.getDirectories(t)},realpath:p}}function i(t,n,r){var a=t.getOptionsDiagnostics(r).concat(t.getSyntacticDiagnostics(n,r),t.getGlobalDiagnostics(r),t.getSemanticDiagnostics(n,r));return t.getCompilerOptions().declaration&&(a=a.concat(t.getDeclarationDiagnostics(n,r))),e.sortAndDeduplicateDiagnostics(a)}function o(t,n){for(var r="",a=0,i=t;a0||c.length>0)return{diagnostics:e.concatenate(u,c),sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0}}var l=y().getEmitResolver(i.outFile||i.out?void 0:n);e.performance.mark("beforeEmit");var _=o?[]:e.getTransformers(i,s),d=e.emitFiles(l,m(r),n,o,_);return e.performance.mark("afterEmit"),e.performance.measure("Emit","beforeEmit","afterEmit"),d}function S(t){return T(e.toPath(t,ke,Z))}function T(e){return Ne.get(e)}function C(t,n,r){if(t)return n(t,r);var a=[];return e.forEach(ae.getSourceFiles(),function(t){r&&r.throwIfCancellationRequested(),e.addRange(a,n(t,r));}),e.sortAndDeduplicateDiagnostics(a)}function E(e,t){return C(e,A,t)}function D(e,t){return C(e,P,t)}function N(e,t){var n=ae.getCompilerOptions();return!e||n.out||n.outFile?R(e,t):C(e,B,t)}function A(t){return e.isSourceFileJavaScript(t)?(t.additionalSyntacticDiagnostics||(t.additionalSyntacticDiagnostics=I(t)),e.concatenate(t.additionalSyntacticDiagnostics,t.parseDiagnostics)):t.parseDiagnostics}function w(t){try{return t()}catch(t){throw t instanceof e.OperationCanceledException&&(se=void 0,oe=void 0),t}}function P(e,t){return L(e,t,le,O)}function O(t,n){return w(function(){if(i.skipLibCheck&&t.isDeclarationFile||i.skipDefaultLibCheck&&t.hasNoDefaultLib)return _;var r=y();e.Debug.assert(!!t.bindDiagnostics);var a=t.bindDiagnostics,o=!e.isSourceFileJavaScript(t)||e.isCheckJsEnabledForFile(t,i)?r.getDiagnostics(t,n):[],s=pe.getDiagnostics(t.fileName),c=xe.getDiagnostics(t.fileName),u=a.concat(o,s,c);return e.isSourceFileJavaScript(t)?e.filter(u,F):u})}function F(t){var n=t.file,r=t.start;if(n)for(var a=e.getLineStarts(n),i=e.computeLineAndCharacterOfPosition(a,r).line;i>0;){var o=n.text.slice(a[i-1],a[i]),s=d.exec(o);if(!s)return!0;if(s[3])return!1;i--;}return!0}function I(t){return w(function(){function n(t){switch(u.kind){case 146:case 149:if(u.questionToken===t)return void c.push(s(t,e.Diagnostics._0_can_only_be_used_in_a_ts_file,"?"));case 151:case 150:case 152:case 153:case 154:case 186:case 228:case 187:case 228:case 226:if(u.type===t)return void c.push(s(t,e.Diagnostics.types_can_only_be_used_in_a_ts_file))}switch(t.kind){case 237:return void c.push(s(t,e.Diagnostics.import_can_only_be_used_in_a_ts_file));case 243:if(t.isExportEquals)return void c.push(s(t,e.Diagnostics.export_can_only_be_used_in_a_ts_file));break;case 259:if(108===t.token)return void c.push(s(t,e.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file));break;case 230:return void c.push(s(t,e.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file));case 233:return void c.push(s(t,e.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file));case 231:return void c.push(s(t,e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file));case 232:return void c.push(s(t,e.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file));case 184:var a=t;return void c.push(s(a.type,e.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file))}var i=u;u=t,e.forEachChild(t,n,r),u=i;}function r(t){switch(u.decorators!==t||i.experimentalDecorators||c.push(s(u,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)),u.kind){case 229:case 151:case 150:case 152:case 153:case 154:case 186:case 228:case 187:case 228:if(t===u.typeParameters)return void c.push(o(t,e.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file));case 208:if(t===u.modifiers)return a(t,208===u.kind);break;case 149:if(t===u.modifiers){for(var r=0,l=t;r0),l.path=n,o.useCaseSensitiveFileNames()){var _=Ae.get(n);_?G(t,_.fileName,a,s,c):Ae.set(n,l);}be=be||l.hasNoDefaultLib,i.noResolve||(H(l,r),X(l)),ee(l),r?ue.unshift(l):ue.push(l);}return l}function H(t,r){e.forEach(t.referencedFiles,function(e){$(n(e.fileName,t.fileName),r,t,e.pos,e.end);});}function X(t){for(var n=e.map(t.typeReferenceDirectives,function(e){return e.fileName.toLocaleLowerCase()}),r=Ee(n,t.fileName),a=0;afe,p=_&&!l(i,s)&&!i.noResolve&&o1})&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));}if(!i.noEmit&&i.allowJs&&i.declaration&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs","declaration")),i.checkJs&&!i.allowJs&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs")),i.emitDecoratorMetadata&&!i.experimentalDecorators&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators")),i.jsxFactory?(i.reactNamespace&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory")),e.parseIsolatedEntityName(i.jsxFactory,l)||xe.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,i.jsxFactory))):i.reactNamespace&&!e.isIdentifierText(i.reactNamespace,l)&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,i.reactNamespace)),!i.noEmit&&!i.suppressOutputPathCheck){var v=m(),b=e.createFileMap(o.useCaseSensitiveFileNames()?void 0:function(e){return e.toLocaleLowerCase()});e.forEachEmittedFile(v,function(e){t(e.jsFilePath,b),t(e.declarationFilePath,b);});}}(),e.performance.mark("afterProgram"),e.performance.measure("Program","beforeProgram","afterProgram"),ae}function l(t,n){function r(){return t.jsx?void 0:e.Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set}function a(){return t.allowJs?void 0:e.Diagnostics.Module_0_was_resolved_to_1_but_allowJs_is_not_set}switch(n.extension){case e.Extension.Ts:case e.Extension.Dts:return;case e.Extension.Tsx:return r();case e.Extension.Jsx:return r()||a();case e.Extension.Js:return a()}}var _=[],d=/(^\s*$)|(^\s*\/\/\/?\s*(@ts-ignore)?)/;e.findConfigFile=t,e.resolveTripleslashReference=n,e.computeCommonSourceDirectoryOfFilenames=r,e.createCompilerHost=a,e.getPreEmitDiagnostics=i,e.formatDiagnostics=o,e.flattenDiagnosticMessageText=s,e.createProgram=u,e.getResolutionDiagnostic=l;}(r||(r={}));!function(e){function t(e){return e&&void 0!==e.enableAutoDiscovery&&void 0===e.enable?{enable:e.enableAutoDiscovery,include:e.include||[],exclude:e.exclude||[]}:e}function n(){if(w)return w;var t=e.createMap(),n=e.createMap();return e.forEach(e.optionDeclarations,function(e){t.set(e.name.toLowerCase(),e),e.shortName&&n.set(e.shortName,e.name);}),w={optionNameMap:t,shortOptionNames:n}}function r(t){var n=e.arrayFrom(t.type.keys()).map(function(e){return"'"+e+"'"}).join(", ");return e.createCompilerDiagnostic(e.Diagnostics.Argument_for_0_option_must_be_Colon_1,"--"+t.name,n)}function a(e,t,n){return v(e,x(t||""),n)}function i(t,n,r){if(void 0===n&&(n=""),n=x(n),!e.startsWith(n,"-")){if(""===n)return[];var i=n.split(",");switch(t.element.type){case"number":return e.map(i,parseInt);case"string":return e.map(i,function(e){return e||""});default:return e.filter(e.map(i,function(e){return a(t.element,e,r)}),function(e){return!!e})}}}function o(t,r){function o(t){for(var n=0;n=n.length)break;var s=i;if(34===n.charCodeAt(s)){for(i++;i32;)i++;a.push(n.substring(s,i));}}o(a);}else l.push(e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,t));}var c={},u=[],l=[],_=n(),d=_.optionNameMap,p=_.shortOptionNames;return o(t),{options:c,fileNames:u,errors:l}}function s(t,n){var r="";try{r=n(t);}catch(n){return{error:e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,n.message)}}return c(t,r)}function c(t,n,r){void 0===r&&(r=!0);try{var a=r?l(n):n;return{config:/\S/.test(a)?JSON.parse(a):{}}}catch(n){return{error:e.createCompilerDiagnostic(e.Diagnostics.Failed_to_parse_file_0_Colon_1,t,n.message)}}}function u(t,r,a){function i(e){return"string"===e.type||"number"===e.type||"boolean"===e.type?void 0:"list"===e.type?i(e.element):e.type}function o(t,n){return e.forEachEntry(n,function(e,n){if(e===t)return n})}function s(t){switch(t.type){case"number":return 1;case"boolean":return!0;case"string":return t.isFilePath?"./":"";case"list":return[];case"object":return{};default:return e.arrayFrom(t.type.keys())[0]}}function c(e){return Array(e+1).join(" ")}var u={compilerOptions:function(t){var r={},a=n().optionNameMap;for(var s in t)if(e.hasProperty(t,s)){if(a.has(s)&&a.get(s).category===e.Diagnostics.Command_line_Options)continue;var c=t[s],u=a.get(s.toLowerCase());if(u){var l=i(u);if(l)if("list"===u.type){for(var _=[],d=0,p=c;d=0)return{options:{},fileNames:[],typeAcquisition:{},raw:t,errors:[e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,o.concat([p]).join(" -> "))],wildcardDirectories:{}};var f,y=m(t.compilerOptions,r,u,i),h=g(t.typeAcquisition||t.typingOptions,r,u,i);if(t.extends){var v=[void 0,void 0,void 0,{}],b=v[0],x=v[1],S=v[2],T=v[3];"string"==typeof t.extends?(b=(A=function(a){if(e.isRootedDiskPath(a)||e.startsWith(e.normalizeSlashes(a),"./")||e.startsWith(e.normalizeSlashes(a),"../")){var i=e.toPath(a,r,l);if(n.fileExists(i)||e.endsWith(i,".json")||(i+=".json",n.fileExists(i))){var c=s(i,function(e){return n.readFile(e)});if(!c.error){var d=e.getDirectoryPath(i),f=e.convertToRelativePath(d,r,l),m=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f,t)},g=_(c.config,n,d,void 0,e.getBaseFileName(i),o.concat([p]));u.push.apply(u,g.errors);var y=e.map(["include","exclude","files"],function(n){if(!t[n]&&c.config[n])return e.map(c.config[n],m)});return[y[0],y[1],y[2],g.compileOnSave,g.options]}u.push(c.error);}else u.push(e.createCompilerDiagnostic(e.Diagnostics.File_0_does_not_exist,a));}else u.push(e.createCompilerDiagnostic(e.Diagnostics.A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not,a));}(t.extends)||[b,x,S,f,T])[0],x=A[1],S=A[2],f=A[3],T=A[4]):u.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string")),b&&!t.include&&(t.include=b),x&&!t.exclude&&(t.exclude=x),S&&!t.files&&(t.files=S),y=e.assign({},T,y);}(y=e.extend(a,y)).configFilePath=i;var C=function(a){var s;e.hasProperty(t,"files")&&(e.isArray(t.files)?0===(s=t.files).length&&a.push(e.createCompilerDiagnostic(e.Diagnostics.The_files_list_in_config_file_0_is_empty,i||"tsconfig.json")):a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"files","Array")));var u;e.hasProperty(t,"include")&&(e.isArray(t.include)?u=t.include:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"include","Array")));var l;if(e.hasProperty(t,"exclude"))e.isArray(t.exclude)?l=t.exclude:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"exclude","Array"));else if(e.hasProperty(t,"excludes"))a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));else{l=u?[]:["node_modules","bower_components","jspm_packages"];var _=t.compilerOptions&&t.compilerOptions.outDir;_&&l.push(_);}void 0===s&&void 0===u&&(u=["**/*"]);var d=k(s,u,l,r,y,n,a,c);return 0!==d.fileNames.length||e.hasProperty(t,"files")||0!==o.length||a.push(e.createCompilerDiagnostic(e.Diagnostics.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,i||"tsconfig.json",JSON.stringify(u||[]),JSON.stringify(l||[]))),d}(u),E=C.fileNames,D=C.wildcardDirectories,N=d(t,r,u);return f&&void 0===t[e.compileOnSaveCommandLineOption.name]&&(N=f),{options:y,fileNames:E,typeAcquisition:h,raw:t,errors:u,wildcardDirectories:D,compileOnSave:N};var A;}function d(t,n,r){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var a=h(e.compileOnSaveCommandLineOption,t.compileOnSave,n,r);return!("boolean"!=typeof a||!a)&&a}function p(e,t,n){var r=[];return{options:m(e,t,r,n),errors:r}}function f(e,t,n){var r=[];return{options:g(e,t,r,n),errors:r}}function m(t,n,r,a){var i="jsconfig.json"===e.getBaseFileName(a)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0}:{};return y(e.optionDeclarations,t,n,i,e.Diagnostics.Unknown_compiler_option_0,r),i}function g(n,r,a,i){var o={enable:"jsconfig.json"===e.getBaseFileName(i),include:[],exclude:[]},s=t(n);return y(e.typeAcquisitionDeclarations,s,r,o,e.Diagnostics.Unknown_type_acquisition_option_0,a),o}function y(t,n,r,a,i,o){if(n){var s=e.arrayToMap(t,function(e){return e.name});for(var c in n){var u=s.get(c);u?a[u.name]=h(u,n[c],r,o):o.push(e.createCompilerDiagnostic(i,c));}}}function h(t,n,r,a){var i=t.type,o="string"==typeof i?i:"string";return"list"===i&&e.isArray(n)?b(t,n,r,a):typeof n===o?"string"!=typeof i?v(t,n,a):(t.isFilePath&&""===(n=e.normalizePath(e.combinePaths(r,n)))&&(n="."),n):void a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,o))}function v(e,t,n){var a=t.toLowerCase(),i=e.type.get(a);if(void 0!==i)return i;n.push(r(e));}function b(t,n,r,a){return e.filter(e.map(n,function(e){return h(t.element,e,r,a)}),function(e){return!!e})}function x(e){return"function"==typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}function k(t,n,r,a,i,o,s,c){a=e.normalizePath(a);var u=o.useCaseSensitiveFileNames?N:A,l=e.createMap(),_=e.createMap();n&&(n=S(n,s,!1)),r&&(r=S(r,s,!0));var d=T(n,r,a,o.useCaseSensitiveFileNames),p=e.getSupportedExtensions(i,c);if(t)for(var f=0,m=t;f0)for(var h=0,v=o.readDirectory(a,p,r,n);h=n.end}function w(e,t,n){return e.pos<=t&&e.end>=n}function P(e,t,n){return O(e.pos,e.end,t,n)}function O(e,t,n,r){return Math.max(e,n)t||!I(e,n)}function I(t,n){if(e.nodeIsMissing(t))return!1;switch(t.kind){case 229:case 230:case 232:case 178:case 174:case 163:case 207:case 234:case 235:case 241:case 245:return R(t,18,n);case 260:return I(t.block,n);case 182:if(!t.arguments)return!0;case 181:case 185:case 168:return R(t,20,n);case 160:case 161:return I(t.type,n);case 152:case 153:case 154:case 228:case 186:case 151:case 150:case 156:case 155:case 187:return t.body?I(t.body,n):t.type?I(t.type,n):L(t,20,n);case 233:return t.body&&I(t.body,n);case 211:return t.elseStatement?I(t.elseStatement,n):I(t.thenStatement,n);case 210:return I(t.expression,n)||L(t,25);case 177:case 175:case 180:case 144:case 165:return R(t,22,n);case 157:return t.type?I(t.type,n):L(t,22,n);case 257:case 258:return!1;case 214:case 215:case 216:case 213:return I(t.statement,n);case 212:return B(t,106,n)?R(t,20,n):I(t.statement,n);case 162:return I(t.exprName,n);case 189:case 188:case 190:case 197:case 198:return I(t.expression,n);case 183:return I(t.template,n);case 196:return I(e.lastOrUndefined(t.templateSpans),n);case 205:return e.nodeIsPresent(t.literal);case 244:case 238:return e.nodeIsPresent(t.moduleSpecifier);case 192:return I(t.operand,n);case 194:return I(t.right,n);case 195:return I(t.whenFalse,n);default:return!0}}function R(t,n,r){var a=t.getChildren(r);if(a.length){var i=e.lastOrUndefined(a);if(i.kind===n)return!0;if(25===i.kind&&1!==a.length)return a[a.length-2].kind===n}return!1}function M(t){var n=K(t);if(n){var r=n.getChildren();return{listItemIndex:e.indexOf(r,t),list:n}}}function L(e,t,n){return!!B(e,t,n)}function B(t,n,r){return e.forEach(t.getChildren(r),function(e){return e.kind===n&&e})}function K(t){var n=e.forEach(t.parent.getChildren(),function(e){if(294===e.kind&&e.pos<=t.pos&&e.end>=t.end)return e});return e.Debug.assert(!n||e.contains(n.getChildren(),t)),n}function j(e,t,n){return void 0===n&&(n=!1),z(e,t,function(e){return ae(e.kind)},n)}function J(e,t,n){return void 0===n&&(n=!1),z(e,t,function(e){return ie(e.kind)},n)}function z(e,t,n,r){return void 0===r&&(r=!1),V(e,t,!1,n,r)}function U(e,t,n){return void 0===n&&(n=!1),V(e,t,!0,void 0,n)}function V(t,n,r,a,i){void 0===i&&(i=!1);var o=t;e:for(;;){if(e.isToken(o))return o;if(i)for(var s=0,c=e.filter(o.getChildren(),e.isJSDocNode);sr.getStart(t)&&nt.end||o.pos===t.end)&&te(o))return r(o)}}return r(n)}function G(t,n,r){function a(t){if(e.isToken(t))return t;var n=t.getChildren(),r=o(n,n.length);return r&&a(r)}function i(s){if(e.isToken(s))return s;for(var c=s.getChildren(),u=0;u=t||10===l.kind&&_===l.end?(d=o(c,u))&&a(d):i(l)}}if(e.Debug.assert(void 0!==r||265===s.kind),c.length){var d=o(c,c.length);return d&&a(d)}}function o(e,t){for(var n=t-1;n>=0;n--)if(te(e[n]))return e[n]}return i(r||n)}function W(e,t){var n=G(t,e);if(n&&9===n.kind){var r=n.getStart(),a=n.getEnd();if(rr.getStart(t)}function Q(t,n,r){var a=U(t,n);if(a&&n<=a.getStart(t)){var i=e.getLeadingCommentRanges(t.text,a.pos);return r?e.forEach(i,function(e){return e.pos=e.pos+3&&"/"===n[e.pos]&&"*"===n[e.pos+1]&&"*"===n[e.pos+2]}var a=U(t,n),i=e.getLeadingCommentRanges(t.text,a.pos);return e.forEach(i,r)}function ee(t,n){var r=e.getTokenAtPosition(t,n);if(e.isToken(r))switch(r.kind){case 104:case 110:case 76:r=void 0===r.parent?void 0:r.parent.parent;break;default:r=r.parent;}if(r&&r.jsDoc)for(var a=0,i=r.jsDoc;a0?r.join(","):e.ScriptElementKindModifier.none}function re(t){return 159===t.kind||181===t.kind?t.typeArguments:e.isFunctionLike(t)||229===t.kind||230===t.kind?t.typeParameters:void 0}function ae(t){return 71===t||e.isKeyword(t)}function ie(e){return 9===e||8===e||ae(e)}function oe(e){return 2===e||3===e}function se(t){return!(9!==t&&12!==t&&!e.isTemplateLiteralKind(t))}function ce(e){return 17<=e&&e<=70}function ue(t,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart()0&&146===e.declarations[0].kind}function n(n,a){return r(n,function(n){var r=n.flags;return 3&r?t(n)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:4&r?e.SymbolDisplayPartKind.propertyName:32768&r?e.SymbolDisplayPartKind.propertyName:65536&r?e.SymbolDisplayPartKind.propertyName:8&r?e.SymbolDisplayPartKind.enumMemberName:16&r?e.SymbolDisplayPartKind.functionName:32&r?e.SymbolDisplayPartKind.className:64&r?e.SymbolDisplayPartKind.interfaceName:384&r?e.SymbolDisplayPartKind.enumName:1536&r?e.SymbolDisplayPartKind.moduleName:8192&r?e.SymbolDisplayPartKind.methodName:262144&r?e.SymbolDisplayPartKind.typeParameterName:524288&r?e.SymbolDisplayPartKind.aliasName:8388608&r?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}(a))}function r(t,n){return{text:t,kind:e.SymbolDisplayPartKind[n]}}function a(){return r(" ",e.SymbolDisplayPartKind.space)}function i(t){return r(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function o(t){return r(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)}function s(t){return r(e.tokenToString(t),e.SymbolDisplayPartKind.operator)}function c(t){var n=e.stringToToken(t);return void 0===n?u(t):i(n)}function u(t){return r(t,e.SymbolDisplayPartKind.text)}function l(e){return e.getNewLine?e.getNewLine():E}function _(){return r("\n",e.SymbolDisplayPartKind.lineBreak)}function d(e){e(C);var t=C.displayParts();return C.clear(),t}function p(e,t,n,r){return d(function(a){e.getSymbolDisplayBuilder().buildTypeDisplay(t,a,n,r);})}function f(e,t,n,r,a){return d(function(i){e.getSymbolDisplayBuilder().buildSymbolDisplay(t,i,n,r,a);})}function m(e,t,n,r){return d(function(a){e.getSymbolDisplayBuilder().buildSignatureDisplay(t,a,n,r);})}function g(t,n,r){if(y(r)||e.isStringOrNumericLiteral(r)&&144===r.parent.kind)return r.text;var a=e.getLocalSymbolForExportDefault(n);return t.symbolToString(a||n)}function y(e){return e.parent&&(242===e.parent.kind||246===e.parent.kind)&&e.parent.propertyName===e}function h(e){var t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&(34===e.charCodeAt(0)||39===e.charCodeAt(0))?e.substring(1,t-1):e}function v(t,n){for(var r=[],a=2;a=0){var _=c-o;_>0&&a.push({length:_,classification:e.TokenClass.Whitespace});}a.push({length:u,classification:r(l)}),o=c+u;}var d=n.length-o;return d>0&&a.push({length:d,classification:e.TokenClass.Whitespace}),{entries:a,finalLexState:t.endOfLineState}}function r(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:default:return e.TokenClass.Identifier}}function a(e,t,r){return n(i(e,t,r),e)}function i(n,r,a){function i(e,t,n){if(8!==n){0===e&&o>0&&(e+=o);var r=(t-=o)-(e-=o);r>0&&(f.spans.push(e),f.spans.push(r),f.spans.push(n));}}for(var o=0,s=0,p=0;d.length>0;)d.pop();switch(r){case 3:n='"\\\n'+n,o=3;break;case 2:n="'\\\n"+n,o=3;break;case 1:n="/*\n"+n,o=3;break;case 4:n="`\n"+n,o=2;break;case 5:n="}\n"+n,o=2;case 6:d.push(14);}l.setText(n);var f={endOfLineState:0,spans:[]},m=0;do{if(s=l.scan(),!e.isTrivia(s)){if(41!==s&&63!==s||_[p]){if(23===p&&c(s))s=71;else if(c(p)&&c(s)&&!t(p,s))s=71;else if(71===p&&27===s)m++;else if(29===s&&m>0)m--;else if(119===s||136===s||133===s||122===s||137===s)m>0&&!a&&(s=71);else if(14===s)d.push(s);else if(17===s)d.length>0&&d.push(s);else if(18===s&&d.length>0){var g=e.lastOrUndefined(d);14===g?16===(s=l.reScanTemplateToken())?d.pop():e.Debug.assert(15===s,"Should have been a template middle. Was "+s):(e.Debug.assert(17===g,"Should have been an open brace. Was: "+s),d.pop());}}else 12===l.reScanSlashToken()&&(s=12);p=s;}!function(){var t=l.getTokenPos(),r=l.getTextPos();if(i(t,r,u(s)),r>=n.length)if(9===s){var a=l.getTokenText();if(l.isUnterminated()){for(var o=a.length-1,c=0;92===a.charCodeAt(o-c);)c++;if(1&c){var _=a.charCodeAt(0);f.endOfLineState=34===_?3:2;}}}else 3===s?l.isUnterminated()&&(f.endOfLineState=1):e.isTemplateLiteralKind(s)?l.isUnterminated()&&(16===s?f.endOfLineState=5:13===s?f.endOfLineState=4:e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+s)):d.length>0&&14===e.lastOrUndefined(d)&&(f.endOfLineState=6);}();}while(1!==s);return f}function o(e){switch(e){case 39:case 41:case 42:case 37:case 38:case 45:case 46:case 47:case 27:case 29:case 30:case 31:case 93:case 92:case 118:case 32:case 33:case 34:case 35:case 48:case 50:case 49:case 53:case 54:case 69:case 68:case 70:case 65:case 66:case 67:case 59:case 60:case 61:case 63:case 64:case 58:case 26:return!0;default:return!1}}function s(e){switch(e){case 37:case 38:case 52:case 51:case 43:case 44:return!0;default:return!1}}function c(e){return e>=72&&e<=142}function u(t){if(c(t))return 3;if(o(t)||s(t))return 5;if(t>=17&&t<=70)return 10;switch(t){case 8:return 4;case 9:return 6;case 12:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 71:default:return e.isTemplateLiteralKind(t)?6:2}}var l=e.createScanner(5,!1),_=[];_[71]=!0,_[9]=!0,_[8]=!0,_[12]=!0,_[99]=!0,_[43]=!0,_[44]=!0,_[20]=!0,_[22]=!0,_[18]=!0,_[101]=!0,_[86]=!0;var d=[];return{getClassificationsForLine:a,getEncodedLexicalClassifications:i}}function n(e,t,n,r,i){return o(a(e,t,n,r,i))}function r(e,t){switch(t){case 233:case 229:case 230:case 228:e.throwIfCancellationRequested();}}function a(t,n,a,i,o){function s(e,t,n){l.push(e),l.push(t),l.push(n);}function c(t,n){var r=t.getFlags();if(0!=(788448&r)){if(32&r)return 11;if(384&r)return 12;if(524288&r)return 16;if(2&n){if(64&r)return 13;if(262144&r)return 15}else if(1536&r&&(4&n||1&n&&function(t){return e.forEach(t.declarations,function(t){return 233===t.kind&&1===e.getModuleInstanceState(t)})}(t)))return 14}}function u(a){if(a&&e.textSpanIntersectsWith(o,a.getFullStart(),a.getFullWidth())){var l=a.kind;if(r(n,l),71===l&&!e.nodeIsMissing(a)){var _=a;if(i.get(_.text)){var d=t.getSymbolAtLocation(a);if(d){var p=c(d,e.getMeaningFromLocation(a));p&&s(a.getStart(),a.getWidth(),p);}}}e.forEachChild(a,u);}}var l=[];return u(a),{spans:l,endOfLineState:0}}function i(t){switch(t){case 1:return e.ClassificationTypeNames.comment;case 2:return e.ClassificationTypeNames.identifier;case 3:return e.ClassificationTypeNames.keyword;case 4:return e.ClassificationTypeNames.numericLiteral;case 5:return e.ClassificationTypeNames.operator;case 6:return e.ClassificationTypeNames.stringLiteral;case 8:return e.ClassificationTypeNames.whiteSpace;case 9:return e.ClassificationTypeNames.text;case 10:return e.ClassificationTypeNames.punctuation;case 11:return e.ClassificationTypeNames.className;case 12:return e.ClassificationTypeNames.enumName;case 13:return e.ClassificationTypeNames.interfaceName;case 14:return e.ClassificationTypeNames.moduleName;case 15:return e.ClassificationTypeNames.typeParameterName;case 16:return e.ClassificationTypeNames.typeAliasName;case 17:return e.ClassificationTypeNames.parameterName;case 18:return e.ClassificationTypeNames.docCommentTagName;case 19:return e.ClassificationTypeNames.jsxOpenTagName;case 20:return e.ClassificationTypeNames.jsxCloseTagName;case 21:return e.ClassificationTypeNames.jsxSelfClosingTagName;case 22:return e.ClassificationTypeNames.jsxAttribute;case 23:return e.ClassificationTypeNames.jsxText;case 24:return e.ClassificationTypeNames.jsxAttributeStringLiteralValue}}function o(t){e.Debug.assert(t.spans.length%3==0);for(var n=t.spans,r=[],a=0;a=0),a>0){var s=n||m(t.kind,t);s&&i(r,a,s);}return!0}function f(e){switch(e.parent&&e.parent.kind){case 251:if(e.parent.tagName===e)return 19;break;case 252:if(e.parent.tagName===e)return 20;break;case 250:if(e.parent.tagName===e)return 21;break;case 253:if(e.parent.name===e)return 22}}function m(t,n){if(e.isKeyword(t))return 3;if((27===t||29===t)&&n&&e.getTypeArgumentOrTypeParameterList(n.parent))return 10;if(e.isPunctuation(t)){if(n){if(58===t&&(226===n.parent.kind||149===n.parent.kind||146===n.parent.kind||253===n.parent.kind))return 5;if(194===n.parent.kind||192===n.parent.kind||193===n.parent.kind||195===n.parent.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 253===n.parent.kind?24:6;if(12===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(10===t)return 23;if(71===t){if(n)switch(n.parent.kind){case 229:if(n.parent.name===n)return 11;return;case 145:if(n.parent.name===n)return 15;return;case 230:if(n.parent.name===n)return 13;return;case 232:if(n.parent.name===n)return 12;return;case 233:if(n.parent.name===n)return 14;return;case 146:if(n.parent.name===n)return e.isThisIdentifier(n)?3:17;return}return 2}}function g(a){if(a&&e.decodedTextSpanIntersectsWith(y,h,a.pos,a.getFullWidth())){r(t,a.kind);for(var i=0,o=a.getChildren(n);i=e.pos&&n<=e.end&&e});if(c){var u={isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:[]},_=t.text.substr(c.pos,n-c.pos),d=T.exec(_);if(d){var p=d[1],f=d[2],g=d[3],y=e.getDirectoryPath(t.path);if("path"===f){var h=m(g,c.pos+p.length);u.entries=i(g,y,e.getSupportedExtensions(r),!0,h,a,t.path);}else{var v={start:c.pos+p.length,length:d[0].length-p.length};u.entries=l(a,r,y,v);}}return u}}}}function l(t,n,r,a,i){if(void 0===i&&(i=[]),n.types)for(var o=0,s=n.types;o=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,n=e.charCodeAt(t);return 47===n||92===n}return!1}function y(t){return e.hasTrailingDirectorySeparator(t)?e.ensureTrailingDirectorySeparator(e.normalizePath(t)):e.normalizePath(t)}function h(e,t){return S(e,e.getDirectories)}function v(e,t,n,r,a){return S(e,e.readDirectory)}function b(e,t){return S(e,e.readFile)}function x(e,t){return S(e,e.fileExists)}function k(t,n){try{return e.directoryProbablyExists(n,t)}catch(e){}}function S(e,t){for(var n=[],r=2;r0&&(q=b(s,a)),!0}function d(n){var r=241===n.kind?238:244,a=e.getAncestor(n,r).moduleSpecifier;if(!a)return!1;J=!0,z=!1;var i=t.getSymbolAtLocation(a);if(!i)return q=e.emptyArray,!0;var o=t.getExportsAndPropertiesOfModule(i);return q=v(o,n.elements),!0}function p(e){if(e)switch(e.kind){case 17:case 26:var t=e.parent;if(t&&(178===t.kind||174===t.kind))return t}}function f(e){if(e)switch(e.kind){case 17:case 26:switch(e.parent.kind){case 241:case 245:return e.parent}}}function m(e){if(e){var t=e.parent;switch(e.kind){case 28:case 41:case 71:case 179:case 254:case 253:case 255:if(t&&(250===t.kind||251===t.kind))return t;if(253===t.kind)return t.parent.parent;break;case 9:if(t&&(253===t.kind||255===t.kind))return t.parent.parent;break;case 18:if(t&&256===t.kind&&t.parent&&253===t.parent.kind)return t.parent.parent.parent;if(t&&255===t.kind)return t.parent.parent}}}function g(t){if(!e.isFunctionLikeKind(t))return!1;switch(t){case 152:case 161:case 160:return!1;default:return!0}}function y(e){var t=e.parent.kind;switch(e.kind){case 26:return 226===t||227===t||208===t||232===t||g(t)||229===t||199===t||230===t||175===t||231===t;case 23:return 175===t;case 56:return 176===t;case 21:return 175===t;case 19:return 260===t||g(t);case 17:return 232===t||230===t||163===t;case 25:return 148===t&&e.parent&&e.parent.parent&&(230===e.parent.parent.kind||163===e.parent.parent.kind);case 27:return 229===t||199===t||230===t||231===t||g(t);case 115:return 149===t;case 24:return 146===t||e.parent&&e.parent.parent&&175===e.parent.parent.kind;case 114:case 112:case 113:return 146===t;case 118:return 242===t||246===t||240===t;case 75:case 83:case 109:case 89:case 104:case 125:case 135:case 91:case 110:case 76:case 116:case 138:return!0}switch(e.getText()){case"abstract":case"async":case"class":case"const":case"declare":case"enum":case"function":case"interface":case"let":case"private":case"protected":case"public":case"static":case"var":case"yield":return!0}return!1}function h(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}function v(t,n){for(var r=e.createMap(),i=0,o=n;i=0&&!g(n,r[a],106);a--);var i=d(t.statement);return e.forEach(i,function(e){p(t,e)&&g(n,e.getFirstToken(),72,77);}),n}function b(e){var t=f(e);if(t)switch(t.kind){case 214:case 215:case 216:case 212:case 213:return v(t);case 221:return x(t)}}function x(t){var n=[];return g(n,t.getFirstToken(),98),e.forEach(t.caseBlock.clauses,function(r){g(n,r.getFirstToken(),73,79);var a=d(r);e.forEach(a,function(e){p(t,e)&&g(n,e.getFirstToken(),72);});}),n}function k(t,n){var r=[];return g(r,t.getFirstToken(),102),t.catchClause&&g(r,t.catchClause.getFirstToken(),74),t.finallyBlock&&g(r,e.findChildOfKind(t,87,n),87),r}function S(t){var n=_(t);if(n){var r=[];return e.forEach(l(n),function(e){g(r,e.getFirstToken(),100);}),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,function(e){g(r,e.getFirstToken(),96);}),r}}function T(t){var n=e.getContainingFunction(t);if(n&&s(n.body,207)){var r=[];return e.forEachReturnStatement(n.body,function(e){g(r,e.getFirstToken(),96);}),e.forEach(l(n.body),function(e){g(r,e.getFirstToken(),100);}),r}}function C(t,n){for(var a=[];s(t.parent,211)&&t.parent.elseStatement===t;)t=t.parent;for(;t;){var i=t.getChildren();g(a,i[0],90);for(c=i.length-1;c>=0&&!g(a,i[c],82);c--);if(!s(t.elseStatement,211))break;t=t.elseStatement;}for(var o=[],c=0;c=u.end;d--)if(!e.isWhiteSpaceSingleLine(n.text.charCodeAt(d))){_=!1;break}if(_){o.push({fileName:n.fileName,textSpan:e.createTextSpanFromBounds(u.getStart(),l.end),kind:e.HighlightSpanKind.reference}),c++;continue}}o.push(r(a[c],n));}return o}function E(e,t){for(var n=e.parent;222===n.kind;n=n.parent)if(n.label.text===t)return!0;return!1}t.getDocumentHighlights=n;}(e.DocumentHighlights||(e.DocumentHighlights={}));}(r||(r={}));!function(e){function t(t,n){function r(e){return"_"+e.target+"|"+e.module+"|"+e.noResolve+"|"+e.jsx+"|"+e.allowJs+"|"+e.baseUrl+"|"+JSON.stringify(e.typeRoots)+"|"+JSON.stringify(e.rootDirs)+"|"+JSON.stringify(e.paths)}function a(t,n){var r=p.get(t);return!r&&n&&p.set(t,r=e.createFileMap()),r}function i(){var t=e.arrayFrom(p.keys()).filter(function(e){return e&&"_"===e.charAt(0)}).map(function(e){var t=[];return p.get(e).forEachValue(function(e,n){t.push({name:e,refCount:n.languageServiceRefCount,references:n.owners.slice(0)});}),t.sort(function(e,t){return t.refCount-e.refCount}),{bucket:e,sourceFiles:t}});return JSON.stringify(t,void 0,2)}function o(t,a,i,o,c){return s(t,e.toPath(t,n,f),a,r(a),i,o,c)}function s(e,t,n,r,a,i,o){return l(e,t,n,r,a,i,!0,o)}function c(t,a,i,o,s){return u(t,e.toPath(t,n,f),a,r(a),i,o,s)}function u(e,t,n,r,a,i,o){return l(e,t,n,r,a,i,!1,o)}function l(t,n,r,i,o,s,c,u){var l=a(i,!0),_=l.get(n);return _?_.sourceFile.version!==s&&(_.sourceFile=e.updateLanguageServiceSourceFile(_.sourceFile,o,s,o.getChangeRange(_.sourceFile.scriptSnapshot))):(e.Debug.assert(c,"How could we be trying to update a document that the registry doesn't have?"),_={sourceFile:e.createLanguageServiceSourceFile(t,o,r.target,s,!1,u),languageServiceRefCount:0,owners:[]},l.set(n,_)),c&&_.languageServiceRefCount++,_.sourceFile}function _(t,a){return d(e.toPath(t,n,f),r(a))}function d(t,n){var r=a(n,!1);e.Debug.assert(void 0!==r);var i=r.get(t);i.languageServiceRefCount--,e.Debug.assert(i.languageServiceRefCount>=0),0===i.languageServiceRefCount&&r.remove(t);}void 0===n&&(n="");var p=e.createMap(),f=e.createGetCanonicalFileName(!!t);return{acquireDocument:o,acquireDocumentWithKey:s,updateDocument:c,updateDocumentWithKey:u,releaseDocument:_,releaseDocumentWithKey:d,reportStats:i,getKeyForCompilationSettings:r}}e.createDocumentRegistry=t;}(r||(r={}));!function(e){!function(n){function r(e,n,r){var o=s(e,n,r);return function(s,c,u){var l=a(e,o,c,n,r),_=l.directImports,d=l.indirectUsers;return t({indirectUsers:d},i(_,s,c.exportKind,n,u))}}function a(t,n,r,a,i){function s(t){var n=_(t);if(n)for(var r=0,o=n;r=0&&!(u>a);){var l=u+c;0!==u&&e.isIdentifierPart(o.charCodeAt(u-1),5)||l!==s&&e.isIdentifierPart(o.charCodeAt(l),5)||i.push(u),u=o.indexOf(n,u+c+1);}return i}function y(t,r){for(var a=[],i=t.getSourceFile(),o=r.text,s=0,c=g(i,o,t.getStart(),t.getEnd());s0);for(var n=0,r=t;n0);for(var n=e.PatternMatchKind.camelCase,r=0,a=t;r0)return r}switch(t.kind){case 265:var a=t;return e.isExternalModule(a)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(a.fileName))))+'"':"";case 187:case 228:case 186:case 229:case 199:return 512&e.getModifierFlags(t)?"default":w(t);case 152:return"constructor";case 156:return"new()";case 155:return"()";case 157:return"[]";case 290:return b(t);default:return""}}function b(e){if(e.name)return e.name.text;var t=e.parent&&e.parent.parent;if(t&&208===t.kind&&t.declarationList.declarations.length>0){var n=t.declarationList.declarations[0].name;if(71===n.kind)return n.text}return""}function x(t){function n(e){if(r(e)&&(a.push(e),e.children))for(var t=0,i=e.children;t0?e.declarationNameToString(t.name):226===t.parent.kind?e.declarationNameToString(t.parent.name):194===t.parent.kind&&58===t.parent.operatorToken.kind?i(t.parent.left).replace(R,""):261===t.parent.kind&&t.parent.name?i(t.parent.name):512&e.getModifierFlags(t)?"default":e.isClassLike(t)?"":""}function P(e){return 186===e.kind||187===e.kind||199===e.kind}var O,F,I,R=/\s+/g,M=[],L=[];t.getNavigationBarItems=n,t.getNavigationTree=r;}(e.NavigationBar||(e.NavigationBar={}));}(r||(r={}));!function(e){!function(t){function n(t,n){function r(n,r,a,i){if(n&&r&&a){var o={textSpan:e.createTextSpanFromBounds(r.pos,a.end),hintSpan:e.createTextSpanFromNode(n,t),bannerText:l,autoCollapse:i};u.push(o);}}function a(t,n){if(t){var r={textSpan:e.createTextSpanFromBounds(t.pos,t.end),hintSpan:e.createTextSpanFromBounds(t.pos,t.end),bannerText:l,autoCollapse:n};u.push(r);}}function i(r){var i=e.getLeadingCommentRangesOfNode(r,t);if(i){for(var s=-1,c=-1,u=!0,l=0,_=0,d=i;_1&&a({kind:2,pos:t,end:n},!1);}function s(t){return e.isFunctionBlock(t)&&187!==t.parent.kind}function c(a){if(n.throwIfCancellationRequested(),!(_>d)){switch(e.isDeclaration(a)&&i(a),a.kind){case 207:if(!e.isFunctionBlock(a)){var o=a.parent,p=e.findChildOfKind(a,17,t),f=e.findChildOfKind(a,18,t);if(212===o.kind||215===o.kind||216===o.kind||214===o.kind||211===o.kind||213===o.kind||220===o.kind||260===o.kind){r(o,p,f,s(a));break}if(224===o.kind){var m=o;if(m.tryBlock===a){r(o,p,f,s(a));break}if(m.finallyBlock===a){var g=e.findChildOfKind(m,87,t);if(g){r(g,p,f,s(a));break}}}var y=e.createTextSpanFromNode(a);u.push({textSpan:y,hintSpan:y,bannerText:l,autoCollapse:s(a)});break}case 234:var p=e.findChildOfKind(a,17,t),f=e.findChildOfKind(a,18,t);r(a.parent,p,f,s(a));break;case 229:case 230:case 232:case 178:case 235:r(a,p=e.findChildOfKind(a,17,t),f=e.findChildOfKind(a,18,t),s(a));break;case 177:r(a,e.findChildOfKind(a,21,t),e.findChildOfKind(a,22,t),s(a));}_++,e.forEachChild(a,c),_--;}}var u=[],l="...",_=0,d=20;return c(t),u}t.collectElements=n;}(e.OutliningElementsCollector||(e.OutliningElementsCollector={}));}(r||(r={}));!function(e){function t(e,t,n,r){return{kind:e,punctuationStripped:t,isCaseSensitive:n,camelCaseWeight:r}}function n(n){function o(e){return b||!e}function c(t){if(!o(t))return f(t,e.lastOrUndefined(v))}function l(t,n){if(!o(n)){var r=f(n,e.lastOrUndefined(v));if(r&&(t=t||[],!(v.length-1>t.length))){for(var a=r,i=v.length-2,s=t.length-1;i>=0;i-=1,s-=1){var c=v[i],u=f(t[s],c);if(!u)return;e.addRange(a,u);}return a}}}function _(e){var t=h.get(e);return t||h.set(e,t=m(e)),t}function d(n,r,a){var o=s(n,r.textLowerCase);if(0===o)return r.text.length===n.length?t(x.exact,a,n===r.text):t(x.prefix,a,e.startsWith(n,r.text));var c=r.isLowerCase;if(c){if(o>0)for(var u=0,l=_(n);u0)return t(x.substring,a,!0);if(!c&&r.characterSpans.length>0){var p=_(n),f=y(n,p,r,!1);if(void 0!==f)return t(x.camelCase,a,!0,f);if(void 0!==(f=y(n,p,r,!0)))return t(x.camelCase,a,!1,f)}return c&&r.text.length0&&i(n.charCodeAt(o))?t(x.substring,a,!1):void 0}function p(e){for(var t=0;tt.length)return!1;if(r)for(l=0;l1}}function r(e){return{totalTextChunk:p(e),subWordTextChunks:d(e)}}function a(e){return 0===e.subWordTextChunks.length}function i(t){if(t>=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,5))return!1;var n=String.fromCharCode(t);return n===n.toUpperCase()}function o(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,5))return!1;var n=String.fromCharCode(t);return n===n.toLowerCase()}function s(e,t){for(var n=e.length-t.length,r=0;r<=n;r++)if(c(e,t,r))return r;return-1}function c(e,t,n){for(var r=0;r=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function l(e){return e>=48&&e<=57}function _(e){return i(e)||o(e)||l(e)||95===e||36===e}function d(e){for(var t=[],n=0,r=0,a=0;a0&&(t.push(p(e.substr(n,r))),r=0);return r>0&&t.push(p(e.substr(n,r))),t}function p(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:f(e)}}function f(e){return g(e,!1)}function m(e){return g(e,!0)}function g(t,n){for(var r=[],a=0,i=1;i0){if(e.some(c,o))return i(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);if(71===t.kind&&79===t.originalKeywordKind&&1536&s.parent.flags)return;var u=e.stripQuotes(e.getDeclaredName(n,s,t)),l=e.SymbolDisplay.getSymbolKind(n,s,t);return l?a(u,n.getFullyQualifiedName(s),l,e.SymbolDisplay.getSymbolModifiers(s),t,r):void 0}}else if(9===t.kind)return o(t)?i(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library):a(u=e.stripQuotes(t.text),u,e.ScriptElementKind.variableElement,e.ScriptElementKindModifier.none,t,r)}function a(e,t,n,r,a,i){return{canRename:!0,kind:n,displayName:e,localizedErrorMessage:void 0,fullDisplayName:t,kindModifiers:r,triggerSpan:o(a,i)}}function i(t){return{canRename:!1,localizedErrorMessage:e.getLocaleSpecificMessage(t),displayName:void 0,fullDisplayName:void 0,kind:void 0,kindModifiers:void 0,triggerSpan:void 0}}function o(t,n){var r=t.getStart(n),a=t.getWidth(n);return 9===t.kind&&(r+=1,a-=2),e.createTextSpan(r,a)}function s(t){return 71===t.kind||9===t.kind||e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t)||e.isThis(t)}t.getRenameInfo=n;}(e.Rename||(e.Rename={}));}(r||(r={}));!function(e){!function(t){function n(t,n,a,i){var o=t.getTypeChecker(),s=e.findTokenOnLeftOfPosition(n,a);if(s){var c=_(s,a,n);if(i.throwIfCancellationRequested(),c){var u=c.invocation,l=[],d=o.getResolvedSignature(u,l);if(i.throwIfCancellationRequested(),l.length)return f(l,d,c,o);if(e.isSourceFileJavaScript(n))return r(c,t)}}}function r(e,t){if(181===e.invocation.kind){var n=e.invocation.expression,r=71===n.kind?n:179===n.kind?n.name:void 0;if(r&&r.text)for(var a=t.getTypeChecker(),i=0,o=t.getSourceFiles();i0&&26===e.lastOrUndefined(n).kind&&r++,r}function s(t,n,r){return e.Debug.assert(r>=n.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralKind(n.kind)?e.isInsideTemplateLiteral(n,r)?0:t+2:t+1}function c(t,n,r){var a=13===t.template.kind?1:t.template.templateSpans.length+1;return e.Debug.assert(0===n||ni.parent.end)&&e.Debug.fail("Node of kind "+i.kind+" is not a subspan of its parent of kind "+i.parent.kind);var o=a(i,n,r);if(o)return o}}function d(t,n,r){var a=t.getChildren(r),i=a.indexOf(n);return e.Debug.assert(i>=0&&a.length>i+1),a[i+1]}function p(e,t){for(var n=-1,r=-1,a=0;a=t)return a;i.parameters.length>r&&(r=i.parameters.length,n=a);}return n}function f(t,n,r,a){function i(t){var n=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildParameterDisplay(t,e,u)});return{name:t.name,documentation:t.getDocumentationComment(),displayParts:n,isOptional:a.isOptionalParameter(t.valueDeclaration)}}function o(t){var n=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildTypeParameterDisplay(t,e,u)});return{name:t.symbol.name,documentation:m,displayParts:n,isOptional:!1}}var s=r.argumentsSpan,c=0===r.kind,u=r.invocation,l=e.getInvokedExpression(u),_=a.getSymbolAtLocation(l),d=_&&e.symbolToDisplayParts(a,_,void 0,void 0),f=e.map(t,function(t){var n,r=[],s=[];d&&e.addRange(r,d);var l;if(c){l=!1,r.push(e.punctuationPart(27));var _=t.typeParameters;n=_&&_.length>0?e.map(_,o):m,s.push(e.punctuationPart(29));var p=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(t.thisParameter,t.parameters,e,u)});e.addRange(s,p);}else{l=t.hasRestParameter;var f=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(t.typeParameters,e,u)});e.addRange(r,f),r.push(e.punctuationPart(19));var g=t.parameters;n=g.length>0?e.map(g,i):m,s.push(e.punctuationPart(20));}var y=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildReturnTypeDisplay(t,e,u)});return e.addRange(s,y),{isVariadic:l,prefixDisplayParts:r,suffixDisplayParts:s,separatorDisplayParts:[e.punctuationPart(26),e.spacePart()],parameters:n,documentation:t.getDocumentationComment(),tags:t.getJsDocTags()}}),g=r.argumentIndex,y=r.argumentCount,h=t.indexOf(n);return h<0&&(h=p(t,y)),e.Debug.assert(0===g||g0?e.getNodeModifiers(t.declarations[0]):e.ScriptElementKindModifier.none}function i(t,a,i,o,s,c){function u(){b.length&&b.push(e.lineBreakPart());}function l(){b.push(e.spacePart()),b.push(e.keywordPart(92)),b.push(e.spacePart());}function _(n,r){var a=e.symbolToDisplayParts(t,n,r||i,void 0,3);e.addRange(b,a);}function d(t,n){u(),n&&(p(n),b.push(e.spacePart()),_(t));}function p(t){switch(t){case e.ScriptElementKind.variableElement:case e.ScriptElementKind.functionElement:case e.ScriptElementKind.letElement:case e.ScriptElementKind.constElement:case e.ScriptElementKind.constructorImplementationElement:return void b.push(e.textOrKeywordPart(t));default:return b.push(e.punctuationPart(19)),b.push(e.textOrKeywordPart(t)),void b.push(e.punctuationPart(20))}}function f(n,r,a){e.addRange(b,e.signatureToDisplayParts(t,n,o,32|a)),r.length>1&&(b.push(e.spacePart()),b.push(e.punctuationPart(19)),b.push(e.operatorPart(37)),b.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),b.push(e.spacePart()),b.push(e.textPart(2===r.length?"overload":"overloads")),b.push(e.punctuationPart(20))),g=n.getDocumentationComment(),y=n.getJsDocTags();}function m(n,r){var a=e.mapToDisplayParts(function(e){t.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(n,e,r);});e.addRange(b,a);}void 0===c&&(c=e.getMeaningFromLocation(s));var g,y,h,v,b=[],x=a.flags,k=r(t,a,s),S=99===s.kind&&e.isExpression(s);if(k!==e.ScriptElementKind.unknown||32&x||8388608&x){k!==e.ScriptElementKind.memberGetAccessorElement&&k!==e.ScriptElementKind.memberSetAccessorElement||(k=e.ScriptElementKind.memberVariableElement);O=void 0;if(v=S?t.getTypeAtLocation(s):t.getTypeOfSymbolAtLocation(a,s)){if(s.parent&&179===s.parent.kind){var T=s.parent.name;(T===s||T&&0===T.getFullWidth())&&(s=s.parent);}var C=void 0;if(181===s.kind||182===s.kind?C=s:e.isCallExpressionTarget(s)||e.isNewExpressionTarget(s)?C=s.parent:s.parent&&e.isJsxOpeningLikeElement(s.parent)&&e.isFunctionLike(a.valueDeclaration)&&(C=s.parent),C){var E=[];!(O=t.getResolvedSignature(C,E))&&E.length&&(O=E[0]);var D=182===C.kind||e.isCallExpression(C)&&97===C.expression.kind,N=D?v.getConstructSignatures():v.getCallSignatures();if(e.contains(N,O.target)||e.contains(N,O)||(O=N.length?N[0]:void 0),O){switch(D&&32&x?(k=e.ScriptElementKind.constructorImplementationElement,d(v.symbol,k)):8388608&x?(p(k=e.ScriptElementKind.alias),b.push(e.spacePart()),D&&(b.push(e.keywordPart(94)),b.push(e.spacePart())),_(a)):d(a,k),k){case e.ScriptElementKind.jsxAttribute:case e.ScriptElementKind.memberVariableElement:case e.ScriptElementKind.variableElement:case e.ScriptElementKind.constElement:case e.ScriptElementKind.letElement:case e.ScriptElementKind.parameterElement:case e.ScriptElementKind.localVariableElement:b.push(e.punctuationPart(56)),b.push(e.spacePart()),D&&(b.push(e.keywordPart(94)),b.push(e.spacePart())),32768&v.flags&&16&v.objectFlags||!v.symbol||e.addRange(b,e.symbolToDisplayParts(t,v.symbol,o,void 0,1)),f(O,N,8);break;default:f(O,N);}h=!0;}}else if(e.isNameOfFunctionDeclaration(s)&&!(98304&a.flags)||123===s.kind&&152===s.parent.kind){var A=s.parent,N=152===A.kind?v.getNonNullableType().getConstructSignatures():v.getNonNullableType().getCallSignatures();O=t.isImplementationOfOverload(A)?N[0]:t.getSignatureFromDeclaration(A),152===A.kind?(k=e.ScriptElementKind.constructorImplementationElement,d(v.symbol,k)):d(155!==A.kind||2048&v.symbol.flags||4096&v.symbol.flags?a:v.symbol,k),f(O,N),h=!0;}}}if(32&x&&!h&&!S&&(e.getDeclarationOfKind(a,199)?p(e.ScriptElementKind.localClassElement):b.push(e.keywordPart(75)),b.push(e.spacePart()),_(a),m(a,i)),64&x&&2&c&&(u(),b.push(e.keywordPart(109)),b.push(e.spacePart()),_(a),m(a,i)),524288&x&&(u(),b.push(e.keywordPart(138)),b.push(e.spacePart()),_(a),m(a,i),b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),e.addRange(b,e.typeToDisplayParts(t,t.getDeclaredTypeOfSymbol(a),o,512))),384&x&&(u(),e.forEach(a.declarations,e.isConstEnumDeclaration)&&(b.push(e.keywordPart(76)),b.push(e.spacePart())),b.push(e.keywordPart(83)),b.push(e.spacePart()),_(a)),1536&x){u();var w=(P=e.getDeclarationOfKind(a,233))&&P.name&&71===P.name.kind;b.push(e.keywordPart(w?129:128)),b.push(e.spacePart()),_(a);}if(262144&x&&2&c)if(u(),b.push(e.punctuationPart(19)),b.push(e.textPart("type parameter")),b.push(e.punctuationPart(20)),b.push(e.spacePart()),_(a),a.parent)l(),_(a.parent,o),m(a.parent,o);else{var P=e.getDeclarationOfKind(a,145);if(e.Debug.assert(void 0!==P),P=P.parent)if(e.isFunctionLikeKind(P.kind)){l();var O=t.getSignatureFromDeclaration(P);156===P.kind?(b.push(e.keywordPart(94)),b.push(e.spacePart())):155!==P.kind&&P.name&&_(P.symbol),e.addRange(b,e.signatureToDisplayParts(t,O,i,32));}else 231===P.kind&&(l(),b.push(e.keywordPart(138)),b.push(e.spacePart()),_(P.symbol),m(P.symbol,i));}if(8&x&&(k=e.ScriptElementKind.enumMemberElement,d(a,"enum member"),264===(P=a.declarations[0]).kind)){var F=t.getConstantValue(P);void 0!==F&&(b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),b.push(e.displayPart(F.toString(),e.SymbolDisplayPartKind.numericLiteral)));}if(8388608&x&&(u(),236===a.declarations[0].kind?(b.push(e.keywordPart(84)),b.push(e.spacePart()),b.push(e.keywordPart(129))):b.push(e.keywordPart(91)),b.push(e.spacePart()),_(a),e.forEach(a.declarations,function(n){if(237===n.kind){var r=n;if(e.isExternalModuleImportEqualsDeclaration(r))b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),b.push(e.keywordPart(132)),b.push(e.punctuationPart(19)),b.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),b.push(e.punctuationPart(20));else{var a=t.getSymbolAtLocation(r.moduleReference);a&&(b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),_(a,o));}return!0}})),!h)if(k!==e.ScriptElementKind.unknown){if(v)if(S?(u(),b.push(e.keywordPart(99))):d(a,k),k===e.ScriptElementKind.memberVariableElement||k===e.ScriptElementKind.jsxAttribute||3&x||k===e.ScriptElementKind.localVariableElement||S)if(b.push(e.punctuationPart(56)),b.push(e.spacePart()),v.symbol&&262144&v.symbol.flags){var I=e.mapToDisplayParts(function(e){t.getSymbolDisplayBuilder().buildTypeParameterDisplay(v,e,o);});e.addRange(b,I);}else e.addRange(b,e.typeToDisplayParts(t,v,o));else(16&x||8192&x||16384&x||131072&x||98304&x||k===e.ScriptElementKind.memberFunctionElement)&&f((N=v.getNonNullableType().getCallSignatures())[0],N);}else k=n(t,a,s);if(!g&&(g=a.getDocumentationComment(),y=a.getJsDocTags(),0===g.length&&4&a.flags&&a.parent&&e.forEach(a.parent.declarations,function(e){return 265===e.kind})))for(var R=0,M=a.declarations;R0))break}return{displayParts:b,documentation:g,symbolKind:k,tags:y}}function o(t){return!t.parent&&e.forEach(t.declarations,function(t){if(186===t.kind)return!0;if(226!==t.kind&&228!==t.kind)return!1;for(var n=t.parent;!e.isFunctionBlock(n);n=n.parent)if(265===n.kind||234===n.kind)return!1;return!0})}t.getSymbolKind=n,t.getSymbolModifiers=a,t.getSymbolDisplayPartsDocumentationAndSymbolKind=i;}(e.SymbolDisplay||(e.SymbolDisplay={}));}(r||(r={}));!function(e){function t(t,n){var a=[],i=n.compilerOptions?r(n.compilerOptions,a):e.getDefaultCompilerOptions();i.isolatedModules=!0,i.suppressOutputPathCheck=!0,i.allowNonTsExtensions=!0,i.noLib=!0,i.lib=void 0,i.types=void 0,i.noEmit=void 0,i.noEmitOnError=void 0,i.paths=void 0,i.rootDirs=void 0,i.declaration=void 0,i.declarationDir=void 0,i.out=void 0,i.outFile=void 0,i.noResolve=!0;var o=n.fileName||(i.jsx?"module.tsx":"module.ts"),s=e.createSourceFile(o,t,i.target);n.moduleName&&(s.moduleName=n.moduleName),n.renamedDependencies&&(s.renamedDependencies=e.createMapFromTemplate(n.renamedDependencies));var c,u,l=e.getNewLineCharacter(i),_={getSourceFile:function(t){return t===e.normalizePath(o)?s:void 0},writeFile:function(t,n){e.fileExtensionIs(t,".map")?(e.Debug.assert(void 0===u,"Unexpected multiple source map outputs for the file '"+t+"'"),u=n):(e.Debug.assert(void 0===c,"Unexpected multiple outputs for the file: '"+t+"'"),c=n);},getDefaultLibFileName:function(){return"lib.d.ts"},useCaseSensitiveFileNames:function(){return!1},getCanonicalFileName:function(e){return e},getCurrentDirectory:function(){return""},getNewLine:function(){return l},fileExists:function(e){return e===o},readFile:function(){return""},directoryExists:function(){return!0},getDirectories:function(){return[]}},d=e.createProgram([o],i,_);return n.reportDiagnostics&&(e.addRange(a,d.getSyntacticDiagnostics(s)),e.addRange(a,d.getOptionsDiagnostics())),d.emit(),e.Debug.assert(void 0!==c,"Output generation failed"),{outputText:c,diagnostics:a,sourceMapText:u}}function n(n,r,a,i,o){var s=t(n,{compilerOptions:r,fileName:a,reportDiagnostics:!!i,moduleName:o});return e.addRange(i,s.diagnostics),s.outputText}function r(t,n){a=a||e.filter(e.optionDeclarations,function(t){return"object"==typeof t.type&&!e.forEachEntry(t.type,function(e){return"number"!=typeof e})}),t=e.clone(t);for(var r=0,i=a;r>=5,n+=5;return t},t.prototype.IncreaseInsertionIndex=function(t){var n=this.rulesInsertionIndexBitmap>>t&31;n++,e.Debug.assert((31&n)===n,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.");var r=this.rulesInsertionIndexBitmap&~(31<=0},t}();t.TokenRangeAccess=n;var r=function(){function e(e){this.tokens=e&&e.length?e:[];}return e.prototype.GetTokens=function(){return this.tokens},e.prototype.Contains=function(e){return this.tokens.indexOf(e)>=0},e}();t.TokenValuesAccess=r;var a=function(){function e(e){this.token=e;}return e.prototype.GetTokens=function(){return[this.token]},e.prototype.Contains=function(e){return e===this.token},e}();t.TokenSingleValueAccess=a;var i=function(){function e(){}return e.prototype.GetTokens=function(){for(var e=[],t=0;t<=142;t++)e.push(t);return e},e.prototype.Contains=function(){return!0},e.prototype.toString=function(){return"[allTokens]"},e}();t.TokenAllAccess=i;var o=function(){function e(e){this.tokenAccess=e;}return e.FromToken=function(t){return new e(new a(t))},e.FromTokens=function(t){return new e(new r(t))},e.FromRange=function(t,r,a){return void 0===a&&(a=[]),new e(new n(t,r,a))},e.AllTokens=function(){return new e(new i)},e.prototype.GetTokens=function(){return this.tokenAccess.GetTokens()},e.prototype.Contains=function(e){return this.tokenAccess.Contains(e)},e.prototype.toString=function(){return this.tokenAccess.toString()},e}();o.Any=o.AllTokens(),o.AnyIncludingMultilineComments=o.FromTokens(o.Any.GetTokens().concat([3])),o.Keywords=o.FromRange(72,142),o.BinaryOperators=o.FromRange(27,70),o.BinaryKeywordOperators=o.FromTokens([92,93,142,118,126]),o.UnaryPrefixOperators=o.FromTokens([43,44,52,51]),o.UnaryPrefixExpressions=o.FromTokens([8,71,19,21,17,99,94]),o.UnaryPreincrementExpressions=o.FromTokens([71,19,99,94]),o.UnaryPostincrementExpressions=o.FromTokens([71,20,22,94]),o.UnaryPredecrementExpressions=o.FromTokens([71,19,99,94]),o.UnaryPostdecrementExpressions=o.FromTokens([71,20,22,94]),o.Comments=o.FromTokens([2,3]),o.TypeNames=o.FromTokens([71,133,136,122,137,105,119]),t.TokenRange=o;}(t.Shared||(t.Shared={}));}(e.formatting||(e.formatting={}));}(r||(r={}));!function(e){!function(t){var n=function(){function n(){this.globalRules=new t.Rules;}return n.prototype.getRuleName=function(e){return this.globalRules.getRuleName(e)},n.prototype.getRuleByName=function(e){return this.globalRules[e]},n.prototype.getRulesMap=function(){return this.rulesMap},n.prototype.getFormatOptions=function(){return this.options},n.prototype.ensureUpToDate=function(n){if(!this.options||!e.compareDataObjects(this.options,n)){var r=this.createActiveRules(n),a=t.RulesMap.create(r);this.activeRules=r,this.rulesMap=a,this.options=e.clone(n);}},n.prototype.createActiveRules=function(e){var t=this.globalRules.HighPriorityCommonRules.slice(0);return e.insertSpaceAfterConstructor?t.push(this.globalRules.SpaceAfterConstructor):t.push(this.globalRules.NoSpaceAfterConstructor),e.insertSpaceAfterCommaDelimiter?t.push(this.globalRules.SpaceAfterComma):t.push(this.globalRules.NoSpaceAfterComma),e.insertSpaceAfterFunctionKeywordForAnonymousFunctions?t.push(this.globalRules.SpaceAfterAnonymousFunctionKeyword):t.push(this.globalRules.NoSpaceAfterAnonymousFunctionKeyword),e.insertSpaceAfterKeywordsInControlFlowStatements?t.push(this.globalRules.SpaceAfterKeywordInControl):t.push(this.globalRules.NoSpaceAfterKeywordInControl),e.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?(t.push(this.globalRules.SpaceAfterOpenParen),t.push(this.globalRules.SpaceBeforeCloseParen),t.push(this.globalRules.NoSpaceBetweenParens)):(t.push(this.globalRules.NoSpaceAfterOpenParen),t.push(this.globalRules.NoSpaceBeforeCloseParen),t.push(this.globalRules.NoSpaceBetweenParens)),e.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?(t.push(this.globalRules.SpaceAfterOpenBracket),t.push(this.globalRules.SpaceBeforeCloseBracket),t.push(this.globalRules.NoSpaceBetweenBrackets)):(t.push(this.globalRules.NoSpaceAfterOpenBracket),t.push(this.globalRules.NoSpaceBeforeCloseBracket),t.push(this.globalRules.NoSpaceBetweenBrackets)),!1!==e.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?(t.push(this.globalRules.SpaceAfterOpenBrace),t.push(this.globalRules.SpaceBeforeCloseBrace),t.push(this.globalRules.NoSpaceBetweenEmptyBraceBrackets)):(t.push(this.globalRules.NoSpaceAfterOpenBrace),t.push(this.globalRules.NoSpaceBeforeCloseBrace),t.push(this.globalRules.NoSpaceBetweenEmptyBraceBrackets)),e.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?(t.push(this.globalRules.SpaceAfterTemplateHeadAndMiddle),t.push(this.globalRules.SpaceBeforeTemplateMiddleAndTail)):(t.push(this.globalRules.NoSpaceAfterTemplateHeadAndMiddle),t.push(this.globalRules.NoSpaceBeforeTemplateMiddleAndTail)),e.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?(t.push(this.globalRules.SpaceAfterOpenBraceInJsxExpression),t.push(this.globalRules.SpaceBeforeCloseBraceInJsxExpression)):(t.push(this.globalRules.NoSpaceAfterOpenBraceInJsxExpression),t.push(this.globalRules.NoSpaceBeforeCloseBraceInJsxExpression)),e.insertSpaceAfterSemicolonInForStatements?t.push(this.globalRules.SpaceAfterSemicolonInFor):t.push(this.globalRules.NoSpaceAfterSemicolonInFor),e.insertSpaceBeforeAndAfterBinaryOperators?(t.push(this.globalRules.SpaceBeforeBinaryOperator),t.push(this.globalRules.SpaceAfterBinaryOperator)):(t.push(this.globalRules.NoSpaceBeforeBinaryOperator),t.push(this.globalRules.NoSpaceAfterBinaryOperator)),e.insertSpaceBeforeFunctionParenthesis?t.push(this.globalRules.SpaceBeforeOpenParenInFuncDecl):t.push(this.globalRules.NoSpaceBeforeOpenParenInFuncDecl),e.placeOpenBraceOnNewLineForControlBlocks&&t.push(this.globalRules.NewLineBeforeOpenBraceInControl),e.placeOpenBraceOnNewLineForFunctions&&(t.push(this.globalRules.NewLineBeforeOpenBraceInFunction),t.push(this.globalRules.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock)),e.insertSpaceAfterTypeAssertion?t.push(this.globalRules.SpaceAfterTypeAssertion):t.push(this.globalRules.NoSpaceAfterTypeAssertion),t=t.concat(this.globalRules.LowPriorityCommonRules)},n}();t.RulesProvider=n;}(e.formatting||(e.formatting={}));}(r||(r={}));!function(e){!function(t){function n(t,n,r,a){var i=n.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var o=e.getEndLinePosition(i,n);e.isWhiteSpaceSingleLine(n.text.charCodeAt(o));)o--;return e.isLineBreak(n.text.charCodeAt(o))&&o--,m({pos:e.getStartPositionOfLine(i-1,n),end:o+1},n,a,r,2)}function r(e,t,n,r){return s(e,25,t,r,n,3)}function a(e,t,n,r){return s(e,18,t,r,n,4)}function i(e,t,n){return m({pos:0,end:e.text.length},e,n,t,0)}function o(t,n,r,a,i){return m({pos:e.getLineStartPositionForPosition(t,r),end:n},r,i,a,1)}function s(t,n,r,a,i,o){var s=c(t,n,r);return s?m({pos:e.getLineStartPositionForPosition(s.getStart(r),r),end:s.end},r,a,i,o):[]}function c(t,n,r){var a=e.findPrecedingToken(t,r);if(a&&a.kind===n&&t===a.getEnd()){for(var i=a;i&&i.parent&&i.parent.end===a.end&&!u(i.parent,i);)i=i.parent;return i}}function u(t,n){switch(t.kind){case 229:case 230:return e.rangeContainsRange(t.members,n);case 233:var r=t.body;return r&&234===r.kind&&e.rangeContainsRange(r.statements,n);case 265:case 207:case 234:return e.rangeContainsRange(t.statements,n);case 260:return e.rangeContainsRange(t.block.statements,n)}return!1}function l(t,n){function r(a){var i=e.forEachChild(a,function(r){return e.startEndContainsRange(r.getStart(n),r.end,t)&&r});if(i){var o=r(i);if(o)return o}return a}return r(n)}function _(t,n){function r(){return!1}if(!t.length)return r;var a=t.filter(function(t){return e.rangeOverlapsWithStartEnd(n,t.start,t.start+t.length)}).sort(function(e,t){return e.start-t.start});if(!a.length)return r;var i=0;return function(t){for(;;){if(i>=a.length)return!1;var n=a[i];if(t.end<=n.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,n.start,n.start+n.length))return!0;i++;}}}function d(t,n,r){var a=t.getStart(r);if(a===n.pos&&t.end===n.end)return a;var i=e.findPrecedingToken(n.pos,r);return i?i.end>=n.pos?t.pos:i.end:t.pos}function p(e,n,r){for(var a,i=-1;e;){var o=r.getLineAndCharacterOfPosition(e.getStart(r)).line;if(-1!==i&&o!==i)break;if(t.SmartIndenter.shouldIndentChildNode(e,a))return n.indentSize;i=o,a=e,e=e.parent;}return 0}function f(e,n,r,a,i,o){var s={pos:0,end:n.text.length};return g(s,e,a,i,t.getFormattingScanner(n.text,r,s.pos,s.end),o.getFormatOptions(),o,1,function(e){return!1},n)}function m(e,n,r,a,i){var o=l(e,n);return g(e,o,t.SmartIndenter.getIndentationForNode(o,e,n,r),p(o,r,n),t.getFormattingScanner(n.text,n.languageVariant,d(o,e,n),e.end),r,a,i,_(n.parseDiagnostics,e),n)}function g(n,r,a,i,o,s,c,u,l,_){function d(n,r,a,i,o){if(e.rangeOverlapsWithStartEnd(i,n,r)||e.rangeContainsStartEnd(i,n,r)){if(-1!==o)return o}else{var c=_.getLineAndCharacterOfPosition(n).line,u=e.getLineStartPositionForPosition(n,_),l=t.SmartIndenter.findFirstNonWhitespaceColumn(u,n,_,s);if(c!==a||n===l){var d=t.SmartIndenter.getBaseIndentation(s);return d>l?d:l}}return-1}function p(e,n,r,a,i,o){var c=r,u=t.SmartIndenter.shouldIndentChildNode(e)?s.indentSize:0;return o===n?(c=n===L?B:i.getIndentation(),u=Math.min(s.indentSize,i.getDelta(e)+u)):-1===c&&(c=t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(a,e,n,_)?i.getIndentation():i.getIndentation()+i.getDelta(e)),{indentation:c,delta:u}}function f(e){if(e.modifiers&&e.modifiers.length)return e.modifiers[0].kind;switch(e.kind){case 229:return 75;case 230:return 109;case 228:return 89;case 232:return 232;case 153:return 125;case 154:return 135;case 151:if(e.asteriskToken)return 39;case 149:case 146:return e.name.kind}}function m(e,n,r,a){function i(n,r){return t.SmartIndenter.nodeWillIndentChild(e,r,!0)?n:0}return{getIndentationForComment:function(e,t,n){switch(e){case 18:case 22:case 20:return r+i(a,n)}return-1!==t?t:r},getIndentationForToken:function(t,o,s){if(n!==t&&e.decorators&&o===f(e))return r;switch(o){case 17:case 18:case 19:case 20:case 82:case 106:case 57:return r;case 41:case 29:if(251===s.kind||252===s.kind||250===s.kind)return r;break;case 21:case 22:if(172!==s.kind)return r}return n!==t?r+i(a,s):r},getIndentation:function(){return r},getDelta:function(e){return i(a,e)},recomputeIndentation:function(n){e.parent&&t.SmartIndenter.shouldIndentChildNode(e.parent,e)&&(n?r+=s.indentSize:r-=s.indentSize,a=t.SmartIndenter.shouldIndentChildNode(e)?s.indentSize:0);}}}function g(t,r,a,i,s,c){function u(r,a,i,s,c,u,l,f){var m=r.getStart(_),y=_.getLineAndCharacterOfPosition(m).line,h=y;r.decorators&&(h=_.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(r,_)).line);var b=-1;if(l&&-1!==(b=d(m,r.end,c,n,a))&&(a=b),!e.rangeOverlapsWithStartEnd(n,r.pos,r.end))return r.endm);)v(x,t,s,t);if(!o.isOnToken())return a;if(e.isToken(r)&&10!==r.kind){var x=o.readTokenInfo(r);return e.Debug.assert(x.token.end===r.end,"Token end is child end"),v(x,t,s,r),a}var k=147===r.kind?y:u,S=p(r,y,b,t,s,k);return g(r,T,y,h,S.indentation,S.delta),T=t,f&&177===i.kind&&-1===a&&(a=S.indentation),a}function f(n,r,a,i){var s=y(r,n),c=h(s),l=i,d=a;if(0!==s)for(;o.isOnToken()&&!((x=o.readTokenInfo(r)).token.end>n.pos);)if(x.token.kind===s){d=_.getLineAndCharacterOfPosition(x.token.pos).line;var f=p(x.token,d,-1,r,i,a);v(x,r,l=m(r,a,f.indentation,f.delta),r);}else v(x,r,i,r);for(var g=-1,b=0;bt.end)break;v(C,t,k,t);}}}function b(t,r,a,i){for(var o=0,s=t;o0){var k=v(x,s);P(h,b.character,k);}else w(h,b.character);}}}else a||S(n.pos,r,!1);}function D(t,n,r){for(var a=t;ao)){var s=N(i,o);-1!==s&&(e.Debug.assert(s===i||!e.isWhiteSpaceSingleLine(_.text.charCodeAt(s-1))),w(s,o+1-s));}}}function N(t,n){for(var r=n;r>=t&&e.isWhiteSpaceSingleLine(_.text.charCodeAt(r));)r--;return r!==n?r+1:-1}function A(t,n,r){return{span:e.createTextSpan(t,n),newText:r}}function w(e,t){t&&j.push(A(e,t,""));}function P(e,t,n){(t||n)&&j.push(A(e,t,n));}function O(e,t,n,r,a){switch(e.Operation.Action){case 1:return;case 8:t.end!==r.pos&&w(t.end,r.pos-t.end);break;case 4:if(1!==e.Flag&&n!==a)return;1!==a-n&&P(t.end,r.pos-t.end,s.newLineCharacter);break;case 2:if(1!==e.Flag&&n!==a)return;1===r.pos-t.end&&32===_.text.charCodeAt(t.end)||P(t.end,r.pos-t.end," ");}}var F,I,R,M,L,B,K=new t.FormattingContext(_,u),j=[];if(o.advance(),o.isOnToken()){var J=_.getLineAndCharacterOfPosition(r.getStart(_)).line,z=J;r.decorators&&(z=_.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(r,_)).line),g(r,r,J,z,a,i);}if(!o.isOnToken()){var U=o.getCurrentLeadingTrivia();U&&(b(U,r,r,void 0),function(){var e=I?I.end:n.pos;D(_.getLineAndCharacterOfPosition(e).line,_.getLineAndCharacterOfPosition(n.end).line+1,I);}());}return o.close(),j}function y(e,t){switch(e.kind){case 152:case 228:case 186:case 151:case 150:case 187:if(e.typeParameters===t)return 27;if(e.parameters===t)return 19;break;case 181:case 182:if(e.typeArguments===t)return 27;if(e.arguments===t)return 19;break;case 159:if(e.typeArguments===t)return 27}return 0}function h(e){switch(e){case 19:return 20;case 27:return 29}return 0}function v(e,t){function n(e,t){for(var n="",r=0;rr.text.length)return a(o);if(o.indentStyle===e.IndentStyle.None)return 0;var _=e.findPrecedingToken(n,r);if(!_)return a(o);if(e.isStringOrRegularExpressionOrTemplateLiteral(_.kind)&&_.getStart(r)<=n&&_.end>n)return 0;var d=r.getLineAndCharacterOfPosition(n).line;if(o.indentStyle===e.IndentStyle.Block){for(var p=n;p>0;){var g=r.text.charCodeAt(p);if(!e.isWhiteSpaceLike(g))break;p--;}var y=e.getLineStartPositionForPosition(p,r);return t.findFirstNonWhitespaceColumn(y,p,r,o)}if(26===_.kind&&194!==_.parent.kind&&-1!==(T=s(_,r,o)))return T;for(var h,v,b,x=_;x;){if(e.positionBelongsToNode(x,n,r)&&k(x,h)){v=l(x,r);var S=u(_,x,d,r);b=0!==S?c&&2===S?o.indentSize:0:d!==v.line?o.indentSize:0;break}var T=f(x,r,o);if(-1!==T)return T;if(-1!==(T=m(x,r,o)))return T+o.indentSize;h=x,x=x.parent;}return x?i(x,v,void 0,b,r,o):a(o)}function r(e,t,n,r){return i(e,n.getLineAndCharacterOfPosition(e.getStart(n)),t,0,n,r)}function a(e){return e.baseIndentSize||0}function i(e,t,n,r,i,s){for(var u,l=e.parent;l;){var d=!0;if(n){var p=e.getStart(i);d=pn.end;}if(d&&-1!==(y=f(e,i,s)))return y+r;var g=(u=o(l,e,i)).line===t.line||_(l,e,t.line,i);if(d){var y=c(e,l,t,g,i,s);if(-1!==y)return y+r;if(-1!==(y=m(e,i,s)))return y+r}k(l,e)&&!g&&(r+=s.indentSize),t=u,l=(e=l).parent;}return r+a(s)}function o(e,t,n){var r=p(t,n);return r?n.getLineAndCharacterOfPosition(r.pos):n.getLineAndCharacterOfPosition(e.getStart(n))}function s(t,n,r){var a=e.findListItemInfo(t);return a&&a.listItemIndex>0?g(a.list.getChildren(),a.listItemIndex-1,n,r):-1}function c(t,n,r,a,i,o){return(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(265===n.kind||!a)?y(r,i,o):-1}function u(t,n,r,a){var i=e.findNextToken(t,n);return i?17===i.kind?1:18===i.kind&&r===l(i,a).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function _(t,n,r,a){if(211===t.kind&&t.elseStatement===n){var i=e.findChildOfKind(t,82,a);return e.Debug.assert(void 0!==i),l(i,a).line===r}return!1}function d(t,n,r){return t&&e.rangeContainsStartEnd(t,n,r)?t:void 0}function p(e,t){if(e.parent)switch(e.parent.kind){case 159:return d(e.parent.typeArguments,e.getStart(t),e.getEnd());case 178:return e.parent.properties;case 177:return e.parent.elements;case 228:case 186:case 187:case 151:case 150:case 155:case 152:case 161:case 156:n=e.getStart(t);return d(e.parent.typeParameters,n,e.getEnd())||d(e.parent.parameters,n,e.getEnd());case 229:return d(e.parent.typeParameters,e.getStart(t),e.getEnd());case 182:case 181:var n=e.getStart(t);return d(e.parent.typeArguments,n,e.getEnd())||d(e.parent.arguments,n,e.getEnd());case 227:return d(e.parent.declarations,e.getStart(t),e.getEnd());case 241:case 245:return d(e.parent.elements,e.getStart(t),e.getEnd())}}function f(t,n,r){var a=p(t,n);return a?function(a){var i=e.indexOf(a,t);return-1!==i?g(a,i,n,r):-1}(a):-1}function m(e,t,n){if(20===e.kind)return-1;if(e.parent&&(181===e.parent.kind||182===e.parent.kind)&&e.parent.expression!==e){var r=e.parent.expression,a=function(e){for(;;)switch(e.kind){case 181:case 182:case 179:case 180:e=e.expression;break;default:return e}}(r);if(r===a)return-1;var i=t.getLineAndCharacterOfPosition(r.end),o=t.getLineAndCharacterOfPosition(a.end);return i.line===o.line?-1:y(i,t,n)}return-1}function g(t,n,r,a){e.Debug.assert(n>=0&&n=0;o--)if(26!==t[o].kind){if(r.getLineAndCharacterOfPosition(t[o].end).line!==i.line)return y(i,r,a);i=l(t[o],r);}return-1}function y(e,t,n){var r=t.getPositionOfLineAndCharacter(e.line,0);return v(r,r+e.character,t,n)}function h(t,n,r,a){for(var i=0,o=0,s=t;s=0;r--){var a=n[r];t=""+t.substring(0,a.span.start)+a.newText+t.substring(e.textSpanEnd(a.span));}return t}function g(t){return e.skipTrivia(t,0)===t.length}function y(t){function r(){}var i=e.visitEachChild(t,y,x,h,y),o=e.nodeIsSynthesized(i)?i:(r.prototype=i,new r);return o.pos=n(t),o.end=a(t),o}function h(t,r,i,o,s){var c=e.visitNodes(t,r,i,o,s);if(!c)return c;var u=c===t?e.createNodeArray(c.slice(0)):c;return u.pos=n(t),u.end=a(t),u}var v;!function(e){e[e.FullStart=0]="FullStart",e[e.Start=1]="Start";}(v=t.Position||(t.Position={})),t.getSeparatorCharacter=c,t.getAdjustedStartPosition=u,t.getAdjustedEndPosition=l;var b=function(){function t(t,n,r){this.newLine=t,this.rulesProvider=n,this.validator=r,this.changes=[],this.newLineCharacter=e.getNewLineCharacter({newLine:t});}return t.fromCodeFixContext=function(e){return new t("\n"===e.newLineCharacter?1:0,e.rulesProvider)},t.prototype.deleteNode=function(e,t,n){void 0===n&&(n={});var r=u(e,t,n,v.FullStart),a=l(e,t,n);return this.changes.push({sourceFile:e,options:n,range:{pos:r,end:a}}),this},t.prototype.deleteRange=function(e,t){return this.changes.push({sourceFile:e,range:t}),this},t.prototype.deleteNodeRange=function(e,t,n,r){void 0===r&&(r={});var a=u(e,t,r,v.FullStart),i=l(e,n,r);return this.changes.push({sourceFile:e,options:r,range:{pos:a,end:i}}),this},t.prototype.deleteNodeInList=function(t,n){var r=e.formatting.SmartIndenter.getContainingList(n,t);if(!r)return e.Debug.fail("node is not a list element"),this;var a=r.indexOf(n);if(a<0)return this;if(1===r.length)return this.deleteNode(t,n),this;if(a!==r.length-1){var i=e.getTokenAtPosition(t,n.end);if(i&&_(n,i)){var o=e.skipTrivia(t.text,u(t,n,{},v.FullStart),!1,!0),s=r[a+1],c=e.skipTrivia(t.text,u(t,s,{},v.FullStart),!1,!0);this.deleteRange(t,{pos:o,end:c});}}else{var l=e.getTokenAtPosition(t,r[a-1].end);l&&_(n,l)&&this.deleteNodeRange(t,l,n);}return this},t.prototype.replaceRange=function(e,t,n,r){return void 0===r&&(r={}),this.changes.push({sourceFile:e,range:t,options:r,node:n}),this},t.prototype.replaceNode=function(e,t,n,r){void 0===r&&(r={});var a=u(e,t,r,v.Start),i=l(e,t,r);return this.changes.push({sourceFile:e,options:r,useIndentationFromFile:!0,node:n,range:{pos:a,end:i}}),this},t.prototype.replaceNodeRange=function(e,t,n,r,a){void 0===a&&(a={});var i=u(e,t,a,v.Start),o=l(e,n,a);return this.changes.push({sourceFile:e,options:a,useIndentationFromFile:!0,node:r,range:{pos:i,end:o}}),this},t.prototype.insertNodeAt=function(e,t,n,r){return void 0===r&&(r={}),this.changes.push({sourceFile:e,options:r,node:n,range:{pos:t,end:t}}),this},t.prototype.insertNodeBefore=function(e,t,n,r){void 0===r&&(r={});var a=u(e,t,r,v.Start);return this.changes.push({sourceFile:e,options:r,useIndentationFromFile:!0,node:n,range:{pos:a,end:a}}),this},t.prototype.insertNodeAfter=function(t,n,r,a){void 0===a&&(a={}),(e.isStatementButNotDeclaration(n)||149===n.kind||148===n.kind||150===n.kind)&&59!==t.text.charCodeAt(n.end-1)&&this.changes.push({sourceFile:t,options:{},range:{pos:n.end,end:n.end},node:e.createToken(25)});var i=l(t,n,a);return this.changes.push({sourceFile:t,options:a,useIndentationFromFile:!0,node:r,range:{pos:i,end:i}}),this},t.prototype.insertNodeInListAfter=function(t,n,r){var a=e.formatting.SmartIndenter.getContainingList(n,t);if(!a)return e.Debug.fail("node is not a list element"),this;var i=a.indexOf(n);if(i<0)return this;var c=n.getEnd();if(i!==a.length-1){var u=e.getTokenAtPosition(t,n.end);if(u&&_(n,u)){var l=e.getLineAndCharacterOfPosition(t,o(t.text,a[i+1].getFullStart())),p=e.getLineAndCharacterOfPosition(t,u.end),f=void 0,m=void 0;p.line===l.line?(m=u.end,f=d(l.character-p.character)):m=e.getStartPositionOfLine(l.line,t),this.changes.push({sourceFile:t,range:{pos:m,end:a[i+1].getStart(t)},node:r,useIndentationFromFile:!0,options:{prefix:f,suffix:""+e.tokenToString(u.kind)+t.text.substring(u.end,a[i+1].getStart(t))}});}}else{var g=n.getStart(t),y=e.getLineStartPositionForPosition(g,t),h=void 0,v=!1;if(1===a.length)h=26;else{var b=e.findPrecedingToken(n.pos,t);h=_(n,b)?b.kind:26,v=e.getLineStartPositionForPosition(a[i-1].getStart(t),t)!==y;}if(s(t.text,n.end)&&(v=!0),v){this.changes.push({sourceFile:t,range:{pos:c,end:c},node:e.createToken(h),options:{}});var x=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(y,g,t,this.rulesProvider.getFormatOptions()),k=e.skipTrivia(t.text,c,!0,!1);k!==c&&e.isLineBreak(t.text.charCodeAt(k-1))&&k--,this.changes.push({sourceFile:t,range:{pos:k,end:k},node:r,options:{indentation:x,prefix:this.newLineCharacter}});}else this.changes.push({sourceFile:t,range:{pos:c,end:c},node:r,options:{prefix:e.tokenToString(h)+" "}});}return this},t.prototype.getChanges=function(){for(var n=this,r=e.createFileMap(),a=0,i=this.changes;a0&&(r=r.concat(n));}),r}var i=[];t.registerCodeFix=n,t.getSupportedErrorCodes=r,t.getFixes=a;}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(n){function r(e,t,n,r){if(!n){var a=s.getIndexInfoOfType(e,t);if(a){var i=s.indexInfoToIndexSignatureDeclaration(a,t,c);r.push(i);}}}var a=n.sourceFile,i=n.span.start,o=e.getTokenAtPosition(a,i),s=n.program.getTypeChecker(),c=e.getContainingClass(o);if(c){for(var u=e.getOpenBraceOfClassLike(c,a),l=s.getTypeAtLocation(c),_=e.getClassImplementsHeritageClauseElements(c),d=!!s.getIndexTypeOfType(l,1),p=!!s.getIndexTypeOfType(l,0),f=[],m=0,g=_;m0&&function(e,r,a){var i={description:a,changes:t.newNodesToChanges(r,u,n)};e.push(i);}(f,b,x);}return f}}t.registerCodeFix({errorCodes:[e.Diagnostics.Class_0_incorrectly_implements_interface_1.code],getCodeActions:n});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(t){var n=t.sourceFile,r=t.span.start,a=e.getTokenAtPosition(n,r);if(71===a.kind&&e.isPropertyAccessExpression(a.parent)&&99===a.parent.expression.kind){var i=e.getThisContainer(a,!1);if(e.isClassElement(i)){var o=i.parent;if(o&&e.isClassLike(o)){var s=e.hasModifier(i,32);return e.isInJavaScriptFile(n)?function(){var r=a.getText();if(s){if(199===o.kind)return;var i=o.name.getText();return[{description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Initialize_static_property_0),[r]),changes:[{fileName:n.fileName,textChanges:[{span:{start:o.getEnd(),length:0},newText:""+t.newLineCharacter+i+"."+r+" = undefined;"+t.newLineCharacter}]}]}]}var c=e.getFirstConstructorWithBody(o);if(c)return[{description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Initialize_property_0_in_the_constructor),[r]),changes:[{fileName:n.fileName,textChanges:[{span:{start:c.body.getEnd()-1,length:0},newText:"this."+r+" = undefined;"+t.newLineCharacter}]}]}]}():function(){var r;if(194===a.parent.parent.kind){var i=a.parent.parent,c=t.program.getTypeChecker(),u=c.getWidenedType(c.getBaseTypeOfLiteralType(c.getTypeAtLocation(i.right)));r=c.typeToTypeNode(u,o);}r=r||e.createKeywordTypeNode(119);var l=e.getOpenBraceOfClassLike(o,n),_=e.createProperty(void 0,s?[e.createToken(115)]:void 0,a.getText(n),void 0,r,void 0),d=e.textChanges.ChangeTracker.fromCodeFixContext(t);d.insertNodeAfter(n,l,_,{suffix:t.newLineCharacter});var p=[{description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Add_declaration_for_missing_property_0),[a.getText()]),changes:d.getChanges()}];if(!s){var f=e.createKeywordTypeNode(136),m=e.createParameter(void 0,void 0,void 0,"x",void 0,f,void 0),g=e.createIndexSignatureDeclaration(void 0,void 0,[m],r),y=e.textChanges.ChangeTracker.fromCodeFixContext(t);y.insertNodeAfter(n,l,g,{suffix:t.newLineCharacter}),p.push({description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Add_index_signature_for_missing_property_0),[a.getText()]),changes:y.getChanges()});}return p}()}}}}t.registerCodeFix({errorCodes:[e.Diagnostics.Property_0_does_not_exist_on_type_1.code],getCodeActions:n});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(n){var a=n.sourceFile,i=n.span.start,o=e.getTokenAtPosition(a,i),s=n.program.getTypeChecker();if(e.isClassLike(o.parent)){var c=o.parent,u=e.getClassExtendsHeritageClauseElement(c),l=s.getTypeAtLocation(u),_=s.getPropertiesOfType(l).filter(r),d=t.createMissingMemberNodes(c,_,s),p=t.newNodesToChanges(d,e.getOpenBraceOfClassLike(c,a),n);if(p&&p.length>0)return[{description:e.getLocaleSpecificMessage(e.Diagnostics.Implement_inherited_abstract_class),changes:p}]}}function r(t){var n=t.getDeclarations();e.Debug.assert(!!(n&&n.length>0));var r=e.getModifierFlags(n[0]);return!(8&r||!(128&r))}t.registerCodeFix({errorCodes:[e.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code],getCodeActions:n}),t.registerCodeFix({errorCodes:[e.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1.code],getCodeActions:n});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){t.registerCodeFix({errorCodes:[e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code],getCodeActions:function(t){function n(t){if(210===t.kind&&e.isSuperCall(t.expression))return t;if(!e.isFunctionLike(t))return e.forEachChild(t,n)}var r=t.sourceFile,a=e.getTokenAtPosition(r,t.span.start);if(99===a.kind){var i=e.getContainingFunction(a),o=n(i.body);if(o){if(o.expression&&181===o.expression.kind)for(var s=o.expression.arguments,c=0;c0){var s=o[0].getFirstToken();if(s&&85===s.kind){var c=e.textChanges.ChangeTracker.fromCodeFixContext(t);c.replaceNode(n,s,e.createToken(108));for(var u=1;u=0;g--){var y=l.statements[g];if(237===y.kind||238===y.kind){u=y;break}}var h=e.createGetCanonicalFileName(p),v=e.stripQuotes(n||function(){var n=l.fileName,a=r.valueDeclaration.getSourceFile().fileName,i=e.getDirectoryPath(n),s=t.program.getCompilerOptions();return function(){if(265!==r.valueDeclaration.kind)return r.name}()||function(){var n=e.getEffectiveTypeRoots(s,t.host);if(n)for(var r=0,i=e.map(n,function(t){return e.toPath(t,void 0,h)});r=l.length+p.length&&e.startsWith(t,l)&&e.endsWith(t,p)){var f=t.substr(l.length,t.length-p.length);return r.replace("*",f)}}else if(c===t||c===n)return r}return t}}}()||function(){if(s.rootDirs){var t=o(a,s.rootDirs),n=o(i,s.rootDirs);if(void 0!==t){var r=void 0!==n?f(t,n):t;return e.removeFileExtension(r)}}}()||e.removeFileExtension(f(a,i))}()),b=s(),x=a?e.createImportClause(e.createIdentifier(m),void 0):i?e.createImportClause(void 0,e.createNamespaceImport(e.createIdentifier(m))):e.createImportClause(void 0,e.createNamedImports([e.createImportSpecifier(void 0,e.createIdentifier(m))])),k=e.createImportDeclaration(void 0,void 0,x,e.createLiteral(v));return u?b.insertNodeAfter(l,u,k,{suffix:t.newLineCharacter}):b.insertNodeAt(l,l.getStart(),k,{suffix:""+t.newLineCharacter+t.newLineCharacter}),c(e.Diagnostics.Import_0_from_1,[m,'"'+v+'"'],b.getChanges(),"NewImport",v)}var _=n(r);return _.length>0?function(t){for(var n,r,a,u=[],_=0,d=t;_=o)return{span:{start:o,length:0},newText:"// @ts-ignore"+r}}return{span:{start:n,length:0},newText:(n===o?"":r)+"// @ts-ignore"+r}}function r(t){var r=t.sourceFile,a=t.program,i=t.newLineCharacter,o=t.span;if(e.isInJavaScriptFile(r)&&e.isCheckJsEnabledForFile(r,a.getCompilerOptions()))return[{description:e.getLocaleSpecificMessage(e.Diagnostics.Ignore_this_error_message),changes:[{fileName:r.fileName,textChanges:[n(r,o.start,i)]}]},{description:e.getLocaleSpecificMessage(e.Diagnostics.Disable_checking_for_this_file),changes:[{fileName:r.fileName,textChanges:[{span:{start:r.checkJsDirective?r.checkJsDirective.pos:0,length:r.checkJsDirective?r.checkJsDirective.end-r.checkJsDirective.pos:0},newText:"// @ts-nocheck"+i}]}]}]}t.registerCodeFix({errorCodes:function(){var t=e.Diagnostics;return Object.keys(t).filter(function(n){return t[n]&&t[n].category===e.DiagnosticCategory.Error}).map(function(e){return t[e].code})}(),getCodeActions:r});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(t,n,r){for(var a=r.sourceFile,i=e.textChanges.ChangeTracker.fromCodeFixContext(r),o=0,s=t;og.length){var v=r.getSignatureFromDeclaration(o[o.length-1]),b=a(v,n,s());b&&y.push(b);}else{e.Debug.assert(o.length===g.length);var x=i(g,l,f,d);y.push(x);}return y;default:return}}}function i(t,n,r,a){for(var i=t[0],s=t[0].minArgumentCount,c=!1,u=0;u=i.parameters.length&&(!l.hasRestParameter||i.hasRestParameter)&&(i=l);}for(var _=i.parameters.length-(i.hasRestParameter?1:0),d=i.parameters.map(function(e){return e.getName()}),p=[],u=0;u<_;u++){var f=e.createKeywordTypeNode(119),m=e.createParameter(void 0,void 0,void 0,d[u],u>=s?e.createToken(55):void 0,f,void 0);p.push(m);}if(c){var g=e.createArrayTypeNode(e.createKeywordTypeNode(119)),y=e.createParameter(void 0,void 0,e.createToken(24),d[_]||"rest",_>=s?e.createToken(55):void 0,g,void 0);p.push(y);}return o(a,n,r,void 0,p,void 0)}function o(t,n,r,a,i,o){return e.createMethodDeclaration(void 0,t,void 0,n,r?e.createToken(55):void 0,a,i,o,s())}function s(){return e.createBlock([e.createThrow(e.createNew(e.createIdentifier("Error"),void 0,[e.createLiteral("Method not implemented.")]))],!0)}function c(t){return 4&t?e.createToken(114):16&t?e.createToken(113):void 0}t.newNodesToChanges=n,t.createMissingMemberNodes=r,t.createStubbedMethod=o;}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){function t(e,t,n,r){var a=e>=143?new v(e,t,n):71===e?new S(71,t,n):new k(e,t,n);return a.parent=r,a}function r(t){var n=!0;for(var r in t)if(e.hasProperty(t,r)&&!a(r)){n=!1;break}if(n)return t;var i={};for(var r in t)e.hasProperty(t,r)&&(i[a(r)?r:r.charAt(0).toLowerCase()+r.substr(1)]=t[r]);return i}function a(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function i(t){return t?e.map(t,function(e){return e.text}).join(""):""}function o(){return{target:1,jsx:1}}function s(){return e.codefix.getSupportedErrorCodes()}function c(e,t,n){e.version=n,e.scriptSnapshot=t;}function u(t,n,r,a,i,o){var s=n.getText(0,n.getLength()),u=e.createSourceFile(t,s,r,i,o);return c(u,n,a),u}function l(t,n,r,a,i){if(a&&r!==t.version&&!e.disableIncrementalParsing){var o=void 0,s=0!==a.span.start?t.text.substr(0,a.span.start):"",l=e.textSpanEnd(a.span)!==t.text.length?t.text.substr(e.textSpanEnd(a.span)):"";if(0===a.newLength)o=s&&l?s+l:s||l;else{var _=n.getText(a.span.start,a.span.start+a.newLength);o=s&&l?s+_+l:s?s+_:_+l;}var d=e.updateSourceFile(t,o,a,i);return c(d,n,r),d.nameTable=void 0,t!==d&&t.scriptSnapshot&&(t.scriptSnapshot.dispose&&t.scriptSnapshot.dispose(),t.scriptSnapshot=void 0),d}return u(t.fileName,n,t.languageVersion,r,!0,t.scriptKind)}function _(t,n){function a(e){t.log&&t.log(e);}function i(e){var t=re.getSourceFile(e);if(!t)throw new Error("Could not find file: '"+e+"'.");return t}function o(t){return ne||(ne=new e.formatting.RulesProvider),ne.ensureUpToDate(t),ne}function s(){function r(t){return i(t,e.toPath(t,ue,le))}function i(t,r){e.Debug.assert(void 0!==u);var a=u.getOrCreateEntryByPath(t,r);if(a){if(!d){var i=re&&re.getSourceFileByPath(r);if(i)return e.Debug.assert(a.scriptKind===i.scriptKind,"Registered script kind ("+i.scriptKind+") should match new script kind ("+a.scriptKind+") for file: "+r),n.updateDocumentWithKey(t,r,_,f,a.scriptSnapshot,a.version,a.scriptKind)}return n.acquireDocumentWithKey(t,r,_,f,a.scriptSnapshot,a.version,a.scriptKind)}}function o(t){if(!t)return!1;var n=t.path||e.toPath(t.fileName,ue,le);return t.version===u.getVersion(n)}if(t.getProjectVersion){var s=t.getProjectVersion();if(s){if(ae===s)return;ae=s;}}var c=t.getTypeRootsVersion?t.getTypeRootsVersion():0;oe!==c&&(a("TypeRoots version has changed; provide new program"),re=void 0,oe=c);var u=new D(t,le);if(!function(){if(!re)return!1;var t=u.getRootFileNames();if(re.getSourceFiles().length!==t.length)return!1;for(var n=0,r=t;n0)for(var u=function(){var t=/(?:\/\/+\s*)/.source,a=/(?:\/\*+\s*)/.source,i="("+/(?:^(?:\s|\*)*)/.source+"|"+t+"|"+a+")",o="(?:"+e.map(n,function(e){return"("+r(e.text)+")"}).join("|")+")",s=/(?:$|\*\/)/.source,c=i+("("+o+/(?:.*?)/.source+")")+s;return new RegExp(c,"gim")}(),l=void 0;l=u.exec(o);){ce.throwIfCancellationRequested();e.Debug.assert(l.length===n.length+3);var _=l[1],d=l.index+_.length,p=e.getTokenAtPosition(a,d);if(e.isInsideComment(a,p,d)){for(var f=void 0,m=0;m=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}(o.charCodeAt(d+f.text.length))){var g=l[2];c.push({descriptor:f,message:g,position:d});}}}return c}function te(n,r){s();var a=t.getDefaultLibFileName(t.getCompilationSettings());return e.Rename.getRenameInfo(re.getTypeChecker(),a,le,i(n),r)}void 0===n&&(n=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory()));var ne,re,ae,ie=new N(t),oe=0,se=t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),ce=new A(t.getCancellationToken&&t.getCancellationToken()),ue=t.getCurrentDirectory();!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages&&(e.localizedDiagnosticMessages=t.getLocalizedDiagnosticMessages());var le=e.createGetCanonicalFileName(se);return{dispose:l,cleanupSemanticCache:u,getSyntacticDiagnostics:_,getSemanticDiagnostics:d,getCompilerOptionsDiagnostics:p,getSyntacticClassifications:U,getSemanticClassifications:J,getEncodedSyntacticClassifications:V,getEncodedSemanticClassifications:z,getCompletionsAtPosition:f,getCompletionEntryDetails:m,getCompletionEntrySymbol:g,getSignatureHelpItems:F,getQuickInfoAtPosition:y,getDefinitionAtPosition:h,getImplementationAtPosition:b,getTypeDefinitionAtPosition:v,getReferencesAtPosition:C,findReferences:w,getOccurrencesAtPosition:x,getDocumentHighlights:k,getNameOrDottedNameSpan:M,getBreakpointStatementAtPosition:L,getNavigateToItems:P,getRenameInfo:te,findRenameLocations:T,getNavigationBarItems:B,getNavigationTree:K,getOutliningSpans:q,getTodoComments:ee,getBraceMatchingAtPosition:$,getIndentationAtPosition:G,getFormattingEditsForRange:W,getFormattingEditsForDocument:H,getFormattingEditsAfterKeystroke:X,getDocCommentTemplateAtPosition:Q,isValidBraceCompletionAtPosition:Z,getCodeFixesAtPosition:Y,getEmitOutput:O,getNonBoundSourceFile:I,getSourceFile:R,getProgram:c}}function d(e){return e.nameTable||p(e),e.nameTable}function p(t){function n(t){switch(t.kind){case 71:r(t.text,t);break;case 9:case 8:(e.isDeclarationName(t)||248===t.parent.kind||y(t)||e.isLiteralComputedPropertyDeclarationName(t))&&r(t.text,t);break;default:if(e.forEachChild(t,n),t.jsDoc)for(var a=0,i=t.jsDoc;a=143){e.scanner.setText((t||this.getSourceFile()).text),n=[];var a=this.pos,i=this.kind>=283&&this.kind<=293,o=function(t){var o=e.isJSDocTag(t);!o&&a293});return r.kind<143?r:r.getFirstToken(t)}},n.prototype.getLastToken=function(t){var n=this.getChildren(t),r=e.lastOrUndefined(n);if(r)return r.kind<143?r:r.getLastToken(t)},n.prototype.forEachChild=function(t,n){return e.forEachChild(this,t,n)},n}(),b=function(){function t(e,t){this.pos=e,this.end=t,this.flags=0,this.parent=void 0;}return t.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},t.prototype.getStart=function(t,n){return e.getTokenPosOfNode(this,t,n)},t.prototype.getFullStart=function(){return this.pos},t.prototype.getEnd=function(){return this.end},t.prototype.getWidth=function(e){return this.getEnd()-this.getStart(e)},t.prototype.getFullWidth=function(){return this.end-this.pos},t.prototype.getLeadingTriviaWidth=function(e){return this.getStart(e)-this.pos},t.prototype.getFullText=function(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)},t.prototype.getText=function(e){return(e||this.getSourceFile()).text.substring(this.getStart(),this.getEnd())},t.prototype.getChildCount=function(){return 0},t.prototype.getChildAt=function(){},t.prototype.getChildren=function(){return e.emptyArray},t.prototype.getFirstToken=function(){},t.prototype.getLastToken=function(){},t.prototype.forEachChild=function(){},t}(),x=function(){function t(e,t){this.flags=e,this.name=t;}return t.prototype.getFlags=function(){return this.flags},t.prototype.getName=function(){return this.name},t.prototype.getDeclarations=function(){return this.declarations},t.prototype.getDocumentationComment=function(){return void 0===this.documentationComment&&(this.documentationComment=e.JsDoc.getJsDocCommentsFromDeclarations(this.declarations)),this.documentationComment},t.prototype.getJsDocTags=function(){return void 0===this.tags&&(this.tags=e.JsDoc.getJsDocTagsFromDeclarations(this.declarations)),this.tags},t}(),k=function(e){function t(t,n,r){var a=e.call(this,n,r)||this;return a.kind=t,a}return n(t,e),t}(b),S=function(e){function t(t,n,r){return e.call(this,n,r)||this}return n(t,e),t}(b);S.prototype.kind=71;var T=function(){function e(e,t){this.checker=e,this.flags=t;}return e.prototype.getFlags=function(){return this.flags},e.prototype.getSymbol=function(){return this.symbol},e.prototype.getProperties=function(){return this.checker.getPropertiesOfType(this)},e.prototype.getProperty=function(e){return this.checker.getPropertyOfType(this,e)},e.prototype.getApparentProperties=function(){return this.checker.getAugmentedPropertiesOfType(this)},e.prototype.getCallSignatures=function(){return this.checker.getSignaturesOfType(this,0)},e.prototype.getConstructSignatures=function(){return this.checker.getSignaturesOfType(this,1)},e.prototype.getStringIndexType=function(){return this.checker.getIndexTypeOfType(this,0)},e.prototype.getNumberIndexType=function(){return this.checker.getIndexTypeOfType(this,1)},e.prototype.getBaseTypes=function(){return 32768&this.flags&&3&this.objectFlags?this.checker.getBaseTypes(this):void 0},e.prototype.getNonNullableType=function(){return this.checker.getNonNullableType(this)},e}(),C=function(){function t(e){this.checker=e;}return t.prototype.getDeclaration=function(){return this.declaration},t.prototype.getTypeParameters=function(){return this.typeParameters},t.prototype.getParameters=function(){return this.parameters},t.prototype.getReturnType=function(){return this.checker.getReturnTypeOfSignature(this)},t.prototype.getDocumentationComment=function(){return void 0===this.documentationComment&&(this.documentationComment=this.declaration?e.JsDoc.getJsDocCommentsFromDeclarations([this.declaration]):[]),this.documentationComment},t.prototype.getJsDocTags=function(){return void 0===this.jsDocTags&&(this.jsDocTags=this.declaration?e.JsDoc.getJsDocTagsFromDeclarations([this.declaration]):[]),this.jsDocTags},t}(),E=function(t){function r(e,n,r){return t.call(this,e,n,r)||this}return n(r,t),r.prototype.update=function(t,n){return e.updateSourceFile(this,t,n)},r.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},r.prototype.getLineStarts=function(){return e.getLineStarts(this)},r.prototype.getPositionOfLineAndCharacter=function(t,n){return e.getPositionOfLineAndCharacter(this,t,n)},r.prototype.getLineEndOfPosition=function(e){var t,n=this.getLineAndCharacterOfPosition(e).line,r=this.getLineStarts();n+1>=r.length&&(t=this.getEnd()),t||(t=r[n+1]-1);var a=this.getFullText();return"\n"===a[t]&&"\r"===a[t-1]?t-1:t},r.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},r.prototype.computeNamedDeclarations=function(){function t(e){var t=r(e);t&&o.add(t,e);}function n(e){var t=o.get(e);return t||o.set(e,t=[]),t}function r(e){if(e.name){var t=a(e.name);if(void 0!==t)return t;if(144===e.name.kind){var n=e.name.expression;return 179===n.kind?n.name.text:a(n)}}}function a(e){if(e&&(71===e.kind||9===e.kind||8===e.kind))return e.text}function i(a){switch(a.kind){case 228:case 186:case 151:case 150:var o=a,s=r(o);if(s){var c=n(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o);}e.forEachChild(a,i);break;case 229:case 199:case 230:case 231:case 232:case 233:case 237:case 246:case 242:case 237:case 239:case 240:case 153:case 154:case 163:t(a),e.forEachChild(a,i);break;case 146:if(!e.hasModifier(a,92))break;case 226:case 176:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 264:case 149:case 148:t(a);break;case 244:a.exportClause&&e.forEach(a.exportClause.elements,i);break;case 238:var _=a.importClause;_&&(_.name&&t(_),_.namedBindings&&(240===_.namedBindings.kind?t(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;default:e.forEachChild(a,i);}}var o=e.createMultiMap();return e.forEachChild(this,i),o},r}(v);e.toEditorSettings=r,e.displayPartsToString=i,e.getDefaultCompilerOptions=o,e.getSupportedCodeFixes=s;var D=function(){function t(t,n){this.host=t,this.getCanonicalFileName=n,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=e.createFileMap();for(var r=0,a=t.getScriptFileNames();r=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw new e.OperationCanceledException},t}();e.ThrottledCancellationToken=w,e.createLanguageService=_,e.getNameTable=d,e.getContainingObjectLiteralElement=m,e.getPropertySymbolsFromContextualType=g,e.getDefaultLibFilePath=h,e.objectAllocator=function(){return{getNodeConstructor:function(){return v},getTokenConstructor:function(){return k},getIdentifierConstructor:function(){return S},getSourceFileConstructor:function(){return E},getSymbolConstructor:function(){return x},getTypeConstructor:function(){return T},getSignatureConstructor:function(){return C}}}();}(r||(r={}));!function(e){!function(t){function n(t,n){function r(n,r){var a=n.decorators?e.skipTrivia(t.text,n.decorators.end):n.getStart(t);return e.createTextSpanFromBounds(a,(r||n).getEnd())}function a(t,n){return r(t,e.findNextToken(n,n.parent))}function i(e,n){return u(e&&_===t.getLineAndCharacterOfPosition(e.getStart(t)).line?e:n)}function o(n){return e.createTextSpanFromBounds(e.skipTrivia(t.text,n.pos),n.end)}function s(n){return u(e.findPrecedingToken(n.pos,t))}function c(t){return u(e.findNextToken(t,t.parent))}function u(n){function l(n){return 227===n.parent.kind&&n.parent.declarations[0]===n?r(e.findPrecedingToken(n.pos,t,n.parent),n):r(n)}function _(n){return 215===n.parent.parent.kind?u(n.parent.parent):e.isBindingPattern(n.name)?y(n.name):n.initializer||e.hasModifier(n,1)||216===n.parent.parent.kind?l(n):227===n.parent.kind&&n.parent.declarations[0]!==n?u(e.findPrecedingToken(n.pos,t,n.parent)):void 0}function d(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasModifier(t,12)}function p(t){if(e.isBindingPattern(t.name))return y(t.name);if(d(t))return r(t);var n=t.parent,a=e.indexOf(n.parameters,t);return a?p(n.parameters[a-1]):u(n.body)}function f(t){return e.hasModifier(t,1)||229===t.parent.kind&&152!==t.kind}function m(n){switch(n.parent.kind){case 233:if(1!==e.getModuleInstanceState(n.parent))return;case 213:case 211:case 215:return i(n.parent,n.statements[0]);case 214:case 216:return i(e.findPrecedingToken(n.pos,t,n.parent),n.statements[0])}return u(n.statements[0])}function g(e){if(227!==e.initializer.kind)return u(e.initializer);var t=e.initializer;return t.declarations.length>0?u(t.declarations[0]):void 0}function y(t){var n=e.forEach(t.elements,function(e){return 200!==e.kind?e:void 0});return n?u(n):176===t.parent.kind?r(t.parent):l(t.parent)}function h(t){e.Debug.assert(175!==t.kind&&174!==t.kind);var n=177===t.kind?t.elements:t.properties,a=e.forEach(n,function(e){return 200!==e.kind?e:void 0});return a?u(a):r(194===t.parent.kind?t.parent:t)}if(n)switch(n.kind){case 208:return _(n.declarationList.declarations[0]);case 226:case 149:case 148:return _(n);case 146:return p(n);case 228:case 151:case 150:case 153:case 154:case 152:case 186:case 187:return function(e){if(e.body)return f(e)?r(e):u(e.body)}(n);case 207:if(e.isFunctionBlock(n))return function(e){var t=e.statements.length?e.statements[0]:e.getLastToken();return f(e.parent)?i(e.parent,t):u(t)}(n);case 234:return m(n);case 260:return m(n.block);case 210:return r(n.expression);case 219:return r(n.getChildAt(0),n.expression);case 213:return a(n,n.expression);case 212:return u(n.statement);case 225:return r(n.getChildAt(0));case 211:return a(n,n.expression);case 222:return u(n.statement);case 218:case 217:return r(n.getChildAt(0),n.label);case 214:return function(e){return e.initializer?g(e):e.condition?r(e.condition):e.incrementor?r(e.incrementor):void 0}(n);case 215:return a(n,n.expression);case 216:return g(n);case 221:return a(n,n.expression);case 257:case 258:return u(n.statements[0]);case 224:return m(n.tryBlock);case 223:case 243:return r(n,n.expression);case 237:return r(n,n.moduleReference);case 238:case 244:return r(n,n.moduleSpecifier);case 233:if(1!==e.getModuleInstanceState(n))return;case 229:case 232:case 264:case 176:return r(n);case 220:return u(n.statement);case 147:return o(n.parent.decorators);case 174:case 175:return y(n);case 230:case 231:return;case 25:case 1:return i(e.findPrecedingToken(n.pos,t));case 26:return s(n);case 17:return function(n){switch(n.parent.kind){case 232:var r=n.parent;return i(e.findPrecedingToken(n.pos,t,n.parent),r.members.length?r.members[0]:r.getLastToken(t));case 229:var a=n.parent;return i(e.findPrecedingToken(n.pos,t,n.parent),a.members.length?a.members[0]:a.getLastToken(t));case 235:return i(n.parent.parent,n.parent.clauses[0])}return u(n.parent)}(n);case 18:return function(t){switch(t.parent.kind){case 234:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 232:case 229:return r(t);case 207:if(e.isFunctionBlock(t.parent))return r(t);case 260:return u(e.lastOrUndefined(t.parent.statements));case 235:var n=t.parent,a=e.lastOrUndefined(n.clauses);if(a)return u(e.lastOrUndefined(a.statements));return;case 174:var i=t.parent;return u(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var o=t.parent;return r(e.lastOrUndefined(o.properties)||o)}return u(t.parent)}}(n);case 22:return function(t){switch(t.parent.kind){case 175:var n=t.parent;return r(e.lastOrUndefined(n.elements)||n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return r(e.lastOrUndefined(a.elements)||a)}return u(t.parent)}}(n);case 19:return function(e){return 212===e.parent.kind||181===e.parent.kind||182===e.parent.kind?s(e):185===e.parent.kind?c(e):u(e.parent)}(n);case 20:return function(e){switch(e.parent.kind){case 186:case 228:case 187:case 151:case 150:case 153:case 154:case 152:case 213:case 212:case 214:case 216:case 181:case 182:case 185:return s(e);default:return u(e.parent)}}(n);case 56:return function(t){return e.isFunctionLike(t.parent)||261===t.parent.kind||146===t.parent.kind?s(t):u(t.parent)}(n);case 29:case 27:return function(e){return 184===e.parent.kind?c(e):u(e.parent)}(n);case 106:return function(e){return 212===e.parent.kind?a(e,e.parent.expression):u(e.parent)}(n);case 82:case 74:case 87:return c(n);case 142:return function(e){return 216===e.parent.kind?c(e):u(e.parent)}(n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return h(n);if((71===n.kind||198===n.kind||261===n.kind||262===n.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent))return r(n);if(194===n.kind){b=n;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(b.left))return h(b.left);if(58===b.operatorToken.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(b.parent))return r(n);if(26===b.operatorToken.kind)return u(b.left)}if(e.isPartOfExpression(n))switch(n.parent.kind){case 212:return s(n);case 147:return u(n.parent);case 214:case 216:return r(n);case 194:if(26===n.parent.operatorToken.kind)return r(n);break;case 187:if(n.parent.body===n)return r(n)}if(261===n.parent.kind&&n.parent.name===n&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent.parent))return u(n.parent.initializer);if(184===n.parent.kind&&n.parent.type===n)return c(n.parent.type);if(e.isFunctionLike(n.parent)&&n.parent.type===n)return s(n);if(226===n.parent.kind||146===n.parent.kind){var v=n.parent;if(v.initializer===n||v.type===n||e.isAssignmentOperator(n.kind))return s(n)}if(194===n.parent.kind){var b=n.parent;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(b.left)&&(b.right===n||b.operatorToken===n))return s(n)}return u(n.parent)}}if(!t.isDeclarationFile){var l=e.getTokenAtPosition(t,n),_=t.getLineAndCharacterOfPosition(n).line;if((!(t.getLineAndCharacterOfPosition(l.getStart(t)).line>_)||(l=e.findPrecedingToken(l.pos,t))&&t.getLineAndCharacterOfPosition(l.getEnd()).line===_)&&!e.isInAmbientContext(l))return u(l)}}t.spanInSourceFileAtLocation=n;}(e.BreakpointResolver||(e.BreakpointResolver={}));}(r||(r={}));!function(e){function t(t,n,r){var a=[];r=e.fixupCompilerOptions(r,a);var i=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,r,i,n,!0);return o.diagnostics=e.concatenate(o.diagnostics,a),o}e.transform=t;}(r||(r={}));var r,a=function(){return this}();!function(t){function r(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message);}function i(e,n,r,a){var i;a&&(e.log(n),i=t.timestamp());var o=r();if(a){var s=t.timestamp();if(e.log(n+" completed in "+(s-i)+" msec"),"string"==typeof o){var c=o;c.length>128&&(c=c.substring(0,128)+"..."),e.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'");}}return o}function o(e,t,n,r){return s(e,t,!0,n,r)}function s(e,n,a,o,s){try{var c=i(e,n,o,s);return a?JSON.stringify({result:c}):c}catch(a){return a instanceof t.OperationCanceledException?JSON.stringify({canceled:!0}):(r(e,a),a.description=n,JSON.stringify({error:a}))}}function c(e,t){return e.map(function(e){return u(e,t)})}function u(e,n){return{message:t.flattenDiagnosticMessageText(e.messageText,n),start:e.start,length:e.length,category:t.DiagnosticCategory[e.category].toLowerCase(),code:e.code}}function l(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var _=function(){function e(e){this.scriptSnapshotShim=e;}return e.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},e.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},e.prototype.getChangeRange=function(e){var n=e,r=this.scriptSnapshotShim.getChangeRange(n.scriptSnapshotShim);if(null===r)return null;var a=JSON.parse(r);return t.createTextChangeRange(t.createTextSpan(a.span.start,a.span.length),a.newLength)},e.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose();},e}(),d=function(){function e(e){var n=this;this.shimHost=e,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(e,r){var a=JSON.parse(n.shimHost.getModuleResolutionsForFile(r));return t.map(e,function(e){var n=t.getProperty(a,e);return n?{resolvedFileName:n,extension:t.extensionFromPath(n),isExternalLibraryImport:!1}:void 0})}),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return n.shimHost.directoryExists(e)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(e,r){var a=JSON.parse(n.shimHost.getTypeReferenceDirectiveResolutionsForFile(r));return t.map(e,function(e){return t.getProperty(a,e)})});}return e.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e);},e.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e);},e.prototype.error=function(e){this.shimHost.error(e);},e.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},e.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},e.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},e.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||""===e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},e.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return this.files=JSON.parse(e)},e.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new _(t)},e.prototype.getScriptKind=function(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0},e.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},e.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||""===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},e.prototype.getCancellationToken=function(){var e=this.shimHost.getCancellationToken();return new t.ThrottledCancellationToken(e)},e.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},e.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},e.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},e.prototype.readDirectory=function(e,n,r,a,i){var o=t.getFileMatcherPatterns(e,r,a,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,i))},e.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},e.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},e}();t.LanguageServiceShimHostAdapter=d;var p=function(){function e(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return t.shimHost.directoryExists(e)}),"realpath"in this.shimHost&&(this.realpath=function(e){return t.shimHost.realpath(e)});}return e.prototype.readDirectory=function(e,n,r,a,i){try{var o=t.getFileMatcherPatterns(e,r,a,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,i))}catch(a){for(var s=[],c=0,u=n;c",""":'"',"'":"'","`":"`"},freeGlobal="object"==typeof commonjsGlobal$$1&&commonjsGlobal$$1&&commonjsGlobal$$1.Object===Object&&commonjsGlobal$$1,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),unescapeHtmlChar=basePropertyOf(htmlUnescapes),objectProto=Object.prototype,objectToString=objectProto.toString,Symbol=root.Symbol,symbolProto=Symbol?Symbol.prototype:void 0,symbolToString=symbolProto?symbolProto.toString:void 0,index=unescape$1;const ts$1=typescript,unescape=index,SyntaxKind$1=ts$1.SyntaxKind,ASSIGNMENT_OPERATORS=[SyntaxKind$1.EqualsToken,SyntaxKind$1.PlusEqualsToken,SyntaxKind$1.MinusEqualsToken,SyntaxKind$1.AsteriskEqualsToken,SyntaxKind$1.SlashEqualsToken,SyntaxKind$1.PercentEqualsToken,SyntaxKind$1.LessThanLessThanEqualsToken,SyntaxKind$1.GreaterThanGreaterThanEqualsToken,SyntaxKind$1.GreaterThanGreaterThanGreaterThanEqualsToken,SyntaxKind$1.AmpersandEqualsToken,SyntaxKind$1.BarEqualsToken,SyntaxKind$1.CaretEqualsToken],LOGICAL_OPERATORS=[SyntaxKind$1.BarBarToken,SyntaxKind$1.AmpersandAmpersandToken],TOKEN_TO_TEXT={};TOKEN_TO_TEXT[SyntaxKind$1.OpenBraceToken]="{",TOKEN_TO_TEXT[SyntaxKind$1.CloseBraceToken]="}",TOKEN_TO_TEXT[SyntaxKind$1.OpenParenToken]="(",TOKEN_TO_TEXT[SyntaxKind$1.CloseParenToken]=")",TOKEN_TO_TEXT[SyntaxKind$1.OpenBracketToken]="[",TOKEN_TO_TEXT[SyntaxKind$1.CloseBracketToken]="]",TOKEN_TO_TEXT[SyntaxKind$1.DotToken]=".",TOKEN_TO_TEXT[SyntaxKind$1.DotDotDotToken]="...",TOKEN_TO_TEXT[SyntaxKind$1.SemicolonToken]=";",TOKEN_TO_TEXT[SyntaxKind$1.CommaToken]=",",TOKEN_TO_TEXT[SyntaxKind$1.LessThanToken]="<",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanToken]=">",TOKEN_TO_TEXT[SyntaxKind$1.LessThanEqualsToken]="<=",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanEqualsToken]=">=",TOKEN_TO_TEXT[SyntaxKind$1.EqualsEqualsToken]="==",TOKEN_TO_TEXT[SyntaxKind$1.ExclamationEqualsToken]="!=",TOKEN_TO_TEXT[SyntaxKind$1.EqualsEqualsEqualsToken]="===",TOKEN_TO_TEXT[SyntaxKind$1.InstanceOfKeyword]="instanceof",TOKEN_TO_TEXT[SyntaxKind$1.ExclamationEqualsEqualsToken]="!==",TOKEN_TO_TEXT[SyntaxKind$1.EqualsGreaterThanToken]="=>",TOKEN_TO_TEXT[SyntaxKind$1.PlusToken]="+",TOKEN_TO_TEXT[SyntaxKind$1.MinusToken]="-",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskToken]="*",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskAsteriskToken]="**",TOKEN_TO_TEXT[SyntaxKind$1.SlashToken]="/",TOKEN_TO_TEXT[SyntaxKind$1.PercentToken]="%",TOKEN_TO_TEXT[SyntaxKind$1.PlusPlusToken]="++",TOKEN_TO_TEXT[SyntaxKind$1.MinusMinusToken]="--",TOKEN_TO_TEXT[SyntaxKind$1.LessThanLessThanToken]="<<",TOKEN_TO_TEXT[SyntaxKind$1.LessThanSlashToken]=">",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanGreaterThanGreaterThanToken]=">>>",TOKEN_TO_TEXT[SyntaxKind$1.AmpersandToken]="&",TOKEN_TO_TEXT[SyntaxKind$1.BarToken]="|",TOKEN_TO_TEXT[SyntaxKind$1.CaretToken]="^",TOKEN_TO_TEXT[SyntaxKind$1.ExclamationToken]="!",TOKEN_TO_TEXT[SyntaxKind$1.TildeToken]="~",TOKEN_TO_TEXT[SyntaxKind$1.AmpersandAmpersandToken]="&&",TOKEN_TO_TEXT[SyntaxKind$1.BarBarToken]="||",TOKEN_TO_TEXT[SyntaxKind$1.QuestionToken]="?",TOKEN_TO_TEXT[SyntaxKind$1.ColonToken]=":",TOKEN_TO_TEXT[SyntaxKind$1.EqualsToken]="=",TOKEN_TO_TEXT[SyntaxKind$1.PlusEqualsToken]="+=",TOKEN_TO_TEXT[SyntaxKind$1.MinusEqualsToken]="-=",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskEqualsToken]="*=",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskAsteriskEqualsToken]="**=",TOKEN_TO_TEXT[SyntaxKind$1.SlashEqualsToken]="/=",TOKEN_TO_TEXT[SyntaxKind$1.PercentEqualsToken]="%=",TOKEN_TO_TEXT[SyntaxKind$1.LessThanLessThanEqualsToken]="<<=",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanGreaterThanEqualsToken]=">>=",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanGreaterThanGreaterThanEqualsToken]=">>>=",TOKEN_TO_TEXT[SyntaxKind$1.AmpersandEqualsToken]="&=",TOKEN_TO_TEXT[SyntaxKind$1.BarEqualsToken]="|=",TOKEN_TO_TEXT[SyntaxKind$1.CaretEqualsToken]="^=",TOKEN_TO_TEXT[SyntaxKind$1.AtToken]="@",TOKEN_TO_TEXT[SyntaxKind$1.InKeyword]="in";var nodeUtils$2={SyntaxKind:SyntaxKind$1,isAssignmentOperator:isAssignmentOperator,isLogicalOperator:isLogicalOperator,getTextForTokenKind:getTextForTokenKind,isESTreeClassMember:isESTreeClassMember,hasModifier:hasModifier,isComma:isComma,getBinaryExpressionType:getBinaryExpressionType,getLocFor:getLocFor,getLoc:getLoc,isToken:isToken,isJSXToken:isJSXToken,getDeclarationKind:getDeclarationKind,getTSNodeAccessibility:getTSNodeAccessibility,hasStaticModifierFlag:hasStaticModifierFlag,findNextToken:findNextToken,findChildOfKind:findChildOfKind,findAncestorOfKind:findAncestorOfKind,hasJSXAncestor:hasJSXAncestor,unescapeIdentifier:unescapeIdentifier,unescapeStringLiteralText:unescapeStringLiteralText,isComputedProperty:isComputedProperty,isOptional:isOptional,fixExports:fixExports,getTokenType:getTokenType,convertToken:convertToken,convertTokens:convertTokens,getNodeContainer:getNodeContainer};const nodeUtils$1=nodeUtils$2,AST_NODE_TYPES=astNodeTypes$1,SyntaxKind=nodeUtils$1.SyntaxKind;var convert$2=function e(t){function n(t){return e({node:t,parent:l,ast:d,additionalOptions:p})}function r(e){const t=n(e);return{type:AST_NODE_TYPES.TypeAnnotation,loc:t.loc,range:t.range,typeAnnotation:t}}function a(e){const t=e[0],r=e[e.length-1];return{type:AST_NODE_TYPES.TypeParameterInstantiation,range:[t.pos-1,r.end+1],loc:nodeUtils$1.getLocFor(t.pos-1,r.end+1,d),params:e.map(e=>({type:AST_NODE_TYPES.GenericTypeAnnotation,range:[e.getStart(),e.getEnd()],loc:nodeUtils$1.getLoc(e,d),id:n(e.typeName||e),typeParameters:e.typeArguments?a(e.typeArguments):null}))}}function i(t){const n=t[0],a=t[t.length-1];return{type:AST_NODE_TYPES.TypeParameterDeclaration,range:[n.pos-1,a.end+1],loc:nodeUtils$1.getLocFor(n.pos-1,a.end+1,d),params:t.map(t=>{const n=nodeUtils$1.unescapeIdentifier(t.name.text);const a=t.default?e({node:t.default,parent:t,ast:d,additionalOptions:p}):t.default;return{type:AST_NODE_TYPES.TypeParameter,range:[t.getStart(),t.getEnd()],loc:nodeUtils$1.getLoc(t,d),name:n,constraint:t.constraint?r(t.constraint):null,default:a}})}}function o(e){const t=n(e.expression),r={type:AST_NODE_TYPES.ClassImplements,loc:t.loc,range:t.range,id:t};return e.typeArguments&&e.typeArguments.length&&(r.typeParameters=a(e.typeArguments)),r}function s(e){const t=n(e.expression),r={type:AST_NODE_TYPES.TSInterfaceHeritage,loc:t.loc,range:t.range,id:t};return e.typeArguments&&e.typeArguments.length&&(r.typeParameters=a(e.typeArguments)),r}function c(e){return e&&e.length?e.map(e=>{const t=n(e.expression);return{type:AST_NODE_TYPES.Decorator,range:[e.getStart(),e.end],loc:nodeUtils$1.getLoc(e,d),expression:t}}):[]}function u(e){const t=nodeUtils$1.convertToken(e,d);if(t.type===AST_NODE_TYPES.JSXMemberExpression){const e=l.tagName.expression.kind===SyntaxKind.PropertyAccessExpression;t.object=n(l.tagName.expression),t.property=n(l.tagName.name),t.object.type=e?AST_NODE_TYPES.JSXMemberExpression:AST_NODE_TYPES.JSXIdentifier,t.property.type=AST_NODE_TYPES.JSXIdentifier;}else t.name=t.value;return delete t.value,t}const l=t.node,_=t.parent,d=t.ast,p=t.additionalOptions||{};if(!l)return null;let f={type:"",range:[l.getStart(),l.end],loc:nodeUtils$1.getLoc(l,d)};switch(l.kind){case SyntaxKind.SourceFile:Object.assign(f,{type:AST_NODE_TYPES.Program,body:[],sourceType:l.externalModuleIndicator?"module":"script"}),l.statements.forEach(e=>{const t=n(e);t&&f.body.push(t);}),f.range[1]=l.endOfFileToken.pos,f.loc=nodeUtils$1.getLocFor(l.getStart(),f.range[1],d);break;case SyntaxKind.Block:Object.assign(f,{type:AST_NODE_TYPES.BlockStatement,body:l.statements.map(n)});break;case SyntaxKind.Identifier:Object.assign(f,{type:AST_NODE_TYPES.Identifier,name:nodeUtils$1.unescapeIdentifier(l.text)});break;case SyntaxKind.WithStatement:Object.assign(f,{type:AST_NODE_TYPES.WithStatement,object:n(l.expression),body:n(l.statement)});break;case SyntaxKind.ReturnStatement:Object.assign(f,{type:AST_NODE_TYPES.ReturnStatement,argument:n(l.expression)});break;case SyntaxKind.LabeledStatement:Object.assign(f,{type:AST_NODE_TYPES.LabeledStatement,label:n(l.label),body:n(l.statement)});break;case SyntaxKind.BreakStatement:case SyntaxKind.ContinueStatement:Object.assign(f,{type:SyntaxKind[l.kind],label:n(l.label)});break;case SyntaxKind.IfStatement:Object.assign(f,{type:AST_NODE_TYPES.IfStatement,test:n(l.expression),consequent:n(l.thenStatement),alternate:n(l.elseStatement)});break;case SyntaxKind.SwitchStatement:Object.assign(f,{type:AST_NODE_TYPES.SwitchStatement,discriminant:n(l.expression),cases:l.caseBlock.clauses.map(n)});break;case SyntaxKind.CaseClause:case SyntaxKind.DefaultClause:Object.assign(f,{type:AST_NODE_TYPES.SwitchCase,test:n(l.expression),consequent:l.statements.map(n)});break;case SyntaxKind.ThrowStatement:Object.assign(f,{type:AST_NODE_TYPES.ThrowStatement,argument:n(l.expression)});break;case SyntaxKind.TryStatement:Object.assign(f,{type:AST_NODE_TYPES.TryStatement,block:e({node:l.tryBlock,parent:null,ast:d,additionalOptions:p}),handler:n(l.catchClause),finalizer:n(l.finallyBlock)});break;case SyntaxKind.CatchClause:Object.assign(f,{type:AST_NODE_TYPES.CatchClause,param:n(l.variableDeclaration.name),body:n(l.block)});break;case SyntaxKind.WhileStatement:Object.assign(f,{type:AST_NODE_TYPES.WhileStatement,test:n(l.expression),body:n(l.statement)});break;case SyntaxKind.DoStatement:Object.assign(f,{type:AST_NODE_TYPES.DoWhileStatement,test:n(l.expression),body:n(l.statement)});break;case SyntaxKind.ForStatement:Object.assign(f,{type:AST_NODE_TYPES.ForStatement,init:n(l.initializer),test:n(l.condition),update:n(l.incrementor),body:n(l.statement)});break;case SyntaxKind.ForInStatement:case SyntaxKind.ForOfStatement:{const e=l.awaitModifier&&l.awaitModifier.kind===SyntaxKind.AwaitKeyword;Object.assign(f,{type:SyntaxKind[l.kind],left:n(l.initializer),right:n(l.expression),body:n(l.statement),await:e});break}case SyntaxKind.FunctionDeclaration:{let e=AST_NODE_TYPES.FunctionDeclaration;if(l.modifiers&&l.modifiers.length){const t=nodeUtils$1.hasModifier(SyntaxKind.DeclareKeyword,l);t&&(e=AST_NODE_TYPES.DeclareFunction);}l.parent&&l.parent.kind===SyntaxKind.ModuleBlock&&(e=AST_NODE_TYPES.TSNamespaceFunctionDeclaration),Object.assign(f,{type:e,id:n(l.name),generator:!!l.asteriskToken,expression:!1,async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),params:l.parameters.map(n),body:n(l.body)}),l.type&&(f.returnType=r(l.type)),l.typeParameters&&l.typeParameters.length&&(f.typeParameters=i(l.typeParameters)),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.VariableDeclaration:Object.assign(f,{type:AST_NODE_TYPES.VariableDeclarator,id:n(l.name),init:n(l.initializer)}),l.type&&(f.id.typeAnnotation=r(l.type));break;case SyntaxKind.VariableStatement:Object.assign(f,{type:AST_NODE_TYPES.VariableDeclaration,declarations:l.declarationList.declarations.map(n),kind:nodeUtils$1.getDeclarationKind(l.declarationList)}),f=nodeUtils$1.fixExports(l,f,d);break;case SyntaxKind.VariableDeclarationList:Object.assign(f,{type:AST_NODE_TYPES.VariableDeclaration,declarations:l.declarations.map(n),kind:nodeUtils$1.getDeclarationKind(l)});break;case SyntaxKind.ExpressionStatement:Object.assign(f,{type:AST_NODE_TYPES.ExpressionStatement,expression:n(l.expression)});break;case SyntaxKind.ThisKeyword:Object.assign(f,{type:AST_NODE_TYPES.ThisExpression});break;case SyntaxKind.ArrayLiteralExpression:{const e=nodeUtils$1.findAncestorOfKind(l,SyntaxKind.BinaryExpression),t=l.parent&&l.parent.kind===SyntaxKind.ForOfStatement,r=l.parent&&l.parent.kind===SyntaxKind.ForInStatement;let a;e&&(a=e.left===l||nodeUtils$1.findChildOfKind(e.left,SyntaxKind.ArrayLiteralExpression,d)===l),a||t||r?Object.assign(f,{type:AST_NODE_TYPES.ArrayPattern,elements:l.elements.map(n)}):Object.assign(f,{type:AST_NODE_TYPES.ArrayExpression,elements:l.elements.map(n)});break}case SyntaxKind.ObjectLiteralExpression:{const e=nodeUtils$1.findAncestorOfKind(l,SyntaxKind.BinaryExpression);let t;e&&(t=e.left===l||nodeUtils$1.findChildOfKind(e.left,SyntaxKind.ObjectLiteralExpression,d)===l),t?Object.assign(f,{type:AST_NODE_TYPES.ObjectPattern,properties:l.properties.map(n)}):Object.assign(f,{type:AST_NODE_TYPES.ObjectExpression,properties:l.properties.map(n)});break}case SyntaxKind.PropertyAssignment:Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:n(l.initializer),computed:nodeUtils$1.isComputedProperty(l.name),method:!1,shorthand:!1,kind:"init"});break;case SyntaxKind.ShorthandPropertyAssignment:Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:n(l.name),computed:!1,method:!1,shorthand:!0,kind:"init"});break;case SyntaxKind.ComputedPropertyName:if(_.kind!==SyntaxKind.ObjectLiteralExpression)return n(l.expression);Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:n(l.name),computed:!1,method:!1,shorthand:!0,kind:"init"});break;case SyntaxKind.PropertyDeclaration:{const e=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l);Object.assign(f,{type:e?AST_NODE_TYPES.TSAbstractClassProperty:AST_NODE_TYPES.ClassProperty,key:n(l.name),value:n(l.initializer),computed:nodeUtils$1.isComputedProperty(l.name),static:nodeUtils$1.hasStaticModifierFlag(l),accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),decorators:c(l.decorators),typeAnnotation:l.type?r(l.type):null}),l.name.kind===SyntaxKind.Identifier&&l.questionToken&&(f.key.optional=!0),f.key.type===AST_NODE_TYPES.Literal&&l.questionToken&&(f.optional=!0);break}case SyntaxKind.GetAccessor:case SyntaxKind.SetAccessor:case SyntaxKind.MethodDeclaration:{const e=d.getLineAndCharacterOfPosition(l.name.end+1),t=l.kind===SyntaxKind.MethodDeclaration,a={type:AST_NODE_TYPES.FunctionExpression,id:null,generator:!!l.asteriskToken,expression:!1,async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),body:n(l.body),range:[l.parameters.pos-1,f.range[1]],loc:{start:{line:e.line+1,column:e.character-1},end:f.loc.end}};if(l.type&&(a.returnType=r(l.type)),_.kind===SyntaxKind.ObjectLiteralExpression)a.params=l.parameters.map(n),Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:a,computed:nodeUtils$1.isComputedProperty(l.name),method:t,shorthand:!1,kind:"init"});else{a.params=l.parameters.map(e=>{const t=n(e);t.decorators=c(e.decorators);return t});const e=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l)?AST_NODE_TYPES.TSAbstractMethodDefinition:AST_NODE_TYPES.MethodDefinition;Object.assign(f,{type:e,key:n(l.name),value:a,computed:nodeUtils$1.isComputedProperty(l.name),static:nodeUtils$1.hasStaticModifierFlag(l),kind:"method",accessibility:nodeUtils$1.getTSNodeAccessibility(l),decorators:c(l.decorators)});}f.key.type===AST_NODE_TYPES.Identifier&&l.questionToken&&(f.key.optional=!0),l.kind===SyntaxKind.GetAccessor?f.kind="get":l.kind===SyntaxKind.SetAccessor?f.kind="set":f.static||l.name.kind!==SyntaxKind.StringLiteral||"constructor"!==l.name.text||(f.kind="constructor"),l.typeParameters&&l.typeParameters.length&&(a.typeParameters=i(l.typeParameters));break}case SyntaxKind.Constructor:{const e=nodeUtils$1.hasStaticModifierFlag(l),t=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l),r=e?nodeUtils$1.findNextToken(l.getFirstToken(),d):l.getFirstToken(),a=d.getLineAndCharacterOfPosition(l.parameters.pos-1),i={type:AST_NODE_TYPES.FunctionExpression,id:null,params:l.parameters.map(e=>{const t=n(e);const r=c(e.decorators);return Object.assign(t,{decorators:r})}),generator:!1,expression:!1,async:!1,body:n(l.body),range:[l.parameters.pos-1,f.range[1]],loc:{start:{line:a.line+1,column:a.character},end:f.loc.end}},o=d.getLineAndCharacterOfPosition(r.getStart()),s=!!l.name&&nodeUtils$1.isComputedProperty(l.name);let u;u=s?{type:AST_NODE_TYPES.Literal,value:"constructor",raw:l.name.getText(),range:[r.getStart(),r.end],loc:{start:{line:o.line+1,column:o.character},end:{line:i.loc.start.line,column:i.loc.start.column}}}:{type:AST_NODE_TYPES.Identifier,name:"constructor",range:[r.getStart(),r.end],loc:{start:{line:o.line+1,column:o.character},end:{line:i.loc.start.line,column:i.loc.start.column}}},Object.assign(f,{type:t?AST_NODE_TYPES.TSAbstractMethodDefinition:AST_NODE_TYPES.MethodDefinition,key:u,value:i,computed:s,accessibility:nodeUtils$1.getTSNodeAccessibility(l),static:e,kind:e||s?"method":"constructor"});break}case SyntaxKind.FunctionExpression:Object.assign(f,{type:AST_NODE_TYPES.FunctionExpression,id:n(l.name),generator:!!l.asteriskToken,params:l.parameters.map(n),body:n(l.body),async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),expression:!1}),l.type&&(f.returnType=r(l.type)),l.typeParameters&&l.typeParameters.length&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.SuperKeyword:Object.assign(f,{type:AST_NODE_TYPES.Super});break;case SyntaxKind.ArrayBindingPattern:Object.assign(f,{type:AST_NODE_TYPES.ArrayPattern,elements:l.elements.map(n)});break;case SyntaxKind.OmittedExpression:return null;case SyntaxKind.ObjectBindingPattern:Object.assign(f,{type:AST_NODE_TYPES.ObjectPattern,properties:l.elements.map(n)});break;case SyntaxKind.BindingElement:if(_.kind===SyntaxKind.ArrayBindingPattern){const t=e({node:l.name,parent:_,ast:d,additionalOptions:p});if(l.initializer)Object.assign(f,{type:AST_NODE_TYPES.AssignmentPattern,left:t,right:n(l.initializer)});else{if(!l.dotDotDotToken)return t;Object.assign(f,{type:AST_NODE_TYPES.RestElement,argument:t});}}else _.kind===SyntaxKind.ObjectBindingPattern&&(l.dotDotDotToken?Object.assign(f,{type:AST_NODE_TYPES.ExperimentalRestProperty,argument:n(l.propertyName||l.name),computed:Boolean(l.propertyName&&l.propertyName.kind===SyntaxKind.ComputedPropertyName),shorthand:!l.propertyName}):Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.propertyName||l.name),value:n(l.name),computed:Boolean(l.propertyName&&l.propertyName.kind===SyntaxKind.ComputedPropertyName),method:!1,shorthand:!l.propertyName,kind:"init"}),l.initializer&&(f.value={type:AST_NODE_TYPES.AssignmentPattern,left:n(l.name),right:n(l.initializer),range:[l.name.getStart(),l.initializer.end],loc:nodeUtils$1.getLocFor(l.name.getStart(),l.initializer.end,d)}));break;case SyntaxKind.ArrowFunction:Object.assign(f,{type:AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:l.parameters.map(n),body:n(l.body),async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),expression:l.body.kind!==SyntaxKind.Block}),l.type&&(f.returnType=r(l.type)),l.typeParameters&&l.typeParameters.length&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.YieldExpression:Object.assign(f,{type:AST_NODE_TYPES.YieldExpression,delegate:!!l.asteriskToken,argument:n(l.expression)});break;case SyntaxKind.AwaitExpression:Object.assign(f,{type:AST_NODE_TYPES.AwaitExpression,argument:n(l.expression)});break;case SyntaxKind.NoSubstitutionTemplateLiteral:Object.assign(f,{type:AST_NODE_TYPES.TemplateLiteral,quasis:[{type:AST_NODE_TYPES.TemplateElement,value:{raw:d.text.slice(l.getStart()+1,l.end-1),cooked:l.text},tail:!0,range:f.range,loc:f.loc}],expressions:[]});break;case SyntaxKind.TemplateExpression:Object.assign(f,{type:AST_NODE_TYPES.TemplateLiteral,quasis:[n(l.head)],expressions:[]}),l.templateSpans.forEach(e=>{f.expressions.push(n(e.expression));f.quasis.push(n(e.literal));});break;case SyntaxKind.TaggedTemplateExpression:Object.assign(f,{type:AST_NODE_TYPES.TaggedTemplateExpression,tag:n(l.tag),quasi:n(l.template)});break;case SyntaxKind.TemplateHead:case SyntaxKind.TemplateMiddle:case SyntaxKind.TemplateTail:{const e=l.kind===SyntaxKind.TemplateTail;Object.assign(f,{type:AST_NODE_TYPES.TemplateElement,value:{raw:d.text.slice(l.getStart()+1,l.end-(e?1:2)),cooked:l.text},tail:e});break}case SyntaxKind.SpreadElement:{let e=AST_NODE_TYPES.SpreadElement;l.parent&&l.parent.parent&&l.parent.parent.kind===SyntaxKind.BinaryExpression&&(l.parent.parent.left===l.parent?e=AST_NODE_TYPES.RestElement:l.parent.parent.right===l.parent&&(e=AST_NODE_TYPES.SpreadElement)),Object.assign(f,{type:e,argument:n(l.expression)});break}case SyntaxKind.SpreadAssignment:{let e=AST_NODE_TYPES.ExperimentalSpreadProperty;l.parent&&l.parent.parent&&l.parent.parent.kind===SyntaxKind.BinaryExpression&&(l.parent.parent.right===l.parent?e=AST_NODE_TYPES.ExperimentalSpreadProperty:l.parent.parent.left===l.parent&&(e=AST_NODE_TYPES.ExperimentalRestProperty)),Object.assign(f,{type:e,argument:n(l.expression)});break}case SyntaxKind.Parameter:{let t;if(l.dotDotDotToken?(t=n(l.name),Object.assign(f,{type:AST_NODE_TYPES.RestElement,argument:t})):l.initializer?(t=n(l.name),Object.assign(f,{type:AST_NODE_TYPES.AssignmentPattern,left:t,right:n(l.initializer)})):(t=e({node:l.name,parent:_,ast:d,additionalOptions:p}),f=t),l.type&&Object.assign(t,{typeAnnotation:r(l.type)}),l.questionToken&&(t.optional=!0),l.modifiers)return{type:AST_NODE_TYPES.TSParameterProperty,range:[l.getStart(),l.end],loc:nodeUtils$1.getLoc(l,d),accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l),parameter:f};break}case SyntaxKind.ClassDeclaration:case SyntaxKind.ClassExpression:{const e=l.heritageClauses||[];let t=SyntaxKind[l.kind],r=e.length?e[e.length-1]:l.name;if(l.typeParameters&&l.typeParameters.length){const e=l.typeParameters[l.typeParameters.length-1];(!r||e.pos>r.pos)&&(r=nodeUtils$1.findNextToken(e,d)),f.typeParameters=i(l.typeParameters);}if(l.modifiers&&l.modifiers.length){l.kind===SyntaxKind.ClassDeclaration&&nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l)&&(t=`TSAbstract${t}`);const e=l.modifiers[l.modifiers.length-1];(!r||e.pos>r.pos)&&(r=nodeUtils$1.findNextToken(e,d));}else r||(r=l.getFirstToken());const s=nodeUtils$1.findNextToken(r,d),u=e.length&&l.heritageClauses[0].token===SyntaxKind.ExtendsKeyword;let _,p=!1;u&&e[0].types.length>0&&(_=e.shift()).types[0]&&_.types[0].typeArguments&&(f.superTypeParameters=a(_.types[0].typeArguments)),p=e.length>0,Object.assign(f,{type:t,id:n(l.name),body:{type:AST_NODE_TYPES.ClassBody,body:[],range:[s.getStart(),f.range[1]],loc:nodeUtils$1.getLocFor(s.getStart(),l.end,d)},superClass:_?n(_.types[0].expression):null,implements:p?e[0].types.map(o):[],decorators:c(l.decorators)});const m=l.members.filter(nodeUtils$1.isESTreeClassMember);m.length&&(f.body.body=m.map(n)),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.ModuleBlock:Object.assign(f,{type:AST_NODE_TYPES.TSModuleBlock,body:l.statements.map(n)});break;case SyntaxKind.ImportDeclaration:Object.assign(f,{type:AST_NODE_TYPES.ImportDeclaration,source:n(l.moduleSpecifier),specifiers:[]}),l.importClause&&(l.importClause.name&&f.specifiers.push(n(l.importClause)),l.importClause.namedBindings&&(l.importClause.namedBindings.kind===SyntaxKind.NamespaceImport?f.specifiers.push(n(l.importClause.namedBindings)):f.specifiers=f.specifiers.concat(l.importClause.namedBindings.elements.map(n))));break;case SyntaxKind.NamespaceImport:Object.assign(f,{type:AST_NODE_TYPES.ImportNamespaceSpecifier,local:n(l.name)});break;case SyntaxKind.ImportSpecifier:Object.assign(f,{type:AST_NODE_TYPES.ImportSpecifier,local:n(l.name),imported:n(l.propertyName||l.name)});break;case SyntaxKind.ImportClause:Object.assign(f,{type:AST_NODE_TYPES.ImportDefaultSpecifier,local:n(l.name)}),f.range[1]=l.name.end,f.loc=nodeUtils$1.getLocFor(f.range[0],f.range[1],d);break;case SyntaxKind.NamedImports:Object.assign(f,{type:AST_NODE_TYPES.ImportDefaultSpecifier,local:n(l.name)});break;case SyntaxKind.ExportDeclaration:l.exportClause?Object.assign(f,{type:AST_NODE_TYPES.ExportNamedDeclaration,source:n(l.moduleSpecifier),specifiers:l.exportClause.elements.map(n),declaration:null}):Object.assign(f,{type:AST_NODE_TYPES.ExportAllDeclaration,source:n(l.moduleSpecifier)});break;case SyntaxKind.ExportSpecifier:Object.assign(f,{type:AST_NODE_TYPES.ExportSpecifier,local:n(l.propertyName||l.name),exported:n(l.name)});break;case SyntaxKind.ExportAssignment:Object.assign(f,{type:AST_NODE_TYPES.ExportDefaultDeclaration,declaration:n(l.expression)});break;case SyntaxKind.PrefixUnaryExpression:case SyntaxKind.PostfixUnaryExpression:{const e=nodeUtils$1.getTextForTokenKind(l.operator);Object.assign(f,{type:/^(?:\+\+|--)$/.test(e)?AST_NODE_TYPES.UpdateExpression:AST_NODE_TYPES.UnaryExpression,operator:e,prefix:l.kind===SyntaxKind.PrefixUnaryExpression,argument:n(l.operand)});break}case SyntaxKind.DeleteExpression:Object.assign(f,{type:AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:n(l.expression)});break;case SyntaxKind.VoidExpression:Object.assign(f,{type:AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:n(l.expression)});break;case SyntaxKind.TypeOfExpression:Object.assign(f,{type:AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:n(l.expression)});break;case SyntaxKind.BinaryExpression:if(nodeUtils$1.isComma(l.operatorToken)){Object.assign(f,{type:AST_NODE_TYPES.SequenceExpression,expressions:[]});const e=n(l.left),t=n(l.right);e.type===AST_NODE_TYPES.SequenceExpression?f.expressions=f.expressions.concat(e.expressions):f.expressions.push(e),t.type===AST_NODE_TYPES.SequenceExpression?f.expressions=f.expressions.concat(t.expressions):f.expressions.push(t);}else if(Object.assign(f,{type:nodeUtils$1.getBinaryExpressionType(l.operatorToken),operator:nodeUtils$1.getTextForTokenKind(l.operatorToken.kind),left:n(l.left),right:n(l.right)}),f.type===AST_NODE_TYPES.AssignmentExpression){const e=nodeUtils$1.findAncestorOfKind(l,SyntaxKind.ArrayLiteralExpression),t=e&&nodeUtils$1.findAncestorOfKind(e,SyntaxKind.BinaryExpression);let n;t&&(n=t.left===e||nodeUtils$1.findChildOfKind(t.left,SyntaxKind.ArrayLiteralExpression,d)===e),n&&(delete f.operator,f.type=AST_NODE_TYPES.AssignmentPattern);}break;case SyntaxKind.PropertyAccessExpression:if(nodeUtils$1.isJSXToken(_)){const e={type:AST_NODE_TYPES.MemberExpression,object:n(l.expression),property:n(l.name)},t=l.expression.kind===SyntaxKind.PropertyAccessExpression;e.object.type=t?AST_NODE_TYPES.MemberExpression:AST_NODE_TYPES.JSXIdentifier,e.property.type=AST_NODE_TYPES.JSXIdentifier,Object.assign(f,e);}else Object.assign(f,{type:AST_NODE_TYPES.MemberExpression,object:n(l.expression),property:n(l.name),computed:!1});break;case SyntaxKind.ElementAccessExpression:Object.assign(f,{type:AST_NODE_TYPES.MemberExpression,object:n(l.expression),property:n(l.argumentExpression),computed:!0});break;case SyntaxKind.ConditionalExpression:Object.assign(f,{type:AST_NODE_TYPES.ConditionalExpression,test:n(l.condition),consequent:n(l.whenTrue),alternate:n(l.whenFalse)});break;case SyntaxKind.CallExpression:Object.assign(f,{type:AST_NODE_TYPES.CallExpression,callee:n(l.expression),arguments:l.arguments.map(n)}),l.typeArguments&&l.typeArguments.length&&(f.typeParameters=a(l.typeArguments));break;case SyntaxKind.NewExpression:Object.assign(f,{type:AST_NODE_TYPES.NewExpression,callee:n(l.expression),arguments:l.arguments?l.arguments.map(n):[]}),l.typeArguments&&l.typeArguments.length&&(f.typeParameters=a(l.typeArguments));break;case SyntaxKind.MetaProperty:{const e=nodeUtils$1.convertToken(l.getFirstToken(),d);Object.assign(f,{type:AST_NODE_TYPES.MetaProperty,meta:{type:AST_NODE_TYPES.Identifier,range:e.range,loc:e.loc,name:"new"},property:n(l.name)});break}case SyntaxKind.StringLiteral:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:nodeUtils$1.unescapeStringLiteralText(l.text),raw:d.text.slice(f.range[0],f.range[1])});break;case SyntaxKind.NumericLiteral:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:Number(l.text),raw:d.text.slice(f.range[0],f.range[1])});break;case SyntaxKind.RegularExpressionLiteral:{const e=l.text.slice(1,l.text.lastIndexOf("/")),t=l.text.slice(l.text.lastIndexOf("/")+1);let n=null;try{n=new RegExp(e,t);}catch(e){n=null;}Object.assign(f,{type:AST_NODE_TYPES.Literal,value:n,raw:l.text,regex:{pattern:e,flags:t}});break}case SyntaxKind.TrueKeyword:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:!0,raw:"true"});break;case SyntaxKind.FalseKeyword:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:!1,raw:"false"});break;case SyntaxKind.NullKeyword:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:null,raw:"null"});break;case SyntaxKind.EmptyStatement:case SyntaxKind.DebuggerStatement:!function(){Object.assign(f,{type:SyntaxKind[l.kind]});}();break;case SyntaxKind.JsxElement:Object.assign(f,{type:AST_NODE_TYPES.JSXElement,openingElement:n(l.openingElement),closingElement:n(l.closingElement),children:l.children.map(n)});break;case SyntaxKind.JsxSelfClosingElement:{l.kind=SyntaxKind.JsxOpeningElement;const e=n(l);e.selfClosing=!0,Object.assign(f,{type:AST_NODE_TYPES.JSXElement,openingElement:e,closingElement:null,children:[]});break}case SyntaxKind.JsxOpeningElement:Object.assign(f,{type:AST_NODE_TYPES.JSXOpeningElement,selfClosing:!1,name:u(l.tagName),attributes:l.attributes.properties.map(n)});break;case SyntaxKind.JsxClosingElement:Object.assign(f,{type:AST_NODE_TYPES.JSXClosingElement,name:u(l.tagName)});break;case SyntaxKind.JsxExpression:{const e=d.getLineAndCharacterOfPosition(f.range[0]+1),t=l.expression?n(l.expression):{type:AST_NODE_TYPES.JSXEmptyExpression,loc:{start:{line:e.line+1,column:e.character},end:{line:f.loc.end.line,column:f.loc.end.column-1}},range:[f.range[0]+1,f.range[1]-1]};Object.assign(f,{type:AST_NODE_TYPES.JSXExpressionContainer,expression:t});break}case SyntaxKind.JsxAttribute:{const e=nodeUtils$1.convertToken(l.name,d);e.type=AST_NODE_TYPES.JSXIdentifier,e.name=e.value,delete e.value,Object.assign(f,{type:AST_NODE_TYPES.JSXAttribute,name:e,value:n(l.initializer)});break}case SyntaxKind.JsxText:{const e=l.getFullStart(),t=l.getEnd(),n=p.useJSXTextNode?AST_NODE_TYPES.JSXText:AST_NODE_TYPES.Literal;Object.assign(f,{type:n,value:d.text.slice(e,t),raw:d.text.slice(e,t)}),f.loc=nodeUtils$1.getLocFor(e,t,d),f.range=[e,t];break}case SyntaxKind.JsxSpreadAttribute:Object.assign(f,{type:AST_NODE_TYPES.JSXSpreadAttribute,argument:n(l.expression)});break;case SyntaxKind.FirstNode:Object.assign(f,{type:AST_NODE_TYPES.TSQualifiedName,left:n(l.left),right:n(l.right)});break;case SyntaxKind.ParenthesizedExpression:return e({node:l.expression,parent:_,ast:d,additionalOptions:p});case SyntaxKind.TypeAliasDeclaration:{const e={type:AST_NODE_TYPES.VariableDeclarator,id:n(l.name),init:n(l.type),range:[l.name.getStart(),l.end]};e.loc=nodeUtils$1.getLocFor(e.range[0],e.range[1],d),l.typeParameters&&l.typeParameters.length&&(e.typeParameters=i(l.typeParameters)),Object.assign(f,{type:AST_NODE_TYPES.VariableDeclaration,kind:nodeUtils$1.getDeclarationKind(l),declarations:[e]}),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.MethodSignature:Object.assign(f,{type:AST_NODE_TYPES.TSMethodSignature,optional:nodeUtils$1.isOptional(l),computed:nodeUtils$1.isComputedProperty(l.name),key:n(l.name),params:l.parameters.map(e=>n(e)),typeAnnotation:l.type?r(l.type):null,accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l)}),l.typeParameters&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.PropertySignature:Object.assign(f,{type:AST_NODE_TYPES.TSPropertySignature,optional:nodeUtils$1.isOptional(l),computed:nodeUtils$1.isComputedProperty(l.name),key:n(l.name),typeAnnotation:l.type?r(l.type):null,initializer:n(l.initializer),accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l)});break;case SyntaxKind.IndexSignature:Object.assign(f,{type:AST_NODE_TYPES.TSIndexSignature,index:n(l.parameters[0]),typeAnnotation:l.type?r(l.type):null,accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l)});break;case SyntaxKind.ConstructSignature:Object.assign(f,{type:AST_NODE_TYPES.TSConstructSignature,params:l.parameters.map(e=>n(e)),typeAnnotation:l.type?r(l.type):null}),l.typeParameters&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.InterfaceDeclaration:{const e=l.heritageClauses||[];let t=e.length?e[e.length-1]:l.name;if(l.typeParameters&&l.typeParameters.length){const e=l.typeParameters[l.typeParameters.length-1];(!t||e.pos>t.pos)&&(t=nodeUtils$1.findNextToken(e,d)),f.typeParameters=i(l.typeParameters);}const r=e.length>0,a=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l),o=nodeUtils$1.findNextToken(t,d),c={type:AST_NODE_TYPES.TSInterfaceBody,body:l.members.map(e=>n(e)),range:[o.getStart(),f.range[1]],loc:nodeUtils$1.getLocFor(o.getStart(),l.end,d)};Object.assign(f,{abstract:a,type:AST_NODE_TYPES.TSInterfaceDeclaration,body:c,id:n(l.name),heritage:r?e[0].types.map(s):[]}),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.FirstTypeNode:Object.assign(f,{type:AST_NODE_TYPES.TSTypePredicate,parameterName:n(l.parameterName),typeAnnotation:r(l.type)});break;default:!function(){const e=`TS${SyntaxKind[l.kind]}`;if(p.errorOnUnknownASTType&&!AST_NODE_TYPES[e])throw new Error(`Unknown AST_NODE_TYPE: "${e}"`);f.type=e,Object.keys(l).filter(e=>!/^(?:kind|parent|pos|end|flags|modifierFlagsCache|jsDoc)$/.test(e)).forEach(e=>{if("type"===e)f.typeAnnotation=l.type?r(l.type):null;else if("typeArguments"===e)f.typeParameters=l.typeArguments?a(l.typeArguments):null;else if("typeParameters"===e)f.typeParameters=l.typeParameters?i(l.typeParameters):null;else if("decorators"===e){const e=c(l.decorators);e&&e.length&&(f.decorators=e);}else Array.isArray(l[e])?f[e]=l[e].map(n):l[e]&&"object"==typeof l[e]?f[e]=n(l[e]):f[e]=l[e];});}();}return f};const ts$2=typescript,nodeUtils$4=nodeUtils$2;var convertComments_1={convertComments:convertComments$1};const convert$1=convert$2,convertComments=convertComments_1.convertComments,nodeUtils=nodeUtils$2;var astConverter=(e,t)=>{if(e.parseDiagnostics.length)throw convertError(e.parseDiagnostics[0]);const n=convert$1({node:e,parent:null,ast:e,additionalOptions:{errorOnUnknownASTType:t.errorOnUnknownASTType||!1,useJSXTextNode:t.useJSXTextNode||!1}});t.tokens&&(n.tokens=nodeUtils.convertTokens(e));t.comment&&(n.comments=convertComments(e,t.code));return n},semver$1=createCommonjsModule$$1(function(e,t){function n(e,t){if(e instanceof i)return e;if("string"!=typeof e)return null;if(e.length>W)return null;if(!(t?X[pe]:X[le]).test(e))return null;try{return new i(e,t)}catch(e){return null}}function r(e,t){var r=n(e,t);return r?r.version:null}function a(e,t){var r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}function i(e,t){if(e instanceof i){if(e.loose===t)return e;e=e.version;}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>W)throw new TypeError("version is longer than "+W+" characters");if(!(this instanceof i))return new i(e,t);G("SemVer",e,t),this.loose=t;var n=e.trim().match(t?X[pe]:X[le]);if(!n)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>H||this.major<0)throw new TypeError("Invalid major version");if(this.minor>H||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>H||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&tt?1:0}function u(e,t){return c(t,e)}function l(e,t){return new i(e,t).major}function _(e,t){return new i(e,t).minor}function d(e,t){return new i(e,t).patch}function p(e,t,n){return new i(e,n).compare(t)}function f(e,t){return p(e,t,!0)}function m(e,t,n){return p(t,e,n)}function g(e,n){return e.sort(function(e,r){return t.compare(e,r,n)})}function y(e,n){return e.sort(function(e,r){return t.rcompare(e,r,n)})}function h(e,t,n){return p(e,t,n)>0}function v(e,t,n){return p(e,t,n)<0}function b(e,t,n){return 0===p(e,t,n)}function x(e,t,n){return 0!==p(e,t,n)}function k(e,t,n){return p(e,t,n)>=0}function S(e,t,n){return p(e,t,n)<=0}function T(e,t,n,r){var a;switch(t){case"===":"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),a=e===n;break;case"!==":"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),a=e!==n;break;case"":case"=":case"==":a=b(e,n,r);break;case"!=":a=x(e,n,r);break;case">":a=h(e,n,r);break;case">=":a=k(e,n,r);break;case"<":a=v(e,n,r);break;case"<=":a=S(e,n,r);break;default:throw new TypeError("Invalid operator: "+t)}return a}function C(e,t){if(e instanceof C){if(e.loose===t)return e;e=e.value;}if(!(this instanceof C))return new C(e,t);G("comparator",e,t),this.loose=t,this.parse(e),this.semver===Le?this.value="":this.value=this.operator+this.semver.version,G("comp",this);}function E(e,t){if(e instanceof E&&e.loose===t)return e;if(!(this instanceof E))return new E(e,t);if(this.loose=t,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format();}function D(e,t){return new E(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function N(e,t){return G("comp",e),e=O(e,t),G("caret",e),e=w(e,t),G("tildes",e),e=I(e,t),G("xrange",e),e=M(e,t),G("stars",e),e}function A(e){return!e||"x"===e.toLowerCase()||"*"===e}function w(e,t){return e.trim().split(/\s+/).map(function(e){return P(e,t)}).join(" ")}function P(e,t){var n=t?X[Te]:X[Se];return e.replace(n,function(t,n,r,a,i){G("tilde",e,t,n,r,a,i);var o;return A(n)?o="":A(r)?o=">="+n+".0.0 <"+(+n+1)+".0.0":A(a)?o=">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":i?(G("replaceTilde pr",i),"-"!==i.charAt(0)&&(i="-"+i),o=">="+n+"."+r+"."+a+i+" <"+n+"."+(+r+1)+".0"):o=">="+n+"."+r+"."+a+" <"+n+"."+(+r+1)+".0",G("tilde return",o),o})}function O(e,t){return e.trim().split(/\s+/).map(function(e){return F(e,t)}).join(" ")}function F(e,t){G("caret",e,t);var n=t?X[Ne]:X[De];return e.replace(n,function(t,n,r,a,i){G("caret",e,t,n,r,a,i);var o;return A(n)?o="":A(r)?o=">="+n+".0.0 <"+(+n+1)+".0.0":A(a)?o="0"===n?">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":">="+n+"."+r+".0 <"+(+n+1)+".0.0":i?(G("replaceCaret pr",i),"-"!==i.charAt(0)&&(i="-"+i),o="0"===n?"0"===r?">="+n+"."+r+"."+a+i+" <"+n+"."+r+"."+(+a+1):">="+n+"."+r+"."+a+i+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+a+i+" <"+(+n+1)+".0.0"):(G("no pr"),o="0"===n?"0"===r?">="+n+"."+r+"."+a+" <"+n+"."+r+"."+(+a+1):">="+n+"."+r+"."+a+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+a+" <"+(+n+1)+".0.0"),G("caret return",o),o})}function I(e,t){return G("replaceXRanges",e,t),e.split(/\s+/).map(function(e){return R(e,t)}).join(" ")}function R(e,t){e=e.trim();var n=t?X[be]:X[ve];return e.replace(n,function(t,n,r,a,i,o){G("xRange",e,t,n,r,a,i,o);var s=A(r),c=s||A(a),u=c||A(i),l=u;return"="===n&&l&&(n=""),s?t=">"===n||"<"===n?"<0.0.0":"*":n&&l?(c&&(a=0),u&&(i=0),">"===n?(n=">=",c?(r=+r+1,a=0,i=0):u&&(a=+a+1,i=0)):"<="===n&&(n="<",c?r=+r+1:a=+a+1),t=n+r+"."+a+"."+i):c?t=">="+r+".0.0 <"+(+r+1)+".0.0":u&&(t=">="+r+"."+a+".0 <"+r+"."+(+a+1)+".0"),G("xRange return",t),t})}function M(e,t){return G("replaceStars",e,t),e.trim().replace(X[Ie],"")}function L(e,t,n,r,a,i,o,s,c,u,l,_,d){return t=A(n)?"":A(r)?">="+n+".0.0":A(a)?">="+n+"."+r+".0":">="+t,s=A(c)?"":A(u)?"<"+(+c+1)+".0.0":A(l)?"<"+c+"."+(+u+1)+".0":_?"<="+c+"."+u+"."+l+"-"+_:"<="+s,(t+" "+s).trim()}function B(e,t){for(n=0;n0){var r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}function K(e,t,n){try{t=new E(t,n);}catch(e){return!1}return t.test(e)}function j(e,t,n){return e.filter(function(e){return K(e,t,n)}).sort(function(e,t){return m(e,t,n)})[0]||null}function J(e,t,n){return e.filter(function(e){return K(e,t,n)}).sort(function(e,t){return p(e,t,n)})[0]||null}function z(e,t){try{return new E(e,t).range||"*"}catch(e){return null}}function U(e,t,n){return q(e,t,"<",n)}function V(e,t,n){return q(e,t,">",n)}function q(e,t,n,r){e=new i(e,r),t=new E(t,r);var a,o,s,c,u;switch(n){case">":a=h,o=S,s=v,c=">",u=">=";break;case"<":a=v,o=k,s=h,c="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(K(e,t,r))return!1;for(var l=0;l=0.0.0")),_=_||e,d=d||e,a(e.semver,_.semver,r)?_=e:s(e.semver,d.semver,r)&&(d=e);}),_.operator===c||_.operator===u)return!1;if((!d.operator||d.operator===c)&&o(e,d.semver))return!1;if(d.operator===u&&s(e,d.semver))return!1}return!0}function $(e,t){var r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}t=e.exports=i;var G;G="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e);}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var W=256,H=Number.MAX_SAFE_INTEGER||9007199254740991,X=t.re=[],Y=t.src=[],Q=0,Z=Q++;Y[Z]="0|[1-9]\\d*";var ee=Q++;Y[ee]="[0-9]+";var te=Q++;Y[te]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var ne=Q++;Y[ne]="("+Y[Z]+")\\.("+Y[Z]+")\\.("+Y[Z]+")";var re=Q++;Y[re]="("+Y[ee]+")\\.("+Y[ee]+")\\.("+Y[ee]+")";var ae=Q++;Y[ae]="(?:"+Y[Z]+"|"+Y[te]+")";var ie=Q++;Y[ie]="(?:"+Y[ee]+"|"+Y[te]+")";var oe=Q++;Y[oe]="(?:-("+Y[ae]+"(?:\\."+Y[ae]+")*))";var se=Q++;Y[se]="(?:-?("+Y[ie]+"(?:\\."+Y[ie]+")*))";var ce=Q++;Y[ce]="[0-9A-Za-z-]+";var ue=Q++;Y[ue]="(?:\\+("+Y[ce]+"(?:\\."+Y[ce]+")*))";var le=Q++,_e="v?"+Y[ne]+Y[oe]+"?"+Y[ue]+"?";Y[le]="^"+_e+"$";var de="[v=\\s]*"+Y[re]+Y[se]+"?"+Y[ue]+"?",pe=Q++;Y[pe]="^"+de+"$";var fe=Q++;Y[fe]="((?:<|>)?=?)";var me=Q++;Y[me]=Y[ee]+"|x|X|\\*";var ge=Q++;Y[ge]=Y[Z]+"|x|X|\\*";var ye=Q++;Y[ye]="[v=\\s]*("+Y[ge]+")(?:\\.("+Y[ge]+")(?:\\.("+Y[ge]+")(?:"+Y[oe]+")?"+Y[ue]+"?)?)?";var he=Q++;Y[he]="[v=\\s]*("+Y[me]+")(?:\\.("+Y[me]+")(?:\\.("+Y[me]+")(?:"+Y[se]+")?"+Y[ue]+"?)?)?";var ve=Q++;Y[ve]="^"+Y[fe]+"\\s*"+Y[ye]+"$";var be=Q++;Y[be]="^"+Y[fe]+"\\s*"+Y[he]+"$";var xe=Q++;Y[xe]="(?:~>?)";var ke=Q++;Y[ke]="(\\s*)"+Y[xe]+"\\s+",X[ke]=new RegExp(Y[ke],"g");var Se=Q++;Y[Se]="^"+Y[xe]+Y[ye]+"$";var Te=Q++;Y[Te]="^"+Y[xe]+Y[he]+"$";var Ce=Q++;Y[Ce]="(?:\\^)";var Ee=Q++;Y[Ee]="(\\s*)"+Y[Ce]+"\\s+",X[Ee]=new RegExp(Y[Ee],"g");var De=Q++;Y[De]="^"+Y[Ce]+Y[ye]+"$";var Ne=Q++;Y[Ne]="^"+Y[Ce]+Y[he]+"$";var Ae=Q++;Y[Ae]="^"+Y[fe]+"\\s*("+de+")$|^$";var we=Q++;Y[we]="^"+Y[fe]+"\\s*("+_e+")$|^$";var Pe=Q++;Y[Pe]="(\\s*)"+Y[fe]+"\\s*("+de+"|"+Y[ye]+")",X[Pe]=new RegExp(Y[Pe],"g");var Oe=Q++;Y[Oe]="^\\s*("+Y[ye]+")\\s+-\\s+("+Y[ye]+")\\s*$";var Fe=Q++;Y[Fe]="^\\s*("+Y[he]+")\\s+-\\s+("+Y[he]+")\\s*$";var Ie=Q++;Y[Ie]="(<|>)?=?\\s*\\*";for(var Re=0;Re=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0);}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=o,t.diff=s,t.compareIdentifiers=c;var Me=/^[0-9]+$/;t.rcompareIdentifiers=u,t.major=l,t.minor=_,t.patch=d,t.compare=p,t.compareLoose=f,t.rcompare=m,t.sort=g,t.rsort=y,t.gt=h,t.lt=v,t.eq=b,t.neq=x,t.gte=k,t.lte=S,t.cmp=T,t.Comparator=C;var Le={};C.prototype.parse=function(e){var t=this.loose?X[Ae]:X[we],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1],"="===this.operator&&(this.operator=""),n[2]?this.semver=new i(n[2],this.loose):this.semver=Le;},C.prototype.toString=function(){return this.value},C.prototype.test=function(e){return G("Comparator.test",e,this.loose),this.semver===Le||("string"==typeof e&&(e=new i(e,this.loose)),T(e,this.operator,this.semver,this.loose))},t.Range=E,E.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range},E.prototype.toString=function(){return this.range},E.prototype.parseRange=function(e){var t=this.loose;e=e.trim(),G("range",e,t);var n=t?X[Fe]:X[Oe];e=e.replace(n,L),G("hyphen replace",e),e=e.replace(X[Pe],"$1$2$3"),G("comparator trim",e,X[Pe]),e=(e=(e=e.replace(X[ke],"$1~")).replace(X[Ee],"$1^")).split(/\s+/).join(" ");var r=t?X[Ae]:X[we],a=e.split(" ").map(function(e){return N(e,t)}).join(" ").split(/\s+/);return this.loose&&(a=a.filter(function(e){return!!e.match(r)})),a=a.map(function(e){return new C(e,t)})},t.toComparators=D,E.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new i(e,this.loose));for(var t=0;t=4"},repository="eslint/typescript-eslint-parser",bugs={url:"https://github.com/eslint/typescript-eslint-parser/issues"},license="BSD-2-Clause",devDependencies={eslint:"3.19.0","eslint-config-eslint":"4.0.0","eslint-plugin-node":"4.2.2","eslint-release":"0.10.3",jest:"20.0.4","npm-license":"0.3.3",shelljs:"0.7.7","shelljs-nodecli":"0.1.1",typescript:"~2.3.2"},keywords=["ast","ecmascript","javascript","typescript","parser","syntax","eslint"],scripts={test:"node Makefile.js test",jest:"jest",lint:"node Makefile.js lint",release:"eslint-release","ci-release":"eslint-ci-release","gh-release":"eslint-gh-release",alpharelease:"eslint-prerelease alpha",betarelease:"eslint-prerelease beta"},dependencies={"lodash.unescape":"4.0.1",semver:"5.3.0"},peerDependencies={typescript:"*"},jest={testRegex:"tests/lib/.+\\.js$",testPathIgnorePatterns:[],collectCoverage:!0,coverageReporters:["text-summary"]},_package={name:name,description:description,author:author,homepage:homepage,main:main,version:version$1,files:files,engines:engines,repository:repository,bugs:bugs,license:license,devDependencies:devDependencies,keywords:keywords,scripts:scripts,dependencies:dependencies,peerDependencies:peerDependencies,jest:jest},_package$1=Object.freeze({name:name,description:description,author:author,homepage:homepage,main:main,version:version$1,files:files,engines:engines,repository:repository,bugs:bugs,license:license,devDependencies:devDependencies,keywords:keywords,scripts:scripts,dependencies:dependencies,peerDependencies:peerDependencies,jest:jest,default:_package}),require$$4$2=_package$1&&_package$1.default||_package$1;const astNodeTypes=astNodeTypes$1,ts=typescript,convert=astConverter,semver=semver$1,SUPPORTED_TYPESCRIPT_VERSIONS=require$$4$2.devDependencies.typescript,ACTIVE_TYPESCRIPT_VERSION=ts.version,isRunningSupportedTypeScriptVersion=semver.satisfies(ACTIVE_TYPESCRIPT_VERSION,SUPPORTED_TYPESCRIPT_VERSIONS);if(!isRunningSupportedTypeScriptVersion){const e="=============",t=[e,"WARNING: You are currently running a version of TypeScript which is not officially supported by typescript-eslint-parser.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${SUPPORTED_TYPESCRIPT_VERSIONS}`,`YOUR TYPESCRIPT VERSION: ${ACTIVE_TYPESCRIPT_VERSION}`,"Please only submit bug reports when using the officially supported version.",e];console.warn(t.join("\n\n"));}let extra;var version$$1=require$$4$2.version,parse_1=parse$1;!function(){let e,t={};"function"==typeof Object.create&&(t=Object.create(null));for(e in astNodeTypes)astNodeTypes.hasOwnProperty(e)&&(t[e]=astNodeTypes[e]);"function"==typeof Object.freeze&&Object.freeze(t);}();var parser={version:version$$1,parse:parse_1};const createError=parserCreateError,includeShebang=parserIncludeShebang;var parserTypescript=parse;module.exports=parserTypescript; +"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}function createError$1(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n}function includeShebang$1(e,t){if(!e.startsWith("#!"))return;const n=e.indexOf("\n"),r={type:"Line",value:e.slice(2,n),range:[0,n],loc:{source:null,start:{line:1,column:0},end:{line:1,column:n}}};t.comments=[r].concat(t.comments);}function commonjsRequire$$1(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function createCommonjsModule$$1(e,t){return t={exports:{}},e(t,t.exports),t.exports}function toVLQSigned(e){return e<0?1+(-e<<1):0+(e<<1)}function fromVLQSigned(e){var t=e>>1;return 1==(1&e)?-t:t}function ArraySet$1(){this._array=[],this._set=Object.create(null);}function generatedPositionAfter(e,t){var n=e.generatedLine,r=t.generatedLine,a=e.generatedColumn,i=t.generatedColumn;return r>n||r==n&&i>=a||util$4.compareByGeneratedPositionsInflated(e,t)<=0}function MappingList$1(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0};}function SourceMapGenerator$1(e){e||(e={}),this._file=util.getArg(e,"file",null),this._sourceRoot=util.getArg(e,"sourceRoot",null),this._skipValidation=util.getArg(e,"skipValidation",!1),this._sources=new ArraySet,this._names=new ArraySet,this._mappings=new MappingList,this._sourcesContents=null;}function swap(e,t,n){var r=e[t];e[t]=e[n],e[n]=r;}function randomIntInRange(e,t){return Math.round(e+Math.random()*(t-e))}function doQuickSort(e,t,n,r){if(n";var n=this.getLineNumber();if(null!=n){t+=":"+n;var r=this.getColumnNumber();r&&(t+=":"+r);}}var a="",i=this.getFunctionName(),o=!0,s=this.isConstructor();if(!(this.isToplevel()||s)){var c=this.getTypeName();"[object Object]"===c&&(c="null");var u=this.getMethodName();i?(c&&0!=i.indexOf(c)&&(a+=c+"."),a+=i,u&&i.indexOf("."+u)!=i.length-u.length-1&&(a+=" [as "+u+"]")):a+=c+"."+(u||"");}else s?a+="new "+(i||""):i?a+=i:(a+=t,o=!1);return o&&(a+=" ("+t+")"),a}function cloneCallSite(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(function(n){t[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n];}),t.toString=CallSiteToString,t}function wrapCallSite(e){if(e.isNative())return e;var t=e.getFileName()||e.getScriptNameOrSourceURL();if(t){var n=e.getLineNumber(),r=e.getColumnNumber()-1;1!==n||isInBrowser()||e.isEval()||(r-=62);var a=mapSourcePosition({source:t,line:n,column:r});return e=cloneCallSite(e),e.getFileName=function(){return a.source},e.getLineNumber=function(){return a.line},e.getColumnNumber=function(){return a.column+1},e.getScriptNameOrSourceURL=function(){return a.source},e}var i=e.isEval()&&e.getEvalOrigin();return i?(i=mapEvalOrigin(i),e=cloneCallSite(e),e.getEvalOrigin=function(){return i},e):e}function prepareStackTrace(e,t){return emptyCacheBetweenOperations&&(fileContentsCache={},sourceMapCache={}),e+t.map(function(e){return"\n at "+wrapCallSite(e)}).join("")}function getErrorSource(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var n=t[1],r=+t[2],a=+t[3],i=fileContentsCache[n];if(!i&&fs$1&&fs$1.existsSync(n)&&(i=fs$1.readFileSync(n,"utf8")),i){var o=i.split(/(?:\r\n|\r|\n)/)[r-1];if(o)return n+":"+r+"\n"+o+"\n"+new Array(a).join(" ")+"^"}}return null}function printErrorAndExit(e){var t=getErrorSource(e);t&&(console.error(),console.error(t)),console.error(e.stack),process.exit(1);}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(t){if("uncaughtException"===t){var n=arguments[1]&&arguments[1].stack,r=this.listeners(t).length>0;if(n&&!r)return printErrorAndExit(arguments[1])}return e.apply(this,arguments)};}function basePropertyOf(e){return function(t){return null==e?void 0:e[t]}}function baseToString(e){if("string"==typeof e)return e;if(isSymbol(e))return symbolToString?symbolToString.call(e):"";var t=e+"";return"0"==t&&1/e==-INFINITY?"-0":t}function isObjectLike(e){return!!e&&"object"==typeof e}function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&objectToString.call(e)==symbolTag}function toString(e){return null==e?"":baseToString(e)}function unescape$1(e){return e=toString(e),e&&reHasEscapedHtml.test(e)?e.replace(reEscapedHtml,unescapeHtmlChar):e}function findFirstMatchingChild(e,t,n){const r=e.getChildren(t);for(let e=0;e-1}function isLogicalOperator(e){return LOGICAL_OPERATORS.indexOf(e.kind)>-1}function getTextForTokenKind(e){return TOKEN_TO_TEXT[e]}function isESTreeClassMember(e){return e.kind!==SyntaxKind$1.SemicolonClassElement}function hasModifier(e,t){return!!t.modifiers&&!!t.modifiers.length&&t.modifiers.some(t=>t.kind===e)}function isComma(e){return e.kind===SyntaxKind$1.CommaToken}function getBinaryExpressionType(e){return isAssignmentOperator(e)?"AssignmentExpression":isLogicalOperator(e)?"LogicalExpression":"BinaryExpression"}function getLocFor(e,t,n){const r=n.getLineAndCharacterOfPosition(e),a=n.getLineAndCharacterOfPosition(t);return{start:{line:r.line+1,column:r.character},end:{line:a.line+1,column:a.character}}}function getLoc(e,t){return getLocFor(e.getStart(),e.end,t)}function isToken(e){return e.kind>=SyntaxKind$1.FirstToken&&e.kind<=SyntaxKind$1.LastToken}function isJSXToken(e){return e.kind>=SyntaxKind$1.JsxElement&&e.kind<=SyntaxKind$1.JsxAttribute}function getDeclarationKind(e){let t;switch(e.kind){case SyntaxKind$1.TypeAliasDeclaration:t="type";break;case SyntaxKind$1.VariableDeclarationList:t=isLet(e)?"let":isConst(e)?"const":"var";break;default:throw"Unable to determine declaration kind."}return t}function getTSNodeAccessibility(e){const t=e.modifiers;if(!t)return null;for(let e=0;ee.kind===t)}function findAncestorOfKind(e,t){return findFirstMatchingAncestor(e,e=>e.kind===t)}function hasJSXAncestor(e){return!!findFirstMatchingAncestor(e,isJSXToken)}function unescapeIdentifier(e){return ts$1.unescapeIdentifier(e)}function unescapeStringLiteralText(e){return unescape(e)}function isComputedProperty(e){return e.kind===SyntaxKind$1.ComputedPropertyName}function isOptional(e){return!!e.questionToken&&e.questionToken.kind===SyntaxKind$1.QuestionToken}function fixExports(e,t,n){if(e.modifiers&&e.modifiers[0].kind===SyntaxKind$1.ExportKeyword){const r=e.modifiers[0],a=e.modifiers[1],i=e.modifiers[e.modifiers.length-1],o=a&&a.kind===SyntaxKind$1.DefaultKeyword,s=findNextToken(i,n);t.range[0]=s.getStart(),t.loc=getLocFor(t.range[0],t.range[1],n);const c=o?"ExportDefaultDeclaration":"ExportNamedDeclaration",u={type:c,declaration:t,range:[r.getStart(),t.range[1]],loc:getLocFor(r.getStart(),t.range[1],n)};return o||(u.specifiers=[],u.source=null),u}return t}function getTokenType(e){if(e.originalKeywordKind)switch(e.originalKeywordKind){case SyntaxKind$1.NullKeyword:return"Null";case SyntaxKind$1.GetKeyword:case SyntaxKind$1.SetKeyword:case SyntaxKind$1.TypeKeyword:case SyntaxKind$1.ModuleKeyword:return"Identifier";default:return"Keyword"}if(e.kind>=SyntaxKind$1.FirstKeyword&&e.kind<=SyntaxKind$1.LastFutureReservedWord)return e.kind===SyntaxKind$1.FalseKeyword||e.kind===SyntaxKind$1.TrueKeyword?"Boolean":"Keyword";if(e.kind>=SyntaxKind$1.FirstPunctuation&&e.kind<=SyntaxKind$1.LastBinaryOperator)return"Punctuator";if(e.kind>=SyntaxKind$1.NoSubstitutionTemplateLiteral&&e.kind<=SyntaxKind$1.TemplateTail)return"Template";switch(e.kind){case SyntaxKind$1.NumericLiteral:return"Numeric";case SyntaxKind$1.JsxText:return"JSXText";case SyntaxKind$1.StringLiteral:return!e.parent||e.parent.kind!==SyntaxKind$1.JsxAttribute&&e.parent.kind!==SyntaxKind$1.JsxElement?"String":"JSXText";case SyntaxKind$1.RegularExpressionLiteral:return"RegularExpression";case SyntaxKind$1.Identifier:case SyntaxKind$1.ConstructorKeyword:case SyntaxKind$1.GetKeyword:case SyntaxKind$1.SetKeyword:}if(e.parent){if(e.kind===SyntaxKind$1.Identifier&&e.parent.kind===SyntaxKind$1.PropertyAccessExpression&&hasJSXAncestor(e))return"JSXIdentifier";if(isJSXToken(e.parent)){if(e.kind===SyntaxKind$1.PropertyAccessExpression)return"JSXMemberExpression";if(e.kind===SyntaxKind$1.Identifier)return"JSXIdentifier"}}return"Identifier"}function convertToken(e,t){const n=e.kind===SyntaxKind$1.JsxText?e.getFullStart():e.getStart(),r=e.getEnd(),a=t.text.slice(n,r),i={type:getTokenType(e),value:a,start:n,end:r,range:[n,r],loc:getLocFor(n,r,t)};return"RegularExpression"===i.type&&(i.regex={pattern:a.slice(1,a.lastIndexOf("/")),flags:a.slice(a.lastIndexOf("/")+1)}),i}function convertTokens(e){function t(r){if(isToken(r)&&r.kind!==SyntaxKind$1.EndOfFileToken){const t=convertToken(r,e);t&&n.push(t);}else r.getChildren().forEach(t);}const n=[];return t(e),n}function getNodeContainer(e,t,n){function r(e){const i=e.pos,o=e.end;t>=i&&n<=o&&(isToken(e)?a=e:e.getChildren().forEach(r));}let a=null;return r(e),a}function convertTypeScriptCommentToEsprimaComment(e,t,n,r,a,i){const o={type:e?"Block":"Line",value:t};return"number"==typeof n&&(o.range=[n,r]),"object"==typeof a&&(o.loc={start:a,end:i}),o}function getCommentFromTriviaScanner(e,t,n){const r=e.getToken()===ts$2.SyntaxKind.MultiLineCommentTrivia,a={pos:e.getTokenPos(),end:e.getTextPos(),kind:e.getToken()},i=n.substring(a.pos,a.end),o=r?i.replace(/^\/\*/,"").replace(/\*\/$/,""):i.replace(/^\/\//,""),s=nodeUtils$4.getLocFor(a.pos,a.end,t);return convertTypeScriptCommentToEsprimaComment(r,o,a.pos,a.end,s.start,s.end)}function convertComments$1(e,t){const n=[],r=ts$2.createScanner(e.languageVersion,!1,0,t);let a=r.scan();for(;a!==ts$2.SyntaxKind.EndOfFileToken;){const i=r.getTokenPos(),o=r.getTextPos();let s=null;switch(a){case ts$2.SyntaxKind.SingleLineCommentTrivia:case ts$2.SyntaxKind.MultiLineCommentTrivia:{const a=getCommentFromTriviaScanner(r,e,t);n.push(a);break}case ts$2.SyntaxKind.CloseBraceToken:if((s=nodeUtils$4.getNodeContainer(e,i,o)).kind===ts$2.SyntaxKind.TemplateMiddle||s.kind===ts$2.SyntaxKind.TemplateTail){a=r.reScanTemplateToken();continue}break;case ts$2.SyntaxKind.SlashToken:case ts$2.SyntaxKind.SlashEqualsToken:if((s=nodeUtils$4.getNodeContainer(e,i,o)).kind===ts$2.SyntaxKind.RegularExpressionLiteral){a=r.reScanSlashToken();continue}}a=r.scan();}return n}function convertError(e){const t=e.file.getLineAndCharacterOfPosition(e.start);return{index:e.start,lineNumber:t.line+1,column:t.character,message:e.message||e.messageText}}function resetExtra(){extra={tokens:null,range:!1,loc:!1,comment:!1,comments:[],tolerant:!1,errors:[],strict:!1,ecmaFeatures:{},useJSXTextNode:!1};}function parse$1(e,t){const n=String;"string"==typeof e||e instanceof String||(e=n(e)),resetExtra(),void 0!==t&&(extra.range="boolean"==typeof t.range&&t.range,extra.loc="boolean"==typeof t.loc&&t.loc,extra.loc&&null!==t.source&&void 0!==t.source&&(extra.source=n(t.source)),"boolean"==typeof t.tokens&&t.tokens&&(extra.tokens=[]),"boolean"==typeof t.comment&&t.comment&&(extra.comment=!0,extra.comments=[]),"boolean"==typeof t.tolerant&&t.tolerant&&(extra.errors=[]),t.ecmaFeatures&&"object"==typeof t.ecmaFeatures&&(extra.ecmaFeatures.jsx=t.ecmaFeatures.jsx),t.errorOnUnknownASTType&&(extra.errorOnUnknownASTType=!0),"boolean"==typeof t.useJSXTextNode&&t.useJSXTextNode&&(extra.useJSXTextNode=!0));const r=extra.ecmaFeatures.jsx?"eslint.tsx":"eslint.ts",a={fileExists(){return!0},getCanonicalFileName(){return r},getCurrentDirectory(){return""},getDefaultLibFileName(){return"lib.d.ts"},getNewLine(){return"\n"},getSourceFile(t){return ts.createSourceFile(t,e,ts.ScriptTarget.Latest,!0)},readFile(){return null},useCaseSensitiveFileNames(){return!0},writeFile(){return null}},i=ts.createProgram([r],{noResolve:!0,target:ts.ScriptTarget.Latest,jsx:extra.ecmaFeatures.jsx?"preserve":void 0},a).getSourceFile(r);return extra.code=e,convert(i,extra)}function parse(e){const t=isProbablyJsx(e);let n;try{try{n=tryParseTypeScript(e,t);}catch(r){n=tryParseTypeScript(e,!t);}}catch(e){throw createError(e.message,{start:{line:e.lineNumber,column:e.column+1}})}return delete n.tokens,includeShebang(e,n),n}function tryParseTypeScript(e,t){return parser.parse(e,{loc:!0,range:!0,tokens:!0,comment:!0,useJSXTextNode:!0,ecmaFeatures:{jsx:t}})}function isProbablyJsx(e){return new RegExp(["(^[^\"'`]*)"].join(""),"m").test(e)}var fs$$1=_interopDefault(fs),path$$1=_interopDefault(path),os$$1=_interopDefault(os),crypto$$1=_interopDefault(crypto),module$1$$1=_interopDefault(module$1),parserCreateError=createError$1,parserIncludeShebang=includeShebang$1,astNodeTypes$1={ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",AwaitExpression:"AwaitExpression",BinaryExpression:"BinaryExpression",BlockStatement:"BlockStatement",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ClassImplements:"ClassImplements",ClassProperty:"ClassProperty",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DeclareFunction:"DeclareFunction",Decorator:"Decorator",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExperimentalRestProperty:"ExperimentalRestProperty",ExperimentalSpreadProperty:"ExperimentalSpreadProperty",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",ForStatement:"ForStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GenericTypeAnnotation:"GenericTypeAnnotation",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText",LabeledStatement:"LabeledStatement",Literal:"Literal",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",TSAbstractClassProperty:"TSAbstractClassProperty",TSAbstractMethodDefinition:"TSAbstractMethodDefinition",TSAnyKeyword:"TSAnyKeyword",TSArrayType:"TSArrayType",TSBooleanKeyword:"TSBooleanKeyword",TSConstructorType:"TSConstructorType",TSConstructSignature:"TSConstructSignature",TSDeclareKeyword:"TSDeclareKeyword",TSEnumDeclaration:"TSEnumDeclaration",TSIndexSignature:"TSIndexSignature",TSInterfaceBody:"TSInterfaceBody",TSInterfaceDeclaration:"TSInterfaceDeclaration",TSInterfaceHeritage:"TSInterfaceHeritage",TSFunctionType:"TSFunctionType",TSMethodSignature:"TSMethodSignature",TSModuleBlock:"TSModuleBlock",TSModuleDeclaration:"TSModuleDeclaration",TSNamespaceFunctionDeclaration:"TSNamespaceFunctionDeclaration",TSNonNullExpression:"TSNonNullExpression",TSNumberKeyword:"TSNumberKeyword",TSParameterProperty:"TSParameterProperty",TSPropertySignature:"TSPropertySignature",TSQualifiedName:"TSQualifiedName",TSQuestionToken:"TSQuestionToken",TSStringKeyword:"TSStringKeyword",TSTypeLiteral:"TSTypeLiteral",TSTypePredicate:"TSTypePredicate",TSTypeReference:"TSTypeReference",TSUnionType:"TSUnionType",TSVoidKeyword:"TSVoidKeyword",TypeAnnotation:"TypeAnnotation",TypeParameter:"TypeParameter",TypeParameterDeclaration:"TypeParameterDeclaration",TypeParameterInstantiation:"TypeParameterInstantiation",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},commonjsGlobal$$1="undefined"!=typeof window?window:"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{},intToCharMap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),encode$1=function(e){if(0<=e&&e>>=VLQ_BASE_SHIFT)>0&&(t|=VLQ_CONTINUATION_BIT),n+=base64.encode(t);}while(r>0);return n},decode=function(e,t,n){var r,a,i=e.length,o=0,s=0;do{if(t>=i)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(a=base64.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));r=!!(a&VLQ_CONTINUATION_BIT),o+=(a&=VLQ_BASE_MASK)<=0;l--)"."===(o=c[l])?c.splice(l,1):".."===o?u++:u>0&&(""===o?(c.splice(l+1,u),u=0):(c.splice(l,2),u--));return""===(n=c.join("/"))&&(n=s?"/":"."),i?(i.path=n,a(i)):n}function o(e,t){""===e&&(e="."),""===t&&(t=".");var n=r(t),o=r(e);if(o&&(e=o.path||"/"),n&&!n.scheme)return o&&(n.scheme=o.scheme),a(n);if(n||t.match(y))return t;if(o&&!o.host&&!o.path)return o.host=t,a(o);var s="/"===t.charAt(0)?t:i(e.replace(/\/+$/,"")+"/"+t);return o?(o.path=s,a(o)):s}function s(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n;}return Array(n+1).join("../")+t.substr(e.length+1)}function c(e){return e}function u(e){return _(e)?"$"+e:e}function l(e){return _(e)?e.slice(1):e}function _(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function d(e,t,n){var r=e.source-t.source;return 0!==r?r:0!==(r=e.originalLine-t.originalLine)?r:0!==(r=e.originalColumn-t.originalColumn)||n?r:0!==(r=e.generatedColumn-t.generatedColumn)?r:(r=e.generatedLine-t.generatedLine,0!==r?r:e.name-t.name)}function p(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!==(r=e.generatedColumn-t.generatedColumn)||n?r:0!==(r=e.source-t.source)?r:0!==(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,0!==r?r:e.name-t.name)}function f(e,t){return e===t?0:e>t?1:-1}function m(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!==(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=f(e.source,t.source))?n:0!==(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,0!==n?n:f(e.name,t.name))}t.getArg=n;var g=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,y=/^data:.+\,.+$/;t.urlParse=r,t.urlGenerate=a,t.normalize=i,t.join=o,t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(g)},t.relative=s;var h=function(){return!("__proto__"in Object.create(null))}();t.toSetString=h?c:u,t.fromSetString=h?c:l,t.compareByOriginalPositions=d,t.compareByGeneratedPositionsDeflated=p,t.compareByGeneratedPositionsInflated=m;}),util$3=util$1,has=Object.prototype.hasOwnProperty;ArraySet$1.fromArray=function(e,t){for(var n=new ArraySet$1,r=0,a=e.length;r=0&&e0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},SourceMapGenerator$1.prototype._serializeMappings=function(){for(var e,t,n,r,a=0,i=1,o=0,s=0,c=0,u=0,l="",_=this._mappings.toArray(),d=0,p=_.length;d0){if(!util.compareByGeneratedPositionsInflated(t,_[d-1]))continue;e+=",";}e+=base64VLQ.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=base64VLQ.encode(r-u),u=r,e+=base64VLQ.encode(t.originalLine-1-s),s=t.originalLine-1,e+=base64VLQ.encode(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=base64VLQ.encode(n-c),c=n)),l+=e;}return l},SourceMapGenerator$1.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=util.relative(t,e));var n=util.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},SourceMapGenerator$1.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},SourceMapGenerator$1.prototype.toString=function(){return JSON.stringify(this.toJSON())};var SourceMapGenerator_1=SourceMapGenerator$1,sourceMapGenerator={SourceMapGenerator:SourceMapGenerator_1},binarySearch$1=createCommonjsModule$$1(function(e,t){function n(e,r,a,i,o,s){var c=Math.floor((r-e)/2)+e,u=o(a,i[c],!0);return 0===u?c:u>0?r-c>1?n(c,r,a,i,o,s):s==t.LEAST_UPPER_BOUND?r1?n(e,c,a,i,o,s):s==t.LEAST_UPPER_BOUND?c:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,a,i){if(0===r.length)return-1;var o=n(-1,r.length,e,r,a,i||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===a(r[o],r[o-1],!0);)--o;return o};}),quickSort_1=function(e,t){doQuickSort(e,t,0,e.length-1);},quickSort$1={quickSort:quickSort_1},util$5=util$1,binarySearch=binarySearch$1,ArraySet$2=arraySet.ArraySet,base64VLQ$1=base64Vlq,quickSort=quickSort$1.quickSort;SourceMapConsumer$2.fromSourceMap=function(e){return BasicSourceMapConsumer.fromSourceMap(e)},SourceMapConsumer$2.prototype._version=3,SourceMapConsumer$2.prototype.__generatedMappings=null,Object.defineProperty(SourceMapConsumer$2.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),SourceMapConsumer$2.prototype.__originalMappings=null,Object.defineProperty(SourceMapConsumer$2.prototype,"_originalMappings",{get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),SourceMapConsumer$2.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return";"===n||","===n},SourceMapConsumer$2.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},SourceMapConsumer$2.GENERATED_ORDER=1,SourceMapConsumer$2.ORIGINAL_ORDER=2,SourceMapConsumer$2.GREATEST_LOWER_BOUND=1,SourceMapConsumer$2.LEAST_UPPER_BOUND=2,SourceMapConsumer$2.prototype.eachMapping=function(e,t,n){var r,a=t||null;switch(n||SourceMapConsumer$2.GENERATED_ORDER){case SourceMapConsumer$2.GENERATED_ORDER:r=this._generatedMappings;break;case SourceMapConsumer$2.ORIGINAL_ORDER:r=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var i=this.sourceRoot;r.map(function(e){var t=null===e.source?null:this._sources.at(e.source);return null!=t&&null!=i&&(t=util$5.join(i,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}},this).forEach(e,a);},SourceMapConsumer$2.prototype.allGeneratedPositionsFor=function(e){var t=util$5.getArg(e,"line"),n={source:util$5.getArg(e,"source"),originalLine:t,originalColumn:util$5.getArg(e,"column",0)};if(null!=this.sourceRoot&&(n.source=util$5.relative(this.sourceRoot,n.source)),!this._sources.has(n.source))return[];n.source=this._sources.indexOf(n.source);var r=[],a=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",util$5.compareByOriginalPositions,binarySearch.LEAST_UPPER_BOUND);if(a>=0){var i=this._originalMappings[a];if(void 0===e.column)for(var o=i.originalLine;i&&i.originalLine===o;)r.push({line:util$5.getArg(i,"generatedLine",null),column:util$5.getArg(i,"generatedColumn",null),lastColumn:util$5.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++a];else for(var s=i.originalColumn;i&&i.originalLine===t&&i.originalColumn==s;)r.push({line:util$5.getArg(i,"generatedLine",null),column:util$5.getArg(i,"generatedColumn",null),lastColumn:util$5.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++a];}return r};var SourceMapConsumer_1=SourceMapConsumer$2;BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer$2.prototype),BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer$2,BasicSourceMapConsumer.fromSourceMap=function(e){var t=Object.create(BasicSourceMapConsumer.prototype),n=t._names=ArraySet$2.fromArray(e._names.toArray(),!0),r=t._sources=ArraySet$2.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),i=t.__generatedMappings=[],o=t.__originalMappings=[],s=0,c=a.length;s1&&(n.source=_+a[1],_+=a[1],n.originalLine=u+a[2],u=n.originalLine,n.originalLine+=1,n.originalColumn=l+a[3],l=n.originalColumn,a.length>4&&(n.name=d+a[4],d+=a[4])),h.push(n),"number"==typeof n.originalLine&&y.push(n);}quickSort(h,util$5.compareByGeneratedPositionsDeflated),this.__generatedMappings=h,quickSort(y,util$5.compareByOriginalPositions),this.__originalMappings=y;},BasicSourceMapConsumer.prototype._findMapping=function(e,t,n,r,a,i){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return binarySearch.search(e,t,a,i)},BasicSourceMapConsumer.prototype.computeColumnSpans=function(){for(var e=0;e=0){var r=this._generatedMappings[n];if(r.generatedLine===t.generatedLine){var a=util$5.getArg(r,"source",null);null!==a&&(a=this._sources.at(a),null!=this.sourceRoot&&(a=util$5.join(this.sourceRoot,a)));var i=util$5.getArg(r,"name",null);return null!==i&&(i=this._names.at(i)),{source:a,line:util$5.getArg(r,"originalLine",null),column:util$5.getArg(r,"originalColumn",null),name:i}}}return{source:null,line:null,column:null,name:null}},BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},BasicSourceMapConsumer.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=util$5.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var n;if(null!=this.sourceRoot&&(n=util$5.urlParse(this.sourceRoot))){var r=e.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(r))return this.sourcesContent[this._sources.indexOf(r)];if((!n.path||"/"==n.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},BasicSourceMapConsumer.prototype.generatedPositionFor=function(e){var t=util$5.getArg(e,"source");if(null!=this.sourceRoot&&(t=util$5.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var n={source:t=this._sources.indexOf(t),originalLine:util$5.getArg(e,"line"),originalColumn:util$5.getArg(e,"column")},r=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",util$5.compareByOriginalPositions,util$5.getArg(e,"bias",SourceMapConsumer$2.GREATEST_LOWER_BOUND));if(r>=0){var a=this._originalMappings[r];if(a.source===n.source)return{line:util$5.getArg(a,"generatedLine",null),column:util$5.getArg(a,"generatedColumn",null),lastColumn:util$5.getArg(a,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};var BasicSourceMapConsumer_1=BasicSourceMapConsumer;IndexedSourceMapConsumer.prototype=Object.create(SourceMapConsumer$2.prototype),IndexedSourceMapConsumer.prototype.constructor=SourceMapConsumer$2,IndexedSourceMapConsumer.prototype._version=3,Object.defineProperty(IndexedSourceMapConsumer.prototype,"sources",{get:function(){for(var e=[],t=0;t0&&(u&&r(u,o()),a.add(i.join(""))),t.sources.forEach(function(e){var r=t.sourceContentFor(e);null!=r&&(null!=n&&(e=util$6.join(n,e)),a.setSourceContent(e,r));}),a},SourceNode$1.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e);},this);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e);}return this},SourceNode$1.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[isSourceNode]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e);}return this},SourceNode$1.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n0){for(t=[],n=0;n0;for(var n=0,r=e;n0?e[0]:void 0}function J(e){return e&&e.length>0?e[e.length-1]:void 0}function z(e){return e&&1===e.length?e[0]:void 0}function U(e){return e&&1===e.length?e[0]:e}function V(e,t,n){var r=e.slice(0);return r[t]=n,r}function q(e,t,n,r){if(!e||0===e.length)return-1;var a=r||0,i=e.length-1;for(n=void 0!==n?n:function(e,t){return et?1:0};a<=i;){var o=a+(i-a>>1),s=e[o];if(0===n(s,t))return o;n(s,t)>0?i=o-1:a=o+1;}return~a}function $(e,t,n,r,a){if(e&&e.length>0){var i=e.length;if(i>0){var o=void 0===r||r<0?0:r,s=void 0===a||o+a>i-1?i-1:o+a,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=n;o<=s;)c=t(c,e[o],o),o++;return c}}return n}function G(e,t,n,r,a){if(e){var i=e.length;if(i>0){var o=void 0===r||r>i-1?i-1:r,s=void 0===a||o-a<0?0:o-a,c=void 0;for(arguments.length<=2?(c=e[o],o--):c=n;o>=s;)c=t(c,e[o],o),o--;return c}}return n}function W(e,t){return rn.call(e,t)}function H(e,t){return rn.call(e,t)?e[t]:void 0}function X(e){var t=[];for(var n in e)rn.call(e,n)&&t.push(n);return t}function Y(e,t){for(var n=[],r=e.next(),a=r.value,i=r.done;!i;o=e.next(),a=o.value,i=o.done,o)n.push(t?t(a):a);return n;var o;}function Q(e,t){for(var n=[],r=e.next(),a=r.value,i=r.done;!i;o=e.next(),a=o.value,i=o.done,o)n.push(t(a));return n;var o;}function Z(e,t){for(var n=e.entries(),r=n.next(),a=r.value,i=r.done;!i;c=n.next(),a=c.value,i=c.done,c){var o=a[0],s=t(a[1],o);if(s)return s}return;var c;}function ee(e,t){for(var n=e.keys(),r=n.next(),a=r.value,i=r.done;!i;s=n.next(),a=s.value,i=s.done,s){var o=t(a);if(o)return o}return;var s;}function te(e,t){e.forEach(function(e,n){t.set(n,e);});}function ne(e){for(var t=[],n=1;n=0,"start must be non-negative, is "+t),dn.assert(n>=0,"length must be non-negative, is "+n),e&&(dn.assert(t<=e.text.length,"start must be within the bounds of the file. "+t+" > "+e.text.length),dn.assert(a<=e.text.length,"end must be the bounds of the file. "+a+" > "+e.text.length));var i=he(r);return arguments.length>4&&(i=ye(i,arguments,4)),{file:e,start:t,length:n,messageText:i,category:r.category,code:r.code}}function be(e,t){var n=he(t);return arguments.length>2&&(n=ye(n,arguments,2)),n}function xe(e){var t=he(e);return arguments.length>1&&(t=ye(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code}}function ke(e){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText}}function Se(e,t){var n=he(t);return arguments.length>2&&(n=ye(n,arguments,2)),{messageText:n,category:t.category,code:t.code,next:e}}function Te(e,t){for(var n=e;n.next;)n=n.next;return n.next=t,e}function Ce(e,t){return e===t?0:void 0===e?-1:void 0===t?1:e0?1:0}if(t=t.toUpperCase(),n=n.toUpperCase(),t===n)return 0}return t0&&".."!==J(r)?r.pop():o&&r.push(o));}return r}function Me(t){var n=Ie(t=Fe(t)),r=t.substr(0,n),a=Re(t,n);if(a.length){var i=r+a.join(e.directorySeparator);return Le(t)?i+e.directorySeparator:i}return r}function Le(e){return e.charCodeAt(e.length-1)===an}function Be(t){return t.substr(0,Math.max(Ie(t),t.lastIndexOf(e.directorySeparator)))}function Ke(e){return e&&!qe(e)&&-1!==e.indexOf("://")}function je(e){return/^\.\.?($|[\\/])/.test(e)}function Je(e){return e.target||0}function ze(t){return"number"==typeof t.module?t.module:Je(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function Ue(t){var n=t.moduleResolution;return void 0===n&&(n=ze(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),n}function Ve(e){for(var t=!1,n=0;n1&&""===J(s)&&s.length--;var c;for(c=0;c=0&&e.indexOf(t,n)===n}function ct(e){return et(e).indexOf(".")>=0}function ut(e,t){return e.length>t.length&&st(e,t)}function lt(e,t){for(var n=0,r=t;n0;)s+=")?",d--;return s}}function mt(e){return yt(e,cn)}function gt(e){return yt(e,un)}function yt(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function ht(e,t,n,r,a){e=Me(e);var i=tt(a=Me(a),e);return{includeFilePatterns:x(dt(n,i,"files"),function(e){return"^"+e+"$"}),includeFilePattern:_t(n,i,"files"),includeDirectoryPattern:_t(n,i,"directories"),excludePattern:_t(t,i,"exclude"),basePaths:bt(e,n,r)}}function vt(e,t,n,r,a,i,o){function s(e,n){var r=o(e),a=r.files,i=r.directories;a=a.slice().sort(m),i=i.slice().sort(m);for(var c=0,u=a;c=0;n--)if(ut(e,t[n]))return At(n,t);return 0}function At(e,t){return e<2?0:ea&&(a=c.prefix.length,r=s);}return r}function Ht(e,t){var n=e.prefix,r=e.suffix;return t.length>=n.length+r.length&&ot(t,n)&&st(t,r)}function Xt(e){dn.assert(Ve(e));var t=e.indexOf("*");return-1===t?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function Yt(e){return!(e>=0)}function Qt(t){return t<=e.Extension.LastTypeScriptExtension}function Zt(e){var t=en(e);if(void 0!==t)return t;dn.fail("File "+e+" has unknown extension.");}function en(t){return ut(t,".d.ts")?e.Extension.Dts:ut(t,".ts")?e.Extension.Ts:ut(t,".tsx")?e.Extension.Tsx:ut(t,".js")?e.Extension.Js:ut(t,".jsx")?e.Extension.Jsx:void 0}function tn(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}!function(e){e[e.False=0]="False",e[e.Maybe=1]="Maybe",e[e.True=-1]="True";}(e.Ternary||(e.Ternary={})),e.collator="object"==typeof Intl&&"function"==typeof Intl.Collator?new Intl.Collator(void 0,{usage:"sort",sensitivity:"accent"}):void 0,e.localeCompareIsCorrect=e.collator&&e.collator.compare("a","B")<0,e.createMap=n,e.createMapFromTemplate=r;var nn="undefined"!=typeof Map&&"entries"in Map.prototype?Map:function(){var e=function(){function e(e,t){this.index=0,this.data=e,this.selector=t,this.keys=Object.keys(e);}return e.prototype.next=function(){var e=this.index;return e=t}function n(e,t,n){if(!e){var r="";throw n&&(r="\r\nVerbose Debug Information: "+n()),new Error("Debug Failure. False expression: "+(t||"")+r)}}function r(t){e.assert(!1,t);}e.currentAssertionLevel=0,e.shouldAssert=t,e.assert=n,e.fail=r;}(dn=e.Debug||(e.Debug={})),e.orderedRemoveItem=Kt,e.orderedRemoveItemAt=jt,e.unorderedRemoveItemAt=Jt,e.unorderedRemoveItem=zt,e.createGetCanonicalFileName=Vt,e.matchPatternOrExact=qt,e.patternText=$t,e.matchedText=Gt,e.findBestPatternMatch=Wt,e.tryParsePattern=Xt,e.positionIsSynthesized=Yt,e.extensionIsTypeScript=Qt,e.extensionFromPath=Zt,e.tryGetExtensionFromPath=en,e.isCheckJsEnabledForFile=tn;}(r||(r={}));!function(e){function t(){if("undefined"!=typeof process){var e=process.version;if(e){var t=e.indexOf(".");if(-1!==t)return parseInt(e.substring(1,t))}}}e.getNodeMajorVersion=t,e.sys=function(){function n(t,r){var a=e.getDirectoryPath(t),i=t!==a&&!r.directoryExists(a);i&&n(a,r),!i&&r.directoryExists(t)||r.createDirectory(t);}var r;if("undefined"!=typeof ChakraHost?r=function(){var t=ChakraHost.realpath&&function(e){return ChakraHost.realpath(e)};return{newLine:ChakraHost.newLine||"\r\n",args:ChakraHost.args,useCaseSensitiveFileNames:!!ChakraHost.useCaseSensitiveFileNames,write:ChakraHost.echo,readFile:function(e,t){return ChakraHost.readFile(e)},writeFile:function(e,t,n){n&&(t="\ufeff"+t),ChakraHost.writeFile(e,t);},resolvePath:ChakraHost.resolvePath,fileExists:ChakraHost.fileExists,directoryExists:ChakraHost.directoryExists,createDirectory:ChakraHost.createDirectory,getExecutingFilePath:function(){return ChakraHost.executingFile},getCurrentDirectory:function(){return ChakraHost.currentDirectory},getDirectories:ChakraHost.getDirectories,getEnvironmentVariable:ChakraHost.getEnvironmentVariable||function(){return""},readDirectory:function(t,n,r,a){var i=e.getFileMatcherPatterns(t,r,a,!!ChakraHost.useCaseSensitiveFileNames,ChakraHost.currentDirectory);return ChakraHost.readDirectory(t,n,i.basePaths,i.excludePattern,i.includeFilePattern,i.includeDirectoryPattern)},exit:ChakraHost.quit,realpath:t}}():"undefined"!=typeof process&&nextTick&&!browser$1&&void 0!==commonjsRequire$$1&&(r=function(){function n(e,t){if(s(e)){var n=_.readFileSync(e),r=n.length;if(r>=2&&254===n[0]&&255===n[1]){r&=-2;for(var a=0;a=2&&255===n[0]&&254===n[1]?n.toString("utf16le",2):r>=3&&239===n[0]&&187===n[1]&&191===n[2]?n.toString("utf8",3):n.toString("utf8")}}function r(e,t,n){n&&(t="\ufeff"+t);var r;try{r=_.openSync(e,"w"),_.writeSync(r,t,void 0,"utf8");}finally{void 0!==r&&_.closeSync(r);}}function a(t){try{for(var n=[],r=[],a=0,i=_.readdirSync(t||".").sort();a=4,h=p.platform(),v=function(){return"win32"!==h&&"win64"!==h&&(!s(__filename.toUpperCase())||!s(__filename.toLowerCase()))}();!function(e){e[e.File=0]="File",e[e.Directory=1]="Directory";}(l||(l={}));var b={close:e.noop},x={args:process.argv.slice(2),newLine:p.EOL,useCaseSensitiveFileNames:v,write:function(e){process.stdout.write(e);},readFile:n,writeFile:r,watchFile:function(e,t,n){function r(n,r){+n.mtime<=+r.mtime||t(e);}if(m){var a=g.addFile(e,t);return{close:function(){return g.removeFile(a)}}}return _.watchFile(e,{persistent:!0,interval:n||250},r),{close:function(){return _.unwatchFile(e,r)}}},watchDirectory:function(t,n,r){var a;return c(t)?(a=!y||"win32"!==process.platform&&"darwin"!==process.platform?{persistent:!0}:{persistent:!0,recursive:!!r},_.watch(t,a,function(r,a){"rename"===r&&n(a?e.normalizePath(e.combinePaths(t,a)):a);})):b},resolvePath:function(e){return d.resolve(e)},fileExists:s,directoryExists:c,createDirectory:function(e){x.directoryExists(e)||_.mkdirSync(e);},getExecutingFilePath:function(){return __filename},getCurrentDirectory:function(){return process.cwd()},getDirectories:u,getEnvironmentVariable:function(e){return process.env[e]||""},readDirectory:i,getModifiedTime:function(e){try{return _.statSync(e).mtime}catch(e){return}},createHash:function(e){var t=f.createHash("md5");return t.update(e),t.digest("hex")},getMemoryUsage:function(){return commonjsGlobal$$1.gc&&commonjsGlobal$$1.gc(),process.memoryUsage().heapUsed},getFileSize:function(e){try{var t=_.statSync(e);if(t.isFile())return t.size}catch(e){}return 0},exit:function(e){process.exit(e);},realpath:function(e){return _.realpathSync(e)},tryEnableSourceMapsForHost:function(){try{sourceMapSupport.install();}catch(e){}},setTimeout:setTimeout,clearTimeout:clearTimeout};return x}()),r){var a=r.writeFile;r.writeFile=function(t,i,o){var s=e.getDirectoryPath(e.normalizeSlashes(t));s&&!r.directoryExists(s)&&n(s,r),a.call(r,t,i,o);};}return r}(),e.sys&&e.sys.getEnvironmentVariable&&(e.Debug.currentAssertionLevel=/^development$/i.test(e.sys.getEnvironmentVariable("NODE_ENV"))?1:0);}(r||(r={}));!function(e){e.Diagnostics={Unterminated_string_literal:{code:1002,category:e.DiagnosticCategory.Error,key:"Unterminated_string_literal_1002",message:"Unterminated string literal."},Identifier_expected:{code:1003,category:e.DiagnosticCategory.Error,key:"Identifier_expected_1003",message:"Identifier expected."},_0_expected:{code:1005,category:e.DiagnosticCategory.Error,key:"_0_expected_1005",message:"'{0}' expected."},A_file_cannot_have_a_reference_to_itself:{code:1006,category:e.DiagnosticCategory.Error,key:"A_file_cannot_have_a_reference_to_itself_1006",message:"A file cannot have a reference to itself."},Trailing_comma_not_allowed:{code:1009,category:e.DiagnosticCategory.Error,key:"Trailing_comma_not_allowed_1009",message:"Trailing comma not allowed."},Asterisk_Slash_expected:{code:1010,category:e.DiagnosticCategory.Error,key:"Asterisk_Slash_expected_1010",message:"'*/' expected."},Unexpected_token:{code:1012,category:e.DiagnosticCategory.Error,key:"Unexpected_token_1012",message:"Unexpected token."},A_rest_parameter_must_be_last_in_a_parameter_list:{code:1014,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_must_be_last_in_a_parameter_list_1014",message:"A rest parameter must be last in a parameter list."},Parameter_cannot_have_question_mark_and_initializer:{code:1015,category:e.DiagnosticCategory.Error,key:"Parameter_cannot_have_question_mark_and_initializer_1015",message:"Parameter cannot have question mark and initializer."},A_required_parameter_cannot_follow_an_optional_parameter:{code:1016,category:e.DiagnosticCategory.Error,key:"A_required_parameter_cannot_follow_an_optional_parameter_1016",message:"A required parameter cannot follow an optional parameter."},An_index_signature_cannot_have_a_rest_parameter:{code:1017,category:e.DiagnosticCategory.Error,key:"An_index_signature_cannot_have_a_rest_parameter_1017",message:"An index signature cannot have a rest parameter."},An_index_signature_parameter_cannot_have_an_accessibility_modifier:{code:1018,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018",message:"An index signature parameter cannot have an accessibility modifier."},An_index_signature_parameter_cannot_have_a_question_mark:{code:1019,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_cannot_have_a_question_mark_1019",message:"An index signature parameter cannot have a question mark."},An_index_signature_parameter_cannot_have_an_initializer:{code:1020,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_cannot_have_an_initializer_1020",message:"An index signature parameter cannot have an initializer."},An_index_signature_must_have_a_type_annotation:{code:1021,category:e.DiagnosticCategory.Error,key:"An_index_signature_must_have_a_type_annotation_1021",message:"An index signature must have a type annotation."},An_index_signature_parameter_must_have_a_type_annotation:{code:1022,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_must_have_a_type_annotation_1022",message:"An index signature parameter must have a type annotation."},An_index_signature_parameter_type_must_be_string_or_number:{code:1023,category:e.DiagnosticCategory.Error,key:"An_index_signature_parameter_type_must_be_string_or_number_1023",message:"An index signature parameter type must be 'string' or 'number'."},readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:{code:1024,category:e.DiagnosticCategory.Error,key:"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024",message:"'readonly' modifier can only appear on a property declaration or index signature."},Accessibility_modifier_already_seen:{code:1028,category:e.DiagnosticCategory.Error,key:"Accessibility_modifier_already_seen_1028",message:"Accessibility modifier already seen."},_0_modifier_must_precede_1_modifier:{code:1029,category:e.DiagnosticCategory.Error,key:"_0_modifier_must_precede_1_modifier_1029",message:"'{0}' modifier must precede '{1}' modifier."},_0_modifier_already_seen:{code:1030,category:e.DiagnosticCategory.Error,key:"_0_modifier_already_seen_1030",message:"'{0}' modifier already seen."},_0_modifier_cannot_appear_on_a_class_element:{code:1031,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_class_element_1031",message:"'{0}' modifier cannot appear on a class element."},super_must_be_followed_by_an_argument_list_or_member_access:{code:1034,category:e.DiagnosticCategory.Error,key:"super_must_be_followed_by_an_argument_list_or_member_access_1034",message:"'super' must be followed by an argument list or member access."},Only_ambient_modules_can_use_quoted_names:{code:1035,category:e.DiagnosticCategory.Error,key:"Only_ambient_modules_can_use_quoted_names_1035",message:"Only ambient modules can use quoted names."},Statements_are_not_allowed_in_ambient_contexts:{code:1036,category:e.DiagnosticCategory.Error,key:"Statements_are_not_allowed_in_ambient_contexts_1036",message:"Statements are not allowed in ambient contexts."},A_declare_modifier_cannot_be_used_in_an_already_ambient_context:{code:1038,category:e.DiagnosticCategory.Error,key:"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038",message:"A 'declare' modifier cannot be used in an already ambient context."},Initializers_are_not_allowed_in_ambient_contexts:{code:1039,category:e.DiagnosticCategory.Error,key:"Initializers_are_not_allowed_in_ambient_contexts_1039",message:"Initializers are not allowed in ambient contexts."},_0_modifier_cannot_be_used_in_an_ambient_context:{code:1040,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_in_an_ambient_context_1040",message:"'{0}' modifier cannot be used in an ambient context."},_0_modifier_cannot_be_used_with_a_class_declaration:{code:1041,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_with_a_class_declaration_1041",message:"'{0}' modifier cannot be used with a class declaration."},_0_modifier_cannot_be_used_here:{code:1042,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_here_1042",message:"'{0}' modifier cannot be used here."},_0_modifier_cannot_appear_on_a_data_property:{code:1043,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_data_property_1043",message:"'{0}' modifier cannot appear on a data property."},_0_modifier_cannot_appear_on_a_module_or_namespace_element:{code:1044,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044",message:"'{0}' modifier cannot appear on a module or namespace element."},A_0_modifier_cannot_be_used_with_an_interface_declaration:{code:1045,category:e.DiagnosticCategory.Error,key:"A_0_modifier_cannot_be_used_with_an_interface_declaration_1045",message:"A '{0}' modifier cannot be used with an interface declaration."},A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file:{code:1046,category:e.DiagnosticCategory.Error,key:"A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file_1046",message:"A 'declare' modifier is required for a top level declaration in a .d.ts file."},A_rest_parameter_cannot_be_optional:{code:1047,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_cannot_be_optional_1047",message:"A rest parameter cannot be optional."},A_rest_parameter_cannot_have_an_initializer:{code:1048,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_cannot_have_an_initializer_1048",message:"A rest parameter cannot have an initializer."},A_set_accessor_must_have_exactly_one_parameter:{code:1049,category:e.DiagnosticCategory.Error,key:"A_set_accessor_must_have_exactly_one_parameter_1049",message:"A 'set' accessor must have exactly one parameter."},A_set_accessor_cannot_have_an_optional_parameter:{code:1051,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_an_optional_parameter_1051",message:"A 'set' accessor cannot have an optional parameter."},A_set_accessor_parameter_cannot_have_an_initializer:{code:1052,category:e.DiagnosticCategory.Error,key:"A_set_accessor_parameter_cannot_have_an_initializer_1052",message:"A 'set' accessor parameter cannot have an initializer."},A_set_accessor_cannot_have_rest_parameter:{code:1053,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_rest_parameter_1053",message:"A 'set' accessor cannot have rest parameter."},A_get_accessor_cannot_have_parameters:{code:1054,category:e.DiagnosticCategory.Error,key:"A_get_accessor_cannot_have_parameters_1054",message:"A 'get' accessor cannot have parameters."},Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:{code:1055,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055",message:"Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."},Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:{code:1056,category:e.DiagnosticCategory.Error,key:"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056",message:"Accessors are only available when targeting ECMAScript 5 and higher."},An_async_function_or_method_must_have_a_valid_awaitable_return_type:{code:1057,category:e.DiagnosticCategory.Error,key:"An_async_function_or_method_must_have_a_valid_awaitable_return_type_1057",message:"An async function or method must have a valid awaitable return type."},The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1058,category:e.DiagnosticCategory.Error,key:"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058",message:"The return type of an async function must either be a valid promise or must not contain a callable 'then' member."},A_promise_must_have_a_then_method:{code:1059,category:e.DiagnosticCategory.Error,key:"A_promise_must_have_a_then_method_1059",message:"A promise must have a 'then' method."},The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:{code:1060,category:e.DiagnosticCategory.Error,key:"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060",message:"The first parameter of the 'then' method of a promise must be a callback."},Enum_member_must_have_initializer:{code:1061,category:e.DiagnosticCategory.Error,key:"Enum_member_must_have_initializer_1061",message:"Enum member must have initializer."},Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:{code:1062,category:e.DiagnosticCategory.Error,key:"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062",message:"Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."},An_export_assignment_cannot_be_used_in_a_namespace:{code:1063,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_be_used_in_a_namespace_1063",message:"An export assignment cannot be used in a namespace."},The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type:{code:1064,category:e.DiagnosticCategory.Error,key:"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064",message:"The return type of an async function or method must be the global Promise type."},In_ambient_enum_declarations_member_initializer_must_be_constant_expression:{code:1066,category:e.DiagnosticCategory.Error,key:"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066",message:"In ambient enum declarations member initializer must be constant expression."},Unexpected_token_A_constructor_method_accessor_or_property_was_expected:{code:1068,category:e.DiagnosticCategory.Error,key:"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068",message:"Unexpected token. A constructor, method, accessor, or property was expected."},_0_modifier_cannot_appear_on_a_type_member:{code:1070,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_type_member_1070",message:"'{0}' modifier cannot appear on a type member."},_0_modifier_cannot_appear_on_an_index_signature:{code:1071,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_an_index_signature_1071",message:"'{0}' modifier cannot appear on an index signature."},A_0_modifier_cannot_be_used_with_an_import_declaration:{code:1079,category:e.DiagnosticCategory.Error,key:"A_0_modifier_cannot_be_used_with_an_import_declaration_1079",message:"A '{0}' modifier cannot be used with an import declaration."},Invalid_reference_directive_syntax:{code:1084,category:e.DiagnosticCategory.Error,key:"Invalid_reference_directive_syntax_1084",message:"Invalid 'reference' directive syntax."},Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:{code:1085,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085",message:"Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."},An_accessor_cannot_be_declared_in_an_ambient_context:{code:1086,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_be_declared_in_an_ambient_context_1086",message:"An accessor cannot be declared in an ambient context."},_0_modifier_cannot_appear_on_a_constructor_declaration:{code:1089,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_constructor_declaration_1089",message:"'{0}' modifier cannot appear on a constructor declaration."},_0_modifier_cannot_appear_on_a_parameter:{code:1090,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_parameter_1090",message:"'{0}' modifier cannot appear on a parameter."},Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:{code:1091,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091",message:"Only a single variable declaration is allowed in a 'for...in' statement."},Type_parameters_cannot_appear_on_a_constructor_declaration:{code:1092,category:e.DiagnosticCategory.Error,key:"Type_parameters_cannot_appear_on_a_constructor_declaration_1092",message:"Type parameters cannot appear on a constructor declaration."},Type_annotation_cannot_appear_on_a_constructor_declaration:{code:1093,category:e.DiagnosticCategory.Error,key:"Type_annotation_cannot_appear_on_a_constructor_declaration_1093",message:"Type annotation cannot appear on a constructor declaration."},An_accessor_cannot_have_type_parameters:{code:1094,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_have_type_parameters_1094",message:"An accessor cannot have type parameters."},A_set_accessor_cannot_have_a_return_type_annotation:{code:1095,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_a_return_type_annotation_1095",message:"A 'set' accessor cannot have a return type annotation."},An_index_signature_must_have_exactly_one_parameter:{code:1096,category:e.DiagnosticCategory.Error,key:"An_index_signature_must_have_exactly_one_parameter_1096",message:"An index signature must have exactly one parameter."},_0_list_cannot_be_empty:{code:1097,category:e.DiagnosticCategory.Error,key:"_0_list_cannot_be_empty_1097",message:"'{0}' list cannot be empty."},Type_parameter_list_cannot_be_empty:{code:1098,category:e.DiagnosticCategory.Error,key:"Type_parameter_list_cannot_be_empty_1098",message:"Type parameter list cannot be empty."},Type_argument_list_cannot_be_empty:{code:1099,category:e.DiagnosticCategory.Error,key:"Type_argument_list_cannot_be_empty_1099",message:"Type argument list cannot be empty."},Invalid_use_of_0_in_strict_mode:{code:1100,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_in_strict_mode_1100",message:"Invalid use of '{0}' in strict mode."},with_statements_are_not_allowed_in_strict_mode:{code:1101,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_strict_mode_1101",message:"'with' statements are not allowed in strict mode."},delete_cannot_be_called_on_an_identifier_in_strict_mode:{code:1102,category:e.DiagnosticCategory.Error,key:"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102",message:"'delete' cannot be called on an identifier in strict mode."},A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:{code:1103,category:e.DiagnosticCategory.Error,key:"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103",message:"A 'for-await-of' statement is only allowed within an async function or async generator."},A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:{code:1104,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104",message:"A 'continue' statement can only be used within an enclosing iteration statement."},A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:{code:1105,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105",message:"A 'break' statement can only be used within an enclosing iteration or switch statement."},Jump_target_cannot_cross_function_boundary:{code:1107,category:e.DiagnosticCategory.Error,key:"Jump_target_cannot_cross_function_boundary_1107",message:"Jump target cannot cross function boundary."},A_return_statement_can_only_be_used_within_a_function_body:{code:1108,category:e.DiagnosticCategory.Error,key:"A_return_statement_can_only_be_used_within_a_function_body_1108",message:"A 'return' statement can only be used within a function body."},Expression_expected:{code:1109,category:e.DiagnosticCategory.Error,key:"Expression_expected_1109",message:"Expression expected."},Type_expected:{code:1110,category:e.DiagnosticCategory.Error,key:"Type_expected_1110",message:"Type expected."},A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:{code:1113,category:e.DiagnosticCategory.Error,key:"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113",message:"A 'default' clause cannot appear more than once in a 'switch' statement."},Duplicate_label_0:{code:1114,category:e.DiagnosticCategory.Error,key:"Duplicate_label_0_1114",message:"Duplicate label '{0}'."},A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:{code:1115,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115",message:"A 'continue' statement can only jump to a label of an enclosing iteration statement."},A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:{code:1116,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116",message:"A 'break' statement can only jump to a label of an enclosing statement."},An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:{code:1117,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117",message:"An object literal cannot have multiple properties with the same name in strict mode."},An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:{code:1118,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118",message:"An object literal cannot have multiple get/set accessors with the same name."},An_object_literal_cannot_have_property_and_accessor_with_the_same_name:{code:1119,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119",message:"An object literal cannot have property and accessor with the same name."},An_export_assignment_cannot_have_modifiers:{code:1120,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_have_modifiers_1120",message:"An export assignment cannot have modifiers."},Octal_literals_are_not_allowed_in_strict_mode:{code:1121,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_allowed_in_strict_mode_1121",message:"Octal literals are not allowed in strict mode."},A_tuple_type_element_list_cannot_be_empty:{code:1122,category:e.DiagnosticCategory.Error,key:"A_tuple_type_element_list_cannot_be_empty_1122",message:"A tuple type element list cannot be empty."},Variable_declaration_list_cannot_be_empty:{code:1123,category:e.DiagnosticCategory.Error,key:"Variable_declaration_list_cannot_be_empty_1123",message:"Variable declaration list cannot be empty."},Digit_expected:{code:1124,category:e.DiagnosticCategory.Error,key:"Digit_expected_1124",message:"Digit expected."},Hexadecimal_digit_expected:{code:1125,category:e.DiagnosticCategory.Error,key:"Hexadecimal_digit_expected_1125",message:"Hexadecimal digit expected."},Unexpected_end_of_text:{code:1126,category:e.DiagnosticCategory.Error,key:"Unexpected_end_of_text_1126",message:"Unexpected end of text."},Invalid_character:{code:1127,category:e.DiagnosticCategory.Error,key:"Invalid_character_1127",message:"Invalid character."},Declaration_or_statement_expected:{code:1128,category:e.DiagnosticCategory.Error,key:"Declaration_or_statement_expected_1128",message:"Declaration or statement expected."},Statement_expected:{code:1129,category:e.DiagnosticCategory.Error,key:"Statement_expected_1129",message:"Statement expected."},case_or_default_expected:{code:1130,category:e.DiagnosticCategory.Error,key:"case_or_default_expected_1130",message:"'case' or 'default' expected."},Property_or_signature_expected:{code:1131,category:e.DiagnosticCategory.Error,key:"Property_or_signature_expected_1131",message:"Property or signature expected."},Enum_member_expected:{code:1132,category:e.DiagnosticCategory.Error,key:"Enum_member_expected_1132",message:"Enum member expected."},Variable_declaration_expected:{code:1134,category:e.DiagnosticCategory.Error,key:"Variable_declaration_expected_1134",message:"Variable declaration expected."},Argument_expression_expected:{code:1135,category:e.DiagnosticCategory.Error,key:"Argument_expression_expected_1135",message:"Argument expression expected."},Property_assignment_expected:{code:1136,category:e.DiagnosticCategory.Error,key:"Property_assignment_expected_1136",message:"Property assignment expected."},Expression_or_comma_expected:{code:1137,category:e.DiagnosticCategory.Error,key:"Expression_or_comma_expected_1137",message:"Expression or comma expected."},Parameter_declaration_expected:{code:1138,category:e.DiagnosticCategory.Error,key:"Parameter_declaration_expected_1138",message:"Parameter declaration expected."},Type_parameter_declaration_expected:{code:1139,category:e.DiagnosticCategory.Error,key:"Type_parameter_declaration_expected_1139",message:"Type parameter declaration expected."},Type_argument_expected:{code:1140,category:e.DiagnosticCategory.Error,key:"Type_argument_expected_1140",message:"Type argument expected."},String_literal_expected:{code:1141,category:e.DiagnosticCategory.Error,key:"String_literal_expected_1141",message:"String literal expected."},Line_break_not_permitted_here:{code:1142,category:e.DiagnosticCategory.Error,key:"Line_break_not_permitted_here_1142",message:"Line break not permitted here."},or_expected:{code:1144,category:e.DiagnosticCategory.Error,key:"or_expected_1144",message:"'{' or ';' expected."},Declaration_expected:{code:1146,category:e.DiagnosticCategory.Error,key:"Declaration_expected_1146",message:"Declaration expected."},Import_declarations_in_a_namespace_cannot_reference_a_module:{code:1147,category:e.DiagnosticCategory.Error,key:"Import_declarations_in_a_namespace_cannot_reference_a_module_1147",message:"Import declarations in a namespace cannot reference a module."},Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:{code:1148,category:e.DiagnosticCategory.Error,key:"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148",message:"Cannot use imports, exports, or module augmentations when '--module' is 'none'."},File_name_0_differs_from_already_included_file_name_1_only_in_casing:{code:1149,category:e.DiagnosticCategory.Error,key:"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149",message:"File name '{0}' differs from already included file name '{1}' only in casing."},new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:{code:1150,category:e.DiagnosticCategory.Error,key:"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150",message:"'new T[]' cannot be used to create an array. Use 'new Array()' instead."},const_declarations_must_be_initialized:{code:1155,category:e.DiagnosticCategory.Error,key:"const_declarations_must_be_initialized_1155",message:"'const' declarations must be initialized."},const_declarations_can_only_be_declared_inside_a_block:{code:1156,category:e.DiagnosticCategory.Error,key:"const_declarations_can_only_be_declared_inside_a_block_1156",message:"'const' declarations can only be declared inside a block."},let_declarations_can_only_be_declared_inside_a_block:{code:1157,category:e.DiagnosticCategory.Error,key:"let_declarations_can_only_be_declared_inside_a_block_1157",message:"'let' declarations can only be declared inside a block."},Unterminated_template_literal:{code:1160,category:e.DiagnosticCategory.Error,key:"Unterminated_template_literal_1160",message:"Unterminated template literal."},Unterminated_regular_expression_literal:{code:1161,category:e.DiagnosticCategory.Error,key:"Unterminated_regular_expression_literal_1161",message:"Unterminated regular expression literal."},An_object_member_cannot_be_declared_optional:{code:1162,category:e.DiagnosticCategory.Error,key:"An_object_member_cannot_be_declared_optional_1162",message:"An object member cannot be declared optional."},A_yield_expression_is_only_allowed_in_a_generator_body:{code:1163,category:e.DiagnosticCategory.Error,key:"A_yield_expression_is_only_allowed_in_a_generator_body_1163",message:"A 'yield' expression is only allowed in a generator body."},Computed_property_names_are_not_allowed_in_enums:{code:1164,category:e.DiagnosticCategory.Error,key:"Computed_property_names_are_not_allowed_in_enums_1164",message:"Computed property names are not allowed in enums."},A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol:{code:1165,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol_1165",message:"A computed property name in an ambient context must directly refer to a built-in symbol."},A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol:{code:1166,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol_1166",message:"A computed property name in a class property declaration must directly refer to a built-in symbol."},A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol:{code:1168,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol_1168",message:"A computed property name in a method overload must directly refer to a built-in symbol."},A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol:{code:1169,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol_1169",message:"A computed property name in an interface must directly refer to a built-in symbol."},A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol:{code:1170,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol_1170",message:"A computed property name in a type literal must directly refer to a built-in symbol."},A_comma_expression_is_not_allowed_in_a_computed_property_name:{code:1171,category:e.DiagnosticCategory.Error,key:"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171",message:"A comma expression is not allowed in a computed property name."},extends_clause_already_seen:{code:1172,category:e.DiagnosticCategory.Error,key:"extends_clause_already_seen_1172",message:"'extends' clause already seen."},extends_clause_must_precede_implements_clause:{code:1173,category:e.DiagnosticCategory.Error,key:"extends_clause_must_precede_implements_clause_1173",message:"'extends' clause must precede 'implements' clause."},Classes_can_only_extend_a_single_class:{code:1174,category:e.DiagnosticCategory.Error,key:"Classes_can_only_extend_a_single_class_1174",message:"Classes can only extend a single class."},implements_clause_already_seen:{code:1175,category:e.DiagnosticCategory.Error,key:"implements_clause_already_seen_1175",message:"'implements' clause already seen."},Interface_declaration_cannot_have_implements_clause:{code:1176,category:e.DiagnosticCategory.Error,key:"Interface_declaration_cannot_have_implements_clause_1176",message:"Interface declaration cannot have 'implements' clause."},Binary_digit_expected:{code:1177,category:e.DiagnosticCategory.Error,key:"Binary_digit_expected_1177",message:"Binary digit expected."},Octal_digit_expected:{code:1178,category:e.DiagnosticCategory.Error,key:"Octal_digit_expected_1178",message:"Octal digit expected."},Unexpected_token_expected:{code:1179,category:e.DiagnosticCategory.Error,key:"Unexpected_token_expected_1179",message:"Unexpected token. '{' expected."},Property_destructuring_pattern_expected:{code:1180,category:e.DiagnosticCategory.Error,key:"Property_destructuring_pattern_expected_1180",message:"Property destructuring pattern expected."},Array_element_destructuring_pattern_expected:{code:1181,category:e.DiagnosticCategory.Error,key:"Array_element_destructuring_pattern_expected_1181",message:"Array element destructuring pattern expected."},A_destructuring_declaration_must_have_an_initializer:{code:1182,category:e.DiagnosticCategory.Error,key:"A_destructuring_declaration_must_have_an_initializer_1182",message:"A destructuring declaration must have an initializer."},An_implementation_cannot_be_declared_in_ambient_contexts:{code:1183,category:e.DiagnosticCategory.Error,key:"An_implementation_cannot_be_declared_in_ambient_contexts_1183",message:"An implementation cannot be declared in ambient contexts."},Modifiers_cannot_appear_here:{code:1184,category:e.DiagnosticCategory.Error,key:"Modifiers_cannot_appear_here_1184",message:"Modifiers cannot appear here."},Merge_conflict_marker_encountered:{code:1185,category:e.DiagnosticCategory.Error,key:"Merge_conflict_marker_encountered_1185",message:"Merge conflict marker encountered."},A_rest_element_cannot_have_an_initializer:{code:1186,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_have_an_initializer_1186",message:"A rest element cannot have an initializer."},A_parameter_property_may_not_be_declared_using_a_binding_pattern:{code:1187,category:e.DiagnosticCategory.Error,key:"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187",message:"A parameter property may not be declared using a binding pattern."},Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:{code:1188,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188",message:"Only a single variable declaration is allowed in a 'for...of' statement."},The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:{code:1189,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189",message:"The variable declaration of a 'for...in' statement cannot have an initializer."},The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:{code:1190,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190",message:"The variable declaration of a 'for...of' statement cannot have an initializer."},An_import_declaration_cannot_have_modifiers:{code:1191,category:e.DiagnosticCategory.Error,key:"An_import_declaration_cannot_have_modifiers_1191",message:"An import declaration cannot have modifiers."},Module_0_has_no_default_export:{code:1192,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_default_export_1192",message:"Module '{0}' has no default export."},An_export_declaration_cannot_have_modifiers:{code:1193,category:e.DiagnosticCategory.Error,key:"An_export_declaration_cannot_have_modifiers_1193",message:"An export declaration cannot have modifiers."},Export_declarations_are_not_permitted_in_a_namespace:{code:1194,category:e.DiagnosticCategory.Error,key:"Export_declarations_are_not_permitted_in_a_namespace_1194",message:"Export declarations are not permitted in a namespace."},Catch_clause_variable_cannot_have_a_type_annotation:{code:1196,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_a_type_annotation_1196",message:"Catch clause variable cannot have a type annotation."},Catch_clause_variable_cannot_have_an_initializer:{code:1197,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_an_initializer_1197",message:"Catch clause variable cannot have an initializer."},An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:{code:1198,category:e.DiagnosticCategory.Error,key:"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198",message:"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."},Unterminated_Unicode_escape_sequence:{code:1199,category:e.DiagnosticCategory.Error,key:"Unterminated_Unicode_escape_sequence_1199",message:"Unterminated Unicode escape sequence."},Line_terminator_not_permitted_before_arrow:{code:1200,category:e.DiagnosticCategory.Error,key:"Line_terminator_not_permitted_before_arrow_1200",message:"Line terminator not permitted before arrow."},Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:{code:1202,category:e.DiagnosticCategory.Error,key:"Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asteri_1202",message:"Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."},Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_default_or_another_module_format_instead:{code:1203,category:e.DiagnosticCategory.Error,key:"Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_defaul_1203",message:"Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead."},Decorators_are_not_valid_here:{code:1206,category:e.DiagnosticCategory.Error,key:"Decorators_are_not_valid_here_1206",message:"Decorators are not valid here."},Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:{code:1207,category:e.DiagnosticCategory.Error,key:"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207",message:"Decorators cannot be applied to multiple get/set accessors of the same name."},Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:{code:1208,category:e.DiagnosticCategory.Error,key:"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208",message:"Cannot compile namespaces when the '--isolatedModules' flag is provided."},Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:{code:1209,category:e.DiagnosticCategory.Error,key:"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209",message:"Ambient const enums are not allowed when the '--isolatedModules' flag is provided."},Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:{code:1210,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210",message:"Invalid use of '{0}'. Class definitions are automatically in strict mode."},A_class_declaration_without_the_default_modifier_must_have_a_name:{code:1211,category:e.DiagnosticCategory.Error,key:"A_class_declaration_without_the_default_modifier_must_have_a_name_1211",message:"A class declaration without the 'default' modifier must have a name."},Identifier_expected_0_is_a_reserved_word_in_strict_mode:{code:1212,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212",message:"Identifier expected. '{0}' is a reserved word in strict mode."},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:{code:1213,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213",message:"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:{code:1214,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214",message:"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."},Invalid_use_of_0_Modules_are_automatically_in_strict_mode:{code:1215,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215",message:"Invalid use of '{0}'. Modules are automatically in strict mode."},Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:{code:1216,category:e.DiagnosticCategory.Error,key:"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216",message:"Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."},Export_assignment_is_not_supported_when_module_flag_is_system:{code:1218,category:e.DiagnosticCategory.Error,key:"Export_assignment_is_not_supported_when_module_flag_is_system_1218",message:"Export assignment is not supported when '--module' flag is 'system'."},Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:{code:1219,category:e.DiagnosticCategory.Error,key:"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219",message:"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."},Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:{code:1220,category:e.DiagnosticCategory.Error,key:"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220",message:"Generators are only available when targeting ECMAScript 2015 or higher."},Generators_are_not_allowed_in_an_ambient_context:{code:1221,category:e.DiagnosticCategory.Error,key:"Generators_are_not_allowed_in_an_ambient_context_1221",message:"Generators are not allowed in an ambient context."},An_overload_signature_cannot_be_declared_as_a_generator:{code:1222,category:e.DiagnosticCategory.Error,key:"An_overload_signature_cannot_be_declared_as_a_generator_1222",message:"An overload signature cannot be declared as a generator."},_0_tag_already_specified:{code:1223,category:e.DiagnosticCategory.Error,key:"_0_tag_already_specified_1223",message:"'{0}' tag already specified."},Signature_0_must_have_a_type_predicate:{code:1224,category:e.DiagnosticCategory.Error,key:"Signature_0_must_have_a_type_predicate_1224",message:"Signature '{0}' must have a type predicate."},Cannot_find_parameter_0:{code:1225,category:e.DiagnosticCategory.Error,key:"Cannot_find_parameter_0_1225",message:"Cannot find parameter '{0}'."},Type_predicate_0_is_not_assignable_to_1:{code:1226,category:e.DiagnosticCategory.Error,key:"Type_predicate_0_is_not_assignable_to_1_1226",message:"Type predicate '{0}' is not assignable to '{1}'."},Parameter_0_is_not_in_the_same_position_as_parameter_1:{code:1227,category:e.DiagnosticCategory.Error,key:"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227",message:"Parameter '{0}' is not in the same position as parameter '{1}'."},A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:{code:1228,category:e.DiagnosticCategory.Error,key:"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228",message:"A type predicate is only allowed in return type position for functions and methods."},A_type_predicate_cannot_reference_a_rest_parameter:{code:1229,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_a_rest_parameter_1229",message:"A type predicate cannot reference a rest parameter."},A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:{code:1230,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230",message:"A type predicate cannot reference element '{0}' in a binding pattern."},An_export_assignment_can_only_be_used_in_a_module:{code:1231,category:e.DiagnosticCategory.Error,key:"An_export_assignment_can_only_be_used_in_a_module_1231",message:"An export assignment can only be used in a module."},An_import_declaration_can_only_be_used_in_a_namespace_or_module:{code:1232,category:e.DiagnosticCategory.Error,key:"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232",message:"An import declaration can only be used in a namespace or module."},An_export_declaration_can_only_be_used_in_a_module:{code:1233,category:e.DiagnosticCategory.Error,key:"An_export_declaration_can_only_be_used_in_a_module_1233",message:"An export declaration can only be used in a module."},An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:{code:1234,category:e.DiagnosticCategory.Error,key:"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234",message:"An ambient module declaration is only allowed at the top level in a file."},A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:{code:1235,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235",message:"A namespace declaration is only allowed in a namespace or module."},The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:{code:1236,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236",message:"The return type of a property decorator function must be either 'void' or 'any'."},The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:{code:1237,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237",message:"The return type of a parameter decorator function must be either 'void' or 'any'."},Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:{code:1238,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238",message:"Unable to resolve signature of class decorator when called as an expression."},Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:{code:1239,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239",message:"Unable to resolve signature of parameter decorator when called as an expression."},Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:{code:1240,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240",message:"Unable to resolve signature of property decorator when called as an expression."},Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:{code:1241,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241",message:"Unable to resolve signature of method decorator when called as an expression."},abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:{code:1242,category:e.DiagnosticCategory.Error,key:"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242",message:"'abstract' modifier can only appear on a class, method, or property declaration."},_0_modifier_cannot_be_used_with_1_modifier:{code:1243,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_with_1_modifier_1243",message:"'{0}' modifier cannot be used with '{1}' modifier."},Abstract_methods_can_only_appear_within_an_abstract_class:{code:1244,category:e.DiagnosticCategory.Error,key:"Abstract_methods_can_only_appear_within_an_abstract_class_1244",message:"Abstract methods can only appear within an abstract class."},Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:{code:1245,category:e.DiagnosticCategory.Error,key:"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245",message:"Method '{0}' cannot have an implementation because it is marked abstract."},An_interface_property_cannot_have_an_initializer:{code:1246,category:e.DiagnosticCategory.Error,key:"An_interface_property_cannot_have_an_initializer_1246",message:"An interface property cannot have an initializer."},A_type_literal_property_cannot_have_an_initializer:{code:1247,category:e.DiagnosticCategory.Error,key:"A_type_literal_property_cannot_have_an_initializer_1247",message:"A type literal property cannot have an initializer."},A_class_member_cannot_have_the_0_keyword:{code:1248,category:e.DiagnosticCategory.Error,key:"A_class_member_cannot_have_the_0_keyword_1248",message:"A class member cannot have the '{0}' keyword."},A_decorator_can_only_decorate_a_method_implementation_not_an_overload:{code:1249,category:e.DiagnosticCategory.Error,key:"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249",message:"A decorator can only decorate a method implementation, not an overload."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:{code:1250,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:{code:1251,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:{code:1252,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."},_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:{code:1253,category:e.DiagnosticCategory.Error,key:"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253",message:"'{0}' tag cannot be used independently as a top level JSDoc tag."},A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal:{code:1254,category:e.DiagnosticCategory.Error,key:"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_1254",message:"A 'const' initializer in an ambient context must be a string or numeric literal."},with_statements_are_not_allowed_in_an_async_function_block:{code:1300,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_an_async_function_block_1300",message:"'with' statements are not allowed in an async function block."},await_expression_is_only_allowed_within_an_async_function:{code:1308,category:e.DiagnosticCategory.Error,key:"await_expression_is_only_allowed_within_an_async_function_1308",message:"'await' expression is only allowed within an async function."},can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:{code:1312,category:e.DiagnosticCategory.Error,key:"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312",message:"'=' can only be used in an object literal property inside a destructuring assignment."},The_body_of_an_if_statement_cannot_be_the_empty_statement:{code:1313,category:e.DiagnosticCategory.Error,key:"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313",message:"The body of an 'if' statement cannot be the empty statement."},Global_module_exports_may_only_appear_in_module_files:{code:1314,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_module_files_1314",message:"Global module exports may only appear in module files."},Global_module_exports_may_only_appear_in_declaration_files:{code:1315,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_declaration_files_1315",message:"Global module exports may only appear in declaration files."},Global_module_exports_may_only_appear_at_top_level:{code:1316,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_at_top_level_1316",message:"Global module exports may only appear at top level."},A_parameter_property_cannot_be_declared_using_a_rest_parameter:{code:1317,category:e.DiagnosticCategory.Error,key:"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317",message:"A parameter property cannot be declared using a rest parameter."},An_abstract_accessor_cannot_have_an_implementation:{code:1318,category:e.DiagnosticCategory.Error,key:"An_abstract_accessor_cannot_have_an_implementation_1318",message:"An abstract accessor cannot have an implementation."},A_default_export_can_only_be_used_in_an_ECMAScript_style_module:{code:1319,category:e.DiagnosticCategory.Error,key:"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319",message:"A default export can only be used in an ECMAScript-style module."},Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1320,category:e.DiagnosticCategory.Error,key:"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320",message:"Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."},Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1321,category:e.DiagnosticCategory.Error,key:"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321",message:"Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."},Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:{code:1322,category:e.DiagnosticCategory.Error,key:"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322",message:"Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."},Duplicate_identifier_0:{code:2300,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_2300",message:"Duplicate identifier '{0}'."},Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:{code:2301,category:e.DiagnosticCategory.Error,key:"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301",message:"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."},Static_members_cannot_reference_class_type_parameters:{code:2302,category:e.DiagnosticCategory.Error,key:"Static_members_cannot_reference_class_type_parameters_2302",message:"Static members cannot reference class type parameters."},Circular_definition_of_import_alias_0:{code:2303,category:e.DiagnosticCategory.Error,key:"Circular_definition_of_import_alias_0_2303",message:"Circular definition of import alias '{0}'."},Cannot_find_name_0:{code:2304,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_2304",message:"Cannot find name '{0}'."},Module_0_has_no_exported_member_1:{code:2305,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_exported_member_1_2305",message:"Module '{0}' has no exported member '{1}'."},File_0_is_not_a_module:{code:2306,category:e.DiagnosticCategory.Error,key:"File_0_is_not_a_module_2306",message:"File '{0}' is not a module."},Cannot_find_module_0:{code:2307,category:e.DiagnosticCategory.Error,key:"Cannot_find_module_0_2307",message:"Cannot find module '{0}'."},Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:{code:2308,category:e.DiagnosticCategory.Error,key:"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308",message:"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."},An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:{code:2309,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309",message:"An export assignment cannot be used in a module with other exported elements."},Type_0_recursively_references_itself_as_a_base_type:{code:2310,category:e.DiagnosticCategory.Error,key:"Type_0_recursively_references_itself_as_a_base_type_2310",message:"Type '{0}' recursively references itself as a base type."},A_class_may_only_extend_another_class:{code:2311,category:e.DiagnosticCategory.Error,key:"A_class_may_only_extend_another_class_2311",message:"A class may only extend another class."},An_interface_may_only_extend_a_class_or_another_interface:{code:2312,category:e.DiagnosticCategory.Error,key:"An_interface_may_only_extend_a_class_or_another_interface_2312",message:"An interface may only extend a class or another interface."},Type_parameter_0_has_a_circular_constraint:{code:2313,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_has_a_circular_constraint_2313",message:"Type parameter '{0}' has a circular constraint."},Generic_type_0_requires_1_type_argument_s:{code:2314,category:e.DiagnosticCategory.Error,key:"Generic_type_0_requires_1_type_argument_s_2314",message:"Generic type '{0}' requires {1} type argument(s)."},Type_0_is_not_generic:{code:2315,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_generic_2315",message:"Type '{0}' is not generic."},Global_type_0_must_be_a_class_or_interface_type:{code:2316,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_be_a_class_or_interface_type_2316",message:"Global type '{0}' must be a class or interface type."},Global_type_0_must_have_1_type_parameter_s:{code:2317,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_have_1_type_parameter_s_2317",message:"Global type '{0}' must have {1} type parameter(s)."},Cannot_find_global_type_0:{code:2318,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_type_0_2318",message:"Cannot find global type '{0}'."},Named_property_0_of_types_1_and_2_are_not_identical:{code:2319,category:e.DiagnosticCategory.Error,key:"Named_property_0_of_types_1_and_2_are_not_identical_2319",message:"Named property '{0}' of types '{1}' and '{2}' are not identical."},Interface_0_cannot_simultaneously_extend_types_1_and_2:{code:2320,category:e.DiagnosticCategory.Error,key:"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320",message:"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."},Excessive_stack_depth_comparing_types_0_and_1:{code:2321,category:e.DiagnosticCategory.Error,key:"Excessive_stack_depth_comparing_types_0_and_1_2321",message:"Excessive stack depth comparing types '{0}' and '{1}'."},Type_0_is_not_assignable_to_type_1:{code:2322,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_2322",message:"Type '{0}' is not assignable to type '{1}'."},Cannot_redeclare_exported_variable_0:{code:2323,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_exported_variable_0_2323",message:"Cannot redeclare exported variable '{0}'."},Property_0_is_missing_in_type_1:{code:2324,category:e.DiagnosticCategory.Error,key:"Property_0_is_missing_in_type_1_2324",message:"Property '{0}' is missing in type '{1}'."},Property_0_is_private_in_type_1_but_not_in_type_2:{code:2325,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_in_type_1_but_not_in_type_2_2325",message:"Property '{0}' is private in type '{1}' but not in type '{2}'."},Types_of_property_0_are_incompatible:{code:2326,category:e.DiagnosticCategory.Error,key:"Types_of_property_0_are_incompatible_2326",message:"Types of property '{0}' are incompatible."},Property_0_is_optional_in_type_1_but_required_in_type_2:{code:2327,category:e.DiagnosticCategory.Error,key:"Property_0_is_optional_in_type_1_but_required_in_type_2_2327",message:"Property '{0}' is optional in type '{1}' but required in type '{2}'."},Types_of_parameters_0_and_1_are_incompatible:{code:2328,category:e.DiagnosticCategory.Error,key:"Types_of_parameters_0_and_1_are_incompatible_2328",message:"Types of parameters '{0}' and '{1}' are incompatible."},Index_signature_is_missing_in_type_0:{code:2329,category:e.DiagnosticCategory.Error,key:"Index_signature_is_missing_in_type_0_2329",message:"Index signature is missing in type '{0}'."},Index_signatures_are_incompatible:{code:2330,category:e.DiagnosticCategory.Error,key:"Index_signatures_are_incompatible_2330",message:"Index signatures are incompatible."},this_cannot_be_referenced_in_a_module_or_namespace_body:{code:2331,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_module_or_namespace_body_2331",message:"'this' cannot be referenced in a module or namespace body."},this_cannot_be_referenced_in_current_location:{code:2332,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_current_location_2332",message:"'this' cannot be referenced in current location."},this_cannot_be_referenced_in_constructor_arguments:{code:2333,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_constructor_arguments_2333",message:"'this' cannot be referenced in constructor arguments."},this_cannot_be_referenced_in_a_static_property_initializer:{code:2334,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_static_property_initializer_2334",message:"'this' cannot be referenced in a static property initializer."},super_can_only_be_referenced_in_a_derived_class:{code:2335,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_a_derived_class_2335",message:"'super' can only be referenced in a derived class."},super_cannot_be_referenced_in_constructor_arguments:{code:2336,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_constructor_arguments_2336",message:"'super' cannot be referenced in constructor arguments."},Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:{code:2337,category:e.DiagnosticCategory.Error,key:"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337",message:"Super calls are not permitted outside constructors or in nested functions inside constructors."},super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:{code:2338,category:e.DiagnosticCategory.Error,key:"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338",message:"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."},Property_0_does_not_exist_on_type_1:{code:2339,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_type_1_2339",message:"Property '{0}' does not exist on type '{1}'."},Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:{code:2340,category:e.DiagnosticCategory.Error,key:"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340",message:"Only public and protected methods of the base class are accessible via the 'super' keyword."},Property_0_is_private_and_only_accessible_within_class_1:{code:2341,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_and_only_accessible_within_class_1_2341",message:"Property '{0}' is private and only accessible within class '{1}'."},An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:{code:2342,category:e.DiagnosticCategory.Error,key:"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342",message:"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."},This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1:{code:2343,category:e.DiagnosticCategory.Error,key:"This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343",message:"This syntax requires an imported helper named '{1}', but module '{0}' has no exported member '{1}'."},Type_0_does_not_satisfy_the_constraint_1:{code:2344,category:e.DiagnosticCategory.Error,key:"Type_0_does_not_satisfy_the_constraint_1_2344",message:"Type '{0}' does not satisfy the constraint '{1}'."},Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:{code:2345,category:e.DiagnosticCategory.Error,key:"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345",message:"Argument of type '{0}' is not assignable to parameter of type '{1}'."},Supplied_parameters_do_not_match_any_signature_of_call_target:{code:2346,category:e.DiagnosticCategory.Error,key:"Supplied_parameters_do_not_match_any_signature_of_call_target_2346",message:"Supplied parameters do not match any signature of call target."},Untyped_function_calls_may_not_accept_type_arguments:{code:2347,category:e.DiagnosticCategory.Error,key:"Untyped_function_calls_may_not_accept_type_arguments_2347",message:"Untyped function calls may not accept type arguments."},Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:{code:2348,category:e.DiagnosticCategory.Error,key:"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348",message:"Value of type '{0}' is not callable. Did you mean to include 'new'?"},Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures:{code:2349,category:e.DiagnosticCategory.Error,key:"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349",message:"Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures."},Only_a_void_function_can_be_called_with_the_new_keyword:{code:2350,category:e.DiagnosticCategory.Error,key:"Only_a_void_function_can_be_called_with_the_new_keyword_2350",message:"Only a void function can be called with the 'new' keyword."},Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:{code:2351,category:e.DiagnosticCategory.Error,key:"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351",message:"Cannot use 'new' with an expression whose type lacks a call or construct signature."},Type_0_cannot_be_converted_to_type_1:{code:2352,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_converted_to_type_1_2352",message:"Type '{0}' cannot be converted to type '{1}'."},Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:{code:2353,category:e.DiagnosticCategory.Error,key:"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353",message:"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."},This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:{code:2354,category:e.DiagnosticCategory.Error,key:"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354",message:"This syntax requires an imported helper but module '{0}' cannot be found."},A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:{code:2355,category:e.DiagnosticCategory.Error,key:"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355",message:"A function whose declared type is neither 'void' nor 'any' must return a value."},An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type:{code:2356,category:e.DiagnosticCategory.Error,key:"An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type_2356",message:"An arithmetic operand must be of type 'any', 'number' or an enum type."},The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:{code:2357,category:e.DiagnosticCategory.Error,key:"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357",message:"The operand of an increment or decrement operator must be a variable or a property access."},The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2358,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358",message:"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."},The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:{code:2359,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359",message:"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."},The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:{code:2360,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360",message:"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."},The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2361,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361",message:"The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter."},The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2362,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2362",message:"The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2363,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2363",message:"The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:{code:2364,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364",message:"The left-hand side of an assignment expression must be a variable or a property access."},Operator_0_cannot_be_applied_to_types_1_and_2:{code:2365,category:e.DiagnosticCategory.Error,key:"Operator_0_cannot_be_applied_to_types_1_and_2_2365",message:"Operator '{0}' cannot be applied to types '{1}' and '{2}'."},Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:{code:2366,category:e.DiagnosticCategory.Error,key:"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366",message:"Function lacks ending return statement and return type does not include 'undefined'."},Type_parameter_name_cannot_be_0:{code:2368,category:e.DiagnosticCategory.Error,key:"Type_parameter_name_cannot_be_0_2368",message:"Type parameter name cannot be '{0}'."},A_parameter_property_is_only_allowed_in_a_constructor_implementation:{code:2369,category:e.DiagnosticCategory.Error,key:"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369",message:"A parameter property is only allowed in a constructor implementation."},A_rest_parameter_must_be_of_an_array_type:{code:2370,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_must_be_of_an_array_type_2370",message:"A rest parameter must be of an array type."},A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:{code:2371,category:e.DiagnosticCategory.Error,key:"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371",message:"A parameter initializer is only allowed in a function or constructor implementation."},Parameter_0_cannot_be_referenced_in_its_initializer:{code:2372,category:e.DiagnosticCategory.Error,key:"Parameter_0_cannot_be_referenced_in_its_initializer_2372",message:"Parameter '{0}' cannot be referenced in its initializer."},Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:{code:2373,category:e.DiagnosticCategory.Error,key:"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373",message:"Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."},Duplicate_string_index_signature:{code:2374,category:e.DiagnosticCategory.Error,key:"Duplicate_string_index_signature_2374",message:"Duplicate string index signature."},Duplicate_number_index_signature:{code:2375,category:e.DiagnosticCategory.Error,key:"Duplicate_number_index_signature_2375",message:"Duplicate number index signature."},A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:{code:2376,category:e.DiagnosticCategory.Error,key:"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376",message:"A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."},Constructors_for_derived_classes_must_contain_a_super_call:{code:2377,category:e.DiagnosticCategory.Error,key:"Constructors_for_derived_classes_must_contain_a_super_call_2377",message:"Constructors for derived classes must contain a 'super' call."},A_get_accessor_must_return_a_value:{code:2378,category:e.DiagnosticCategory.Error,key:"A_get_accessor_must_return_a_value_2378",message:"A 'get' accessor must return a value."},Getter_and_setter_accessors_do_not_agree_in_visibility:{code:2379,category:e.DiagnosticCategory.Error,key:"Getter_and_setter_accessors_do_not_agree_in_visibility_2379",message:"Getter and setter accessors do not agree in visibility."},get_and_set_accessor_must_have_the_same_type:{code:2380,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_type_2380",message:"'get' and 'set' accessor must have the same type."},A_signature_with_an_implementation_cannot_use_a_string_literal_type:{code:2381,category:e.DiagnosticCategory.Error,key:"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381",message:"A signature with an implementation cannot use a string literal type."},Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:{code:2382,category:e.DiagnosticCategory.Error,key:"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382",message:"Specialized overload signature is not assignable to any non-specialized signature."},Overload_signatures_must_all_be_exported_or_non_exported:{code:2383,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_exported_or_non_exported_2383",message:"Overload signatures must all be exported or non-exported."},Overload_signatures_must_all_be_ambient_or_non_ambient:{code:2384,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_ambient_or_non_ambient_2384",message:"Overload signatures must all be ambient or non-ambient."},Overload_signatures_must_all_be_public_private_or_protected:{code:2385,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_public_private_or_protected_2385",message:"Overload signatures must all be public, private or protected."},Overload_signatures_must_all_be_optional_or_required:{code:2386,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_optional_or_required_2386",message:"Overload signatures must all be optional or required."},Function_overload_must_be_static:{code:2387,category:e.DiagnosticCategory.Error,key:"Function_overload_must_be_static_2387",message:"Function overload must be static."},Function_overload_must_not_be_static:{code:2388,category:e.DiagnosticCategory.Error,key:"Function_overload_must_not_be_static_2388",message:"Function overload must not be static."},Function_implementation_name_must_be_0:{code:2389,category:e.DiagnosticCategory.Error,key:"Function_implementation_name_must_be_0_2389",message:"Function implementation name must be '{0}'."},Constructor_implementation_is_missing:{code:2390,category:e.DiagnosticCategory.Error,key:"Constructor_implementation_is_missing_2390",message:"Constructor implementation is missing."},Function_implementation_is_missing_or_not_immediately_following_the_declaration:{code:2391,category:e.DiagnosticCategory.Error,key:"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391",message:"Function implementation is missing or not immediately following the declaration."},Multiple_constructor_implementations_are_not_allowed:{code:2392,category:e.DiagnosticCategory.Error,key:"Multiple_constructor_implementations_are_not_allowed_2392",message:"Multiple constructor implementations are not allowed."},Duplicate_function_implementation:{code:2393,category:e.DiagnosticCategory.Error,key:"Duplicate_function_implementation_2393",message:"Duplicate function implementation."},Overload_signature_is_not_compatible_with_function_implementation:{code:2394,category:e.DiagnosticCategory.Error,key:"Overload_signature_is_not_compatible_with_function_implementation_2394",message:"Overload signature is not compatible with function implementation."},Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:{code:2395,category:e.DiagnosticCategory.Error,key:"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395",message:"Individual declarations in merged declaration '{0}' must be all exported or all local."},Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:{code:2396,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396",message:"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."},Declaration_name_conflicts_with_built_in_global_identifier_0:{code:2397,category:e.DiagnosticCategory.Error,key:"Declaration_name_conflicts_with_built_in_global_identifier_0_2397",message:"Declaration name conflicts with built-in global identifier '{0}'."},Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:{code:2399,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399",message:"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."},Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:{code:2400,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400",message:"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."},Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:{code:2401,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401",message:"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."},Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:{code:2402,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402",message:"Expression resolves to '_super' that compiler uses to capture base class reference."},Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:{code:2403,category:e.DiagnosticCategory.Error,key:"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403",message:"Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."},The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:{code:2404,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404",message:"The left-hand side of a 'for...in' statement cannot use a type annotation."},The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:{code:2405,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405",message:"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."},The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:{code:2406,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406",message:"The left-hand side of a 'for...in' statement must be a variable or a property access."},The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2407,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_2407",message:"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter."},Setters_cannot_return_a_value:{code:2408,category:e.DiagnosticCategory.Error,key:"Setters_cannot_return_a_value_2408",message:"Setters cannot return a value."},Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:{code:2409,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409",message:"Return type of constructor signature must be assignable to the instance type of the class."},The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:{code:2410,category:e.DiagnosticCategory.Error,key:"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410",message:"The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."},Property_0_of_type_1_is_not_assignable_to_string_index_type_2:{code:2411,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411",message:"Property '{0}' of type '{1}' is not assignable to string index type '{2}'."},Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:{code:2412,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412",message:"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."},Numeric_index_type_0_is_not_assignable_to_string_index_type_1:{code:2413,category:e.DiagnosticCategory.Error,key:"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413",message:"Numeric index type '{0}' is not assignable to string index type '{1}'."},Class_name_cannot_be_0:{code:2414,category:e.DiagnosticCategory.Error,key:"Class_name_cannot_be_0_2414",message:"Class name cannot be '{0}'."},Class_0_incorrectly_extends_base_class_1:{code:2415,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_extends_base_class_1_2415",message:"Class '{0}' incorrectly extends base class '{1}'."},Class_static_side_0_incorrectly_extends_base_class_static_side_1:{code:2417,category:e.DiagnosticCategory.Error,key:"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417",message:"Class static side '{0}' incorrectly extends base class static side '{1}'."},Class_0_incorrectly_implements_interface_1:{code:2420,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_implements_interface_1_2420",message:"Class '{0}' incorrectly implements interface '{1}'."},A_class_may_only_implement_another_class_or_interface:{code:2422,category:e.DiagnosticCategory.Error,key:"A_class_may_only_implement_another_class_or_interface_2422",message:"A class may only implement another class or interface."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:{code:2423,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:{code:2424,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."},Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2425,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425",message:"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."},Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2426,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426",message:"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."},Interface_name_cannot_be_0:{code:2427,category:e.DiagnosticCategory.Error,key:"Interface_name_cannot_be_0_2427",message:"Interface name cannot be '{0}'."},All_declarations_of_0_must_have_identical_type_parameters:{code:2428,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_type_parameters_2428",message:"All declarations of '{0}' must have identical type parameters."},Interface_0_incorrectly_extends_interface_1:{code:2430,category:e.DiagnosticCategory.Error,key:"Interface_0_incorrectly_extends_interface_1_2430",message:"Interface '{0}' incorrectly extends interface '{1}'."},Enum_name_cannot_be_0:{code:2431,category:e.DiagnosticCategory.Error,key:"Enum_name_cannot_be_0_2431",message:"Enum name cannot be '{0}'."},In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:{code:2432,category:e.DiagnosticCategory.Error,key:"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432",message:"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."},A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:{code:2433,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433",message:"A namespace declaration cannot be in a different file from a class or function with which it is merged."},A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:{code:2434,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434",message:"A namespace declaration cannot be located prior to a class or function with which it is merged."},Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:{code:2435,category:e.DiagnosticCategory.Error,key:"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435",message:"Ambient modules cannot be nested in other modules or namespaces."},Ambient_module_declaration_cannot_specify_relative_module_name:{code:2436,category:e.DiagnosticCategory.Error,key:"Ambient_module_declaration_cannot_specify_relative_module_name_2436",message:"Ambient module declaration cannot specify relative module name."},Module_0_is_hidden_by_a_local_declaration_with_the_same_name:{code:2437,category:e.DiagnosticCategory.Error,key:"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437",message:"Module '{0}' is hidden by a local declaration with the same name."},Import_name_cannot_be_0:{code:2438,category:e.DiagnosticCategory.Error,key:"Import_name_cannot_be_0_2438",message:"Import name cannot be '{0}'."},Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:{code:2439,category:e.DiagnosticCategory.Error,key:"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439",message:"Import or export declaration in an ambient module declaration cannot reference module through relative module name."},Import_declaration_conflicts_with_local_declaration_of_0:{code:2440,category:e.DiagnosticCategory.Error,key:"Import_declaration_conflicts_with_local_declaration_of_0_2440",message:"Import declaration conflicts with local declaration of '{0}'."},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:{code:2441,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."},Types_have_separate_declarations_of_a_private_property_0:{code:2442,category:e.DiagnosticCategory.Error,key:"Types_have_separate_declarations_of_a_private_property_0_2442",message:"Types have separate declarations of a private property '{0}'."},Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:{code:2443,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443",message:"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."},Property_0_is_protected_in_type_1_but_public_in_type_2:{code:2444,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_in_type_1_but_public_in_type_2_2444",message:"Property '{0}' is protected in type '{1}' but public in type '{2}'."},Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:{code:2445,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445",message:"Property '{0}' is protected and only accessible within class '{1}' and its subclasses."},Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:{code:2446,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446",message:"Property '{0}' is protected and only accessible through an instance of class '{1}'."},The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:{code:2447,category:e.DiagnosticCategory.Error,key:"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447",message:"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."},Block_scoped_variable_0_used_before_its_declaration:{code:2448,category:e.DiagnosticCategory.Error,key:"Block_scoped_variable_0_used_before_its_declaration_2448",message:"Block-scoped variable '{0}' used before its declaration."},Class_0_used_before_its_declaration:{code:2449,category:e.DiagnosticCategory.Error,key:"Class_0_used_before_its_declaration_2449",message:"Class '{0}' used before its declaration."},Enum_0_used_before_its_declaration:{code:2450,category:e.DiagnosticCategory.Error,key:"Enum_0_used_before_its_declaration_2450",message:"Enum '{0}' used before its declaration."},Cannot_redeclare_block_scoped_variable_0:{code:2451,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_block_scoped_variable_0_2451",message:"Cannot redeclare block-scoped variable '{0}'."},An_enum_member_cannot_have_a_numeric_name:{code:2452,category:e.DiagnosticCategory.Error,key:"An_enum_member_cannot_have_a_numeric_name_2452",message:"An enum member cannot have a numeric name."},The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:{code:2453,category:e.DiagnosticCategory.Error,key:"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453",message:"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."},Variable_0_is_used_before_being_assigned:{code:2454,category:e.DiagnosticCategory.Error,key:"Variable_0_is_used_before_being_assigned_2454",message:"Variable '{0}' is used before being assigned."},Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:{code:2455,category:e.DiagnosticCategory.Error,key:"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455",message:"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."},Type_alias_0_circularly_references_itself:{code:2456,category:e.DiagnosticCategory.Error,key:"Type_alias_0_circularly_references_itself_2456",message:"Type alias '{0}' circularly references itself."},Type_alias_name_cannot_be_0:{code:2457,category:e.DiagnosticCategory.Error,key:"Type_alias_name_cannot_be_0_2457",message:"Type alias name cannot be '{0}'."},An_AMD_module_cannot_have_multiple_name_assignments:{code:2458,category:e.DiagnosticCategory.Error,key:"An_AMD_module_cannot_have_multiple_name_assignments_2458",message:"An AMD module cannot have multiple name assignments."},Type_0_has_no_property_1_and_no_string_index_signature:{code:2459,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_and_no_string_index_signature_2459",message:"Type '{0}' has no property '{1}' and no string index signature."},Type_0_has_no_property_1:{code:2460,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_2460",message:"Type '{0}' has no property '{1}'."},Type_0_is_not_an_array_type:{code:2461,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_2461",message:"Type '{0}' is not an array type."},A_rest_element_must_be_last_in_a_destructuring_pattern:{code:2462,category:e.DiagnosticCategory.Error,key:"A_rest_element_must_be_last_in_a_destructuring_pattern_2462",message:"A rest element must be last in a destructuring pattern."},A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:{code:2463,category:e.DiagnosticCategory.Error,key:"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463",message:"A binding pattern parameter cannot be optional in an implementation signature."},A_computed_property_name_must_be_of_type_string_number_symbol_or_any:{code:2464,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464",message:"A computed property name must be of type 'string', 'number', 'symbol', or 'any'."},this_cannot_be_referenced_in_a_computed_property_name:{code:2465,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_computed_property_name_2465",message:"'this' cannot be referenced in a computed property name."},super_cannot_be_referenced_in_a_computed_property_name:{code:2466,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_a_computed_property_name_2466",message:"'super' cannot be referenced in a computed property name."},A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:{code:2467,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467",message:"A computed property name cannot reference a type parameter from its containing type."},Cannot_find_global_value_0:{code:2468,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_value_0_2468",message:"Cannot find global value '{0}'."},The_0_operator_cannot_be_applied_to_type_symbol:{code:2469,category:e.DiagnosticCategory.Error,key:"The_0_operator_cannot_be_applied_to_type_symbol_2469",message:"The '{0}' operator cannot be applied to type 'symbol'."},Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:{code:2470,category:e.DiagnosticCategory.Error,key:"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470",message:"'Symbol' reference does not refer to the global Symbol constructor object."},A_computed_property_name_of_the_form_0_must_be_of_type_symbol:{code:2471,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471",message:"A computed property name of the form '{0}' must be of type 'symbol'."},Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:{code:2472,category:e.DiagnosticCategory.Error,key:"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472",message:"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."},Enum_declarations_must_all_be_const_or_non_const:{code:2473,category:e.DiagnosticCategory.Error,key:"Enum_declarations_must_all_be_const_or_non_const_2473",message:"Enum declarations must all be const or non-const."},In_const_enum_declarations_member_initializer_must_be_constant_expression:{code:2474,category:e.DiagnosticCategory.Error,key:"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474",message:"In 'const' enum declarations member initializer must be constant expression."},const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment:{code:2475,category:e.DiagnosticCategory.Error,key:"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475",message:"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment."},A_const_enum_member_can_only_be_accessed_using_a_string_literal:{code:2476,category:e.DiagnosticCategory.Error,key:"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476",message:"A const enum member can only be accessed using a string literal."},const_enum_member_initializer_was_evaluated_to_a_non_finite_value:{code:2477,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477",message:"'const' enum member initializer was evaluated to a non-finite value."},const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:{code:2478,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478",message:"'const' enum member initializer was evaluated to disallowed value 'NaN'."},Property_0_does_not_exist_on_const_enum_1:{code:2479,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_const_enum_1_2479",message:"Property '{0}' does not exist on 'const' enum '{1}'."},let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:{code:2480,category:e.DiagnosticCategory.Error,key:"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480",message:"'let' is not allowed to be used as a name in 'let' or 'const' declarations."},Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:{code:2481,category:e.DiagnosticCategory.Error,key:"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481",message:"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."},The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:{code:2483,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483",message:"The left-hand side of a 'for...of' statement cannot use a type annotation."},Export_declaration_conflicts_with_exported_declaration_of_0:{code:2484,category:e.DiagnosticCategory.Error,key:"Export_declaration_conflicts_with_exported_declaration_of_0_2484",message:"Export declaration conflicts with exported declaration of '{0}'."},The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:{code:2487,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487",message:"The left-hand side of a 'for...of' statement must be a variable or a property access."},Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2488,category:e.DiagnosticCategory.Error,key:"Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488",message:"Type must have a '[Symbol.iterator]()' method that returns an iterator."},An_iterator_must_have_a_next_method:{code:2489,category:e.DiagnosticCategory.Error,key:"An_iterator_must_have_a_next_method_2489",message:"An iterator must have a 'next()' method."},The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:{code:2490,category:e.DiagnosticCategory.Error,key:"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490",message:"The type returned by the 'next()' method of an iterator must have a 'value' property."},The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:{code:2491,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491",message:"The left-hand side of a 'for...in' statement cannot be a destructuring pattern."},Cannot_redeclare_identifier_0_in_catch_clause:{code:2492,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_identifier_0_in_catch_clause_2492",message:"Cannot redeclare identifier '{0}' in catch clause."},Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:{code:2493,category:e.DiagnosticCategory.Error,key:"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493",message:"Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."},Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:{code:2494,category:e.DiagnosticCategory.Error,key:"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494",message:"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."},Type_0_is_not_an_array_type_or_a_string_type:{code:2495,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_a_string_type_2495",message:"Type '{0}' is not an array type or a string type."},The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:{code:2496,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496",message:"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."},Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:{code:2497,category:e.DiagnosticCategory.Error,key:"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497",message:"Module '{0}' resolves to a non-module entity and cannot be imported using this construct."},Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:{code:2498,category:e.DiagnosticCategory.Error,key:"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498",message:"Module '{0}' uses 'export =' and cannot be used with 'export *'."},An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2499,category:e.DiagnosticCategory.Error,key:"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499",message:"An interface can only extend an identifier/qualified-name with optional type arguments."},A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2500,category:e.DiagnosticCategory.Error,key:"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500",message:"A class can only implement an identifier/qualified-name with optional type arguments."},A_rest_element_cannot_contain_a_binding_pattern:{code:2501,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_contain_a_binding_pattern_2501",message:"A rest element cannot contain a binding pattern."},_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:{code:2502,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502",message:"'{0}' is referenced directly or indirectly in its own type annotation."},Cannot_find_namespace_0:{code:2503,category:e.DiagnosticCategory.Error,key:"Cannot_find_namespace_0_2503",message:"Cannot find namespace '{0}'."},Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:{code:2504,category:e.DiagnosticCategory.Error,key:"Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504",message:"Type must have a '[Symbol.asyncIterator]()' method that returns an async iterator."},A_generator_cannot_have_a_void_type_annotation:{code:2505,category:e.DiagnosticCategory.Error,key:"A_generator_cannot_have_a_void_type_annotation_2505",message:"A generator cannot have a 'void' type annotation."},_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:{code:2506,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506",message:"'{0}' is referenced directly or indirectly in its own base expression."},Type_0_is_not_a_constructor_function_type:{code:2507,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_a_constructor_function_type_2507",message:"Type '{0}' is not a constructor function type."},No_base_constructor_has_the_specified_number_of_type_arguments:{code:2508,category:e.DiagnosticCategory.Error,key:"No_base_constructor_has_the_specified_number_of_type_arguments_2508",message:"No base constructor has the specified number of type arguments."},Base_constructor_return_type_0_is_not_a_class_or_interface_type:{code:2509,category:e.DiagnosticCategory.Error,key:"Base_constructor_return_type_0_is_not_a_class_or_interface_type_2509",message:"Base constructor return type '{0}' is not a class or interface type."},Base_constructors_must_all_have_the_same_return_type:{code:2510,category:e.DiagnosticCategory.Error,key:"Base_constructors_must_all_have_the_same_return_type_2510",message:"Base constructors must all have the same return type."},Cannot_create_an_instance_of_the_abstract_class_0:{code:2511,category:e.DiagnosticCategory.Error,key:"Cannot_create_an_instance_of_the_abstract_class_0_2511",message:"Cannot create an instance of the abstract class '{0}'."},Overload_signatures_must_all_be_abstract_or_non_abstract:{code:2512,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_abstract_or_non_abstract_2512",message:"Overload signatures must all be abstract or non-abstract."},Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:{code:2513,category:e.DiagnosticCategory.Error,key:"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513",message:"Abstract method '{0}' in class '{1}' cannot be accessed via super expression."},Classes_containing_abstract_methods_must_be_marked_abstract:{code:2514,category:e.DiagnosticCategory.Error,key:"Classes_containing_abstract_methods_must_be_marked_abstract_2514",message:"Classes containing abstract methods must be marked abstract."},Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:{code:2515,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515",message:"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."},All_declarations_of_an_abstract_method_must_be_consecutive:{code:2516,category:e.DiagnosticCategory.Error,key:"All_declarations_of_an_abstract_method_must_be_consecutive_2516",message:"All declarations of an abstract method must be consecutive."},Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:{code:2517,category:e.DiagnosticCategory.Error,key:"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517",message:"Cannot assign an abstract constructor type to a non-abstract constructor type."},A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:{code:2518,category:e.DiagnosticCategory.Error,key:"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518",message:"A 'this'-based type guard is not compatible with a parameter-based type guard."},An_async_iterator_must_have_a_next_method:{code:2519,category:e.DiagnosticCategory.Error,key:"An_async_iterator_must_have_a_next_method_2519",message:"An async iterator must have a 'next()' method."},Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:{code:2520,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520",message:"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."},Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:{code:2521,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521",message:"Expression resolves to variable declaration '{0}' that compiler uses to support async functions."},The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:{code:2522,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522",message:"The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."},yield_expressions_cannot_be_used_in_a_parameter_initializer:{code:2523,category:e.DiagnosticCategory.Error,key:"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523",message:"'yield' expressions cannot be used in a parameter initializer."},await_expressions_cannot_be_used_in_a_parameter_initializer:{code:2524,category:e.DiagnosticCategory.Error,key:"await_expressions_cannot_be_used_in_a_parameter_initializer_2524",message:"'await' expressions cannot be used in a parameter initializer."},Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:{code:2525,category:e.DiagnosticCategory.Error,key:"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525",message:"Initializer provides no value for this binding element and the binding element has no default value."},A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:{code:2526,category:e.DiagnosticCategory.Error,key:"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526",message:"A 'this' type is available only in a non-static member of a class or interface."},The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary:{code:2527,category:e.DiagnosticCategory.Error,key:"The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary_2527",message:"The inferred type of '{0}' references an inaccessible 'this' type. A type annotation is necessary."},A_module_cannot_have_multiple_default_exports:{code:2528,category:e.DiagnosticCategory.Error,key:"A_module_cannot_have_multiple_default_exports_2528",message:"A module cannot have multiple default exports."},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:{code:2529,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."},Property_0_is_incompatible_with_index_signature:{code:2530,category:e.DiagnosticCategory.Error,key:"Property_0_is_incompatible_with_index_signature_2530",message:"Property '{0}' is incompatible with index signature."},Object_is_possibly_null:{code:2531,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_2531",message:"Object is possibly 'null'."},Object_is_possibly_undefined:{code:2532,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_undefined_2532",message:"Object is possibly 'undefined'."},Object_is_possibly_null_or_undefined:{code:2533,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_or_undefined_2533",message:"Object is possibly 'null' or 'undefined'."},A_function_returning_never_cannot_have_a_reachable_end_point:{code:2534,category:e.DiagnosticCategory.Error,key:"A_function_returning_never_cannot_have_a_reachable_end_point_2534",message:"A function returning 'never' cannot have a reachable end point."},Enum_type_0_has_members_with_initializers_that_are_not_literals:{code:2535,category:e.DiagnosticCategory.Error,key:"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535",message:"Enum type '{0}' has members with initializers that are not literals."},Type_0_cannot_be_used_to_index_type_1:{code:2536,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_used_to_index_type_1_2536",message:"Type '{0}' cannot be used to index type '{1}'."},Type_0_has_no_matching_index_signature_for_type_1:{code:2537,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_matching_index_signature_for_type_1_2537",message:"Type '{0}' has no matching index signature for type '{1}'."},Type_0_cannot_be_used_as_an_index_type:{code:2538,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_used_as_an_index_type_2538",message:"Type '{0}' cannot be used as an index type."},Cannot_assign_to_0_because_it_is_not_a_variable:{code:2539,category:e.DiagnosticCategory.Error,key:"Cannot_assign_to_0_because_it_is_not_a_variable_2539",message:"Cannot assign to '{0}' because it is not a variable."},Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property:{code:2540,category:e.DiagnosticCategory.Error,key:"Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property_2540",message:"Cannot assign to '{0}' because it is a constant or a read-only property."},The_target_of_an_assignment_must_be_a_variable_or_a_property_access:{code:2541,category:e.DiagnosticCategory.Error,key:"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541",message:"The target of an assignment must be a variable or a property access."},Index_signature_in_type_0_only_permits_reading:{code:2542,category:e.DiagnosticCategory.Error,key:"Index_signature_in_type_0_only_permits_reading_2542",message:"Index signature in type '{0}' only permits reading."},Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:{code:2543,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543",message:"Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."},Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:{code:2544,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544",message:"Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."},A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:{code:2545,category:e.DiagnosticCategory.Error,key:"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545",message:"A mixin class must have a constructor with a single rest parameter of type 'any[]'."},Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1:{code:2546,category:e.DiagnosticCategory.Error,key:"Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1_2546",message:"Property '{0}' has conflicting declarations and is inaccessible in type '{1}'."},The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:{code:2547,category:e.DiagnosticCategory.Error,key:"The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value__2547",message:"The type returned by the 'next()' method of an async iterator must be a promise for a type with a 'value' property."},Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2548,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548",message:"Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."},Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2549,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549",message:"Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."},Generic_type_instantiation_is_excessively_deep_and_possibly_infinite:{code:2550,category:e.DiagnosticCategory.Error,key:"Generic_type_instantiation_is_excessively_deep_and_possibly_infinite_2550",message:"Generic type instantiation is excessively deep and possibly infinite."},JSX_element_attributes_type_0_may_not_be_a_union_type:{code:2600,category:e.DiagnosticCategory.Error,key:"JSX_element_attributes_type_0_may_not_be_a_union_type_2600",message:"JSX element attributes type '{0}' may not be a union type."},The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:{code:2601,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601",message:"The return type of a JSX element constructor must return an object type."},JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:{code:2602,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602",message:"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."},Property_0_in_type_1_is_not_assignable_to_type_2:{code:2603,category:e.DiagnosticCategory.Error,key:"Property_0_in_type_1_is_not_assignable_to_type_2_2603",message:"Property '{0}' in type '{1}' is not assignable to type '{2}'."},JSX_element_type_0_does_not_have_any_construct_or_call_signatures:{code:2604,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604",message:"JSX element type '{0}' does not have any construct or call signatures."},JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:{code:2605,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605",message:"JSX element type '{0}' is not a constructor function for JSX elements."},Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:{code:2606,category:e.DiagnosticCategory.Error,key:"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606",message:"Property '{0}' of JSX spread attribute is not assignable to target property."},JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:{code:2607,category:e.DiagnosticCategory.Error,key:"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607",message:"JSX element class does not support attributes because it does not have a '{0}' property."},The_global_type_JSX_0_may_not_have_more_than_one_property:{code:2608,category:e.DiagnosticCategory.Error,key:"The_global_type_JSX_0_may_not_have_more_than_one_property_2608",message:"The global type 'JSX.{0}' may not have more than one property."},JSX_spread_child_must_be_an_array_type:{code:2609,category:e.DiagnosticCategory.Error,key:"JSX_spread_child_must_be_an_array_type_2609",message:"JSX spread child must be an array type."},Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:{code:2649,category:e.DiagnosticCategory.Error,key:"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649",message:"Cannot augment module '{0}' with value exports because it resolves to a non-module entity."},Cannot_emit_namespaced_JSX_elements_in_React:{code:2650,category:e.DiagnosticCategory.Error,key:"Cannot_emit_namespaced_JSX_elements_in_React_2650",message:"Cannot emit namespaced JSX elements in React."},A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:{code:2651,category:e.DiagnosticCategory.Error,key:"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651",message:"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."},Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:{code:2652,category:e.DiagnosticCategory.Error,key:"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652",message:"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."},Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:{code:2653,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653",message:"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."},Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:{code:2654,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654",message:"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."},Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:{code:2656,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656",message:"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."},JSX_expressions_must_have_one_parent_element:{code:2657,category:e.DiagnosticCategory.Error,key:"JSX_expressions_must_have_one_parent_element_2657",message:"JSX expressions must have one parent element."},Type_0_provides_no_match_for_the_signature_1:{code:2658,category:e.DiagnosticCategory.Error,key:"Type_0_provides_no_match_for_the_signature_1_2658",message:"Type '{0}' provides no match for the signature '{1}'."},super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:{code:2659,category:e.DiagnosticCategory.Error,key:"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659",message:"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."},super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:{code:2660,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660",message:"'super' can only be referenced in members of derived classes or object literal expressions."},Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:{code:2661,category:e.DiagnosticCategory.Error,key:"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661",message:"Cannot export '{0}'. Only local declarations can be exported from a module."},Cannot_find_name_0_Did_you_mean_the_static_member_1_0:{code:2662,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662",message:"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"},Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:{code:2663,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663",message:"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"},Invalid_module_name_in_augmentation_module_0_cannot_be_found:{code:2664,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664",message:"Invalid module name in augmentation, module '{0}' cannot be found."},Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:{code:2665,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665",message:"Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."},Exports_and_export_assignments_are_not_permitted_in_module_augmentations:{code:2666,category:e.DiagnosticCategory.Error,key:"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666",message:"Exports and export assignments are not permitted in module augmentations."},Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:{code:2667,category:e.DiagnosticCategory.Error,key:"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667",message:"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."},export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:{code:2668,category:e.DiagnosticCategory.Error,key:"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668",message:"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."},Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:{code:2669,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669",message:"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."},Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:{code:2670,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670",message:"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."},Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:{code:2671,category:e.DiagnosticCategory.Error,key:"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671",message:"Cannot augment module '{0}' because it resolves to a non-module entity."},Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:{code:2672,category:e.DiagnosticCategory.Error,key:"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672",message:"Cannot assign a '{0}' constructor type to a '{1}' constructor type."},Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:{code:2673,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673",message:"Constructor of class '{0}' is private and only accessible within the class declaration."},Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:{code:2674,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674",message:"Constructor of class '{0}' is protected and only accessible within the class declaration."},Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:{code:2675,category:e.DiagnosticCategory.Error,key:"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675",message:"Cannot extend a class '{0}'. Class constructor is marked as private."},Accessors_must_both_be_abstract_or_non_abstract:{code:2676,category:e.DiagnosticCategory.Error,key:"Accessors_must_both_be_abstract_or_non_abstract_2676",message:"Accessors must both be abstract or non-abstract."},A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:{code:2677,category:e.DiagnosticCategory.Error,key:"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677",message:"A type predicate's type must be assignable to its parameter's type."},Type_0_is_not_comparable_to_type_1:{code:2678,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_comparable_to_type_1_2678",message:"Type '{0}' is not comparable to type '{1}'."},A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:{code:2679,category:e.DiagnosticCategory.Error,key:"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679",message:"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."},A_this_parameter_must_be_the_first_parameter:{code:2680,category:e.DiagnosticCategory.Error,key:"A_this_parameter_must_be_the_first_parameter_2680",message:"A 'this' parameter must be the first parameter."},A_constructor_cannot_have_a_this_parameter:{code:2681,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_have_a_this_parameter_2681",message:"A constructor cannot have a 'this' parameter."},get_and_set_accessor_must_have_the_same_this_type:{code:2682,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_this_type_2682",message:"'get' and 'set' accessor must have the same 'this' type."},this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:{code:2683,category:e.DiagnosticCategory.Error,key:"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683",message:"'this' implicitly has type 'any' because it does not have a type annotation."},The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:{code:2684,category:e.DiagnosticCategory.Error,key:"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684",message:"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."},The_this_types_of_each_signature_are_incompatible:{code:2685,category:e.DiagnosticCategory.Error,key:"The_this_types_of_each_signature_are_incompatible_2685",message:"The 'this' types of each signature are incompatible."},_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:{code:2686,category:e.DiagnosticCategory.Error,key:"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686",message:"'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."},All_declarations_of_0_must_have_identical_modifiers:{code:2687,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_modifiers_2687",message:"All declarations of '{0}' must have identical modifiers."},Cannot_find_type_definition_file_for_0:{code:2688,category:e.DiagnosticCategory.Error,key:"Cannot_find_type_definition_file_for_0_2688",message:"Cannot find type definition file for '{0}'."},Cannot_extend_an_interface_0_Did_you_mean_implements:{code:2689,category:e.DiagnosticCategory.Error,key:"Cannot_extend_an_interface_0_Did_you_mean_implements_2689",message:"Cannot extend an interface '{0}'. Did you mean 'implements'?"},An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:{code:2691,category:e.DiagnosticCategory.Error,key:"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691",message:"An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."},_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:{code:2692,category:e.DiagnosticCategory.Error,key:"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692",message:"'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."},_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:{code:2693,category:e.DiagnosticCategory.Error,key:"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693",message:"'{0}' only refers to a type, but is being used as a value here."},Namespace_0_has_no_exported_member_1:{code:2694,category:e.DiagnosticCategory.Error,key:"Namespace_0_has_no_exported_member_1_2694",message:"Namespace '{0}' has no exported member '{1}'."},Left_side_of_comma_operator_is_unused_and_has_no_side_effects:{code:2695,category:e.DiagnosticCategory.Error,key:"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695",message:"Left side of comma operator is unused and has no side effects."},The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:{code:2696,category:e.DiagnosticCategory.Error,key:"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696",message:"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"},An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:{code:2697,category:e.DiagnosticCategory.Error,key:"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697",message:"An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."},Spread_types_may_only_be_created_from_object_types:{code:2698,category:e.DiagnosticCategory.Error,key:"Spread_types_may_only_be_created_from_object_types_2698",message:"Spread types may only be created from object types."},Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:{code:2699,category:e.DiagnosticCategory.Error,key:"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699",message:"Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."},Rest_types_may_only_be_created_from_object_types:{code:2700,category:e.DiagnosticCategory.Error,key:"Rest_types_may_only_be_created_from_object_types_2700",message:"Rest types may only be created from object types."},The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:{code:2701,category:e.DiagnosticCategory.Error,key:"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701",message:"The target of an object rest assignment must be a variable or a property access."},_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:{code:2702,category:e.DiagnosticCategory.Error,key:"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702",message:"'{0}' only refers to a type, but is being used as a namespace here."},The_operand_of_a_delete_operator_must_be_a_property_reference:{code:2703,category:e.DiagnosticCategory.Error,key:"The_operand_of_a_delete_operator_must_be_a_property_reference_2703",message:"The operand of a delete operator must be a property reference."},The_operand_of_a_delete_operator_cannot_be_a_read_only_property:{code:2704,category:e.DiagnosticCategory.Error,key:"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704",message:"The operand of a delete operator cannot be a read-only property."},An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:{code:2705,category:e.DiagnosticCategory.Error,key:"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705",message:"An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."},Required_type_parameters_may_not_follow_optional_type_parameters:{code:2706,category:e.DiagnosticCategory.Error,key:"Required_type_parameters_may_not_follow_optional_type_parameters_2706",message:"Required type parameters may not follow optional type parameters."},Generic_type_0_requires_between_1_and_2_type_arguments:{code:2707,category:e.DiagnosticCategory.Error,key:"Generic_type_0_requires_between_1_and_2_type_arguments_2707",message:"Generic type '{0}' requires between {1} and {2} type arguments."},Cannot_use_namespace_0_as_a_value:{code:2708,category:e.DiagnosticCategory.Error,key:"Cannot_use_namespace_0_as_a_value_2708",message:"Cannot use namespace '{0}' as a value."},Cannot_use_namespace_0_as_a_type:{code:2709,category:e.DiagnosticCategory.Error,key:"Cannot_use_namespace_0_as_a_type_2709",message:"Cannot use namespace '{0}' as a type."},_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:{code:2710,category:e.DiagnosticCategory.Error,key:"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710",message:"'{0}' are specified twice. The attribute named '{0}' will be overwritten."},Import_declaration_0_is_using_private_name_1:{code:4e3,category:e.DiagnosticCategory.Error,key:"Import_declaration_0_is_using_private_name_1_4000",message:"Import declaration '{0}' is using private name '{1}'."},Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:{code:4002,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002",message:"Type parameter '{0}' of exported class has or is using private name '{1}'."},Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:{code:4004,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004",message:"Type parameter '{0}' of exported interface has or is using private name '{1}'."},Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4006,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006",message:"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4008,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008",message:"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4010,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010",message:"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4012,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012",message:"Type parameter '{0}' of public method from exported class has or is using private name '{1}'."},Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4014,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014",message:"Type parameter '{0}' of method from exported interface has or is using private name '{1}'."},Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4016,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016",message:"Type parameter '{0}' of exported function has or is using private name '{1}'."},Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4019,category:e.DiagnosticCategory.Error,key:"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019",message:"Implements clause of exported class '{0}' has or is using private name '{1}'."},extends_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4020,category:e.DiagnosticCategory.Error,key:"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020",message:"'extends' clause of exported class '{0}' has or is using private name '{1}'."},extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:{code:4022,category:e.DiagnosticCategory.Error,key:"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022",message:"'extends' clause of exported interface '{0}' has or is using private name '{1}'."},Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4023,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023",message:"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."},Exported_variable_0_has_or_is_using_name_1_from_private_module_2:{code:4024,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024",message:"Exported variable '{0}' has or is using name '{1}' from private module '{2}'."},Exported_variable_0_has_or_is_using_private_name_1:{code:4025,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_private_name_1_4025",message:"Exported variable '{0}' has or is using private name '{1}'."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4026,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026",message:"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4027,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027",message:"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4028,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028",message:"Public static property '{0}' of exported class has or is using private name '{1}'."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4029,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029",message:"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4030,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030",message:"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4031,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031",message:"Public property '{0}' of exported class has or is using private name '{1}'."},Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4032,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032",message:"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."},Property_0_of_exported_interface_has_or_is_using_private_name_1:{code:4033,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033",message:"Property '{0}' of exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4034,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_4034",message:"Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4035,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1_4035",message:"Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4036,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_4036",message:"Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4037,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1_4037",message:"Parameter '{0}' of public property setter from exported class has or is using private name '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4038,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_externa_4038",message:"Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4039,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_4039",message:"Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4040,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0_4040",message:"Return type of public static property getter from exported class has or is using private name '{0}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4041,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_modul_4041",message:"Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4042,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_4042",message:"Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4043,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0_4043",message:"Return type of public property getter from exported class has or is using private name '{0}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4044,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044",message:"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4045,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045",message:"Return type of constructor signature from exported interface has or is using private name '{0}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4046,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046",message:"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4047,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047",message:"Return type of call signature from exported interface has or is using private name '{0}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4048,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048",message:"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4049,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049",message:"Return type of index signature from exported interface has or is using private name '{0}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4050,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050",message:"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4051,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051",message:"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:{code:4052,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052",message:"Return type of public static method from exported class has or is using private name '{0}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4053,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053",message:"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4054,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054",message:"Return type of public method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:{code:4055,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055",message:"Return type of public method from exported class has or is using private name '{0}'."},Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4056,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056",message:"Return type of method from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:{code:4057,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057",message:"Return type of method from exported interface has or is using private name '{0}'."},Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4058,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058",message:"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:{code:4059,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059",message:"Return type of exported function has or is using name '{0}' from private module '{1}'."},Return_type_of_exported_function_has_or_is_using_private_name_0:{code:4060,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_private_name_0_4060",message:"Return type of exported function has or is using private name '{0}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4061,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4062,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:{code:4063,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063",message:"Parameter '{0}' of constructor from exported class has or is using private name '{1}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4064,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064",message:"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4065,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065",message:"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4066,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066",message:"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4067,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067",message:"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4068,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4069,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4070,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070",message:"Parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4071,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4072,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4073,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073",message:"Parameter '{0}' of public method from exported class has or is using private name '{1}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4074,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074",message:"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4075,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075",message:"Parameter '{0}' of method from exported interface has or is using private name '{1}'."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4076,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076",message:"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:{code:4077,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077",message:"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."},Parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4078,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078",message:"Parameter '{0}' of exported function has or is using private name '{1}'."},Exported_type_alias_0_has_or_is_using_private_name_1:{code:4081,category:e.DiagnosticCategory.Error,key:"Exported_type_alias_0_has_or_is_using_private_name_1_4081",message:"Exported type alias '{0}' has or is using private name '{1}'."},Default_export_of_the_module_has_or_is_using_private_name_0:{code:4082,category:e.DiagnosticCategory.Error,key:"Default_export_of_the_module_has_or_is_using_private_name_0_4082",message:"Default export of the module has or is using private name '{0}'."},Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:{code:4083,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083",message:"Type parameter '{0}' of exported type alias has or is using private name '{1}'."},Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:{code:4090,category:e.DiagnosticCategory.Message,key:"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090",message:"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."},Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4091,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091",message:"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4092,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092",message:"Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."},extends_clause_of_exported_class_0_refers_to_a_type_whose_name_cannot_be_referenced:{code:4093,category:e.DiagnosticCategory.Error,key:"extends_clause_of_exported_class_0_refers_to_a_type_whose_name_cannot_be_referenced_4093",message:"'extends' clause of exported class '{0}' refers to a type whose name cannot be referenced."},The_current_host_does_not_support_the_0_option:{code:5001,category:e.DiagnosticCategory.Error,key:"The_current_host_does_not_support_the_0_option_5001",message:"The current host does not support the '{0}' option."},Cannot_find_the_common_subdirectory_path_for_the_input_files:{code:5009,category:e.DiagnosticCategory.Error,key:"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009",message:"Cannot find the common subdirectory path for the input files."},File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5010,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010",message:"File specification cannot end in a recursive directory wildcard ('**'): '{0}'."},File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0:{code:5011,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0_5011",message:"File specification cannot contain multiple recursive directory wildcards ('**'): '{0}'."},Cannot_read_file_0_Colon_1:{code:5012,category:e.DiagnosticCategory.Error,key:"Cannot_read_file_0_Colon_1_5012",message:"Cannot read file '{0}': {1}."},Failed_to_parse_file_0_Colon_1:{code:5014,category:e.DiagnosticCategory.Error,key:"Failed_to_parse_file_0_Colon_1_5014",message:"Failed to parse file '{0}': {1}."},Unknown_compiler_option_0:{code:5023,category:e.DiagnosticCategory.Error,key:"Unknown_compiler_option_0_5023",message:"Unknown compiler option '{0}'."},Compiler_option_0_requires_a_value_of_type_1:{code:5024,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_requires_a_value_of_type_1_5024",message:"Compiler option '{0}' requires a value of type {1}."},Could_not_write_file_0_Colon_1:{code:5033,category:e.DiagnosticCategory.Error,key:"Could_not_write_file_0_Colon_1_5033",message:"Could not write file '{0}': {1}."},Option_project_cannot_be_mixed_with_source_files_on_a_command_line:{code:5042,category:e.DiagnosticCategory.Error,key:"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042",message:"Option 'project' cannot be mixed with source files on a command line."},Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:{code:5047,category:e.DiagnosticCategory.Error,key:"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047",message:"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."},Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:{code:5051,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051",message:"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."},Option_0_cannot_be_specified_without_specifying_option_1:{code:5052,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_without_specifying_option_1_5052",message:"Option '{0}' cannot be specified without specifying option '{1}'."},Option_0_cannot_be_specified_with_option_1:{code:5053,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_with_option_1_5053",message:"Option '{0}' cannot be specified with option '{1}'."},A_tsconfig_json_file_is_already_defined_at_Colon_0:{code:5054,category:e.DiagnosticCategory.Error,key:"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054",message:"A 'tsconfig.json' file is already defined at: '{0}'."},Cannot_write_file_0_because_it_would_overwrite_input_file:{code:5055,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_overwrite_input_file_5055",message:"Cannot write file '{0}' because it would overwrite input file."},Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:{code:5056,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056",message:"Cannot write file '{0}' because it would be overwritten by multiple input files."},Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:{code:5057,category:e.DiagnosticCategory.Error,key:"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057",message:"Cannot find a tsconfig.json file at the specified directory: '{0}'."},The_specified_path_does_not_exist_Colon_0:{code:5058,category:e.DiagnosticCategory.Error,key:"The_specified_path_does_not_exist_Colon_0_5058",message:"The specified path does not exist: '{0}'."},Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:{code:5059,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059",message:"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."},Option_paths_cannot_be_used_without_specifying_baseUrl_option:{code:5060,category:e.DiagnosticCategory.Error,key:"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060",message:"Option 'paths' cannot be used without specifying '--baseUrl' option."},Pattern_0_can_have_at_most_one_Asterisk_character:{code:5061,category:e.DiagnosticCategory.Error,key:"Pattern_0_can_have_at_most_one_Asterisk_character_5061",message:"Pattern '{0}' can have at most one '*' character."},Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:{code:5062,category:e.DiagnosticCategory.Error,key:"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062",message:"Substitution '{0}' in pattern '{1}' in can have at most one '*' character."},Substitutions_for_pattern_0_should_be_an_array:{code:5063,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_should_be_an_array_5063",message:"Substitutions for pattern '{0}' should be an array."},Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:{code:5064,category:e.DiagnosticCategory.Error,key:"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064",message:"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."},File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5065,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065",message:"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."},Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:{code:5066,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066",message:"Substitutions for pattern '{0}' shouldn't be an empty array."},Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:{code:5067,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067",message:"Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."},Concatenate_and_emit_output_to_single_file:{code:6001,category:e.DiagnosticCategory.Message,key:"Concatenate_and_emit_output_to_single_file_6001",message:"Concatenate and emit output to single file."},Generates_corresponding_d_ts_file:{code:6002,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_d_ts_file_6002",message:"Generates corresponding '.d.ts' file."},Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:{code:6003,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003",message:"Specify the location where debugger should locate map files instead of generated locations."},Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:{code:6004,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004",message:"Specify the location where debugger should locate TypeScript files instead of source locations."},Watch_input_files:{code:6005,category:e.DiagnosticCategory.Message,key:"Watch_input_files_6005",message:"Watch input files."},Redirect_output_structure_to_the_directory:{code:6006,category:e.DiagnosticCategory.Message,key:"Redirect_output_structure_to_the_directory_6006",message:"Redirect output structure to the directory."},Do_not_erase_const_enum_declarations_in_generated_code:{code:6007,category:e.DiagnosticCategory.Message,key:"Do_not_erase_const_enum_declarations_in_generated_code_6007",message:"Do not erase const enum declarations in generated code."},Do_not_emit_outputs_if_any_errors_were_reported:{code:6008,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_if_any_errors_were_reported_6008",message:"Do not emit outputs if any errors were reported."},Do_not_emit_comments_to_output:{code:6009,category:e.DiagnosticCategory.Message,key:"Do_not_emit_comments_to_output_6009",message:"Do not emit comments to output."},Do_not_emit_outputs:{code:6010,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_6010",message:"Do not emit outputs."},Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:{code:6011,category:e.DiagnosticCategory.Message,key:"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011",message:"Allow default imports from modules with no default export. This does not affect code emit, just typechecking."},Skip_type_checking_of_declaration_files:{code:6012,category:e.DiagnosticCategory.Message,key:"Skip_type_checking_of_declaration_files_6012",message:"Skip type checking of declaration files."},Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT:{code:6015,category:e.DiagnosticCategory.Message,key:"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT_6015",message:"Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'."},Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015:{code:6016,category:e.DiagnosticCategory.Message,key:"Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015_6016",message:"Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'."},Print_this_message:{code:6017,category:e.DiagnosticCategory.Message,key:"Print_this_message_6017",message:"Print this message."},Print_the_compiler_s_version:{code:6019,category:e.DiagnosticCategory.Message,key:"Print_the_compiler_s_version_6019",message:"Print the compiler's version."},Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:{code:6020,category:e.DiagnosticCategory.Message,key:"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020",message:"Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."},Syntax_Colon_0:{code:6023,category:e.DiagnosticCategory.Message,key:"Syntax_Colon_0_6023",message:"Syntax: {0}"},options:{code:6024,category:e.DiagnosticCategory.Message,key:"options_6024",message:"options"},file:{code:6025,category:e.DiagnosticCategory.Message,key:"file_6025",message:"file"},Examples_Colon_0:{code:6026,category:e.DiagnosticCategory.Message,key:"Examples_Colon_0_6026",message:"Examples: {0}"},Options_Colon:{code:6027,category:e.DiagnosticCategory.Message,key:"Options_Colon_6027",message:"Options:"},Version_0:{code:6029,category:e.DiagnosticCategory.Message,key:"Version_0_6029",message:"Version {0}"},Insert_command_line_options_and_files_from_a_file:{code:6030,category:e.DiagnosticCategory.Message,key:"Insert_command_line_options_and_files_from_a_file_6030",message:"Insert command line options and files from a file."},File_change_detected_Starting_incremental_compilation:{code:6032,category:e.DiagnosticCategory.Message,key:"File_change_detected_Starting_incremental_compilation_6032",message:"File change detected. Starting incremental compilation..."},KIND:{code:6034,category:e.DiagnosticCategory.Message,key:"KIND_6034",message:"KIND"},FILE:{code:6035,category:e.DiagnosticCategory.Message,key:"FILE_6035",message:"FILE"},VERSION:{code:6036,category:e.DiagnosticCategory.Message,key:"VERSION_6036",message:"VERSION"},LOCATION:{code:6037,category:e.DiagnosticCategory.Message,key:"LOCATION_6037",message:"LOCATION"},DIRECTORY:{code:6038,category:e.DiagnosticCategory.Message,key:"DIRECTORY_6038",message:"DIRECTORY"},STRATEGY:{code:6039,category:e.DiagnosticCategory.Message,key:"STRATEGY_6039",message:"STRATEGY"},FILE_OR_DIRECTORY:{code:6040,category:e.DiagnosticCategory.Message,key:"FILE_OR_DIRECTORY_6040",message:"FILE OR DIRECTORY"},Compilation_complete_Watching_for_file_changes:{code:6042,category:e.DiagnosticCategory.Message,key:"Compilation_complete_Watching_for_file_changes_6042",message:"Compilation complete. Watching for file changes."},Generates_corresponding_map_file:{code:6043,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_map_file_6043",message:"Generates corresponding '.map' file."},Compiler_option_0_expects_an_argument:{code:6044,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_expects_an_argument_6044",message:"Compiler option '{0}' expects an argument."},Unterminated_quoted_string_in_response_file_0:{code:6045,category:e.DiagnosticCategory.Error,key:"Unterminated_quoted_string_in_response_file_0_6045",message:"Unterminated quoted string in response file '{0}'."},Argument_for_0_option_must_be_Colon_1:{code:6046,category:e.DiagnosticCategory.Error,key:"Argument_for_0_option_must_be_Colon_1_6046",message:"Argument for '{0}' option must be: {1}."},Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:{code:6048,category:e.DiagnosticCategory.Error,key:"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048",message:"Locale must be of the form or -. For example '{0}' or '{1}'."},Unsupported_locale_0:{code:6049,category:e.DiagnosticCategory.Error,key:"Unsupported_locale_0_6049",message:"Unsupported locale '{0}'."},Unable_to_open_file_0:{code:6050,category:e.DiagnosticCategory.Error,key:"Unable_to_open_file_0_6050",message:"Unable to open file '{0}'."},Corrupted_locale_file_0:{code:6051,category:e.DiagnosticCategory.Error,key:"Corrupted_locale_file_0_6051",message:"Corrupted locale file {0}."},Raise_error_on_expressions_and_declarations_with_an_implied_any_type:{code:6052,category:e.DiagnosticCategory.Message,key:"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052",message:"Raise error on expressions and declarations with an implied 'any' type."},File_0_not_found:{code:6053,category:e.DiagnosticCategory.Error,key:"File_0_not_found_6053",message:"File '{0}' not found."},File_0_has_unsupported_extension_The_only_supported_extensions_are_1:{code:6054,category:e.DiagnosticCategory.Error,key:"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054",message:"File '{0}' has unsupported extension. The only supported extensions are {1}."},Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:{code:6055,category:e.DiagnosticCategory.Message,key:"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055",message:"Suppress noImplicitAny errors for indexing objects lacking index signatures."},Do_not_emit_declarations_for_code_that_has_an_internal_annotation:{code:6056,category:e.DiagnosticCategory.Message,key:"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056",message:"Do not emit declarations for code that has an '@internal' annotation."},Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:{code:6058,category:e.DiagnosticCategory.Message,key:"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058",message:"Specify the root directory of input files. Use to control the output directory structure with --outDir."},File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:{code:6059,category:e.DiagnosticCategory.Error,key:"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059",message:"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."},Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:{code:6060,category:e.DiagnosticCategory.Message,key:"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060",message:"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."},NEWLINE:{code:6061,category:e.DiagnosticCategory.Message,key:"NEWLINE_6061",message:"NEWLINE"},Option_0_can_only_be_specified_in_tsconfig_json_file:{code:6064,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_specified_in_tsconfig_json_file_6064",message:"Option '{0}' can only be specified in 'tsconfig.json' file."},Enables_experimental_support_for_ES7_decorators:{code:6065,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_decorators_6065",message:"Enables experimental support for ES7 decorators."},Enables_experimental_support_for_emitting_type_metadata_for_decorators:{code:6066,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066",message:"Enables experimental support for emitting type metadata for decorators."},Enables_experimental_support_for_ES7_async_functions:{code:6068,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_async_functions_6068",message:"Enables experimental support for ES7 async functions."},Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:{code:6069,category:e.DiagnosticCategory.Message,key:"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069",message:"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."},Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:{code:6070,category:e.DiagnosticCategory.Message,key:"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070",message:"Initializes a TypeScript project and creates a tsconfig.json file."},Successfully_created_a_tsconfig_json_file:{code:6071,category:e.DiagnosticCategory.Message,key:"Successfully_created_a_tsconfig_json_file_6071",message:"Successfully created a tsconfig.json file."},Suppress_excess_property_checks_for_object_literals:{code:6072,category:e.DiagnosticCategory.Message,key:"Suppress_excess_property_checks_for_object_literals_6072",message:"Suppress excess property checks for object literals."},Stylize_errors_and_messages_using_color_and_context_experimental:{code:6073,category:e.DiagnosticCategory.Message,key:"Stylize_errors_and_messages_using_color_and_context_experimental_6073",message:"Stylize errors and messages using color and context (experimental)."},Do_not_report_errors_on_unused_labels:{code:6074,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unused_labels_6074",message:"Do not report errors on unused labels."},Report_error_when_not_all_code_paths_in_function_return_a_value:{code:6075,category:e.DiagnosticCategory.Message,key:"Report_error_when_not_all_code_paths_in_function_return_a_value_6075",message:"Report error when not all code paths in function return a value."},Report_errors_for_fallthrough_cases_in_switch_statement:{code:6076,category:e.DiagnosticCategory.Message,key:"Report_errors_for_fallthrough_cases_in_switch_statement_6076",message:"Report errors for fallthrough cases in switch statement."},Do_not_report_errors_on_unreachable_code:{code:6077,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unreachable_code_6077",message:"Do not report errors on unreachable code."},Disallow_inconsistently_cased_references_to_the_same_file:{code:6078,category:e.DiagnosticCategory.Message,key:"Disallow_inconsistently_cased_references_to_the_same_file_6078",message:"Disallow inconsistently-cased references to the same file."},Specify_library_files_to_be_included_in_the_compilation_Colon:{code:6079,category:e.DiagnosticCategory.Message,key:"Specify_library_files_to_be_included_in_the_compilation_Colon_6079",message:"Specify library files to be included in the compilation: "},Specify_JSX_code_generation_Colon_preserve_react_native_or_react:{code:6080,category:e.DiagnosticCategory.Message,key:"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080",message:"Specify JSX code generation: 'preserve', 'react-native', or 'react'."},File_0_has_an_unsupported_extension_so_skipping_it:{code:6081,category:e.DiagnosticCategory.Message,key:"File_0_has_an_unsupported_extension_so_skipping_it_6081",message:"File '{0}' has an unsupported extension, so skipping it."},Only_amd_and_system_modules_are_supported_alongside_0:{code:6082,category:e.DiagnosticCategory.Error,key:"Only_amd_and_system_modules_are_supported_alongside_0_6082",message:"Only 'amd' and 'system' modules are supported alongside --{0}."},Base_directory_to_resolve_non_absolute_module_names:{code:6083,category:e.DiagnosticCategory.Message,key:"Base_directory_to_resolve_non_absolute_module_names_6083",message:"Base directory to resolve non-absolute module names."},Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:{code:6084,category:e.DiagnosticCategory.Message,key:"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084",message:"[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"},Enable_tracing_of_the_name_resolution_process:{code:6085,category:e.DiagnosticCategory.Message,key:"Enable_tracing_of_the_name_resolution_process_6085",message:"Enable tracing of the name resolution process."},Resolving_module_0_from_1:{code:6086,category:e.DiagnosticCategory.Message,key:"Resolving_module_0_from_1_6086",message:"======== Resolving module '{0}' from '{1}'. ========"},Explicitly_specified_module_resolution_kind_Colon_0:{code:6087,category:e.DiagnosticCategory.Message,key:"Explicitly_specified_module_resolution_kind_Colon_0_6087",message:"Explicitly specified module resolution kind: '{0}'."},Module_resolution_kind_is_not_specified_using_0:{code:6088,category:e.DiagnosticCategory.Message,key:"Module_resolution_kind_is_not_specified_using_0_6088",message:"Module resolution kind is not specified, using '{0}'."},Module_name_0_was_successfully_resolved_to_1:{code:6089,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_successfully_resolved_to_1_6089",message:"======== Module name '{0}' was successfully resolved to '{1}'. ========"},Module_name_0_was_not_resolved:{code:6090,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_not_resolved_6090",message:"======== Module name '{0}' was not resolved. ========"},paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:{code:6091,category:e.DiagnosticCategory.Message,key:"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091",message:"'paths' option is specified, looking for a pattern to match module name '{0}'."},Module_name_0_matched_pattern_1:{code:6092,category:e.DiagnosticCategory.Message,key:"Module_name_0_matched_pattern_1_6092",message:"Module name '{0}', matched pattern '{1}'."},Trying_substitution_0_candidate_module_location_Colon_1:{code:6093,category:e.DiagnosticCategory.Message,key:"Trying_substitution_0_candidate_module_location_Colon_1_6093",message:"Trying substitution '{0}', candidate module location: '{1}'."},Resolving_module_name_0_relative_to_base_url_1_2:{code:6094,category:e.DiagnosticCategory.Message,key:"Resolving_module_name_0_relative_to_base_url_1_2_6094",message:"Resolving module name '{0}' relative to base url '{1}' - '{2}'."},Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:{code:6095,category:e.DiagnosticCategory.Message,key:"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095",message:"Loading module as file / folder, candidate module location '{0}', target file type '{1}'."},File_0_does_not_exist:{code:6096,category:e.DiagnosticCategory.Message,key:"File_0_does_not_exist_6096",message:"File '{0}' does not exist."},File_0_exist_use_it_as_a_name_resolution_result:{code:6097,category:e.DiagnosticCategory.Message,key:"File_0_exist_use_it_as_a_name_resolution_result_6097",message:"File '{0}' exist - use it as a name resolution result."},Loading_module_0_from_node_modules_folder_target_file_type_1:{code:6098,category:e.DiagnosticCategory.Message,key:"Loading_module_0_from_node_modules_folder_target_file_type_1_6098",message:"Loading module '{0}' from 'node_modules' folder, target file type '{1}'."},Found_package_json_at_0:{code:6099,category:e.DiagnosticCategory.Message,key:"Found_package_json_at_0_6099",message:"Found 'package.json' at '{0}'."},package_json_does_not_have_a_0_field:{code:6100,category:e.DiagnosticCategory.Message,key:"package_json_does_not_have_a_0_field_6100",message:"'package.json' does not have a '{0}' field."},package_json_has_0_field_1_that_references_2:{code:6101,category:e.DiagnosticCategory.Message,key:"package_json_has_0_field_1_that_references_2_6101",message:"'package.json' has '{0}' field '{1}' that references '{2}'."},Allow_javascript_files_to_be_compiled:{code:6102,category:e.DiagnosticCategory.Message,key:"Allow_javascript_files_to_be_compiled_6102",message:"Allow javascript files to be compiled."},Option_0_should_have_array_of_strings_as_a_value:{code:6103,category:e.DiagnosticCategory.Error,key:"Option_0_should_have_array_of_strings_as_a_value_6103",message:"Option '{0}' should have array of strings as a value."},Checking_if_0_is_the_longest_matching_prefix_for_1_2:{code:6104,category:e.DiagnosticCategory.Message,key:"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104",message:"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."},Expected_type_of_0_field_in_package_json_to_be_string_got_1:{code:6105,category:e.DiagnosticCategory.Message,key:"Expected_type_of_0_field_in_package_json_to_be_string_got_1_6105",message:"Expected type of '{0}' field in 'package.json' to be 'string', got '{1}'."},baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:{code:6106,category:e.DiagnosticCategory.Message,key:"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106",message:"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."},rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:{code:6107,category:e.DiagnosticCategory.Message,key:"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107",message:"'rootDirs' option is set, using it to resolve relative module name '{0}'."},Longest_matching_prefix_for_0_is_1:{code:6108,category:e.DiagnosticCategory.Message,key:"Longest_matching_prefix_for_0_is_1_6108",message:"Longest matching prefix for '{0}' is '{1}'."},Loading_0_from_the_root_dir_1_candidate_location_2:{code:6109,category:e.DiagnosticCategory.Message,key:"Loading_0_from_the_root_dir_1_candidate_location_2_6109",message:"Loading '{0}' from the root dir '{1}', candidate location '{2}'."},Trying_other_entries_in_rootDirs:{code:6110,category:e.DiagnosticCategory.Message,key:"Trying_other_entries_in_rootDirs_6110",message:"Trying other entries in 'rootDirs'."},Module_resolution_using_rootDirs_has_failed:{code:6111,category:e.DiagnosticCategory.Message,key:"Module_resolution_using_rootDirs_has_failed_6111",message:"Module resolution using 'rootDirs' has failed."},Do_not_emit_use_strict_directives_in_module_output:{code:6112,category:e.DiagnosticCategory.Message,key:"Do_not_emit_use_strict_directives_in_module_output_6112",message:"Do not emit 'use strict' directives in module output."},Enable_strict_null_checks:{code:6113,category:e.DiagnosticCategory.Message,key:"Enable_strict_null_checks_6113",message:"Enable strict null checks."},Unknown_option_excludes_Did_you_mean_exclude:{code:6114,category:e.DiagnosticCategory.Error,key:"Unknown_option_excludes_Did_you_mean_exclude_6114",message:"Unknown option 'excludes'. Did you mean 'exclude'?"},Raise_error_on_this_expressions_with_an_implied_any_type:{code:6115,category:e.DiagnosticCategory.Message,key:"Raise_error_on_this_expressions_with_an_implied_any_type_6115",message:"Raise error on 'this' expressions with an implied 'any' type."},Resolving_type_reference_directive_0_containing_file_1_root_directory_2:{code:6116,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"},Resolving_using_primary_search_paths:{code:6117,category:e.DiagnosticCategory.Message,key:"Resolving_using_primary_search_paths_6117",message:"Resolving using primary search paths..."},Resolving_from_node_modules_folder:{code:6118,category:e.DiagnosticCategory.Message,key:"Resolving_from_node_modules_folder_6118",message:"Resolving from node_modules folder..."},Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:{code:6119,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119",message:"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"},Type_reference_directive_0_was_not_resolved:{code:6120,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_not_resolved_6120",message:"======== Type reference directive '{0}' was not resolved. ========"},Resolving_with_primary_search_path_0:{code:6121,category:e.DiagnosticCategory.Message,key:"Resolving_with_primary_search_path_0_6121",message:"Resolving with primary search path '{0}'."},Root_directory_cannot_be_determined_skipping_primary_search_paths:{code:6122,category:e.DiagnosticCategory.Message,key:"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122",message:"Root directory cannot be determined, skipping primary search paths."},Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:{code:6123,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"},Type_declaration_files_to_be_included_in_compilation:{code:6124,category:e.DiagnosticCategory.Message,key:"Type_declaration_files_to_be_included_in_compilation_6124",message:"Type declaration files to be included in compilation."},Looking_up_in_node_modules_folder_initial_location_0:{code:6125,category:e.DiagnosticCategory.Message,key:"Looking_up_in_node_modules_folder_initial_location_0_6125",message:"Looking up in 'node_modules' folder, initial location '{0}'."},Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:{code:6126,category:e.DiagnosticCategory.Message,key:"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126",message:"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:{code:6127,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127",message:"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:{code:6128,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128",message:"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"},The_config_file_0_found_doesn_t_contain_any_source_files:{code:6129,category:e.DiagnosticCategory.Error,key:"The_config_file_0_found_doesn_t_contain_any_source_files_6129",message:"The config file '{0}' found doesn't contain any source files."},Resolving_real_path_for_0_result_1:{code:6130,category:e.DiagnosticCategory.Message,key:"Resolving_real_path_for_0_result_1_6130",message:"Resolving real path for '{0}', result '{1}'."},Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:{code:6131,category:e.DiagnosticCategory.Error,key:"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131",message:"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."},File_name_0_has_a_1_extension_stripping_it:{code:6132,category:e.DiagnosticCategory.Message,key:"File_name_0_has_a_1_extension_stripping_it_6132",message:"File name '{0}' has a '{1}' extension - stripping it."},_0_is_declared_but_never_used:{code:6133,category:e.DiagnosticCategory.Error,key:"_0_is_declared_but_never_used_6133",message:"'{0}' is declared but never used."},Report_errors_on_unused_locals:{code:6134,category:e.DiagnosticCategory.Message,key:"Report_errors_on_unused_locals_6134",message:"Report errors on unused locals."},Report_errors_on_unused_parameters:{code:6135,category:e.DiagnosticCategory.Message,key:"Report_errors_on_unused_parameters_6135",message:"Report errors on unused parameters."},The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:{code:6136,category:e.DiagnosticCategory.Message,key:"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136",message:"The maximum dependency depth to search under node_modules and load JavaScript files."},Property_0_is_declared_but_never_used:{code:6138,category:e.DiagnosticCategory.Error,key:"Property_0_is_declared_but_never_used_6138",message:"Property '{0}' is declared but never used."},Import_emit_helpers_from_tslib:{code:6139,category:e.DiagnosticCategory.Message,key:"Import_emit_helpers_from_tslib_6139",message:"Import emit helpers from 'tslib'."},Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:{code:6140,category:e.DiagnosticCategory.Error,key:"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140",message:"Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."},Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:{code:6141,category:e.DiagnosticCategory.Message,key:"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",message:'Parse in strict mode and emit "use strict" for each source file.'},Module_0_was_resolved_to_1_but_jsx_is_not_set:{code:6142,category:e.DiagnosticCategory.Error,key:"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142",message:"Module '{0}' was resolved to '{1}', but '--jsx' is not set."},Module_0_was_resolved_to_1_but_allowJs_is_not_set:{code:6143,category:e.DiagnosticCategory.Error,key:"Module_0_was_resolved_to_1_but_allowJs_is_not_set_6143",message:"Module '{0}' was resolved to '{1}', but '--allowJs' is not set."},Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:{code:6144,category:e.DiagnosticCategory.Message,key:"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144",message:"Module '{0}' was resolved as locally declared ambient module in file '{1}'."},Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:{code:6145,category:e.DiagnosticCategory.Message,key:"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145",message:"Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."},Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:{code:6146,category:e.DiagnosticCategory.Message,key:"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146",message:"Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."},Resolution_for_module_0_was_found_in_cache:{code:6147,category:e.DiagnosticCategory.Message,key:"Resolution_for_module_0_was_found_in_cache_6147",message:"Resolution for module '{0}' was found in cache."},Directory_0_does_not_exist_skipping_all_lookups_in_it:{code:6148,category:e.DiagnosticCategory.Message,key:"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148",message:"Directory '{0}' does not exist, skipping all lookups in it."},Show_diagnostic_information:{code:6149,category:e.DiagnosticCategory.Message,key:"Show_diagnostic_information_6149",message:"Show diagnostic information."},Show_verbose_diagnostic_information:{code:6150,category:e.DiagnosticCategory.Message,key:"Show_verbose_diagnostic_information_6150",message:"Show verbose diagnostic information."},Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:{code:6151,category:e.DiagnosticCategory.Message,key:"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151",message:"Emit a single file with source maps instead of having a separate file."},Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:{code:6152,category:e.DiagnosticCategory.Message,key:"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152",message:"Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."},Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:{code:6153,category:e.DiagnosticCategory.Message,key:"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153",message:"Transpile each file as a separate module (similar to 'ts.transpileModule')."},Print_names_of_generated_files_part_of_the_compilation:{code:6154,category:e.DiagnosticCategory.Message,key:"Print_names_of_generated_files_part_of_the_compilation_6154",message:"Print names of generated files part of the compilation."},Print_names_of_files_part_of_the_compilation:{code:6155,category:e.DiagnosticCategory.Message,key:"Print_names_of_files_part_of_the_compilation_6155",message:"Print names of files part of the compilation."},The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:{code:6156,category:e.DiagnosticCategory.Message,key:"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156",message:"The locale used when displaying messages to the user (e.g. 'en-us')"},Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:{code:6157,category:e.DiagnosticCategory.Message,key:"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157",message:"Do not generate custom helper functions like '__extends' in compiled output."},Do_not_include_the_default_library_file_lib_d_ts:{code:6158,category:e.DiagnosticCategory.Message,key:"Do_not_include_the_default_library_file_lib_d_ts_6158",message:"Do not include the default library file (lib.d.ts)."},Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:{code:6159,category:e.DiagnosticCategory.Message,key:"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159",message:"Do not add triple-slash references or imported modules to the list of compiled files."},Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:{code:6160,category:e.DiagnosticCategory.Message,key:"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160",message:"[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."},List_of_folders_to_include_type_definitions_from:{code:6161,category:e.DiagnosticCategory.Message,key:"List_of_folders_to_include_type_definitions_from_6161",message:"List of folders to include type definitions from."},Disable_size_limitations_on_JavaScript_projects:{code:6162,category:e.DiagnosticCategory.Message,key:"Disable_size_limitations_on_JavaScript_projects_6162",message:"Disable size limitations on JavaScript projects."},The_character_set_of_the_input_files:{code:6163,category:e.DiagnosticCategory.Message,key:"The_character_set_of_the_input_files_6163",message:"The character set of the input files."},Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:{code:6164,category:e.DiagnosticCategory.Message,key:"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164",message:"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."},Do_not_truncate_error_messages:{code:6165,category:e.DiagnosticCategory.Message,key:"Do_not_truncate_error_messages_6165",message:"Do not truncate error messages."},Output_directory_for_generated_declaration_files:{code:6166,category:e.DiagnosticCategory.Message,key:"Output_directory_for_generated_declaration_files_6166",message:"Output directory for generated declaration files."},A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:{code:6167,category:e.DiagnosticCategory.Message,key:"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167",message:"A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."},List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:{code:6168,category:e.DiagnosticCategory.Message,key:"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168",message:"List of root folders whose combined content represents the structure of the project at runtime."},Show_all_compiler_options:{code:6169,category:e.DiagnosticCategory.Message,key:"Show_all_compiler_options_6169",message:"Show all compiler options."},Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:{code:6170,category:e.DiagnosticCategory.Message,key:"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170",message:"[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"},Command_line_Options:{code:6171,category:e.DiagnosticCategory.Message,key:"Command_line_Options_6171",message:"Command-line Options"},Basic_Options:{code:6172,category:e.DiagnosticCategory.Message,key:"Basic_Options_6172",message:"Basic Options"},Strict_Type_Checking_Options:{code:6173,category:e.DiagnosticCategory.Message,key:"Strict_Type_Checking_Options_6173",message:"Strict Type-Checking Options"},Module_Resolution_Options:{code:6174,category:e.DiagnosticCategory.Message,key:"Module_Resolution_Options_6174",message:"Module Resolution Options"},Source_Map_Options:{code:6175,category:e.DiagnosticCategory.Message,key:"Source_Map_Options_6175",message:"Source Map Options"},Additional_Checks:{code:6176,category:e.DiagnosticCategory.Message,key:"Additional_Checks_6176",message:"Additional Checks"},Experimental_Options:{code:6177,category:e.DiagnosticCategory.Message,key:"Experimental_Options_6177",message:"Experimental Options"},Advanced_Options:{code:6178,category:e.DiagnosticCategory.Message,key:"Advanced_Options_6178",message:"Advanced Options"},Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:{code:6179,category:e.DiagnosticCategory.Message,key:"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179",message:"Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."},Enable_all_strict_type_checking_options:{code:6180,category:e.DiagnosticCategory.Message,key:"Enable_all_strict_type_checking_options_6180",message:"Enable all strict type-checking options."},List_of_language_service_plugins:{code:6181,category:e.DiagnosticCategory.Message,key:"List_of_language_service_plugins_6181",message:"List of language service plugins."},Scoped_package_detected_looking_in_0:{code:6182,category:e.DiagnosticCategory.Message,key:"Scoped_package_detected_looking_in_0_6182",message:"Scoped package detected, looking in '{0}'"},Variable_0_implicitly_has_an_1_type:{code:7005,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_an_1_type_7005",message:"Variable '{0}' implicitly has an '{1}' type."},Parameter_0_implicitly_has_an_1_type:{code:7006,category:e.DiagnosticCategory.Error,key:"Parameter_0_implicitly_has_an_1_type_7006",message:"Parameter '{0}' implicitly has an '{1}' type."},Member_0_implicitly_has_an_1_type:{code:7008,category:e.DiagnosticCategory.Error,key:"Member_0_implicitly_has_an_1_type_7008",message:"Member '{0}' implicitly has an '{1}' type."},new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:{code:7009,category:e.DiagnosticCategory.Error,key:"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009",message:"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."},_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:{code:7010,category:e.DiagnosticCategory.Error,key:"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010",message:"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."},Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:{code:7011,category:e.DiagnosticCategory.Error,key:"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011",message:"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."},Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7013,category:e.DiagnosticCategory.Error,key:"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013",message:"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."},Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:{code:7015,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015",message:"Element implicitly has an 'any' type because index expression is not of type 'number'."},Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:{code:7016,category:e.DiagnosticCategory.Error,key:"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016",message:"Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."},Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:{code:7017,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017",message:"Element implicitly has an 'any' type because type '{0}' has no index signature."},Object_literal_s_property_0_implicitly_has_an_1_type:{code:7018,category:e.DiagnosticCategory.Error,key:"Object_literal_s_property_0_implicitly_has_an_1_type_7018",message:"Object literal's property '{0}' implicitly has an '{1}' type."},Rest_parameter_0_implicitly_has_an_any_type:{code:7019,category:e.DiagnosticCategory.Error,key:"Rest_parameter_0_implicitly_has_an_any_type_7019",message:"Rest parameter '{0}' implicitly has an 'any[]' type."},Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7020,category:e.DiagnosticCategory.Error,key:"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020",message:"Call signature, which lacks return-type annotation, implicitly has an 'any' return type."},_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:{code:7022,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022",message:"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."},_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7023,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023",message:"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7024,category:e.DiagnosticCategory.Error,key:"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024",message:"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:{code:7025,category:e.DiagnosticCategory.Error,key:"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025",message:"Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."},JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:{code:7026,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026",message:"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."},Unreachable_code_detected:{code:7027,category:e.DiagnosticCategory.Error,key:"Unreachable_code_detected_7027",message:"Unreachable code detected."},Unused_label:{code:7028,category:e.DiagnosticCategory.Error,key:"Unused_label_7028",message:"Unused label."},Fallthrough_case_in_switch:{code:7029,category:e.DiagnosticCategory.Error,key:"Fallthrough_case_in_switch_7029",message:"Fallthrough case in switch."},Not_all_code_paths_return_a_value:{code:7030,category:e.DiagnosticCategory.Error,key:"Not_all_code_paths_return_a_value_7030",message:"Not all code paths return a value."},Binding_element_0_implicitly_has_an_1_type:{code:7031,category:e.DiagnosticCategory.Error,key:"Binding_element_0_implicitly_has_an_1_type_7031",message:"Binding element '{0}' implicitly has an '{1}' type."},Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:{code:7032,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032",message:"Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."},Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:{code:7033,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033",message:"Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."},Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:{code:7034,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034",message:"Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."},You_cannot_rename_this_element:{code:8e3,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_this_element_8000",message:"You cannot rename this element."},You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:{code:8001,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001",message:"You cannot rename elements that are defined in the standard TypeScript library."},import_can_only_be_used_in_a_ts_file:{code:8002,category:e.DiagnosticCategory.Error,key:"import_can_only_be_used_in_a_ts_file_8002",message:"'import ... =' can only be used in a .ts file."},export_can_only_be_used_in_a_ts_file:{code:8003,category:e.DiagnosticCategory.Error,key:"export_can_only_be_used_in_a_ts_file_8003",message:"'export=' can only be used in a .ts file."},type_parameter_declarations_can_only_be_used_in_a_ts_file:{code:8004,category:e.DiagnosticCategory.Error,key:"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004",message:"'type parameter declarations' can only be used in a .ts file."},implements_clauses_can_only_be_used_in_a_ts_file:{code:8005,category:e.DiagnosticCategory.Error,key:"implements_clauses_can_only_be_used_in_a_ts_file_8005",message:"'implements clauses' can only be used in a .ts file."},interface_declarations_can_only_be_used_in_a_ts_file:{code:8006,category:e.DiagnosticCategory.Error,key:"interface_declarations_can_only_be_used_in_a_ts_file_8006",message:"'interface declarations' can only be used in a .ts file."},module_declarations_can_only_be_used_in_a_ts_file:{code:8007,category:e.DiagnosticCategory.Error,key:"module_declarations_can_only_be_used_in_a_ts_file_8007",message:"'module declarations' can only be used in a .ts file."},type_aliases_can_only_be_used_in_a_ts_file:{code:8008,category:e.DiagnosticCategory.Error,key:"type_aliases_can_only_be_used_in_a_ts_file_8008",message:"'type aliases' can only be used in a .ts file."},_0_can_only_be_used_in_a_ts_file:{code:8009,category:e.DiagnosticCategory.Error,key:"_0_can_only_be_used_in_a_ts_file_8009",message:"'{0}' can only be used in a .ts file."},types_can_only_be_used_in_a_ts_file:{code:8010,category:e.DiagnosticCategory.Error,key:"types_can_only_be_used_in_a_ts_file_8010",message:"'types' can only be used in a .ts file."},type_arguments_can_only_be_used_in_a_ts_file:{code:8011,category:e.DiagnosticCategory.Error,key:"type_arguments_can_only_be_used_in_a_ts_file_8011",message:"'type arguments' can only be used in a .ts file."},parameter_modifiers_can_only_be_used_in_a_ts_file:{code:8012,category:e.DiagnosticCategory.Error,key:"parameter_modifiers_can_only_be_used_in_a_ts_file_8012",message:"'parameter modifiers' can only be used in a .ts file."},enum_declarations_can_only_be_used_in_a_ts_file:{code:8015,category:e.DiagnosticCategory.Error,key:"enum_declarations_can_only_be_used_in_a_ts_file_8015",message:"'enum declarations' can only be used in a .ts file."},type_assertion_expressions_can_only_be_used_in_a_ts_file:{code:8016,category:e.DiagnosticCategory.Error,key:"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016",message:"'type assertion expressions' can only be used in a .ts file."},Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:{code:9002,category:e.DiagnosticCategory.Error,key:"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002",message:"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."},class_expressions_are_not_currently_supported:{code:9003,category:e.DiagnosticCategory.Error,key:"class_expressions_are_not_currently_supported_9003",message:"'class' expressions are not currently supported."},Language_service_is_disabled:{code:9004,category:e.DiagnosticCategory.Error,key:"Language_service_is_disabled_9004",message:"Language service is disabled."},JSX_attributes_must_only_be_assigned_a_non_empty_expression:{code:17e3,category:e.DiagnosticCategory.Error,key:"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000",message:"JSX attributes must only be assigned a non-empty 'expression'."},JSX_elements_cannot_have_multiple_attributes_with_the_same_name:{code:17001,category:e.DiagnosticCategory.Error,key:"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001",message:"JSX elements cannot have multiple attributes with the same name."},Expected_corresponding_JSX_closing_tag_for_0:{code:17002,category:e.DiagnosticCategory.Error,key:"Expected_corresponding_JSX_closing_tag_for_0_17002",message:"Expected corresponding JSX closing tag for '{0}'."},JSX_attribute_expected:{code:17003,category:e.DiagnosticCategory.Error,key:"JSX_attribute_expected_17003",message:"JSX attribute expected."},Cannot_use_JSX_unless_the_jsx_flag_is_provided:{code:17004,category:e.DiagnosticCategory.Error,key:"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004",message:"Cannot use JSX unless the '--jsx' flag is provided."},A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:{code:17005,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005",message:"A constructor cannot contain a 'super' call when its class extends 'null'."},An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17006,category:e.DiagnosticCategory.Error,key:"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006",message:"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17007,category:e.DiagnosticCategory.Error,key:"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007",message:"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},JSX_element_0_has_no_corresponding_closing_tag:{code:17008,category:e.DiagnosticCategory.Error,key:"JSX_element_0_has_no_corresponding_closing_tag_17008",message:"JSX element '{0}' has no corresponding closing tag."},super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:{code:17009,category:e.DiagnosticCategory.Error,key:"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009",message:"'super' must be called before accessing 'this' in the constructor of a derived class."},Unknown_type_acquisition_option_0:{code:17010,category:e.DiagnosticCategory.Error,key:"Unknown_type_acquisition_option_0_17010",message:"Unknown type acquisition option '{0}'."},super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:{code:17011,category:e.DiagnosticCategory.Error,key:"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011",message:"'super' must be called before accessing a property of 'super' in the constructor of a derived class."},_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:{code:17012,category:e.DiagnosticCategory.Error,key:"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012",message:"'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"},Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:{code:17013,category:e.DiagnosticCategory.Error,key:"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013",message:"Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."},Circularity_detected_while_resolving_configuration_Colon_0:{code:18e3,category:e.DiagnosticCategory.Error,key:"Circularity_detected_while_resolving_configuration_Colon_0_18000",message:"Circularity detected while resolving configuration: {0}"},A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:{code:18001,category:e.DiagnosticCategory.Error,key:"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001",message:"A path in an 'extends' option must be relative or rooted, but '{0}' is not."},The_files_list_in_config_file_0_is_empty:{code:18002,category:e.DiagnosticCategory.Error,key:"The_files_list_in_config_file_0_is_empty_18002",message:"The 'files' list in config file '{0}' is empty."},No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:{code:18003,category:e.DiagnosticCategory.Error,key:"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003",message:"No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."},Add_missing_super_call:{code:90001,category:e.DiagnosticCategory.Message,key:"Add_missing_super_call_90001",message:"Add missing 'super()' call."},Make_super_call_the_first_statement_in_the_constructor:{code:90002,category:e.DiagnosticCategory.Message,key:"Make_super_call_the_first_statement_in_the_constructor_90002",message:"Make 'super()' call the first statement in the constructor."},Change_extends_to_implements:{code:90003,category:e.DiagnosticCategory.Message,key:"Change_extends_to_implements_90003",message:"Change 'extends' to 'implements'."},Remove_declaration_for_Colon_0:{code:90004,category:e.DiagnosticCategory.Message,key:"Remove_declaration_for_Colon_0_90004",message:"Remove declaration for: '{0}'."},Implement_interface_0:{code:90006,category:e.DiagnosticCategory.Message,key:"Implement_interface_0_90006",message:"Implement interface '{0}'."},Implement_inherited_abstract_class:{code:90007,category:e.DiagnosticCategory.Message,key:"Implement_inherited_abstract_class_90007",message:"Implement inherited abstract class."},Add_this_to_unresolved_variable:{code:90008,category:e.DiagnosticCategory.Message,key:"Add_this_to_unresolved_variable_90008",message:"Add 'this.' to unresolved variable."},Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:{code:90009,category:e.DiagnosticCategory.Error,key:"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__90009",message:"Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."},Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:{code:90010,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_90010",message:"Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."},Import_0_from_1:{code:90013,category:e.DiagnosticCategory.Message,key:"Import_0_from_1_90013",message:"Import {0} from {1}."},Change_0_to_1:{code:90014,category:e.DiagnosticCategory.Message,key:"Change_0_to_1_90014",message:"Change {0} to {1}."},Add_0_to_existing_import_declaration_from_1:{code:90015,category:e.DiagnosticCategory.Message,key:"Add_0_to_existing_import_declaration_from_1_90015",message:"Add {0} to existing import declaration from {1}."},Add_declaration_for_missing_property_0:{code:90016,category:e.DiagnosticCategory.Message,key:"Add_declaration_for_missing_property_0_90016",message:"Add declaration for missing property '{0}'."},Add_index_signature_for_missing_property_0:{code:90017,category:e.DiagnosticCategory.Message,key:"Add_index_signature_for_missing_property_0_90017",message:"Add index signature for missing property '{0}'."},Disable_checking_for_this_file:{code:90018,category:e.DiagnosticCategory.Message,key:"Disable_checking_for_this_file_90018",message:"Disable checking for this file."},Ignore_this_error_message:{code:90019,category:e.DiagnosticCategory.Message,key:"Ignore_this_error_message_90019",message:"Ignore this error message."},Initialize_property_0_in_the_constructor:{code:90020,category:e.DiagnosticCategory.Message,key:"Initialize_property_0_in_the_constructor_90020",message:"Initialize property '{0}' in the constructor."},Initialize_static_property_0:{code:90021,category:e.DiagnosticCategory.Message,key:"Initialize_static_property_0_90021",message:"Initialize static property '{0}'."},Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:{code:8017,category:e.DiagnosticCategory.Error,key:"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017",message:"Octal literal types must use ES2015 syntax. Use the syntax '{0}'."},Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:{code:8018,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018",message:"Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."},Report_errors_in_js_files:{code:8019,category:e.DiagnosticCategory.Message,key:"Report_errors_in_js_files_8019",message:"Report errors in .js files."}};}(r||(r={}));!function(e){function t(e){return e>=71}function n(e,t){if(e=1?n(e,j):n(e,B)}function a(e,t){return t>=1?n(e,J):n(e,K)}function i(e){return z[e]}function o(e){return L.get(e)}function s(e){for(var t=new Array,n=0,r=0;n127&&m(a)&&(t.push(r),r=n);}}return t.push(r),t}function c(e,t,n){return u(l(e),t,n)}function u(t,n,r){return e.Debug.assert(n>=0&&n=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function m(e){return 10===e||13===e||8232===e||8233===e}function g(e){return e>=48&&e<=57}function y(e){return e>=48&&e<=55}function h(e,t){var n=e.charCodeAt(t);switch(n){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 61:case 62:return!0;case 35:return 0===t;default:return n>127}}function v(t,n,r,a){if(void 0===a&&(a=!1),e.positionIsSynthesized(n))return n;for(;;){var i=t.charCodeAt(n);switch(i){case 13:10===t.charCodeAt(n+1)&&n++;case 10:if(n++,r)return n;continue;case 9:case 11:case 12:case 32:n++;continue;case 47:if(a)break;if(47===t.charCodeAt(n+1)){for(n+=2;n127&&p(i)){n++;continue}}return n}}function b(t,n){if(e.Debug.assert(n>=0),0===n||m(t.charCodeAt(n-1))){var r=t.charCodeAt(n);if(n+U=0&&n127&&p(g)){_&&m(g)&&(l=!0),n++;continue}break e}}return _&&(f=a(s,c,u,l,i,f)),f}function C(e,t,n,r){return T(!1,e,t,!1,n,r)}function E(e,t,n,r){return T(!1,e,t,!0,n,r)}function D(e,t,n,r,a){return T(!0,e,t,!1,n,r,a)}function N(e,t,n,r,a){return T(!0,e,t,!0,n,r,a)}function A(e,t,n,r,a,i){return i||(i=[]),i.push({kind:n,pos:e,end:t,hasTrailingNewLine:r}),i}function w(e,t){return D(e,t,A,void 0,void 0)}function O(e,t){return N(e,t,A,void 0,void 0)}function P(e){return V.test(e)?V.exec(e)[0]:void 0}function F(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&r(e,t)}function I(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&a(e,t)}function R(e,t){if(!F(e.charCodeAt(0),t))return!1;for(var n=1;n=48&&a<=57)r=16*r+a-48;else if(a>=65&&a<=70)r=16*r+a-65+10;else{if(!(a>=97&&a<=102))break;r=16*r+a-97+10;}ne++,n++;}return n=re){r+=i.substring(a,ne),le=!0,u(e.Diagnostics.Unterminated_string_literal);break}var o=i.charCodeAt(ne);if(o===n){r+=i.substring(a,ne),ne++;break}if(92===o&&t)r+=i.substring(a,ne),r+=E(),a=ne;else{if(m(o)){r+=i.substring(a,ne),le=!0,u(e.Diagnostics.Unterminated_string_literal);break}ne++;}}return r}function C(){for(var t,n=96===i.charCodeAt(ne),r=++ne,a="";;){if(ne>=re){a+=i.substring(r,ne),le=!0,u(e.Diagnostics.Unterminated_template_literal),t=n?13:16;break}var o=i.charCodeAt(ne);if(96===o){a+=i.substring(r,ne),ne++,t=n?13:16;break}if(36===o&&ne+1=re)return u(e.Diagnostics.Unexpected_end_of_text),"";var t=i.charCodeAt(ne);switch(ne++,t){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:return ne=0?String.fromCharCode(n):(u(e.Diagnostics.Hexadecimal_digit_expected),"")}function N(){var t=h(1),n=!1;return t<0?(u(e.Diagnostics.Hexadecimal_digit_expected),n=!0):t>1114111&&(u(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),ne>=re?(u(e.Diagnostics.Unexpected_end_of_text),n=!0):125===i.charCodeAt(ne)?ne++:(u(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?"":A(t)}function A(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var n=Math.floor((t-65536)/1024)+55296,r=(t-65536)%1024+56320;return String.fromCharCode(n,r)}function w(){if(ne+5=0&&I(r,n)))break;e+=i.substring(t,ne),e+=String.fromCharCode(r),t=ne+=6;}}return e+=i.substring(t,ne)}function P(){var e=se.length;if(e>=2&&e<=11){var t=se.charCodeAt(0);if(t>=97&&t<=122&&void 0!==(oe=L.get(se)))return oe}return oe=71}function R(t){e.Debug.assert(2===t||8===t,"Expected either base 2 or base 8");for(var n=0,r=0;;){var a=i.charCodeAt(ne),o=a-48;if(!g(a)||o>=t)break;n=n*t+o,ne++,r++;}return 0===r?-1:n}function M(){for(ae=ne,ue=!1,ce=!1,le=!1,_e=0;;){if(ie=ne,ne>=re)return oe=1;var t=i.charCodeAt(ne);if(35===t&&0===ne&&k(i,ne)){if(ne=S(i,ne),r)continue;return oe=6}switch(t){case 10:case 13:if(ce=!0,r){ne++;continue}return 13===t&&ne+1=0&&F(d,n)?(ne+=6,se=String.fromCharCode(d)+O(),oe=P()):(u(e.Diagnostics.Invalid_character),ne++,oe=0);default:if(F(t,n)){for(ne++;ne=re){le=!0,u(e.Diagnostics.Unterminated_regular_expression_literal);break}var o=i.charCodeAt(t);if(m(o)){le=!0,u(e.Diagnostics.Unterminated_regular_expression_literal);break}if(r)r=!1;else{if(47===o&&!a){t++;break}91===o?a=!0:92===o?r=!0:93===o&&(a=!1);}t++;}for(;t=re)return oe=1;var e=i.charCodeAt(ne);if(60===e)return 47===i.charCodeAt(ne+1)?(ne+=2,oe=28):(ne++,oe=27);if(123===e)return ne++,oe=17;for(var t=0;ne=re)return oe=1;ae=ne,ie=ne;var e=i.charCodeAt(ne);switch(e){case 9:case 11:case 12:case 32:for(;ne=0),ne=t,ae=t,ie=t,oe=0,ce=!1,se=void 0,ue=!1,le=!1;}void 0===a&&(a=0);var ne,re,ae,ie,oe,se,ce,ue,le,_e;return Y(i,s,c),{getStartPos:function(){return ae},getTextPos:function(){return ne},getToken:function(){return oe},getTokenPos:function(){return ie},getTokenText:function(){return i.substring(ie,ne)},getTokenValue:function(){return se},hasExtendedUnicodeEscape:function(){return ue},hasPrecedingLineBreak:function(){return ce},isIdentifier:function(){return 71===oe||oe>107},isReservedWord:function(){return oe>=72&&oe<=107},isUnterminated:function(){return le},getNumericLiteralFlags:function(){return _e},reScanGreaterToken:B,reScanSlashToken:K,reScanTemplateToken:j,scanJsxIdentifier:U,scanJsxAttributeValue:V,reScanJsxToken:J,scanJsxToken:z,scanJSDocToken:q,scan:M,getText:X,setText:Y,setScriptTarget:Z,setLanguageVariant:ee,setOnError:Q,setTextPos:te,tryScan:H,lookAhead:W,scanRange:G}}e.tokenIsIdentifierOrKeyword=t;var L=e.createMapFromTemplate({abstract:117,any:119,as:118,boolean:122,break:72,case:73,catch:74,class:75,continue:77,const:76,constructor:123,debugger:78,declare:124,default:79,delete:80,do:81,else:82,enum:83,export:84,extends:85,false:86,finally:87,for:88,from:140,function:89,get:125,if:90,implements:108,import:91,in:92,instanceof:93,interface:109,is:126,keyof:127,let:110,module:128,namespace:129,never:130,new:94,null:95,number:133,object:134,package:111,private:112,protected:113,public:114,readonly:131,require:132,global:141,return:96,set:135,static:115,string:136,super:97,switch:98,symbol:137,this:99,throw:100,true:101,try:102,type:138,typeof:103,undefined:139,var:104,void:105,while:106,with:107,yield:116,async:120,await:121,of:142,"{":17,"}":18,"(":19,")":20,"[":21,"]":22,".":23,"...":24,";":25,",":26,"<":27,">":29,"<=":30,">=":31,"==":32,"!=":33,"===":34,"!==":35,"=>":36,"+":37,"-":38,"**":40,"*":39,"/":41,"%":42,"++":43,"--":44,"<<":45,">":46,">>>":47,"&":48,"|":49,"^":50,"!":51,"~":52,"&&":53,"||":54,"?":55,":":56,"=":58,"+=":59,"-=":60,"*=":61,"**=":62,"/=":63,"%=":64,"<<=":65,">>=":66,">>>=":67,"&=":68,"|=":69,"^=":70,"@":57}),B=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],K=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],j=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],J=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];e.isUnicodeIdentifierStart=r;var z=function(e){var t=[];return e.forEach(function(e,n){t[e]=n;}),t}(L);e.tokenToString=i,e.stringToToken=o,e.computeLineStarts=s,e.getPositionOfLineAndCharacter=c,e.computePositionOfLineAndCharacter=u,e.getLineStarts=l,e.computeLineAndCharacterOfPosition=_,e.getLineAndCharacterOfPosition=d,e.isWhiteSpaceLike=p,e.isWhiteSpaceSingleLine=f,e.isLineBreak=m,e.isOctalDigit=y,e.couldStartTrivia=h,e.skipTrivia=v;var U="<<<<<<<".length,V=/^#!.*/;e.forEachLeadingCommentRange=C,e.forEachTrailingCommentRange=E,e.reduceEachLeadingCommentRange=D,e.reduceEachTrailingCommentRange=N,e.getLeadingCommentRanges=w,e.getTrailingCommentRanges=O,e.getShebang=P,e.isIdentifierStart=F,e.isIdentifierPart=I,e.isIdentifierText=R,e.createScanner=M;}(r||(r={}));!function(e){function t(e,t){var n=e.declarations;if(n)for(var r=0,a=n;r=0),e.getLineStarts(n)[t]}function h(t){var n=m(t),r=e.getLineAndCharacterOfPosition(n,t.pos);return n.fileName+"("+(r.line+1)+","+(r.character+1)+")"}function v(e){return e.pos}function b(e){return void 0!==e}function x(t,n){e.Debug.assert(t>=0);var r=e.getLineStarts(n),a=t,i=n.text;if(a+1===r.length)return i.length-1;var o=r[a],s=r[a+1]-1;for(e.Debug.assert(e.isLineBreak(i.charCodeAt(s)));o<=s&&e.isLineBreak(i.charCodeAt(s));)s--;return s}function k(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function S(e){return!k(e)}function T(e){return e.kind>=0&&e.kind<=142}function C(t,n,r){return k(t)?t.pos:E(t)?e.skipTrivia((n||m(t)).text,t.pos,!1,!0):r&&t.jsDoc&&t.jsDoc.length>0?C(t.jsDoc[0]):294===t.kind&&t._children.length>0?C(t._children[0],n,r):e.skipTrivia((n||m(t)).text,t.pos)}function E(e){return e.kind>=267&&e.kind<=293}function D(e){return e.kind>=283&&e.kind<=293}function N(t,n){return k(t)||!t.decorators?C(t,n):e.skipTrivia((n||m(t)).text,t.decorators.end)}function A(t,n,r){if(void 0===r&&(r=!1),k(n))return"";var a=t.text;return a.substring(r?n.pos:e.skipTrivia(a,n.pos),n.end)}function w(t,n){return k(n)?"":t.substring(e.skipTrivia(t,n.pos),n.end)}function O(e,t){return void 0===t&&(t=!1),A(m(e),e,t)}function P(t,n){if(!cn(t)&&t.parent)return A(n,t);switch(t.kind){case 9:return F('"',t.text,'"');case 13:return F("`",t.text,"`");case 14:return F("`",t.text,"${");case 15:return F("}",t.text,"${");case 16:return F("}",t.text,"`");case 8:return t.text}e.Debug.fail("Literal kind '"+t.kind+"' not accounted for.");}function F(e,t,n){return e+Sn(vn(t))+n}function I(e){return e.length>=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e}function R(t){return e.getBaseFileName(t).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function M(t){return 0!=(3&e.getCombinedNodeFlags(t))||L(t)}function L(e){var t=on$$1(e);return 226===t.kind&&260===t.parent.kind}function B(e){return e&&233===e.kind&&(9===e.name.kind||z(e))}function K(e){return j(e.valueDeclaration)}function j(e){return e&&233===e.kind&&!e.body}function J(e){return 265===e.kind||233===e.kind||ke(e)}function z(e){return!!(512&e.flags)}function U(t){if(!t||!B(t))return!1;switch(t.parent.kind){case 265:return e.isExternalModule(t.parent);case 234:return B(t.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function V(t,n){return e.isExternalModule(t)||n.isolatedModules}function q(e,t){switch(e.kind){case 265:case 235:case 260:case 233:case 214:case 215:case 216:case 152:case 151:case 153:case 154:case 228:case 186:case 187:return!0;case 207:return t&&!ke(t)}return!1}function $(e){for(var t=e.parent;t;){if(q(t,t.parent))return t;t=t.parent;}}function G(e){return 0===i(e)?"(Missing)":O(e)}function W(e){return e.declaration?G(e.declaration.parameters[0].name):void 0}function H(e){switch(e.kind){case 71:return e.text;case 9:case 8:return e.text;case 144:if(Ht(e.expression))return e.expression.text}}function X(t){switch(t.kind){case 71:return 0===i(t)?e.unescapeIdentifier(t.text):O(t);case 143:return X(t.left)+"."+X(t.right);case 179:return X(t.expression)+"."+X(t.name)}}function Y(e,t,n,r,a){return Q(m(e),e,t,n,r,a)}function Q(t,n,r,a,i,o){var s=ne(t,n);return e.createFileDiagnostic(t,s.start,s.length,r,a,i,o)}function Z(e,t){var n=m(e),r=ne(n,e);return{file:n,start:r.start,length:r.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText}}function ee(t,n){var r=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,n);r.scan();var a=r.getTokenPos();return e.createTextSpanFromBounds(a,r.getTextPos())}function te(t,n){var r=e.skipTrivia(t.text,n.pos);if(n.body&&207===n.body.kind){var a=e.getLineAndCharacterOfPosition(t,n.body.pos).line;if(a=0;case 183:return!1}}return!1}function fe(e,t){for(;e;){if(e.kind===t)return!0;e=e.parent;}return!1}function me(e){return 192===e.kind}function ge(t,n){function r(t){switch(t.kind){case 219:return n(t);case 235:case 207:case 211:case 212:case 213:case 214:case 215:case 216:case 220:case 221:case 257:case 258:case 222:case 224:case 260:return e.forEachChild(t,r)}}return r(t)}function ye(t,n){function r(t){switch(t.kind){case 197:n(t);var a=t.expression;return void(a&&r(a));case 232:case 230:case 233:case 231:case 229:case 199:return;default:if(ke(t)){var i=t.name;if(i&&144===i.kind)return void r(i.expression)}else pe(t)||e.forEachChild(t,r);}}return r(t)}function he(t){return t&&164===t.kind?t.elementType:t&&159===t.kind?e.singleOrUndefined(t.typeArguments):void 0}function ve(e){if(e)switch(e.kind){case 176:case 264:case 146:case 261:case 149:case 148:case 262:case 226:return!0}return!1}function be(e){return e&&(153===e.kind||154===e.kind)}function xe(e){return e&&(229===e.kind||199===e.kind)}function ke(e){return e&&Se(e.kind)}function Se(e){switch(e){case 152:case 186:case 228:case 187:case 151:case 150:case 153:case 154:case 155:case 156:case 157:case 160:case 161:return!0}return!1}function Te(e){switch(e.kind){case 151:case 150:case 152:case 153:case 154:case 228:case 186:return!0}return!1}function Ce(e,t){switch(e.kind){case 214:case 215:case 216:case 212:case 213:return!0;case 222:return t&&Ce(e.statement,t)}return!1}function Ee(e,t){for(;;){if(t&&t(e),222!==e.statement.kind)return e.statement;e=e.statement;}}function De(e){return e&&207===e.kind&&ke(e.parent)}function Ne(e){return e&&151===e.kind&&178===e.parent.kind}function Ae(e){return 151===e.kind&&(178===e.parent.kind||199===e.parent.kind)}function we(e){return e&&1===e.kind}function Oe(e){return e&&0===e.kind}function Pe(e){for(;;)if(!(e=e.parent)||ke(e))return e}function Fe(e){for(;;)if(!(e=e.parent)||xe(e))return e}function Ie(e,t){for(;;){if(!(e=e.parent))return;switch(e.kind){case 144:if(xe(e.parent.parent))return e;e=e.parent;break;case 147:146===e.parent.kind&&ba(e.parent.parent)?e=e.parent.parent:ba(e.parent)&&(e=e.parent);break;case 187:if(!t)continue;case 228:case 186:case 233:case 149:case 148:case 151:case 150:case 152:case 153:case 154:case 155:case 156:case 157:case 232:case 265:return e}}}function Re(e){var t=Ie(e,!1);if(t)switch(t.kind){case 152:case 228:case 186:return t}}function Me(e,t){for(;;){if(!(e=e.parent))return e;switch(e.kind){case 144:e=e.parent;break;case 228:case 186:case 187:if(!t)continue;case 149:case 148:case 151:case 150:case 152:case 153:case 154:return e;case 147:146===e.parent.kind&&ba(e.parent.parent)?e=e.parent.parent:ba(e.parent)&&(e=e.parent);}}}function Le(e){if(186===e.kind||187===e.kind){for(var t=e,n=e.parent;185===n.kind;)t=n,n=n.parent;if(181===n.kind&&n.expression===t)return n}}function Be(e){var t=e.kind;return(179===t||180===t)&&97===e.expression.kind}function Ke(e){switch(e.kind){case 159:case 277:return e.typeName;case 201:return mr(e.expression)?e.expression:void 0;case 71:case 143:return e}}function je(e){switch(e.kind){case 251:case 250:case 181:case 182:case 183:case 147:return!0;default:return!1}}function Je(e){return 183===e.kind?e.tag:Li(e)?e.tagName:e.expression}function ze(e){switch(e.kind){case 229:return!0;case 149:return 229===e.parent.kind;case 153:case 154:case 151:return void 0!==e.body&&229===e.parent.kind;case 146:return void 0!==e.parent.body&&(152===e.parent.kind||151===e.parent.kind||154===e.parent.kind)&&229===e.parent.parent.kind}return!1}function Ue(e){return void 0!==e.decorators&&ze(e)}function Ve(e){return Ue(e)||qe(e)}function qe(t){switch(t.kind){case 229:return e.forEach(t.members,Ve);case 151:case 154:return e.forEach(t.parameters,Ue)}}function $e(e){var t=e.parent;return(251===t.kind||250===t.kind||252===t.kind)&&t.tagName===e}function Ge(e){switch(e.kind){case 99:case 97:case 95:case 101:case 86:case 12:case 177:case 178:case 179:case 180:case 181:case 182:case 183:case 202:case 184:case 203:case 185:case 186:case 199:case 187:case 190:case 188:case 189:case 192:case 193:case 194:case 195:case 198:case 196:case 13:case 200:case 249:case 250:case 197:case 191:case 204:return!0;case 143:for(;143===e.parent.kind;)e=e.parent;return 162===e.parent.kind||$e(e);case 71:if(162===e.parent.kind||$e(e))return!0;case 8:case 9:case 99:var t=e.parent;switch(t.kind){case 226:case 146:case 149:case 148:case 264:case 261:case 176:return t.initializer===e;case 210:case 211:case 212:case 213:case 219:case 220:case 221:case 257:case 223:case 221:return t.expression===e;case 214:var n=t;return n.initializer===e&&227!==n.initializer.kind||n.condition===e||n.incrementor===e;case 215:case 216:var r=t;return r.initializer===e&&227!==r.initializer.kind||r.expression===e;case 184:case 202:case 205:case 144:return e===t.expression;case 147:case 256:case 255:case 263:return!0;case 201:return t.expression===e&&pr(t);default:if(Ge(t))return!0}}return!1}function We(t,n){var r=e.getModuleInstanceState(t);return 1===r||n&&2===r}function He(e){return 237===e.kind&&248===e.moduleReference.kind}function Xe(t){return e.Debug.assert(He(t)),t.moduleReference.expression}function Ye(e){return 237===e.kind&&248!==e.moduleReference.kind}function Qe(e){return Ze(e)}function Ze(e){return e&&!!(65536&e.flags)}function et(e,t){if(181!==e.kind)return!1;var n=e,r=n.expression,a=n.arguments;if(71!==r.kind||"require"!==r.text)return!1;if(1!==a.length)return!1;var i=a[0];return!t||9===i.kind||13===i.kind}function tt(e){return 39===e||34===e}function nt(e){if(e.valueDeclaration&&226===e.valueDeclaration.kind){var t=e.valueDeclaration;return t.initializer&&(186===t.initializer.kind||199===t.initializer.kind)}return!1}function rt(e){for(;ur(e,!0);)e=e.right;return e}function at(e){return oa(e)&&"exports"===e.text}function it(e){return Ma(e)&&oa(e.expression)&&"module"===e.expression.text&&"exports"===e.name.text}function ot(e){if(!Ze(e))return 0;var t=e;if(58!==t.operatorToken.kind||179!==t.left.kind)return 0;var n=t.left;if(71===n.expression.kind){var r=n.expression;return"exports"===r.text?1:"module"===r.text&&"exports"===n.name.text?2:5}if(99===n.expression.kind)return 4;if(179===n.expression.kind){var a=n.expression;if(71===a.expression.kind){if("module"===a.expression.text&&"exports"===a.name.text)return 1;if("prototype"===a.name.text)return 3}}return 0}function st(e){if(238===e.kind)return e.moduleSpecifier;if(237===e.kind){var t=e.moduleReference;if(248===t.kind)return t.expression}return 244===e.kind?e.moduleSpecifier:233===e.kind&&9===e.name.kind?e.name:void 0}function ct(e){if(237===e.kind)return e;var t=e.importClause;return t&&t.namedBindings&&240===t.namedBindings.kind?t.namedBindings:void 0}function ut(e){return 238===e.kind&&e.importClause&&!!e.importClause.name}function lt(e){if(e)switch(e.kind){case 146:case 151:case 150:case 262:case 261:case 149:case 148:return void 0!==e.questionToken}return!1}function _t(e){return 279===e.kind&&e.parameters.length>0&&281===e.parameters[0].type.kind}function dt(t){return e.map(gt(t),function(e){return e.comment})}function pt(e){var t=ft(e,286);return t&&t.length>0}function ft(t,n){var r=gt(t);if(r){for(var a=[],i=0,o=r;i0?t.types[0]:void 0}function Bt(e){var t=jt(e.heritageClauses,108);return t?t.types:void 0}function Kt(e){var t=jt(e.heritageClauses,85);return t?t.types:void 0}function jt(e,t){if(e)for(var n=0,r=e;n/gim;if(/^\/\/\/\s*1&&(_=_+r.length-1,d=c.length-t.length+e.lastOrUndefined(r));}}function o(){l||(_++,d=(c+=t).length,l=!0);}function s(e,t){n(w(e,t));}var c,u,l,_,d;return r(),{write:n,rawWrite:a,writeTextOfNode:s,writeLiteral:i,writeLine:o,increaseIndent:function(){u++;},decreaseIndent:function(){u--;},getIndent:function(){return u},getTextPos:function(){return c.length},getLine:function(){return _+1},getColumn:function(){return l?u*Cn()+1:c.length-d+1},getText:function(){return c},isAtStartOfLine:function(){return l},reset:r}}function Dn(e,t){return t.moduleName||An(e,t.fileName)}function Nn(e,t,n){var r=t.getExternalModuleFileFromDeclaration(n);if(r&&!ae(r))return Dn(e,r)}function An(t,n){var r=function(e){return t.getCanonicalFileName(e)},a=e.toPath(t.getCommonSourceDirectory(),t.getCurrentDirectory(),r),i=e.getNormalizedAbsolutePath(n,t.getCurrentDirectory()),o=e.getRelativePathToDirectoryOrUrl(a,i,a,r,!1);return e.removeFileExtension(o)}function wn(t,n,r){var a=n.getCompilerOptions();return(a.outDir?e.removeFileExtension(Ln(t,n,a.outDir)):e.removeFileExtension(t.fileName))+r}function On(t,n){var r=n.getCompilerOptions(),a=r.declarationDir||r.outDir,i=a?Ln(t,n,a):t.fileName;return e.removeFileExtension(i)+".d.ts"}function Pn(t,n){var r=t.getCompilerOptions(),a=function(e){return t.isSourceFileFromExternalLibrary(e)};if(r.outFile||r.out){var i=e.getEmitModuleKind(r),o=i===e.ModuleKind.AMD||i===e.ModuleKind.System;return e.filter(t.getSourceFiles(),function(t){return(o||!e.isExternalModule(t))&&Fn(t,r,a)})}var s=void 0===n?t.getSourceFiles():[n];return e.filter(s,function(e){return Fn(e,r,a)})}function Fn(e,t,n){return!(t.noEmitForJsFiles&&Qe(e)||ae(e)||n(e))}function In(t,n,r,a){var i=e.isArray(r)?r:Pn(t,r),o=t.getCompilerOptions();if(o.outFile||o.out)i.length&&n({jsFilePath:l=o.outFile||o.out,sourceMapFilePath:_=Rn(l,o),declarationFilePath:d=o.declaration?e.removeFileExtension(l)+".d.ts":""},e.createBundle(i),a);else for(var s=0,c=i;s0){var t=2===e.parameters.length&&Vn(e.parameters[0]);return e.parameters[t?1:0].type}}function Un(e){if(e.parameters.length){var t=e.parameters[0];if(Vn(t))return t}}function Vn(e){return qn(e.name)}function qn(e){return e&&71===e.kind&&$n(e)}function $n(e){return 99===e.originalKeywordKind}function Gn(t,n){var r,a,i,o;return Xt(n)?(r=n,153===n.kind?i=n:154===n.kind?o=n:e.Debug.fail("Accessor has wrong kind")):e.forEach(t,function(e){153!==e.kind&&154!==e.kind||rr(e,32)!==rr(n,32)||Zt(e.name)===Zt(n.name)&&(r?a||(a=e):r=e,153!==e.kind||i||(i=e),154!==e.kind||o||(o=e));}),{firstAccessor:r,secondAccessor:a,getAccessor:i,setAccessor:o}}function Wn(e,t,n,r){Hn(e,t,n.pos,r);}function Hn(e,t,n,r){r&&r.length&&n!==r[0].pos&&jn(e,n)!==jn(e,r[0].pos)&&t.writeLine();}function Xn(e,t,n,r){n!==r&&jn(e,n)!==jn(e,r)&&t.writeLine();}function Yn(e,t,n,r,a,i,o,s){if(r&&r.length>0){a&&n.write(" ");for(var c=!1,u=0,l=r;u=g+2)break}_.push(m),d=m;}if(_.length){var g=jn(n,e.lastOrUndefined(_).end);jn(n,e.skipTrivia(t,i.pos))>=g+2&&(Wn(n,r,i,u),Yn(t,n,r,_,!1,!0,o,a),l={nodePos:i.pos,detachedCommentEndPos:e.lastOrUndefined(_).end});}}return l}function Zn(t,n,r,a,i,o){if(42===t.charCodeAt(a+1))for(var s=e.computeLineAndCharacterOfPosition(n,a),c=n.length,u=void 0,l=a,_=s.line;l0){var f=p%Cn(),m=Tn((p-f)/Cn());for(r.rawWrite(m);f;)r.rawWrite(" "),f--;}else r.rawWrite("");}er(t,i,r,o,l,d),l=d;}else r.write(t.substring(a,i));}function er(e,t,n,r,a,i){var o=Math.min(t,i-1),s=e.substring(a,o).replace(/^\s+|\s+$/g,"");s?(n.write(s),o!==t&&n.writeLine()):n.writeLiteral(r);}function tr(t,n,r){for(var a=0;n=58&&e<=70}function cr(e){if(201===e.kind&&85===e.parent.token&&xe(e.parent.parent))return e.parent.parent}function ur(e,t){return Ka(e)&&(t?58===e.operatorToken.kind:sr(e.operatorToken.kind))&&$a(e.left)}function lr(e){if(ur(e,!0)){var t=e.left.kind;return 178===t||177===t}return!1}function _r(e){return dr(e.expression)}function dr(e){return 71===e.kind||!!Ma(e)&&dr(e.expression)}function pr(e){return void 0!==cr(e)}function fr(e){return 201===e.kind&&mr(e.expression)&&e.parent&&108===e.parent.token&&e.parent.parent&&xe(e.parent.parent)}function mr(e){return 71===e.kind||179===e.kind&&mr(e.expression)}function gr(e){return 143===e.parent.kind&&e.parent.right===e||179===e.parent.kind&&e.parent.name===e}function yr(e){return 178===e.kind&&0===e.properties.length}function hr(e){return 177===e.kind&&0===e.elements.length}function vr(e){return br(e)?e.valueDeclaration.localSymbol:void 0}function br(e){return e&&e.valueDeclaration&&rr(e.valueDeclaration,512)}function xr(t){return e.find(e.supportedTypescriptExtensionsForExtractExtension,function(n){return e.fileExtensionIs(t,n)})}function kr(t){for(var n=[],r=t.length,a=0;a>6|192),n.push(63&i|128)):i<65536?(n.push(i>>12|224),n.push(i>>6&63|128),n.push(63&i|128)):i<131072?(n.push(i>>18|240),n.push(i>>12&63|128),n.push(i>>6&63|128),n.push(63&i|128)):e.Debug.assert(!1,"Unexpected code point");}return n}function Sr(e){for(var t,n,r,a,i="",o=kr(e),s=0,c=o.length;s>2,n=(3&o[s])<<4|o[s+1]>>4,r=(15&o[s+1])<<2|o[s+2]>>6,a=63&o[s+2],s+1>=c?r=a=64:s+2>=c&&(a=64),i+=Yi.charAt(t)+Yi.charAt(n)+Yi.charAt(r)+Yi.charAt(a),s+=3;return i}function Tr(t){return 0===t.newLine?Qi:1===t.newLine?Zi:e.sys?e.sys.newLine:Qi}function Cr(e){return Er(e,0)}function Er(e,t){if(t<=5){var n=e.kind;if(9===n||8===n||12===n||13===n||71===n||99===n||97===n||101===n||86===n||95===n)return!0;if(179===n)return Er(e.expression,t+1);if(180===n)return Er(e.expression,t+1)&&Er(e.argumentExpression,t+1);if(192===n||193===n)return Er(e.operand,t+1);if(194===n)return 40!==e.operatorToken.kind&&Er(e.left,t+1)&&Er(e.right,t+1);if(195===n)return Er(e.condition,t+1)&&Er(e.whenTrue,t+1)&&Er(e.whenFalse,t+1);if(190===n||189===n||188===n)return Er(e.expression,t+1);if(177===n)return 0===e.elements.length;if(178===n)return 0===e.properties.length;if(181===n){if(!Er(e.expression,t+1))return!1;for(var r=0,a=e.arguments;r0?Fr(e,e.decorators.end):e}function Rr(e){return e.modifiers&&e.modifiers.length>0?Fr(e,e.modifiers.end):Ir(e)}function Mr(e){return e.pos===e.end}function Lr(e){return Mr(e)?e:Pr(e,e.pos)}function Br(e){return Mr(e)?e:Fr(e,e.end)}function Kr(t,n){return Or(t,t+e.tokenToString(n).length)}function jr(e,t){return Ur(e,e,t)}function Jr(e,t,n){return qr($r(e,n),$r(t,n),n)}function zr(e,t,n){return qr(e.end,t.end,n)}function Ur(e,t,n){return qr($r(e,n),t.end,n)}function Vr(e,t,n){return qr(e.end,$r(t,n),n)}function qr(e,t,n){return e===t||Kn(n,e)===Kn(n,t)}function $r(t,n){return e.positionIsSynthesized(t.pos)?-1:e.skipTrivia(n.text,t.pos)}function Gr(t){var n=e.getParseTreeNode(t);if(n)switch(n.parent.kind){case 232:case 233:return n===n.parent.name}return!1}function Wr(t){return e.filter(t.declarations,Hr)}function Hr(e){return void 0!==e.initializer}function Xr(e){if(e.symbol)for(var t=0,n=e.symbol.declarations;t0}function ua(e){return rn(e.kind)}function la(e){return 143===e.kind}function _a(e){return 144===e.kind}function da(e){var t=e.kind;return 143===t||71===t}function pa(e){var t=e.kind;return 71===t||9===t||8===t||144===t}function fa(e){var t=e.kind;return 71===t||9===t}function ma(e){var t=e.kind;return 71===t||174===t||175===t}function ga(e){return 145===e.kind}function ya(e){return 146===e.kind}function ha(e){return 147===e.kind}function va(e){return 151===e.kind}function ba(e){var t=e.kind;return 152===t||149===t||151===t||153===t||154===t||157===t||206===t}function xa(e){var t=e.kind;return 261===t||262===t||263===t||151===t||153===t||154===t||247===t}function ka(e){return e>=158&&e<=173||119===e||133===e||134===e||122===e||136===e||137===e||99===e||105===e||139===e||95===e||130===e||201===e}function Sa(e){return ka(e.kind)}function Ta(e){return 175===e.kind}function Ca(e){return 174===e.kind}function Ea(e){if(e){var t=e.kind;return 175===t||174===t}return!1}function Da(e){var t=e.kind;return 177===t||178===t}function Na(e){return 176===e.kind}function Aa(e){var t=e.kind;return 176===t||200===t}function wa(e){switch(e.kind){case 226:case 146:case 176:return!0}return!1}function Oa(e){return Pa(e)||Fa(e)}function Pa(e){switch(e.kind){case 174:case 178:return!0}return!1}function Fa(e){switch(e.kind){case 175:case 177:return!0}return!1}function Ia(e){return 177===e.kind}function Ra(e){return 178===e.kind}function Ma(e){return 179===e.kind}function La(e){var t=e.kind;return 179===t||143===t}function Ba(e){return 180===e.kind}function Ka(e){return 194===e.kind}function ja(e){return 195===e.kind}function Ja(e){return 181===e.kind}function za(e){var t=e.kind;return 196===t||13===t}function Ua(e){return 198===e.kind}function Va(e){return 201===e.kind}function qa(e){return 179===e||180===e||182===e||181===e||249===e||250===e||183===e||177===e||185===e||178===e||199===e||186===e||71===e||12===e||8===e||9===e||13===e||196===e||86===e||95===e||99===e||101===e||97===e||203===e||204===e}function $a(t){return qa(e.skipPartiallyEmittedExpressions(t).kind)}function Ga(e){return 192===e||193===e||188===e||189===e||190===e||191===e||184===e||qa(e)}function Wa(t){return Ga(e.skipPartiallyEmittedExpressions(t).kind)}function Ha(e){return 195===e||197===e||187===e||194===e||198===e||202===e||200===e||Ga(e)}function Xa(t){return Ha(e.skipPartiallyEmittedExpressions(t).kind)}function Ya(e){var t=e.kind;return 184===t||202===t}function Qa(e){return 296===e.kind}function Za(e){return 295===e.kind}function ei(e){return Za(e)||Qa(e)}function ti(e){return 200===e.kind}function ni(e){return 205===e.kind}function ri(e){return 207===e.kind}function ai(e){return ri(e)||Xa(e)}function ii(e){return ri(e)}function oi(e){return ci(e)||Xa(e)}function si(e){return 226===e.kind}function ci(e){return 227===e.kind}function ui(e){return 235===e.kind}function li(e){var t=e.kind;return 234===t||233===t||71===t}function _i(e){var t=e.kind;return 234===t||233===t}function di(e){var t=e.kind;return 71===t||233===t}function pi(e){return 237===e.kind}function fi(e){return 239===e.kind}function mi(e){var t=e.kind;return 241===t||240===t}function gi(e){return 242===e.kind}function yi(e){return 245===e.kind}function hi(e){return 246===e.kind}function vi(e){return 233===e.kind||232===e.kind}function bi(e){return 187===e||176===e||229===e||199===e||152===e||232===e||264===e||246===e||228===e||186===e||153===e||239===e||237===e||242===e||230===e||253===e||151===e||150===e||233===e||236===e||240===e||146===e||261===e||149===e||148===e||154===e||262===e||231===e||145===e||226===e||290===e}function xi(e){return 228===e||247===e||229===e||230===e||231===e||232===e||233===e||238===e||237===e||244===e||243===e||236===e}function ki(e){return 218===e||217===e||225===e||212===e||210===e||209===e||215===e||216===e||214===e||211===e||222===e||219===e||221===e||223===e||224===e||208===e||213===e||220===e||295===e||298===e||297===e}function Si(e){return bi(e.kind)}function Ti(e){return xi(e.kind)}function Ci(e){return ki(e.kind)}function Ei(e){var t=e.kind;return ki(t)||xi(t)||207===t}function Di(e){var t=e.kind;return 248===t||143===t||71===t}function Ni(e){return 251===e.kind}function Ai(e){return 252===e.kind}function wi(e){var t=e.kind;return 99===t||71===t||179===t}function Oi(e){var t=e.kind;return 249===t||256===t||250===t||10===t}function Pi(e){return 254===e.kind}function Fi(e){var t=e.kind;return 253===t||255===t}function Ii(e){return 255===e.kind}function Ri(e){return 253===e.kind}function Mi(e){var t=e.kind;return 9===t||256===t}function Li(e){var t=e.kind;return 251===t||250===t}function Bi(e){var t=e.kind;return 257===t||258===t}function Ki(e){return 259===e.kind}function ji(e){return 260===e.kind}function Ji(e){return 261===e.kind}function zi(e){return 262===e.kind}function Ui(e){return 264===e.kind}function Vi(e){return 265===e.kind}function qi(e){return e.watch&&e.hasOwnProperty("watch")}e.externalHelpersModuleNameText="tslib",e.getDeclarationOfKind=t,e.findDeclaration=n;var $i=[];e.getSingleLineStringWriter=r,e.releaseStringWriter=a,e.getFullWidth=i,e.hasResolvedModule=o,e.getResolvedModule=s,e.setResolvedModule=c,e.setResolvedTypeReferenceDirective=u,e.moduleResolutionIsEqualTo=l,e.typeDirectiveIsEqualTo=_,e.hasChangesInResolutions=d,e.containsParseError=p,e.getSourceFileOfNode=m,e.isStatementWithLocals=g,e.getStartPositionOfLine=y,e.nodePosToString=h,e.getStartPosOfNode=v,e.isDefined=b,e.getEndLinePosition=x,e.nodeIsMissing=k,e.nodeIsPresent=S,e.isToken=T,e.getTokenPosOfNode=C,e.isJSDocNode=E,e.isJSDocTag=D,e.getNonDecoratorTokenPosOfNode=N,e.getSourceTextOfNodeFromSourceFile=A,e.getTextOfNodeFromSourceText=w,e.getTextOfNode=O,e.getLiteralText=P,e.escapeIdentifier=I,e.makeIdentifierFromModuleName=R,e.isBlockOrCatchScoped=M,e.isCatchClauseVariableDeclarationOrBindingElement=L,e.isAmbientModule=B,e.isShorthandAmbientModuleSymbol=K,e.isBlockScopedContainerTopLevel=J,e.isGlobalScopeAugmentation=z,e.isExternalModuleAugmentation=U,e.isEffectiveExternalModule=V,e.isBlockScope=q,e.getEnclosingBlockScopeContainer=$,e.declarationNameToString=G,e.getNameFromIndexInfo=W,e.getTextOfPropertyName=H,e.entityNameToString=X,e.createDiagnosticForNode=Y,e.createDiagnosticForNodeInSourceFile=Q,e.createDiagnosticForNodeFromMessageChain=Z,e.getSpanOfTokenAtPosition=ee,e.getErrorSpanForNode=ne,e.isExternalOrCommonJsModule=re,e.isDeclarationFile=ae,e.isConstEnumDeclaration=ie,e.isConst=oe,e.isLet=se,e.isSuperCall=ce,e.isPrologueDirective=ue,e.getLeadingCommentRangesOfNode=le,e.getLeadingCommentRangesOfNodeFromText=_e,e.getJSDocCommentRanges=de,e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/,e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx=/^(\/\/\/\s*/,e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/,e.isPartOfTypeNode=pe,e.isChildOfNodeWithKind=fe,e.isPrefixUnaryExpression=me,e.forEachReturnStatement=ge,e.forEachYieldExpression=ye,e.getRestParameterElementType=he,e.isVariableLike=ve,e.isAccessor=be,e.isClassLike=xe,e.isFunctionLike=ke,e.isFunctionLikeKind=Se,e.introducesArgumentsExoticObject=Te,e.isIterationStatement=Ce,e.unwrapInnermostStatementOfLabel=Ee,e.isFunctionBlock=De,e.isObjectLiteralMethod=Ne,e.isObjectLiteralOrClassExpressionMethod=Ae,e.isIdentifierTypePredicate=we,e.isThisTypePredicate=Oe,e.getContainingFunction=Pe,e.getContainingClass=Fe,e.getThisContainer=Ie,e.getNewTargetContainer=Re,e.getSuperContainer=Me,e.getImmediatelyInvokedFunctionExpression=Le,e.isSuperProperty=Be,e.getEntityNameFromTypeNode=Ke,e.isCallLikeExpression=je,e.getInvokedExpression=Je,e.nodeCanBeDecorated=ze,e.nodeIsDecorated=Ue,e.nodeOrChildIsDecorated=Ve,e.childIsDecorated=qe,e.isJSXTagName=$e,e.isPartOfExpression=Ge,e.isInstantiatedModule=We,e.isExternalModuleImportEqualsDeclaration=He,e.getExternalModuleImportEqualsDeclarationExpression=Xe,e.isInternalModuleImportEqualsDeclaration=Ye,e.isSourceFileJavaScript=Qe,e.isInJavaScriptFile=Ze,e.isRequireCall=et,e.isSingleOrDoubleQuote=tt,e.isDeclarationOfFunctionOrClassExpression=nt,e.getRightMostAssignedExpression=rt,e.isExportsIdentifier=at,e.isModuleExportsPropertyAccessExpression=it,e.getSpecialPropertyAssignmentKind=ot,e.getExternalModuleName=st,e.getNamespaceDeclarationNode=ct,e.isDefaultImport=ut,e.hasQuestionToken=lt,e.isJSDocConstructSignature=_t,e.getCommentsFromJSDoc=dt,e.hasJSDocParameterTags=pt,e.getJSDocs=gt,e.getJSDocParameterTags=yt,e.getJSDocType=ht,e.getJSDocAugmentsTag=vt,e.getJSDocReturnTag=bt,e.getJSDocTemplateTag=xt,e.hasRestParameter=kt,e.hasDeclaredRestParameter=St,e.isRestParameter=Tt,e.isDeclaredRestParam=Ct;!function(e){e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound";}(e.AssignmentKind||(e.AssignmentKind={})),e.getAssignmentTargetKind=Et,e.isAssignmentTarget=Dt,e.isDeleteTarget=Nt,e.isNodeDescendantOf=At,e.isInAmbientContext=wt,e.isDeclarationName=Ot,e.getNameOfDeclaration=Pt,e.isLiteralComputedPropertyDeclarationName=Ft,e.isIdentifierName=It,e.isAliasSymbolDeclaration=Rt,e.exportAssignmentIsAlias=Mt,e.getClassExtendsHeritageClauseElement=Lt,e.getClassImplementsHeritageClauseElements=Bt,e.getInterfaceBaseTypeNodes=Kt,e.getHeritageClause=jt,e.tryResolveScriptReference=Jt,e.getAncestor=zt,e.getFileReferenceFromReferencePath=Ut,e.isKeyword=Vt,e.isTrivia=qt;!function(e){e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator";}(e.FunctionFlags||(e.FunctionFlags={})),e.getFunctionFlags=$t,e.isAsyncFunction=Gt,e.isNumericLiteral=Wt,e.isStringOrNumericLiteral=Ht,e.hasDynamicName=Xt,e.isDynamicName=Yt,e.isWellKnownSymbolSyntactically=Qt,e.getPropertyNameForPropertyNameNode=Zt,e.getPropertyNameForKnownSymbolName=en,e.isESSymbolIdentifier=tn,e.isPushOrUnshiftIdentifier=nn,e.isModifierKind=rn,e.isParameterDeclaration=an,e.getRootDeclaration=on$$1,e.nodeStartsNewLexicalEnvironment=sn,e.nodeIsSynthesized=cn,e.getOriginalSourceFileOrBundle=un,e.getOriginalSourceFiles=_n,e.getOriginalNodeId=dn;!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right";}(e.Associativity||(e.Associativity={})),e.getExpressionAssociativity=pn,e.getOperatorAssociativity=fn,e.getExpressionPrecedence=mn,e.getOperator=gn,e.getOperatorPrecedence=yn,e.createDiagnosticCollection=hn;var Gi=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Wi=e.createMapFromTemplate({"\0":"\\0","\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"\u2028":"\\u2028","\u2029":"\\u2029","…":"\\u0085"});e.escapeString=vn,e.isIntrinsicJsxName=xn;var Hi=/[^\u0000-\u007F]/g;e.escapeNonAsciiCharacters=Sn;var Xi=[""," "];e.getIndentString=Tn,e.getIndentSize=Cn,e.createTextWriter=En,e.getResolvedExternalModuleName=Dn,e.getExternalModuleNameFromDeclaration=Nn,e.getExternalModuleNameFromPath=An,e.getOwnEmitOutputFilePath=wn,e.getDeclarationEmitOutputFilePath=On,e.getSourceFilesToEmit=Pn,e.sourceFileMayBeEmitted=Fn,e.forEachEmittedFile=In,e.getSourceFilePathInNewDir=Ln,e.writeFile=Bn,e.getLineOfLocalPosition=Kn,e.getLineOfLocalPositionFromLineMap=jn,e.getFirstConstructorWithBody=Jn,e.getSetAccessorTypeAnnotationNode=zn,e.getThisParameter=Un,e.parameterIsThisKeyword=Vn,e.isThisIdentifier=qn,e.identifierIsThisKeyword=$n,e.getAllAccessorDeclarations=Gn,e.emitNewLineBeforeLeadingComments=Wn,e.emitNewLineBeforeLeadingCommentsOfPosition=Hn,e.emitNewLineBeforeLeadingCommentOfPosition=Xn,e.emitComments=Yn,e.emitDetachedComments=Qn,e.writeCommentRange=Zn,e.hasModifiers=nr,e.hasModifier=rr,e.getModifierFlags=ar,e.modifierToFlag=ir,e.isLogicalOperator=or,e.isAssignmentOperator=sr,e.tryGetClassExtendingExpressionWithTypeArguments=cr,e.isAssignmentExpression=ur,e.isDestructuringAssignment=lr,e.isSupportedExpressionWithTypeArguments=_r,e.isExpressionWithTypeArgumentsInClassExtendsClause=pr,e.isExpressionWithTypeArgumentsInClassImplementsClause=fr,e.isEntityNameExpression=mr,e.isRightSideOfQualifiedNameOrPropertyAccess=gr,e.isEmptyObjectLiteral=yr,e.isEmptyArrayLiteral=hr,e.getLocalSymbolForExportDefault=vr,e.tryExtractTypeScriptExtension=xr;var Yi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.convertToBase64=Sr;var Qi="\r\n",Zi="\n";e.getNewLineCharacter=Tr,e.isSimpleExpression=Cr;var eo=[];e.formatSyntaxKind=Dr,e.getRangePos=Nr,e.getRangeEnd=Ar,e.movePos=wr,e.createRange=Or,e.moveRangeEnd=Pr,e.moveRangePos=Fr,e.moveRangePastDecorators=Ir,e.moveRangePastModifiers=Rr,e.isCollapsedRange=Mr,e.collapseRangeToStart=Lr,e.collapseRangeToEnd=Br,e.createTokenRange=Kr,e.rangeIsOnSingleLine=jr,e.rangeStartPositionsAreOnSameLine=Jr,e.rangeEndPositionsAreOnSameLine=zr,e.rangeStartIsOnSameLineAsRangeEnd=Ur,e.rangeEndIsOnSameLineAsRangeStart=Vr,e.positionsAreOnSameLine=qr,e.getStartPositionOfRange=$r,e.isDeclarationNameOfEnumOrNamespace=Gr,e.getInitializedVariables=Wr,e.isMergedWithClass=Xr,e.isFirstDeclarationOfKind=Yr,e.isNodeArray=Qr,e.isNoSubstitutionTemplateLiteral=Zr,e.isLiteralKind=ea,e.isTextualLiteralKind=ta,e.isLiteralExpression=na,e.isTemplateLiteralKind=ra,e.isTemplateHead=aa,e.isTemplateMiddleOrTemplateTail=ia,e.isIdentifier=oa,e.isVoidExpression=sa,e.isGeneratedIdentifier=ca,e.isModifier=ua,e.isQualifiedName=la,e.isComputedPropertyName=_a,e.isEntityName=da,e.isPropertyName=pa,e.isModuleName=fa,e.isBindingName=ma,e.isTypeParameter=ga,e.isParameter=ya,e.isDecorator=ha,e.isMethodDeclaration=va,e.isClassElement=ba,e.isObjectLiteralElementLike=xa,e.isTypeNode=Sa,e.isArrayBindingPattern=Ta,e.isObjectBindingPattern=Ca,e.isBindingPattern=Ea,e.isAssignmentPattern=Da,e.isBindingElement=Na,e.isArrayBindingElement=Aa,e.isDeclarationBindingElement=wa,e.isBindingOrAssignmentPattern=Oa,e.isObjectBindingOrAssignmentPattern=Pa,e.isArrayBindingOrAssignmentPattern=Fa,e.isArrayLiteralExpression=Ia,e.isObjectLiteralExpression=Ra,e.isPropertyAccessExpression=Ma,e.isPropertyAccessOrQualifiedName=La,e.isElementAccessExpression=Ba,e.isBinaryExpression=Ka,e.isConditionalExpression=ja,e.isCallExpression=Ja,e.isTemplateLiteral=za,e.isSpreadExpression=Ua,e.isExpressionWithTypeArguments=Va,e.isLeftHandSideExpression=$a,e.isUnaryExpression=Wa,e.isExpression=Xa,e.isAssertionExpression=Ya,e.isPartiallyEmittedExpression=Qa,e.isNotEmittedStatement=Za,e.isNotEmittedOrPartiallyEmittedNode=ei,e.isOmittedExpression=ti,e.isTemplateSpan=ni,e.isBlock=ri,e.isConciseBody=ai,e.isFunctionBody=ii,e.isForInitializer=oi,e.isVariableDeclaration=si,e.isVariableDeclarationList=ci,e.isCaseBlock=ui,e.isModuleBody=li,e.isNamespaceBody=_i,e.isJSDocNamespaceBody=di,e.isImportEqualsDeclaration=pi,e.isImportClause=fi,e.isNamedImportBindings=mi,e.isImportSpecifier=gi,e.isNamedExports=yi,e.isExportSpecifier=hi,e.isModuleOrEnumDeclaration=vi,e.isDeclaration=Si,e.isDeclarationStatement=Ti,e.isStatementButNotDeclaration=Ci,e.isStatement=Ei,e.isModuleReference=Di,e.isJsxOpeningElement=Ni,e.isJsxClosingElement=Ai,e.isJsxTagNameExpression=wi,e.isJsxChild=Oi,e.isJsxAttributes=Pi,e.isJsxAttributeLike=Fi,e.isJsxSpreadAttribute=Ii,e.isJsxAttribute=Ri,e.isStringLiteralOrJsxExpression=Mi,e.isJsxOpeningLikeElement=Li,e.isCaseOrDefaultClause=Bi,e.isHeritageClause=Ki,e.isCatchClause=ji,e.isPropertyAssignment=Ji,e.isShorthandPropertyAssignment=zi,e.isEnumMember=Ui,e.isSourceFile=Vi,e.isWatchSet=qi;}(r||(r={})),function(e){function t(e){switch(e.target){case 5:return"lib.esnext.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function n(e){return e.start+e.length}function r(e){return 0===e.length}function a(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)}function o(e,t){return Math.max(e.start,t.start)=e.start}function u(e,t,r){var a=t+r;return t<=n(e)&&a>=e.start}function l(e,t,n,r){var a=n+r;return n<=e+t&&a>=e}function _(e,t){return t<=n(e)&&t>=e.start}function d(e,t){var r=Math.max(e.start,t.start),a=Math.min(n(e),n(t));if(r<=a)return f(r,a)}function p(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function f(e,t){return p(e,t-e)}function m(e){return p(e.span.start,e.newLength)}function g(e){return r(e.span)&&0===e.newLength}function y(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function h(t){if(0===t.length)return e.unchangedTextChangeRange;if(1===t.length)return t[0];for(var r=t[0],a=r.span.start,i=n(r.span),o=a+r.newLength,s=1;s=3&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)&&95===e.charCodeAt(2)?e.substr(1):e}e.getDefaultLibFileName=t,e.textSpanEnd=n,e.textSpanIsEmpty=r,e.textSpanContainsPosition=a,e.textSpanContainsTextSpan=i,e.textSpanOverlapsWith=o,e.textSpanOverlap=s,e.textSpanIntersectsWithTextSpan=c,e.textSpanIntersectsWith=u,e.decodedTextSpanIntersectsWith=l,e.textSpanIntersectsWithPosition=_,e.textSpanIntersection=d,e.createTextSpan=p,e.createTextSpanFromBounds=f,e.textChangeRangeNewSpan=m,e.textChangeRangeIsUnchanged=g,e.createTextChangeRange=y,e.unchangedTextChangeRange=y(p(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=h,e.getTypeParameterOwner=v,e.isParameterPropertyDeclaration=b,e.getCombinedModifierFlags=k,e.getCombinedNodeFlags=S,e.validateLocaleAndSetLanguage=T,e.getOriginalNode=C,e.isParseTreeNode=E,e.getParseTreeNode=D,e.unescapeIdentifier=N;}(r||(r={}));!function(e){function t(t){var n=e.createNode(t,-1,-1);return n.flags|=8,n}function n(t,n){return t!==n&&(Aa(t,n),oa(t,n),n.startsOnNewLine&&(t.startsOnNewLine=!0),e.aggregateTransformFlags(t)),t}function r(t,n){if(t){if(e.isNodeArray(t))return t}else t=[];var r=t;return r.pos=-1,r.end=-1,r.hasTrailingComma=n,r}function a(e){var n=t(e.kind);n.flags|=e.flags,Aa(n,e);for(var r in e)!n.hasOwnProperty(r)&&e.hasOwnProperty(r)&&(n[r]=e[r]);return n}function i(e){return"number"==typeof e?o(e+""):"boolean"==typeof e?e?h():v():"string"==typeof e?s(e):c(e)}function o(e){var n=t(8);return n.text=e,n.numericLiteralFlags=0,n}function s(e){var n=t(9);return n.text=e,n}function c(e){var t=s(e.text);return t.textSourceNode=e,t}function u(n){var r=t(71);return r.text=e.escapeIdentifier(n),r.originalKeywordKind=n?e.stringToToken(n):0,r.autoGenerateKind=0,r.autoGenerateId=0,r}function l(e){var t=u("");return t.autoGenerateKind=1,t.autoGenerateId=Pa,Pa++,e&&e(t),t}function _(){var e=u("");return e.autoGenerateKind=2,e.autoGenerateId=Pa,Pa++,e}function d(e){var t=u(e);return t.autoGenerateKind=3,t.autoGenerateId=Pa,Pa++,t}function p(e){var t=u("");return t.autoGenerateKind=4,t.autoGenerateId=Pa,t.original=e,Pa++,t}function f(e){return t(e)}function m(){return t(97)}function g(){return t(99)}function y(){return t(95)}function h(){return t(101)}function v(){return t(86)}function b(e,n){var r=t(143);return r.left=e,r.right=ea(n),r}function x(e,t,r){return e.left!==t||e.right!==r?n(b(t,r),e):e}function k(e){var n=t(144);return n.expression=e,n}function S(e,t){return e.expression!==t?n(k(t),e):e}function T(e,n,r,a){var i=t(e);return i.typeParameters=na(n),i.parameters=na(r),i.type=a,i}function C(e,t,r,a){return e.typeParameters!==t||e.parameters!==r||e.type!==a?n(T(e.kind,t,r,a),e):e}function E(e,t,n){return T(160,e,t,n)}function D(e,t,n,r){return C(e,t,n,r)}function N(e,t,n){return T(161,e,t,n)}function A(e,t,n,r){return C(e,t,n,r)}function w(e,t,n){return T(155,e,t,n)}function O(e,t,n,r){return C(e,t,n,r)}function P(e,t,n){return T(156,e,t,n)}function F(e,t,n,r){return C(e,t,n,r)}function I(e,t,n,r,a){var i=T(150,e,t,n);return i.name=ea(r),i.questionToken=a,i}function R(e,t,r,a,i,o){return e.typeParameters!==t||e.parameters!==r||e.type!==a||e.name!==i||e.questionToken!==o?n(I(t,r,a,i,o),e):e}function M(e){return t(e)}function L(){return t(169)}function B(e){var n=t(173);return n.literal=e,n}function K(e,t){return e.literal!==t?n(B(t),e):e}function j(e,n){var r=t(159);return r.typeName=ea(e),r.typeArguments=na(n),r}function J(e,t,r){return e.typeName!==t||e.typeArguments!==r?n(j(t,r),e):e}function z(e,n){var r=t(158);return r.parameterName=ea(e),r.type=n,r}function U(e,t,r){return e.parameterName!==t||e.type!==r?n(z(t,r),e):e}function V(e){var n=t(162);return n.exprName=e,n}function q(e,t){return e.exprName!==t?n(V(t),e):e}function $(e){var n=t(164);return n.elementType=e,n}function G(e,t){return e.elementType!==t?n($(t),e):e}function W(e,n){var a=t(e);return a.types=r(n),a}function H(e,t){return e.types!==t?n(W(e.kind,t),e):e}function X(e){var n=t(163);return n.members=r(e),n}function Y(e,t){return e.members!==t?n(X(t),e):e}function Q(e){var n=t(165);return n.elementTypes=r(e),n}function Z(e,t){return e.elementTypes!==t?n(Q(t),e):e}function ee(e,n,r,a){var i=t(172);return i.readonlyToken=e,i.typeParameter=n,i.questionToken=r,i.type=a,i}function te(e,t,r,a,i){return e.readonlyToken!==t||e.typeParameter!==r||e.questionToken!==a||e.type!==i?n(ee(t,r,a,i),e):e}function ne(e){var n=t(170);return n.operator=127,n.type=e,n}function re(e,t){return e.type!==t?n(ne(t),e):e}function ae(e,n){var r=t(171);return r.objectType=e,r.indexType=n,r}function ie(e,t,r){return e.objectType!==t||e.indexType!==r?n(ae(t,r),e):e}function oe(e,n,r){var a=t(145);return a.name=ea(e),a.constraint=n,a.default=r,a}function se(e,t,r,a){return e.name!==t||e.constraint!==r||e.default!==a?n(oe(t,r,a),e):e}function ce(e,n,r,a){var i=t(148);return i.name=ea(e),i.questionToken=n,i.type=r,i.initializer=a,i}function ue(e,t,r,a,i){return e.name!==t||e.questionToken!==r||e.type!==a||e.initializer!==i?n(ce(t,r,a,i),e):e}function le(e,n,a,i){var o=t(157);return o.decorators=na(e),o.modifiers=na(n),o.parameters=r(a),o.type=i,o}function _e(e,t,r,a,i){return e.parameters!==a||e.type!==i||e.decorators!==t||e.modifiers!==r?n(le(t,r,a,i),e):e}function de(n,r,a,i,o,s,c){var u=t(146);return u.decorators=na(n),u.modifiers=na(r),u.dotDotDotToken=a,u.name=ea(i),u.questionToken=o,u.type=s,u.initializer=c?e.parenthesizeExpressionForList(c):void 0,u}function pe(e,t,r,a,i,o,s,c){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==a||e.name!==i||e.questionToken!==o||e.type!==s||e.initializer!==c?n(de(t,r,a,i,e.questionToken,s,c),e):e}function fe(n){var r=t(147);return r.expression=e.parenthesizeForAccess(n),r}function me(e,t){return e.expression!==t?n(fe(t),e):e}function ge(e,n,r,a,i,o){var s=t(149);return s.decorators=na(e),s.modifiers=na(n),s.name=ea(r),s.questionToken=a,s.type=i,s.initializer=o,s}function ye(e,t,r,a,i,o){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.type!==i||e.initializer!==o?n(ge(t,r,a,e.questionToken,i,o),e):e}function he(e,n,a,i,o,s,c,u,l){var _=t(151);return _.decorators=na(e),_.modifiers=na(n),_.asteriskToken=a,_.name=ea(i),_.questionToken=o,_.typeParameters=na(s),_.parameters=r(c),_.type=u,_.body=l,_}function ve(e,t,r,a,i,o,s,c,u,l){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==a||e.name!==i||e.typeParameters!==s||e.parameters!==c||e.type!==u||e.body!==l?n(he(t,r,a,i,o,s,c,u,l),e):e}function be(e,n,a,i){var o=t(152);return o.decorators=na(e),o.modifiers=na(n),o.typeParameters=void 0,o.parameters=r(a),o.type=void 0,o.body=i,o}function xe(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==a||e.body!==i?n(be(t,r,a,i),e):e}function ke(e,n,a,i,o,s){var c=t(153);return c.decorators=na(e),c.modifiers=na(n),c.name=ea(a),c.typeParameters=void 0,c.parameters=r(i),c.type=o,c.body=s,c}function Se(e,t,r,a,i,o,s){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.parameters!==i||e.type!==o||e.body!==s?n(ke(t,r,a,i,o,s),e):e}function Te(e,n,a,i,o){var s=t(154);return s.decorators=na(e),s.modifiers=na(n),s.name=ea(a),s.typeParameters=void 0,s.parameters=r(i),s.body=o,s}function Ce(e,t,r,a,i,o){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.parameters!==i||e.body!==o?n(Te(t,r,a,i,o),e):e}function Ee(e){var n=t(174);return n.elements=r(e),n}function De(e,t){return e.elements!==t?n(Ee(t),e):e}function Ne(e){var n=t(175);return n.elements=r(e),n}function Ae(e,t){return e.elements!==t?n(Ne(t),e):e}function we(e,n,r,a){var i=t(176);return i.dotDotDotToken=e,i.propertyName=ea(n),i.name=ea(r),i.initializer=a,i}function Oe(e,t,r,a,i){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==a||e.initializer!==i?n(we(t,r,a,i),e):e}function Pe(n,a){var i=t(177);return i.elements=e.parenthesizeListElements(r(n)),a&&(i.multiLine=!0),i}function Fe(e,t){return e.elements!==t?n(Pe(t,e.multiLine),e):e}function Ie(e,n){var a=t(178);return a.properties=r(e),n&&(a.multiLine=!0),a}function Re(e,t){return e.properties!==t?n(Ie(t,e.multiLine),e):e}function Me(n,r){var a=t(179);return a.expression=e.parenthesizeForAccess(n),a.name=ea(r),ca(a,131072),a}function Le(e,t,r){return e.expression!==t||e.name!==r?n(ca(Me(t,r),sa(e)),e):e}function Be(n,r){var a=t(180);return a.expression=e.parenthesizeForAccess(n),a.argumentExpression=ta(r),a}function Ke(e,t,r){return e.expression!==t||e.argumentExpression!==r?n(Be(t,r),e):e}function je(n,a,i){var o=t(181);return o.expression=e.parenthesizeForAccess(n),o.typeArguments=na(a),o.arguments=e.parenthesizeListElements(r(i)),o}function Je(e,t,r,a){return t!==e.expression||r!==e.typeArguments||a!==e.arguments?n(je(t,r,a),e):e}function ze(n,a,i){var o=t(182);return o.expression=e.parenthesizeForNew(n),o.typeArguments=na(a),o.arguments=i?e.parenthesizeListElements(r(i)):void 0,o}function Ue(e,t,r,a){return e.expression!==t||e.typeArguments!==r||e.arguments!==a?n(ze(t,r,a),e):e}function Ve(n,r){var a=t(183);return a.tag=e.parenthesizeForAccess(n),a.template=r,a}function qe(e,t,r){return e.tag!==t||e.template!==r?n(Ve(t,r),e):e}function $e(n,r){var a=t(184);return a.type=n,a.expression=e.parenthesizePrefixOperand(r),a}function Ge(e,t,r){return e.type!==t||e.expression!==r?n($e(t,r),e):e}function We(e){var n=t(185);return n.expression=e,n}function He(e,t){return e.expression!==t?n(We(t),e):e}function Xe(e,n,a,i,o,s,c){var u=t(186);return u.modifiers=na(e),u.asteriskToken=n,u.name=ea(a),u.typeParameters=na(i),u.parameters=r(o),u.type=s,u.body=c,u}function Ye(e,t,r,a,i,o,s,c){return e.name!==a||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==i||e.parameters!==o||e.type!==s||e.body!==c?n(Xe(t,r,a,i,o,s,c),e):e}function Qe(n,a,i,o,s,c){var u=t(187);return u.modifiers=na(n),u.typeParameters=na(a),u.parameters=r(i),u.type=o,u.equalsGreaterThanToken=s||f(36),u.body=e.parenthesizeConciseBody(c),u}function Ze(e,t,r,a,i,o){return e.modifiers!==t||e.typeParameters!==r||e.parameters!==a||e.type!==i||e.body!==o?n(Qe(t,r,a,i,e.equalsGreaterThanToken,o),e):e}function et(n){var r=t(188);return r.expression=e.parenthesizePrefixOperand(n),r}function tt(e,t){return e.expression!==t?n(et(t),e):e}function nt(n){var r=t(189);return r.expression=e.parenthesizePrefixOperand(n),r}function rt(e,t){return e.expression!==t?n(nt(t),e):e}function at(n){var r=t(190);return r.expression=e.parenthesizePrefixOperand(n),r}function it(e,t){return e.expression!==t?n(at(t),e):e}function ot(n){var r=t(191);return r.expression=e.parenthesizePrefixOperand(n),r}function st(e,t){return e.expression!==t?n(ot(t),e):e}function ct(n,r){var a=t(192);return a.operator=n,a.operand=e.parenthesizePrefixOperand(r),a}function ut(e,t){return e.operand!==t?n(ct(e.operator,t),e):e}function lt(n,r){var a=t(193);return a.operand=e.parenthesizePostfixOperand(n),a.operator=r,a}function _t(e,t){return e.operand!==t?n(lt(t,e.operator),e):e}function dt(n,r,a){var i=t(194),o=ra(r),s=o.kind;return i.left=e.parenthesizeBinaryOperand(s,n,!0,void 0),i.operatorToken=o,i.right=e.parenthesizeBinaryOperand(s,a,!1,i.left),i}function pt(e,t,r){return e.left!==t||e.right!==r?n(dt(t,e.operatorToken,r),e):e}function ft(n,r,a,i,o){var s=t(195);return s.condition=e.parenthesizeForConditionalHead(n),s.questionToken=o?r:f(55),s.whenTrue=e.parenthesizeSubexpressionOfConditionalExpression(o?a:r),s.colonToken=o?i:f(56),s.whenFalse=e.parenthesizeSubexpressionOfConditionalExpression(o||a),s}function mt(e,t,r,a){return e.condition!==t||e.whenTrue!==r||e.whenFalse!==a?n(ft(t,e.questionToken,r,e.colonToken,a),e):e}function gt(e,n){var a=t(196);return a.head=e,a.templateSpans=r(n),a}function yt(e,t,r){return e.head!==t||e.templateSpans!==r?n(gt(t,r),e):e}function ht(e,n){var r=t(197);return r.asteriskToken=e&&39===e.kind?e:void 0,r.expression=e&&39!==e.kind?e:n,r}function vt(e,t,r){return e.expression!==r||e.asteriskToken!==t?n(ht(t,r),e):e}function bt(n){var r=t(198);return r.expression=e.parenthesizeExpressionForList(n),r}function xt(e,t){return e.expression!==t?n(bt(t),e):e}function kt(e,n,a,i,o){var s=t(199);return s.decorators=void 0,s.modifiers=na(e),s.name=ea(n),s.typeParameters=na(a),s.heritageClauses=na(i),s.members=r(o),s}function St(e,t,r,a,i,o){return e.modifiers!==t||e.name!==r||e.typeParameters!==a||e.heritageClauses!==i||e.members!==o?n(kt(t,r,a,i,o),e):e}function Tt(){return t(200)}function Ct(n,r){var a=t(201);return a.expression=e.parenthesizeForAccess(r),a.typeArguments=na(n),a}function Et(e,t,r){return e.typeArguments!==t||e.expression!==r?n(Ct(t,r),e):e}function Dt(e,n){var r=t(202);return r.expression=e,r.type=n,r}function Nt(e,t,r){return e.expression!==t||e.type!==r?n(Dt(t,r),e):e}function At(n){var r=t(203);return r.expression=e.parenthesizeForAccess(n),r}function wt(e,t){return e.expression!==t?n(At(t),e):e}function Ot(e,n){var r=t(205);return r.expression=e,r.literal=n,r}function Pt(e,t,r){return e.expression!==t||e.literal!==r?n(Ot(t,r),e):e}function Ft(e,n){var a=t(207);return a.statements=r(e),n&&(a.multiLine=n),a}function It(e,t){return t!==e.statements?n(Ft(t,e.multiLine),e):e}function Rt(n,r){var a=t(208);return a.decorators=void 0,a.modifiers=na(n),a.declarationList=e.isArray(r)?Lt(r):r,a}function Mt(e,t,r){return e.modifiers!==t||e.declarationList!==r?n(Rt(t,r),e):e}function Lt(e,n){var a=t(227);return a.flags|=n,a.declarations=r(e),a}function Bt(e,t){return e.declarations!==t?n(Lt(t,e.flags),e):e}function Kt(n,r,a){var i=t(226);return i.name=ea(n),i.type=r,i.initializer=void 0!==a?e.parenthesizeExpressionForList(a):void 0,i}function jt(e,t,r,a){return e.name!==t||e.type!==r||e.initializer!==a?n(Kt(t,r,a),e):e}function Jt(){return t(209)}function zt(n){var r=t(210);return r.expression=e.parenthesizeExpressionForExpressionStatement(n),r}function Ut(e,t){return e.expression!==t?n(zt(t),e):e}function Vt(e,n,r){var a=t(211);return a.expression=e,a.thenStatement=n,a.elseStatement=r,a}function qt(e,t,r,a){return e.expression!==t||e.thenStatement!==r||e.elseStatement!==a?n(Vt(t,r,a),e):e}function $t(e,n){var r=t(212);return r.statement=e,r.expression=n,r}function Gt(e,t,r){return e.statement!==t||e.expression!==r?n($t(t,r),e):e}function Wt(e,n){var r=t(213);return r.expression=e,r.statement=n,r}function Ht(e,t,r){return e.expression!==t||e.statement!==r?n(Wt(t,r),e):e}function Xt(e,n,r,a){var i=t(214);return i.initializer=e,i.condition=n,i.incrementor=r,i.statement=a,i}function Yt(e,t,r,a,i){return e.initializer!==t||e.condition!==r||e.incrementor!==a||e.statement!==i?n(Xt(t,r,a,i),e):e}function Qt(e,n,r){var a=t(215);return a.initializer=e,a.expression=n,a.statement=r,a}function Zt(e,t,r,a){return e.initializer!==t||e.expression!==r||e.statement!==a?n(Qt(t,r,a),e):e}function en(e,n,r,a){var i=t(216);return i.awaitModifier=e,i.initializer=n,i.expression=r,i.statement=a,i}function tn(e,t,r,a,i){return e.awaitModifier!==t||e.initializer!==r||e.expression!==a||e.statement!==i?n(en(t,r,a,i),e):e}function nn(e){var n=t(217);return n.label=ea(e),n}function rn(e,t){return e.label!==t?n(nn(t),e):e}function an(e){var n=t(218);return n.label=ea(e),n}function on$$1(e,t){return e.label!==t?n(an(t),e):e}function sn(e){var n=t(219);return n.expression=e,n}function cn(e,t){return e.expression!==t?n(sn(t),e):e}function un(e,n){var r=t(220);return r.expression=e,r.statement=n,r}function ln(e,t,r){return e.expression!==t||e.statement!==r?n(un(t,r),e):e}function _n(n,r){var a=t(221);return a.expression=e.parenthesizeExpressionForList(n),a.caseBlock=r,a}function dn(e,t,r){return e.expression!==t||e.caseBlock!==r?n(_n(t,r),e):e}function pn(e,n){var r=t(222);return r.label=ea(e),r.statement=n,r}function fn(e,t,r){return e.label!==t||e.statement!==r?n(pn(t,r),e):e}function mn(e){var n=t(223);return n.expression=e,n}function gn(e,t){return e.expression!==t?n(mn(t),e):e}function yn(e,n,r){var a=t(224);return a.tryBlock=e,a.catchClause=n,a.finallyBlock=r,a}function hn(e,t,r,a){return e.tryBlock!==t||e.catchClause!==r||e.finallyBlock!==a?n(yn(t,r,a),e):e}function vn(e,n,a,i,o,s,c,u){var l=t(228);return l.decorators=na(e),l.modifiers=na(n),l.asteriskToken=a,l.name=ea(i),l.typeParameters=na(o),l.parameters=r(s),l.type=c,l.body=u,l}function bn(e,t,r,a,i,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==a||e.name!==i||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?n(vn(t,r,a,i,o,s,c,u),e):e}function xn(e,n,a,i,o,s){var c=t(229);return c.decorators=na(e),c.modifiers=na(n),c.name=ea(a),c.typeParameters=na(i),c.heritageClauses=na(o),c.members=r(s),c}function kn(e,t,r,a,i,o,s){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.typeParameters!==i||e.heritageClauses!==o||e.members!==s?n(xn(t,r,a,i,o,s),e):e}function Sn(e,n,a,i){var o=t(232);return o.decorators=na(e),o.modifiers=na(n),o.name=ea(a),o.members=r(i),o}function Tn(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.members!==i?n(Sn(t,r,a,i),e):e}function Cn(e,n,r,a,i){var o=t(233);return o.flags|=i,o.decorators=na(e),o.modifiers=na(n),o.name=r,o.body=a,o}function En(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.body!==i?n(Cn(t,r,a,i,e.flags),e):e}function Dn(e){var n=t(234);return n.statements=r(e),n}function Nn(e,t){return e.statements!==t?n(Dn(t),e):e}function An(e){var n=t(235);return n.clauses=r(e),n}function wn(e,t){return e.clauses!==t?n(An(t),e):e}function On(e,n,r,a){var i=t(237);return i.decorators=na(e),i.modifiers=na(n),i.name=ea(r),i.moduleReference=a,i}function Pn(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.name!==a||e.moduleReference!==i?n(On(t,r,a,i),e):e}function Fn(e,n,r,a){var i=t(238);return i.decorators=na(e),i.modifiers=na(n),i.importClause=r,i.moduleSpecifier=a,i}function In(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.importClause!==a||e.moduleSpecifier!==i?n(Fn(t,r,a,i),e):e}function Rn(e,n){var r=t(239);return r.name=e,r.namedBindings=n,r}function Mn(e,t,r){return e.name!==t||e.namedBindings!==r?n(Rn(t,r),e):e}function Ln(e){var n=t(240);return n.name=e,n}function Bn(e,t){return e.name!==t?n(Ln(t),e):e}function Kn(e){var n=t(241);return n.elements=r(e),n}function jn(e,t){return e.elements!==t?n(Kn(t),e):e}function Jn(e,n){var r=t(242);return r.propertyName=e,r.name=n,r}function zn(e,t,r){return e.propertyName!==t||e.name!==r?n(Jn(t,r),e):e}function Un(e,n,r,a){var i=t(243);return i.decorators=na(e),i.modifiers=na(n),i.isExportEquals=r,i.expression=a,i}function Vn(e,t,r,a){return e.decorators!==t||e.modifiers!==r||e.expression!==a?n(Un(t,r,e.isExportEquals,a),e):e}function qn(e,n,r,a){var i=t(244);return i.decorators=na(e),i.modifiers=na(n),i.exportClause=r,i.moduleSpecifier=a,i}function $n(e,t,r,a,i){return e.decorators!==t||e.modifiers!==r||e.exportClause!==a||e.moduleSpecifier!==i?n(qn(t,r,a,i),e):e}function Gn(e){var n=t(245);return n.elements=r(e),n}function Wn(e,t){return e.elements!==t?n(Gn(t),e):e}function Hn(e,n){var r=t(246);return r.propertyName=ea(e),r.name=ea(n),r}function Xn(e,t,r){return e.propertyName!==t||e.name!==r?n(Hn(t,r),e):e}function Yn(e){var n=t(248);return n.expression=e,n}function Qn(e,t){return e.expression!==t?n(Yn(t),e):e}function Zn(e,n,a){var i=t(249);return i.openingElement=e,i.children=r(n),i.closingElement=a,i}function er(e,t,r,a){return e.openingElement!==t||e.children!==r||e.closingElement!==a?n(Zn(t,r,a),e):e}function tr(e,n){var r=t(250);return r.tagName=e,r.attributes=n,r}function nr(e,t,r){return e.tagName!==t||e.attributes!==r?n(tr(t,r),e):e}function rr(e,n){var r=t(251);return r.tagName=e,r.attributes=n,r}function ar(e,t,r){return e.tagName!==t||e.attributes!==r?n(rr(t,r),e):e}function ir(e){var n=t(252);return n.tagName=e,n}function or(e,t){return e.tagName!==t?n(ir(t),e):e}function sr(e){var n=t(254);return n.properties=r(e),n}function cr(e,t){return e.properties!==t?n(sr(t),e):e}function ur(e,n){var r=t(253);return r.name=e,r.initializer=n,r}function lr(e,t,r){return e.name!==t||e.initializer!==r?n(ur(t,r),e):e}function _r(e){var n=t(255);return n.expression=e,n}function dr(e,t){return e.expression!==t?n(_r(t),e):e}function pr(e,n){var r=t(256);return r.dotDotDotToken=e,r.expression=n,r}function fr(e,t){return e.expression!==t?n(pr(e.dotDotDotToken,t),e):e}function mr(e,n){var a=t(259);return a.token=e,a.types=r(n),a}function gr(e,t){return e.types!==t?n(mr(e.token,t),e):e}function yr(n,a){var i=t(257);return i.expression=e.parenthesizeExpressionForList(n),i.statements=r(a),i}function hr(e,t,r){return e.expression!==t||e.statements!==r?n(yr(t,r),e):e}function vr(e){var n=t(258);return n.statements=r(e),n}function br(e,t){return e.statements!==t?n(vr(t),e):e}function xr(e,n){var r=t(260);return r.variableDeclaration="string"==typeof e?Kt(e):e,r.block=n,r}function kr(e,t,r){return e.variableDeclaration!==t||e.block!==r?n(xr(t,r),e):e}function Sr(n,r){var a=t(261);return a.name=ea(n),a.questionToken=void 0,a.initializer=void 0!==r?e.parenthesizeExpressionForList(r):void 0,a}function Tr(e,t,r){return e.name!==t||e.initializer!==r?n(Sr(t,r),e):e}function Cr(n,r){var a=t(262);return a.name=ea(n),a.objectAssignmentInitializer=void 0!==r?e.parenthesizeExpressionForList(r):void 0,a}function Er(e,t,r){return e.name!==t||e.objectAssignmentInitializer!==r?n(Cr(t,r),e):e}function Dr(n){var r=t(263);return r.expression=void 0!==n?e.parenthesizeExpressionForList(n):void 0,r}function Nr(e,t){return e.expression!==t?n(Dr(t),e):e}function Ar(n,r){var a=t(264);return a.name=ea(n),a.initializer=r&&e.parenthesizeExpressionForList(r),a}function wr(e,t,r){return e.name!==t||e.initializer!==r?n(Ar(t,r),e):e}function Or(e,a){if(e.statements!==a){var i=t(265);return i.flags|=e.flags,i.statements=r(a),i.endOfFileToken=e.endOfFileToken,i.fileName=e.fileName,i.path=e.path,i.text=e.text,void 0!==e.amdDependencies&&(i.amdDependencies=e.amdDependencies),void 0!==e.moduleName&&(i.moduleName=e.moduleName),void 0!==e.referencedFiles&&(i.referencedFiles=e.referencedFiles),void 0!==e.typeReferenceDirectives&&(i.typeReferenceDirectives=e.typeReferenceDirectives),void 0!==e.languageVariant&&(i.languageVariant=e.languageVariant),void 0!==e.isDeclarationFile&&(i.isDeclarationFile=e.isDeclarationFile),void 0!==e.renamedDependencies&&(i.renamedDependencies=e.renamedDependencies),void 0!==e.hasNoDefaultLib&&(i.hasNoDefaultLib=e.hasNoDefaultLib),void 0!==e.languageVersion&&(i.languageVersion=e.languageVersion),void 0!==e.scriptKind&&(i.scriptKind=e.scriptKind),void 0!==e.externalModuleIndicator&&(i.externalModuleIndicator=e.externalModuleIndicator),void 0!==e.commonJsModuleIndicator&&(i.commonJsModuleIndicator=e.commonJsModuleIndicator),void 0!==e.identifiers&&(i.identifiers=e.identifiers),void 0!==e.nodeCount&&(i.nodeCount=e.nodeCount),void 0!==e.identifierCount&&(i.identifierCount=e.identifierCount),void 0!==e.symbolCount&&(i.symbolCount=e.symbolCount),void 0!==e.parseDiagnostics&&(i.parseDiagnostics=e.parseDiagnostics),void 0!==e.bindDiagnostics&&(i.bindDiagnostics=e.bindDiagnostics),void 0!==e.lineMap&&(i.lineMap=e.lineMap),void 0!==e.classifiableNames&&(i.classifiableNames=e.classifiableNames),void 0!==e.resolvedModules&&(i.resolvedModules=e.resolvedModules),void 0!==e.resolvedTypeReferenceDirectiveNames&&(i.resolvedTypeReferenceDirectiveNames=e.resolvedTypeReferenceDirectiveNames),void 0!==e.imports&&(i.imports=e.imports),void 0!==e.moduleAugmentations&&(i.moduleAugmentations=e.moduleAugmentations),n(i,e)}return e}function Pr(e){var t=a(e);return t.pos=e.pos,t.end=e.end,t.parent=e.parent,t}function Fr(e){var n=t(295);return n.original=e,oa(n,e),n}function Ir(e){var n=t(298);return n.emitNode={},n.original=e,n}function Rr(e){var n=t(297);return n.emitNode={},n.original=e,n}function Mr(e,n){var r=t(296);return r.expression=e,r.original=n,oa(r,n),r}function Lr(e,t){return e.expression!==t?n(Mr(t,e.original),e):e}function Br(t){var n=e.createNode(266);return n.sourceFiles=t,n}function Kr(e,t){return e.sourceFiles!==t?Br(t):e}function jr(e,t){return dt(e,26,t)}function Jr(e,t){return dt(e,27,t)}function zr(e,t){return dt(e,58,t)}function Ur(e,t){return dt(e,34,t)}function Vr(e,t){return dt(e,35,t)}function qr(e,t){return dt(e,37,t)}function $r(e,t){return dt(e,38,t)}function Gr(e){return lt(e,43)}function Wr(e,t){return dt(e,53,t)}function Hr(e,t){return dt(e,54,t)}function Xr(e){return ct(51,e)}function Yr(){return at(i(0))}function Qr(e){return Un(void 0,void 0,!1,e)}function Zr(e){return qn(void 0,void 0,Gn([Hn(void 0,e)]))}function ea(e){return"string"==typeof e?u(e):e}function ta(e){return"string"==typeof e||"number"==typeof e?i(e):e}function na(e){return e?r(e):void 0}function ra(e){return"number"==typeof e?f(e):e}function aa(t){var n=(t=e.getSourceFileOfNode(e.getParseTreeNode(t)))&&t.emitNode,r=n&&n.annotatedNodes;if(r)for(var a=0,i=r;a0&&(i[c-s]=u);}s>0&&(i.length-=s);}}function Na(t,n){return t===n?0:t.priority===n.priority?0:void 0===t.priority?1:void 0===n.priority?-1:e.compareValues(t.priority,n.priority)}function Aa(e,t){if(e.original=t,t){var n=t.emitNode;n&&(e.emitNode=wa(n,e.emitNode));}return e}function wa(t,n){var r=t.flags,a=t.leadingComments,i=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers;return n||(n={}),a&&(n.leadingComments=e.addRange(a.slice(),n.leadingComments)),i&&(n.trailingComments=e.addRange(i.slice(),n.trailingComments)),r&&(n.flags=r),o&&(n.commentRange=o),s&&(n.sourceMapRange=s),c&&(n.tokenSourceMapRanges=Oa(c,n.tokenSourceMapRanges)),void 0!==u&&(n.constantValue=u),l&&(n.helpers=e.addRange(n.helpers,l)),n}function Oa(e,t){t||(t=[]);for(var n in e)t[n]=e[n];return t}e.updateNode=n,e.createNodeArray=r,e.getSynthesizedClone=a,e.createLiteral=i,e.createNumericLiteral=o,e.createIdentifier=u;var Pa=0;e.createTempVariable=l,e.createLoopVariable=_,e.createUniqueName=d,e.getGeneratedNameForNode=p,e.createToken=f,e.createSuper=m,e.createThis=g,e.createNull=y,e.createTrue=h,e.createFalse=v,e.createQualifiedName=b,e.updateQualifiedName=x,e.createComputedPropertyName=k,e.updateComputedPropertyName=S,e.createSignatureDeclaration=T,e.createFunctionTypeNode=E,e.updateFunctionTypeNode=D,e.createConstructorTypeNode=N,e.updateConstructorTypeNode=A,e.createCallSignatureDeclaration=w,e.updateCallSignatureDeclaration=O,e.createConstructSignatureDeclaration=P,e.updateConstructSignatureDeclaration=F,e.createMethodSignature=I,e.updateMethodSignature=R,e.createKeywordTypeNode=M,e.createThisTypeNode=L,e.createLiteralTypeNode=B,e.updateLiteralTypeNode=K,e.createTypeReferenceNode=j,e.updateTypeReferenceNode=J,e.createTypePredicateNode=z,e.updateTypePredicateNode=U,e.createTypeQueryNode=V,e.updateTypeQueryNode=q,e.createArrayTypeNode=$,e.updateArrayTypeNode=G,e.createUnionOrIntersectionTypeNode=W,e.updateUnionOrIntersectionTypeNode=H,e.createTypeLiteralNode=X,e.updateTypeLiteralNode=Y,e.createTupleTypeNode=Q,e.updateTypleTypeNode=Z,e.createMappedTypeNode=ee,e.updateMappedTypeNode=te,e.createTypeOperatorNode=ne,e.updateTypeOperatorNode=re,e.createIndexedAccessTypeNode=ae,e.updateIndexedAccessTypeNode=ie,e.createTypeParameterDeclaration=oe,e.updateTypeParameterDeclaration=se,e.createPropertySignature=ce,e.updatePropertySignature=ue,e.createIndexSignatureDeclaration=le,e.updateIndexSignatureDeclaration=_e,e.createParameter=de,e.updateParameter=pe,e.createDecorator=fe,e.updateDecorator=me,e.createProperty=ge,e.updateProperty=ye,e.createMethodDeclaration=he,e.updateMethod=ve,e.createConstructor=be,e.updateConstructor=xe,e.createGetAccessor=ke,e.updateGetAccessor=Se,e.createSetAccessor=Te,e.updateSetAccessor=Ce,e.createObjectBindingPattern=Ee,e.updateObjectBindingPattern=De,e.createArrayBindingPattern=Ne,e.updateArrayBindingPattern=Ae,e.createBindingElement=we,e.updateBindingElement=Oe,e.createArrayLiteral=Pe,e.updateArrayLiteral=Fe,e.createObjectLiteral=Ie,e.updateObjectLiteral=Re,e.createPropertyAccess=Me,e.updatePropertyAccess=Le,e.createElementAccess=Be,e.updateElementAccess=Ke,e.createCall=je,e.updateCall=Je,e.createNew=ze,e.updateNew=Ue,e.createTaggedTemplate=Ve,e.updateTaggedTemplate=qe,e.createTypeAssertion=$e,e.updateTypeAssertion=Ge,e.createParen=We,e.updateParen=He,e.createFunctionExpression=Xe,e.updateFunctionExpression=Ye,e.createArrowFunction=Qe,e.updateArrowFunction=Ze,e.createDelete=et,e.updateDelete=tt,e.createTypeOf=nt,e.updateTypeOf=rt,e.createVoid=at,e.updateVoid=it,e.createAwait=ot,e.updateAwait=st,e.createPrefix=ct,e.updatePrefix=ut,e.createPostfix=lt,e.updatePostfix=_t,e.createBinary=dt,e.updateBinary=pt,e.createConditional=ft,e.updateConditional=mt,e.createTemplateExpression=gt,e.updateTemplateExpression=yt,e.createYield=ht,e.updateYield=vt,e.createSpread=bt,e.updateSpread=xt,e.createClassExpression=kt,e.updateClassExpression=St,e.createOmittedExpression=Tt,e.createExpressionWithTypeArguments=Ct,e.updateExpressionWithTypeArguments=Et,e.createAsExpression=Dt,e.updateAsExpression=Nt,e.createNonNullExpression=At,e.updateNonNullExpression=wt,e.createTemplateSpan=Ot,e.updateTemplateSpan=Pt,e.createBlock=Ft,e.updateBlock=It,e.createVariableStatement=Rt,e.updateVariableStatement=Mt,e.createVariableDeclarationList=Lt,e.updateVariableDeclarationList=Bt,e.createVariableDeclaration=Kt,e.updateVariableDeclaration=jt,e.createEmptyStatement=Jt,e.createStatement=zt,e.updateStatement=Ut,e.createIf=Vt,e.updateIf=qt,e.createDo=$t,e.updateDo=Gt,e.createWhile=Wt,e.updateWhile=Ht,e.createFor=Xt,e.updateFor=Yt,e.createForIn=Qt,e.updateForIn=Zt,e.createForOf=en,e.updateForOf=tn,e.createContinue=nn,e.updateContinue=rn,e.createBreak=an,e.updateBreak=on$$1,e.createReturn=sn,e.updateReturn=cn,e.createWith=un,e.updateWith=ln,e.createSwitch=_n,e.updateSwitch=dn,e.createLabel=pn,e.updateLabel=fn,e.createThrow=mn,e.updateThrow=gn,e.createTry=yn,e.updateTry=hn,e.createFunctionDeclaration=vn,e.updateFunctionDeclaration=bn,e.createClassDeclaration=xn,e.updateClassDeclaration=kn,e.createEnumDeclaration=Sn,e.updateEnumDeclaration=Tn,e.createModuleDeclaration=Cn,e.updateModuleDeclaration=En,e.createModuleBlock=Dn,e.updateModuleBlock=Nn,e.createCaseBlock=An,e.updateCaseBlock=wn,e.createImportEqualsDeclaration=On,e.updateImportEqualsDeclaration=Pn,e.createImportDeclaration=Fn,e.updateImportDeclaration=In,e.createImportClause=Rn,e.updateImportClause=Mn,e.createNamespaceImport=Ln,e.updateNamespaceImport=Bn,e.createNamedImports=Kn,e.updateNamedImports=jn,e.createImportSpecifier=Jn,e.updateImportSpecifier=zn,e.createExportAssignment=Un,e.updateExportAssignment=Vn,e.createExportDeclaration=qn,e.updateExportDeclaration=$n,e.createNamedExports=Gn,e.updateNamedExports=Wn,e.createExportSpecifier=Hn,e.updateExportSpecifier=Xn,e.createExternalModuleReference=Yn,e.updateExternalModuleReference=Qn,e.createJsxElement=Zn,e.updateJsxElement=er,e.createJsxSelfClosingElement=tr,e.updateJsxSelfClosingElement=nr,e.createJsxOpeningElement=rr,e.updateJsxOpeningElement=ar,e.createJsxClosingElement=ir,e.updateJsxClosingElement=or,e.createJsxAttributes=sr,e.updateJsxAttributes=cr,e.createJsxAttribute=ur,e.updateJsxAttribute=lr,e.createJsxSpreadAttribute=_r,e.updateJsxSpreadAttribute=dr,e.createJsxExpression=pr,e.updateJsxExpression=fr,e.createHeritageClause=mr,e.updateHeritageClause=gr,e.createCaseClause=yr,e.updateCaseClause=hr,e.createDefaultClause=vr,e.updateDefaultClause=br,e.createCatchClause=xr,e.updateCatchClause=kr,e.createPropertyAssignment=Sr,e.updatePropertyAssignment=Tr,e.createShorthandPropertyAssignment=Cr,e.updateShorthandPropertyAssignment=Er,e.createSpreadAssignment=Dr,e.updateSpreadAssignment=Nr,e.createEnumMember=Ar,e.updateEnumMember=wr,e.updateSourceFileNode=Or,e.getMutableClone=Pr,e.createNotEmittedStatement=Fr,e.createEndOfDeclarationMarker=Ir,e.createMergeDeclarationMarker=Rr,e.createPartiallyEmittedExpression=Mr,e.updatePartiallyEmittedExpression=Lr,e.createBundle=Br,e.updateBundle=Kr,e.createComma=jr,e.createLessThan=Jr,e.createAssignment=zr,e.createStrictEquality=Ur,e.createStrictInequality=Vr,e.createAdd=qr,e.createSubtract=$r,e.createPostfixIncrement=Gr,e.createLogicalAnd=Wr,e.createLogicalOr=Hr,e.createLogicalNot=Xr,e.createVoidZero=Yr,e.createExportDefault=Qr,e.createExternalModuleExport=Zr,e.disposeEmitNodes=aa,e.getOrCreateEmitNode=ia,e.setTextRange=oa,e.getEmitFlags=sa,e.setEmitFlags=ca,e.getSourceMapRange=ua,e.setSourceMapRange=la,e.getTokenSourceMapRange=_a,e.setTokenSourceMapRange=da,e.getCommentRange=pa,e.setCommentRange=fa,e.getSyntheticLeadingComments=ma,e.setSyntheticLeadingComments=ga,e.addSyntheticLeadingComment=ya,e.getSyntheticTrailingComments=ha,e.setSyntheticTrailingComments=va,e.addSyntheticTrailingComment=ba,e.getConstantValue=xa,e.setConstantValue=ka,e.addEmitHelper=Sa,e.addEmitHelpers=Ta,e.removeEmitHelper=Ca,e.getEmitHelpers=Ea,e.moveEmitHelpers=Da,e.compareEmitHelpers=Na,e.setOriginalNode=Aa;}(r||(r={})),function(e){function t(t,n){return"undefined"===n?e.createStrictEquality(t,e.createVoidZero()):e.createStrictEquality(e.createTypeOf(t),e.createLiteral(n))}function n(t,n,r){if(e.isComputedPropertyName(n))return e.setTextRange(e.createElementAccess(t,n.expression),r);var a=e.setTextRange(e.isIdentifier(n)?e.createPropertyAccess(t,n):e.createElementAccess(t,n),n);return e.getOrCreateEmitNode(a).flags|=64,a}function r(t,n,r,a){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"call"),void 0,[n].concat(r)),a)}function a(t,n,r,a){return e.setTextRange(e.createCall(e.createPropertyAccess(t,"apply"),void 0,[n,r]),a)}function i(t,n){var r=[];return void 0!==n&&r.push("number"==typeof n?e.createLiteral(n):n),e.createCall(e.createPropertyAccess(t,"slice"),void 0,r)}function o(t,n){return e.createCall(e.createPropertyAccess(t,"concat"),void 0,n)}function s(t,n,r){return e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Math"),"pow"),void 0,[t,n]),r)}function c(t,n){var r=e.createIdentifier(t||"React");return r.flags&=-9,r.parent=e.getParseTreeNode(n),r}function u(t,n){if(e.isQualifiedName(t)){var r=u(t.left,n),a=e.createIdentifier(t.right.text);return a.text=t.right.text,e.createPropertyAccess(r,a)}return c(t.text,n)}function l(t,n,r){return t?u(t,r):e.createPropertyAccess(c(n,r),"createElement")}function _(t,n,r,a,i,o,s){var c=[r];if(a&&c.push(a),i&&i.length>0)if(a||c.push(e.createNull()),i.length>1)for(var u=0,_=i;u<_.length;u++){var d=_[u];d.startsOnNewLine=!0,c.push(d);}else c.push(i[0]);return e.setTextRange(e.createCall(l(t,n,o),void 0,c),s)}function d(t){return e.setEmitFlags(e.createIdentifier(t),4098)}function p(t,n,r){return t.requestEmitHelper(Re),e.setTextRange(e.createCall(d("__values"),void 0,[n]),r)}function f(t,n,r,a){return t.requestEmitHelper(Me),e.setTextRange(e.createCall(d("__read"),void 0,void 0!==r?[n,e.createLiteral(r)]:[n]),a)}function m(t,n,r){return t.requestEmitHelper(Me),t.requestEmitHelper(Le),e.setTextRange(e.createCall(d("__spread"),void 0,n),r)}function g(t,n){if(e.isVariableDeclarationList(t)){var r=e.firstOrUndefined(t.declarations),a=e.updateVariableDeclaration(r,r.name,void 0,n);return e.setTextRange(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[a])),t)}var i=e.setTextRange(e.createAssignment(t,n),t);return e.setTextRange(e.createStatement(i),t)}function y(t,n){return e.isBlock(t)?e.updateBlock(t,e.setTextRange(e.createNodeArray([n].concat(t.statements)),t.statements)):e.createBlock(e.createNodeArray([t,n]),!0)}function h(t,n,r){if(!n)return t;var a=e.updateLabel(n,n.label,222===n.statement.kind?h(t,n.statement):t);return r&&r(n),a}function v(e,t){var n=le(e);switch(n.kind){case 71:return t;case 99:case 8:case 9:return!1;case 177:return 0!==n.elements.length;case 178:return n.properties.length>0;default:return!0}}function b(t,n,r,a){var i,o,s=ue(t,7);if(e.isSuperProperty(s))i=e.createThis(),o=s;else if(97===s.kind)i=e.createThis(),o=r<2?e.setTextRange(e.createIdentifier("_super"),s):s;else if(4096&e.getEmitFlags(s))i=e.createVoidZero(),o=ee(s);else switch(s.kind){case 179:v(s.expression,a)?(i=e.createTempVariable(n),o=e.createPropertyAccess(e.setTextRange(e.createAssignment(i,s.expression),s.expression),s.name),e.setTextRange(o,s)):(i=s.expression,o=s);break;case 180:v(s.expression,a)?(i=e.createTempVariable(n),o=e.createElementAccess(e.setTextRange(e.createAssignment(i,s.expression),s.expression),s.argumentExpression),e.setTextRange(o,s)):(i=s.expression,o=s);break;default:i=e.createVoidZero(),o=ee(t);}return{target:o,thisArg:i}}function x(t){return e.reduceLeft(t,e.createComma)}function k(t){if(e.isQualifiedName(t)){var n=k(t.left),r=e.getMutableClone(t.right);return e.setTextRange(e.createPropertyAccess(n,r),t)}return e.getMutableClone(t)}function S(t){return e.isIdentifier(t)?e.createLiteral(t):e.isComputedPropertyName(t)?e.getMutableClone(t.expression):e.getMutableClone(t)}function T(e,t,n){switch(t.kind){case 153:case 154:return C(e.properties,t,n,e.multiLine);case 261:return E(t,n);case 262:return D(t,n);case 151:return N(t,n)}}function C(t,n,r,a){var i=e.getAllAccessorDeclarations(t,n),o=i.firstAccessor,s=i.getAccessor,c=i.setAccessor;if(n===o){var u=[];if(s){var l=e.createFunctionExpression(s.modifiers,void 0,void 0,void 0,s.parameters,void 0,s.body);e.setTextRange(l,s),e.setOriginalNode(l,s);var _=e.createPropertyAssignment("get",l);u.push(_);}if(c){var d=e.createFunctionExpression(c.modifiers,void 0,void 0,void 0,c.parameters,void 0,c.body);e.setTextRange(d,c),e.setOriginalNode(d,c);var p=e.createPropertyAssignment("set",d);u.push(p);}u.push(e.createPropertyAssignment("enumerable",e.createTrue())),u.push(e.createPropertyAssignment("configurable",e.createTrue()));var f=e.setTextRange(e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"defineProperty"),void 0,[r,S(n.name),e.createObjectLiteral(u,a)]),o);return e.aggregateTransformFlags(f)}}function E(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(n(r,t.name,t.name),t.initializer),t),t))}function D(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(n(r,t.name,t.name),e.getSynthesizedClone(t.name)),t),t))}function N(t,r){return e.aggregateTransformFlags(e.setOriginalNode(e.setTextRange(e.createAssignment(n(r,t.name,t.name),e.setOriginalNode(e.setTextRange(e.createFunctionExpression(t.modifiers,t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t))}function A(e,t,n){return M(e,t,n,49152)}function w(t){return 0!=(32768&e.getEmitFlags(t))}function O(e,t,n){return M(e,t,n,16384)}function P(t){return 0!=(16384&e.getEmitFlags(t))}function F(e,t,n){return M(e,t,n,8192)}function I(t){return 0!=(8192&e.getEmitFlags(t))}function R(e,t,n){return M(e,t,n)}function M(t,n,r,a){var i=e.getNameOfDeclaration(t);if(i&&e.isIdentifier(i)&&!e.isGeneratedIdentifier(i)){var o=e.getMutableClone(i);return a|=e.getEmitFlags(i),r||(a|=48),n||(a|=1536),a&&e.setEmitFlags(o,a),o}return e.getGeneratedNameForNode(t)}function L(t,n,r,a){return t&&e.hasModifier(n,1)?B(t,M(n),r,a):F(n,r,a)}function B(t,n,r,a){var i=e.createPropertyAccess(t,e.nodeIsSynthesized(n)?n:e.getSynthesizedClone(n));e.setTextRange(i,n);var o;return a||(o|=48),r||(o|=1536),o&&e.setEmitFlags(i,o),i}function K(t,n){return e.isBlock(t)?t:e.setTextRange(e.createBlock([e.setTextRange(e.createReturn(t),t)],n),t)}function j(e){return"use strict"===e.expression.text}function J(e,t,n,r){return U(e,t,z(e,t,n),r)}function z(t,n,r){e.Debug.assert(0===t.length,"Prologue directives should be at the first statement in the target statements array");for(var a=!1,i=0,o=n.length;ie.getOperatorPrecedence(194,26)?t:e.setTextRange(e.createParen(t),t)}function ie(t){var n=de(t);if(e.isCallExpression(n)){var r=n.expression,a=de(r).kind;if(186===a||187===a){var i=e.getMutableClone(n);return i.expression=e.setTextRange(e.createParen(r),r),oe(t,i)}}else{var o=se(n).kind;if(178===o||186===o)return e.setTextRange(e.createParen(t),t)}return t}function oe(t,n){if(e.isPartiallyEmittedExpression(t)){var r=e.getMutableClone(t);return r.expression=oe(r.expression,n),r}return n}function se(e){for(;;){switch(e.kind){case 193:e=e.operand;continue;case 194:e=e.left;continue;case 195:e=e.condition;continue;case 181:case 180:case 179:case 296:e=e.expression;continue}return e}}function ce(t){return e.isBlock(t)||178!==se(t).kind?t:e.setTextRange(e.createParen(t),t)}function ue(e,t){void 0===t&&(t=7);var n;do{n=e,1&t&&(e=le(e)),2&t&&(e=_e(e)),4&t&&(e=de(e));}while(n!==e);return e}function le(e){for(;185===e.kind;)e=e.expression;return e}function _e(t){for(;e.isAssertionExpression(t);)t=t.expression;return t}function de(e){for(;296===e.kind;)e=e.expression;return e}function pe(e){return e.startsOnNewLine=!0,e}function fe(t){var n=e.getOriginalNode(t,e.isSourceFile),r=n&&n.emitNode;return r&&r.externalHelpersModuleName}function me(t,n){if(n.importHelpers&&(e.isExternalModule(t)||n.isolatedModules)){var r=fe(t);if(r)return r;var a=e.getEmitHelpers(t);if(a)for(var i=0,o=a;i= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };\n '};e.createValuesHelper=p;var Me={name:"typescript:read",scoped:!1,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };\n '};e.createReadHelper=f;var Le={name:"typescript:spread",scoped:!1,text:"\n var __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };"};e.createSpreadHelper=m,e.createForOfBindingStatement=g,e.insertLeadingStatement=y,e.restoreEnclosingLabel=h,e.createCallBinding=b,e.inlineExpressions=x,e.createExpressionFromEntityName=k,e.createExpressionForPropertyName=S,e.createExpressionForObjectLiteralElementLike=T,e.getInternalName=A,e.isInternalName=w,e.getLocalName=O,e.isLocalName=P,e.getExportName=F,e.isExportName=I,e.getDeclarationName=R,e.getExternalModuleOrNamespaceExportName=L,e.getNamespaceMemberName=B,e.convertToFunctionBody=K,e.addPrologue=J,e.addStandardPrologue=z,e.addCustomPrologue=U,e.startsWithUseStrict=V,e.ensureUseStrict=q,e.parenthesizeConditionalHead=$,e.parenthesizeBinaryOperand=G,e.parenthesizeForConditionalHead=Y,e.parenthesizeSubexpressionOfConditionalExpression=Q,e.parenthesizeForNew=Z,e.parenthesizeForAccess=ee,e.parenthesizePostfixOperand=te,e.parenthesizePrefixOperand=ne,e.parenthesizeListElements=re,e.parenthesizeExpressionForList=ae,e.parenthesizeExpressionForExpressionStatement=ie,e.parenthesizeConciseBody=ce;!function(e){e[e.Parentheses=1]="Parentheses",e[e.Assertions=2]="Assertions",e[e.PartiallyEmittedExpressions=4]="PartiallyEmittedExpressions",e[e.All=7]="All";}(e.OuterExpressionKinds||(e.OuterExpressionKinds={})),e.skipOuterExpressions=ue,e.skipParentheses=le,e.skipAssertions=_e,e.skipPartiallyEmittedExpressions=de,e.startOnNewLine=pe,e.getExternalHelpersModuleName=fe,e.getOrCreateExternalHelpersModuleNameIfNeeded=me,e.getLocalNameForExternalImport=ge,e.getExternalModuleNameLiteral=ye,e.tryGetModuleNameFromFile=ve,e.getInitializerOfBindingOrAssignmentElement=xe,e.getTargetOfBindingOrAssignmentElement=ke,e.getRestIndicatorOfBindingOrAssignmentElement=Se,e.getPropertyNameOfBindingOrAssignmentElement=Te,e.getElementsOfBindingOrAssignmentPattern=Ce,e.convertToArrayAssignmentElement=Ee,e.convertToObjectAssignmentElement=De,e.convertToAssignmentPattern=Ne,e.convertToObjectAssignmentPattern=Ae,e.convertToArrayAssignmentPattern=we,e.convertToAssignmentElementTarget=Oe,e.collectExternalModuleInfo=Pe;}(r||(r={}));!function(e){function t(t,n,r){return 265===t?new(m||(m=e.objectAllocator.getSourceFileConstructor()))(t,n,r):71===t?new(f||(f=e.objectAllocator.getIdentifierConstructor()))(t,n,r):t<143?new(p||(p=e.objectAllocator.getTokenConstructor()))(t,n,r):new(d||(d=e.objectAllocator.getNodeConstructor()))(t,n,r)}function n(e,t){if(t)return e(t)}function r(e,t){if(t)return e(t)}function a(e,t){if(t)for(var n=0,r=t;n107)}function W(t,n,r){return void 0===r&&(r=!0),M()===t?(r&&L(),!0):(n?O(n):O(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function H(e){return M()===e&&(L(),!0)}function X(e){if(M()===e)return Q()}function Y(e,t,n,r){return X(e)||ae(e,t,n,r)}function Q(){var e=te(M());return L(),re(e)}function Z(){return 25===M()||(18===M()||1===M()||_i.hasPrecedingLineBreak())}function ee(){return Z()?(25===M()&&L(),!0):W(25)}function te(e,t){return oi++,t>=0||(t=_i.getStartPos()),e>=143?new Ya(e,t,t):71===e?new Za(e,t,t):new Qa(e,t,t)}function ne(e,t){var n=e||[];return t>=0||(t=I()),n.pos=t,n.end=t,n}function re(e,t){return e.end=void 0===t?_i.getStartPos():t,li&&(e.flags|=li),pi&&(pi=!1,e.flags|=32768),e}function ae(e,t,n,r){t?P(_i.getStartPos(),0,n,r):O(n,r);var a=te(e,_i.getStartPos());return a.text="",re(a)}function ie(t){t=e.escapeIdentifier(t);var n=si.get(t);return void 0===n&&si.set(t,n=t),n}function oe(t,n){if(ci++,t){var r=te(71);return 71!==M()&&(r.originalKeywordKind=M()),r.text=ie(_i.getTokenValue()),L(),re(r)}return ae(71,!1,n||e.Diagnostics.Identifier_expected)}function se(e){return oe(G(),e)}function ce(){return oe(e.tokenIsIdentifierOrKeyword(M()))}function ue(){return e.tokenIsIdentifierOrKeyword(M())||9===M()||8===M()}function le(e){return 9===M()||8===M()?Ye(!0):e&&21===M()?fe():ce()}function _e(){return le(!0)}function de(){return le(!1)}function pe(){return 9===M()||8===M()||e.tokenIsIdentifierOrKeyword(M())}function fe(){var e=te(144);return W(21),e.expression=v(en),W(22),re(e)}function me(e){return M()===e&&$(ye)}function ge(){return L(),!_i.hasPrecedingLineBreak()&&ve()}function ye(){return 76===M()?83===L():84===M()?(L(),79===M()?q(be):39!==M()&&118!==M()&&17!==M()&&ve()):79===M()?be():115===M()?(L(),ve()):ge()}function he(){return e.isModifierKind(M())&&$(ye)}function ve(){return 21===M()||17===M()||39===M()||24===M()||ue()}function be(){return L(),75===M()||89===M()||117===M()&&q(Fr)||120===M()&&q(Ir)}function xe(t,n){if(Pe(t))return!0;switch(t){case 0:case 1:case 3:return!(25===M()&&n)&&Br();case 2:return 73===M()||79===M();case 4:return q(bt);case 5:return q(ua)||25===M()&&!n;case 6:return 21===M()||ue();case 12:return 21===M()||39===M()||24===M()||ue();case 17:return ue();case 9:return 21===M()||24===M()||ue();case 7:return 17===M()?q(ke):n?G()&&!Ce():Yt()&&!Ce();case 8:return Hr();case 10:return 26===M()||24===M()||Hr();case 18:return G();case 11:case 15:return 26===M()||24===M()||Qt();case 16:return ct();case 19:case 20:return 26===M()||Rt();case 21:return ka();case 22:return e.tokenIsIdentifierOrKeyword(M());case 13:return e.tokenIsIdentifierOrKeyword(M())||17===M();case 14:return!0;case 23:case 24:case 26:return gi.isJSDocType();case 25:return pe()}e.Debug.fail("Non-exhaustive case in 'isListElement'.");}function ke(){if(e.Debug.assert(17===M()),18===L()){var t=L();return 26===t||17===t||85===t||108===t}return!0}function Se(){return L(),G()}function Te(){return L(),e.tokenIsIdentifierOrKeyword(M())}function Ce(){return(108===M()||85===M())&&q(Ee)}function Ee(){return L(),Qt()}function De(e){if(1===M())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 22:return 18===M();case 3:return 18===M()||73===M()||79===M();case 7:return 17===M()||85===M()||108===M();case 8:return Ne();case 18:return 29===M()||19===M()||17===M()||85===M()||108===M();case 11:return 20===M()||25===M();case 15:case 20:case 10:return 22===M();case 16:case 17:return 20===M()||22===M();case 19:return 26!==M();case 21:return 17===M()||18===M();case 13:return 29===M()||41===M();case 14:return 27===M()&&q(Ia);case 23:return 20===M()||56===M()||18===M();case 24:return 29===M()||18===M();case 26:return 22===M()||18===M();case 25:return 18===M()}}function Ne(){return!!Z()||(!!hn(M())||36===M())}function Ae(){for(var e=0;e<27;e++)if(ui&1<=0&&(a.hasTrailingComma=!0),a.end=R(),ui=r,a}function qe(){return ne()}function $e(e,t,n,r){if(W(n)){var a=Ve(e,t);return W(r),a}return qe()}function Ge(e,t){for(var n=se(t);H(23);){var r=te(143,n.pos);r.left=n,r.right=We(e),n=re(r);}return n}function We(t){return _i.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(M())&&q(Pr)?ae(71,!0,e.Diagnostics.Identifier_expected):t?ce():se()}function He(){var t=te(196);t.head=Qe(),e.Debug.assert(14===t.head.kind,"Template head has wrong token kind");var n=ne();do{n.push(Xe());}while(15===e.lastOrUndefined(n).literal.kind);return n.end=R(),t.templateSpans=n,re(t)}function Xe(){var t=te(205);t.expression=v(en);var n;return 18===M()?(j(),n=Ze()):n=Y(16,!1,e.Diagnostics._0_expected,e.tokenToString(18)),t.literal=n,re(t)}function Ye(e){return et(M(),e)}function Qe(){var t=et(M(),!1);return e.Debug.assert(14===t.kind,"Template head has wrong token kind"),t}function Ze(){var t=et(M(),!1);return e.Debug.assert(15===t.kind||16===t.kind,"Template fragment has wrong token kind"),t}function et(e,t){var n=te(e),r=_i.getTokenValue();return n.text=t?ie(r):r,_i.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),_i.isUnterminated()&&(n.isUnterminated=!0),8===n.kind&&(n.numericLiteralFlags=_i.getNumericLiteralFlags()),L(),re(n),n}function tt(){var t=te(159);return t.typeName=Ge(!1,e.Diagnostics.Type_expected),_i.hasPrecedingLineBreak()||27!==M()||(t.typeArguments=$e(19,Wt,27,29)),re(t)}function nt(e){L();var t=te(158,e.pos);return t.parameterName=e,t.type=Wt(),re(t)}function rt(){var e=te(169);return L(),re(e)}function at(){var e=te(162);return W(103),e.exprName=Ge(!0),re(e)}function it(){var e=te(145);return e.name=se(),H(85)&&(Rt()||!Qt()?e.constraint=Wt():e.expression=wn()),H(58)&&(e.default=Wt()),re(e)}function ot(){if(27===M())return $e(18,it,27,29)}function st(){if(H(56))return Wt()}function ct(){return 24===M()||Hr()||e.isModifierKind(M())||57===M()||99===M()}function ut(){var t=te(146);return 99===M()?(t.name=oe(!0),t.type=st(),re(t)):(t.decorators=la(),t.modifiers=_a(),t.dotDotDotToken=X(24),t.name=Xr(),0===e.getFullWidth(t.name)&&!e.hasModifiers(t)&&e.isModifierKind(M())&&L(),t.questionToken=X(55),t.type=st(),t.initializer=lt(!0),u(re(t)))}function lt(e){return e?_t():oa()}function _t(){return tn(!0)}function dt(e,t,n,r,a){var i=36===e;a.typeParameters=ot(),a.parameters=pt(t,n,r),i?(W(e),a.type=$t()):H(e)&&(a.type=$t());}function pt(e,t,n){if(W(19)){var r=D(),a=w();f(e),g(t);var i=Ve(16,ut);if(f(r),g(a),!W(20)&&n)return;return i}return n?void 0:qe()}function ft(){H(26)||ee();}function mt(e){var t=te(e);return 156===e&&W(94),dt(56,!1,!1,!1,t),ft(),u(re(t))}function gt(){return 21===M()&&q(yt)}function yt(){if(L(),24===M()||22===M())return!0;if(e.isModifierKind(M())){if(L(),G())return!0}else{if(!G())return!1;L();}return 56===M()||26===M()||55===M()&&(L(),56===M()||26===M()||22===M())}function ht(e,t,n){var r=te(157,e);return r.decorators=t,r.modifiers=n,r.parameters=$e(16,ut,21,22),r.type=Xt(),ft(),re(r)}function vt(e,t){var n=_e(),r=X(55);if(19===M()||27===M()){var a=te(150,e);return a.modifiers=t,a.name=n,a.questionToken=r,dt(56,!1,!1,!1,a),ft(),u(re(a))}var i=te(148,e);return i.modifiers=t,i.name=n,i.questionToken=r,i.type=Xt(),58===M()&&(i.initializer=oa()),ft(),u(re(i))}function bt(){if(19===M()||27===M())return!0;for(var t;e.isModifierKind(M());)t=!0,L();return 21===M()||(ue()&&(t=!0,L()),!!t&&(19===M()||27===M()||55===M()||56===M()||26===M()||Z()))}function xt(){if(19===M()||27===M())return mt(155);if(94===M()&&q(kt))return mt(156);var e=I(),t=_a();return gt()?ht(e,void 0,t):vt(e,t)}function kt(){return L(),19===M()||27===M()}function St(){var e=te(163);return e.members=Tt(),re(e)}function Tt(){var e;return W(17)?(e=we(4,xt),W(18)):e=qe(),e}function Ct(){return L(),131===M()&&L(),21===M()&&Se()&&92===L()}function Et(){var e=te(145);return e.name=se(),W(92),e.constraint=Wt(),re(e)}function Dt(){var e=te(172);return W(17),e.readonlyToken=X(131),W(21),e.typeParameter=Et(),W(22),e.questionToken=X(55),e.type=Xt(),ee(),W(18),re(e)}function Nt(){var e=te(165);return e.elementTypes=$e(20,Wt,21,22),re(e)}function At(){var e=te(168);return W(19),e.type=Wt(),W(20),re(e)}function wt(e){var t=te(e);return 161===e&&W(94),dt(36,!1,!1,!1,t),re(t)}function Ot(){var e=Q();return 23===M()?void 0:e}function Pt(){var e=te(173);return e.literal=On(),re(e),e}function Ft(){return 8===L()}function It(){switch(M()){case 119:case 136:case 133:case 122:case 137:case 139:case 130:case 134:return $(Ot)||tt();case 9:case 8:case 101:case 86:return Pt();case 38:return q(Ft)?Pt():tt();case 105:case 95:return Q();case 99:var e=rt();return 126!==M()||_i.hasPrecedingLineBreak()?e:nt(e);case 103:return at();case 17:return q(Ct)?Dt():St();case 21:return Nt();case 19:return At();default:return tt()}}function Rt(){switch(M()){case 119:case 136:case 133:case 122:case 137:case 105:case 139:case 95:case 99:case 103:case 130:case 17:case 21:case 27:case 49:case 48:case 94:case 9:case 8:case 101:case 86:case 134:return!0;case 38:return q(Ft);case 19:return q(Mt);default:return G()}}function Mt(){return L(),20===M()||ct()||Rt()}function Lt(){for(var e=It();!_i.hasPrecedingLineBreak()&&H(21);)if(Rt())(t=te(171,e.pos)).objectType=e,t.indexType=Wt(),W(22),e=re(t);else{var t=te(164,e.pos);t.elementType=e,W(22),e=re(t);}return e}function Bt(e){var t=te(170);return W(e),t.operator=e,t.type=Kt(),re(t)}function Kt(){switch(M()){case 127:return Bt(127)}return Lt()}function jt(e,t,n){H(n);var r=t();if(M()===n){for(var a=ne([r],r.pos);H(n);)a.push(t());a.end=R();var i=te(e,r.pos);i.types=a,r=re(i);}return r}function Jt(){return jt(167,Kt,48)}function zt(){return jt(166,Jt,49)}function Ut(){return 27===M()||19===M()&&q(qt)}function Vt(){if(e.isModifierKind(M())&&_a(),G()||99===M())return L(),!0;if(21===M()||17===M()){var t=ni.length;return Xr(),t===ni.length}return!1}function qt(){if(L(),20===M()||24===M())return!0;if(Vt()){if(56===M()||26===M()||55===M()||58===M())return!0;if(20===M()&&(L(),36===M()))return!0}return!1}function $t(){var e=G()&&$(Gt),t=Wt();if(e){var n=te(158,e.pos);return n.parameterName=e,n.type=t,re(n)}return t}function Gt(){var e=se();if(126===M()&&!_i.hasPrecedingLineBreak())return L(),e}function Wt(){return y(20480,Ht)}function Ht(){return Ut()?wt(160):94===M()?wt(161):zt()}function Xt(){return H(56)?Wt():void 0}function Yt(){switch(M()){case 99:case 97:case 95:case 101:case 86:case 8:case 9:case 13:case 14:case 19:case 21:case 17:case 89:case 75:case 94:case 41:case 63:case 71:return!0;default:return G()}}function Qt(){if(Yt())return!0;switch(M()){case 37:case 38:case 52:case 51:case 80:case 103:case 105:case 43:case 44:case 27:case 121:case 116:return!0;default:return!!bn()||G()}}function Zt(){return 17!==M()&&89!==M()&&75!==M()&&57!==M()&&Qt()}function en(){var e=A();e&&m(!1);for(var t,n=nn();t=X(26);)n=kn(n,t,nn());return e&&m(!0),n}function tn(e){if(58===M()||!(_i.hasPrecedingLineBreak()||e&&17===M())&&Qt())return W(58),nn()}function nn(){if(rn())return on$$1();var t=cn()||dn();if(t)return t;var n=yn(0);return 71===n.kind&&36===M()?sn(n):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(B())?kn(n,Q(),nn()):gn(n)}function rn(){return 116===M()&&(!!D()||q(Rr))}function an(){return L(),!_i.hasPrecedingLineBreak()&&G()}function on$$1(){var e=te(197);return L(),_i.hasPrecedingLineBreak()||39!==M()&&!Qt()?re(e):(e.asteriskToken=X(39),e.expression=nn(),re(e))}function sn(t,n){e.Debug.assert(36===M(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var r;n?(r=te(187,n.pos)).modifiers=n:r=te(187,t.pos);var a=te(146,t.pos);return a.name=t,re(a),r.parameters=ne([a],a.pos),r.parameters.end=a.end,r.equalsGreaterThanToken=Y(36,!1,e.Diagnostics._0_expected,"=>"),r.body=mn(!!n),u(re(r))}function cn(){var t=un();if(0!==t){var n=1===t?fn(!0):$(_n);if(n){var r=!!(256&e.getModifierFlags(n)),a=M();return n.equalsGreaterThanToken=Y(36,!1,e.Diagnostics._0_expected,"=>"),n.body=36===a||17===a?mn(r):se(),u(re(n))}}}function un(){return 19===M()||27===M()||120===M()?q(ln):36===M()?1:0}function ln(){if(120===M()){if(L(),_i.hasPrecedingLineBreak())return 0;if(19!==M()&&27!==M())return 0}var t=M(),n=L();if(19===t){if(20===n)switch(L()){case 36:case 56:case 17:return 1;default:return 0}return 21===n||17===n?2:24===n?1:G()?56===L()?1:2:0}return e.Debug.assert(27===t),G()?1===ti.languageVariant?q(function(){var e=L();if(85===e)switch(L()){case 58:case 29:return!1;default:return!0}else if(26===e)return!0;return!1})?1:0:2:0}function _n(){return fn(!1)}function dn(){if(120===M()&&1===q(pn)){var e=da();return sn(yn(0),e)}}function pn(){if(120===M()){if(L(),_i.hasPrecedingLineBreak()||36===M())return 0;var e=yn(0);if(!_i.hasPrecedingLineBreak()&&71===e.kind&&36===M())return 1}return 0}function fn(t){var n=te(187);if(n.modifiers=da(),dt(56,!1,!!(256&e.getModifierFlags(n)),!t,n),n.parameters&&(t||36===M()||17===M()))return n}function mn(e){return 17===M()?fr(!1,e,!1):25!==M()&&89!==M()&&75!==M()&&Br()&&!Zt()?fr(!1,e,!0):e?S(nn):T(nn)}function gn(t){var n=X(55);if(!n)return t;var r=te(195,t.pos);return r.condition=t,r.questionToken=n,r.whenTrue=y(di,nn),r.colonToken=Y(56,!1,e.Diagnostics._0_expected,e.tokenToString(56)),r.whenFalse=nn(),re(r)}function yn(e){return vn(e,wn())}function hn(e){return 92===e||142===e}function vn(e,t){for(;;){B();var n=xn();if(!(40===M()?n>=e:n>e))break;if(92===M()&&N())break;if(118===M()){if(_i.hasPrecedingLineBreak())break;L(),t=Sn(t,Wt());}else t=kn(t,Q(),yn(n));}return t}function bn(){return(!N()||92!==M())&&xn()>0}function xn(){switch(M()){case 54:return 1;case 53:return 2;case 49:return 3;case 50:return 4;case 48:return 5;case 32:case 33:case 34:case 35:return 6;case 27:case 29:case 30:case 31:case 93:case 92:case 118:return 7;case 45:case 46:case 47:return 8;case 37:case 38:return 9;case 39:case 41:case 42:return 10;case 40:return 11}return-1}function kn(e,t,n){var r=te(194,e.pos);return r.left=e,r.operatorToken=t,r.right=n,re(r)}function Sn(e,t){var n=te(202,e.pos);return n.expression=e,n.type=t,re(n)}function Tn(){var e=te(192);return e.operator=M(),L(),e.operand=On(),re(e)}function Cn(){var e=te(188);return L(),e.expression=On(),re(e)}function En(){var e=te(189);return L(),e.expression=On(),re(e)}function Dn(){var e=te(190);return L(),e.expression=On(),re(e)}function Nn(){return 121===M()&&(!!w()||q(an))}function An(){var e=te(191);return L(),e.expression=On(),re(e)}function wn(){if(Pn()){var t=Fn();return 40===M()?vn(xn(),t):t}var n=M(),r=On();if(40===M()){var a=e.skipTrivia(ii,r.pos);184===r.kind?P(a,r.end-a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):P(a,r.end-a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n));}return r}function On(){switch(M()){case 37:case 38:case 52:case 51:return Tn();case 80:return Cn();case 103:return En();case 105:return Dn();case 27:return Hn();case 121:if(Nn())return An();default:return Fn()}}function Pn(){switch(M()){case 37:case 38:case 52:case 51:case 80:case 103:case 105:case 121:return!1;case 27:if(1!==ti.languageVariant)return!1;default:return!0}}function Fn(){if(43===M()||44===M())return(n=te(192)).operator=M(),L(),n.operand=In(),re(n);if(1===ti.languageVariant&&27===M()&&q(Te))return Bn(!0);var t=In();if(e.Debug.assert(e.isLeftHandSideExpression(t)),(43===M()||44===M())&&!_i.hasPrecedingLineBreak()){var n=te(193,t.pos);return n.operand=t,n.operator=M(),L(),re(n)}return t}function In(){return Yn(97===M()?Mn():Rn())}function Rn(){return Xn(tr())}function Mn(){var t=Q();if(19===M()||23===M()||21===M())return t;var n=te(179,t.pos);return n.expression=t,Y(23,!1,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),n.name=We(!0),re(n)}function Ln(e,t){return e.kind===t.kind&&(71===e.kind?e.text===t.text:99===e.kind||e.name.text===t.name.text&&Ln(e.expression,t.expression))}function Bn(t){var n,r=Un(t);if(251===r.kind){var a=te(249,r.pos);a.openingElement=r,a.children=Jn(a.openingElement.tagName),a.closingElement=Wn(t),Ln(a.openingElement.tagName,a.closingElement.tagName)||P(a.closingElement.pos,a.closingElement.end-a.closingElement.pos,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(ii,a.openingElement.tagName)),n=re(a);}else e.Debug.assert(250===r.kind),n=r;if(t&&27===M()){var i=$(function(){return Bn(!0)});if(i){O(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=te(194,n.pos);return o.end=i.end,o.left=n,o.right=i,o.operatorToken=ae(26,!1,void 0),o.operatorToken.pos=o.operatorToken.end=o.right.pos,o}}return n}function Kn(){var e=te(10,_i.getStartPos());return e.containsOnlyWhiteSpaces=11===ai,ai=_i.scanJsxToken(),re(e)}function jn(){switch(M()){case 10:case 11:return Kn();case 17:return qn(!1);case 27:return Bn(!1)}e.Debug.fail("Unknown JSX child kind "+M());}function Jn(t){var n=ne(),r=ui;for(ui|=16384;;){if(ai=_i.reScanJsxToken(),28===M())break;if(1===M()){P(t.pos,t.end-t.pos,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(ii,t));break}if(7===M())break;var a=jn();a&&n.push(a);}return n.end=_i.getTokenPos(),ui=r,n}function zn(){var e=te(254);return e.properties=we(13,$n),re(e)}function Un(e){var t=_i.getStartPos();W(27);var n,r=Vn(),a=zn();return 29===M()?(n=te(251,t),z()):(W(41),e?W(29):(W(29,void 0,!1),z()),n=te(250,t)),n.tagName=r,n.attributes=a,re(n)}function Vn(){J();for(var e=99===M()?Q():ce();H(23);){var t=te(179,e.pos);t.expression=e,t.name=We(!0),e=re(t);}return e}function qn(e){var t=te(256);return W(17),18!==M()&&(t.dotDotDotToken=X(24),t.expression=nn()),e?W(18):(W(18,void 0,!1),z()),re(t)}function $n(){if(17===M())return Gn();J();var e=te(253);if(e.name=ce(),58===M())switch(U()){case 9:e.initializer=Ye();break;default:e.initializer=qn(!0);}return re(e)}function Gn(){var e=te(255);return W(17),W(24),e.expression=en(),W(18),re(e)}function Wn(e){var t=te(252);return W(28),t.tagName=Vn(),e?W(29):(W(29,void 0,!1),z()),re(t)}function Hn(){var e=te(184);return W(27),e.type=Wt(),W(29),e.expression=On(),re(e)}function Xn(e){for(;;)if(X(23)){var t=te(179,e.pos);t.expression=e,t.name=We(!0),e=re(t);}else if(51!==M()||_i.hasPrecedingLineBreak())if(A()||!H(21)){if(13!==M()&&14!==M())return e;var n=te(183,e.pos);n.tag=e,n.template=13===M()?Ye():He(),e=re(n);}else{var r=te(180,e.pos);if(r.expression=e,22!==M()&&(r.argumentExpression=v(en),9===r.argumentExpression.kind||8===r.argumentExpression.kind)){var a=r.argumentExpression;a.text=ie(a.text);}W(22),e=re(r);}else{L();var i=te(203,e.pos);i.expression=e,e=re(i);}}function Yn(e){for(;;)if(e=Xn(e),27!==M()){if(19!==M())return e;var t=te(181,e.pos);t.expression=e,t.arguments=Qn(),e=re(t);}else{var n=$(Zn);if(!n)return e;(t=te(181,e.pos)).expression=e,t.typeArguments=n,t.arguments=Qn(),e=re(t);}}function Qn(){W(19);var e=Ve(11,ir);return W(20),e}function Zn(){if(H(27)){var e=Ve(19,Wt);if(W(29))return e&&er()?e:void 0}}function er(){switch(M()){case 19:case 23:case 20:case 22:case 56:case 25:case 55:case 32:case 34:case 33:case 35:case 53:case 54:case 50:case 48:case 49:case 18:case 1:return!0;case 26:case 17:default:return!1}}function tr(){switch(M()){case 8:case 9:case 13:return Ye();case 99:case 97:case 95:case 101:case 86:return Q();case 19:return nr();case 21:return or();case 17:return ur();case 120:if(!q(Ir))break;return lr();case 75:return fa();case 89:return lr();case 94:return dr();case 41:case 63:if(12===K())return Ye();break;case 14:return He()}return se(e.Diagnostics.Expression_expected)}function nr(){var e=te(185);return W(19),e.expression=v(en),W(20),re(e)}function rr(){var e=te(198);return W(24),e.expression=nn(),re(e)}function ar(){return 24===M()?rr():26===M()?te(200):nn()}function ir(){return y(di,ar)}function or(){var e=te(177);return W(21),_i.hasPrecedingLineBreak()&&(e.multiLine=!0),e.elements=Ve(15,ar),W(22),re(e)}function sr(e,t,n){return me(125)?sa(153,e,t,n):me(135)?sa(154,e,t,n):void 0}function cr(){var e=_i.getStartPos();if(X(24)){var t=te(263,e);return t.expression=nn(),u(re(t))}var n=la(),r=_a(),a=sr(e,n,r);if(a)return a;var i=X(39),o=G(),s=_e(),c=X(55);if(i||19===M()||27===M())return ra(e,n,r,i,s,c);if(o&&(26===M()||18===M()||58===M())){var l=te(262,e);l.name=s,l.questionToken=c;var _=X(58);return _&&(l.equalsToken=_,l.objectAssignmentInitializer=v(nn)),u(re(l))}var d=te(261,e);return d.modifiers=r,d.name=s,d.questionToken=c,W(56),d.initializer=v(nn),u(re(d))}function ur(){var e=te(178);return W(17),_i.hasPrecedingLineBreak()&&(e.multiLine=!0),e.properties=Ve(12,cr,!0),W(18),re(e)}function lr(){var t=A();t&&m(!1);var n=te(186);n.modifiers=_a(),W(89),n.asteriskToken=X(39);var r=!!n.asteriskToken,a=!!(256&e.getModifierFlags(n));return n.name=r&&a?C(_r):r?x(_r):a?S(_r):_r(),dt(56,r,a,!1,n),n.body=fr(r,a,!1),t&&m(!0),u(re(n))}function _r(){return G()?se():void 0}function dr(){var e=_i.getStartPos();if(W(94),H(23)){var t=te(204,e);return t.keywordToken=94,t.name=ce(),re(t)}var n=te(182,e);return n.expression=Rn(),n.typeArguments=$(Zn),(n.typeArguments||19===M())&&(n.arguments=Qn()),re(n)}function pr(e,t){var n=te(207);return W(17,t)||e?(_i.hasPrecedingLineBreak()&&(n.multiLine=!0),n.statements=we(1,Jr),W(18)):n.statements=qe(),re(n)}function fr(e,t,n,r){var a=D();f(e);var i=w();g(t);var o=A();o&&m(!1);var s=pr(n,r);return o&&m(!0),f(a),g(i),s}function mr(){var e=te(209);return W(25),re(e)}function gr(){var e=te(211);return W(90),W(19),e.expression=v(en),W(20),e.thenStatement=Jr(),e.elseStatement=H(82)?Jr():void 0,re(e)}function yr(){var e=te(212);return W(81),e.statement=Jr(),W(106),W(19),e.expression=v(en),W(20),H(25),re(e)}function hr(){var e=te(213);return W(106),W(19),e.expression=v(en),W(20),e.statement=Jr(),re(e)}function vr(){var e=I();W(88);var t=X(121);W(19);var n=void 0;25!==M()&&(n=104===M()||110===M()||76===M()?Qr(!0):b(en));var r;if(t?W(142):H(142)){var a=te(216,e);a.awaitModifier=t,a.initializer=n,a.expression=v(nn),W(20),r=a;}else if(H(92)){var i=te(215,e);i.initializer=n,i.expression=v(en),W(20),r=i;}else{var o=te(214,e);o.initializer=n,W(25),25!==M()&&20!==M()&&(o.condition=v(en)),W(25),20!==M()&&(o.incrementor=v(en)),W(20),r=o;}return r.statement=Jr(),re(r)}function br(e){var t=te(e);return W(218===e?72:77),Z()||(t.label=se()),ee(),re(t)}function xr(){var e=te(219);return W(96),Z()||(e.expression=v(en)),ee(),re(e)}function kr(){var e=te(220);return W(107),W(19),e.expression=v(en),W(20),e.statement=Jr(),re(e)}function Sr(){var e=te(257);return W(73),e.expression=v(en),W(56),e.statements=we(3,Jr),re(e)}function Tr(){var e=te(258);return W(79),W(56),e.statements=we(3,Jr),re(e)}function Cr(){return 73===M()?Sr():Tr()}function Er(){var e=te(221);W(98),W(19),e.expression=v(en),W(20);var t=te(235,_i.getStartPos());return W(17),t.clauses=we(2,Cr),W(18),e.caseBlock=re(t),re(e)}function Dr(){var e=te(223);return W(100),e.expression=_i.hasPrecedingLineBreak()?void 0:v(en),ee(),re(e)}function Nr(){var e=te(224);return W(102),e.tryBlock=pr(!1),e.catchClause=74===M()?Ar():void 0,e.catchClause&&87!==M()||(W(87),e.finallyBlock=pr(!1)),re(e)}function Ar(){var e=te(260);return W(74),W(19)&&(e.variableDeclaration=Yr()),W(20),e.block=pr(!1),re(e)}function wr(){var e=te(225);return W(78),ee(),re(e)}function Or(){var e=_i.getStartPos(),t=v(en);if(71===t.kind&&H(56)){var n=te(222,e);return n.label=t,n.statement=Jr(),u(re(n))}var r=te(210,e);return r.expression=t,ee(),u(re(r))}function Pr(){return L(),e.tokenIsIdentifierOrKeyword(M())&&!_i.hasPrecedingLineBreak()}function Fr(){return L(),75===M()&&!_i.hasPrecedingLineBreak()}function Ir(){return L(),89===M()&&!_i.hasPrecedingLineBreak()}function Rr(){return L(),(e.tokenIsIdentifierOrKeyword(M())||8===M())&&!_i.hasPrecedingLineBreak()}function Mr(){for(;;)switch(M()){case 104:case 110:case 76:case 89:case 75:case 83:return!0;case 109:case 138:return an();case 128:case 129:return Ur();case 117:case 120:case 124:case 112:case 113:case 114:case 131:if(L(),_i.hasPrecedingLineBreak())return!1;continue;case 141:return L(),17===M()||71===M()||84===M();case 91:return L(),9===M()||39===M()||17===M()||e.tokenIsIdentifierOrKeyword(M());case 84:if(L(),58===M()||39===M()||17===M()||79===M()||118===M())return!0;continue;case 115:L();continue;default:return!1}}function Lr(){return q(Mr)}function Br(){switch(M()){case 57:case 25:case 17:case 104:case 110:case 89:case 75:case 83:case 90:case 81:case 106:case 88:case 77:case 72:case 96:case 107:case 98:case 100:case 102:case 78:case 74:case 87:return!0;case 76:case 84:case 91:return Lr();case 120:case 124:case 109:case 128:case 129:case 138:case 141:return!0;case 114:case 112:case 113:case 115:case 131:return Lr()||!q(Pr);default:return Qt()}}function Kr(){return L(),G()||17===M()||21===M()}function jr(){return q(Kr)}function Jr(){switch(M()){case 25:return mr();case 17:return pr(!1);case 104:return ea(_i.getStartPos(),void 0,void 0);case 110:if(jr())return ea(_i.getStartPos(),void 0,void 0);break;case 89:return ta(_i.getStartPos(),void 0,void 0);case 75:return ma(_i.getStartPos(),void 0,void 0);case 90:return gr();case 81:return yr();case 106:return hr();case 88:return vr();case 77:return br(217);case 72:return br(218);case 96:return xr();case 107:return kr();case 98:return Er();case 100:return Dr();case 102:case 74:case 87:return Nr();case 78:return wr();case 57:return zr();case 120:case 109:case 138:case 128:case 129:case 124:case 76:case 83:case 84:case 91:case 112:case 113:case 114:case 117:case 115:case 131:case 141:if(Lr())return zr()}return Or()}function zr(){var t=I(),n=la(),r=_a();switch(M()){case 104:case 110:case 76:return ea(t,n,r);case 89:return ta(t,n,r);case 75:return ma(t,n,r);case 109:return Ta(t,n,r);case 138:return Ca(t,n,r);case 83:return Da(t,n,r);case 141:case 128:case 129:return Oa(t,n,r);case 91:return Ma(t,n,r);case 84:switch(L(),M()){case 79:case 58:return Wa(t,n,r);case 118:return Ra(t,n,r);default:return Ga(t,n,r)}default:if(n||r){var a=ae(247,!0,e.Diagnostics.Declaration_expected);return a.pos=t,a.decorators=n,a.modifiers=r,re(a)}}}function Ur(){return L(),!_i.hasPrecedingLineBreak()&&(G()||9===M())}function Vr(e,t,n){if(17===M()||!Z())return fr(e,t,!1,n);ee();}function qr(){if(26===M())return te(200);var e=te(176);return e.dotDotDotToken=X(24),e.name=Xr(),e.initializer=lt(!1),re(e)}function $r(){var e=te(176);e.dotDotDotToken=X(24);var t=G(),n=_e();return t&&56!==M()?e.name=n:(W(56),e.propertyName=n,e.name=Xr()),e.initializer=lt(!1),re(e)}function Gr(){var e=te(174);return W(17),e.elements=Ve(9,$r),W(18),re(e)}function Wr(){var e=te(175);return W(21),e.elements=Ve(10,qr),W(22),re(e)}function Hr(){return 17===M()||21===M()||G()}function Xr(){return 21===M()?Wr():17===M()?Gr():se()}function Yr(){var e=te(226);return e.name=Xr(),e.type=Xt(),hn(M())||(e.initializer=tn(!1)),re(e)}function Qr(t){var n=te(227);switch(M()){case 104:break;case 110:n.flags|=1;break;case 76:n.flags|=2;break;default:e.Debug.fail();}if(L(),142===M()&&q(Zr))n.declarations=qe();else{var r=N();p(t),n.declarations=Ve(8,Yr),p(r);}return re(n)}function Zr(){return Se()&&20===L()}function ea(e,t,n){var r=te(208,e);return r.decorators=t,r.modifiers=n,r.declarationList=Qr(!1),ee(),u(re(r))}function ta(t,n,r){var a=te(228,t);a.decorators=n,a.modifiers=r,W(89),a.asteriskToken=X(39),a.name=e.hasModifier(a,512)?_r():se();var i=!!a.asteriskToken,o=e.hasModifier(a,256);return dt(56,i,o,!1,a),a.body=Vr(i,o,e.Diagnostics.or_expected),u(re(a))}function na(t,n,r){var a=te(152,t);return a.decorators=n,a.modifiers=r,W(123),dt(56,!1,!1,!1,a),a.body=Vr(!1,!1,e.Diagnostics.or_expected),u(re(a))}function ra(t,n,r,a,i,o,s){var c=te(151,t);c.decorators=n,c.modifiers=r,c.asteriskToken=a,c.name=i,c.questionToken=o;var l=!!a,_=e.hasModifier(c,256);return dt(56,l,_,!1,c),c.body=Vr(l,_,s),u(re(c))}function aa(t,n,r,a,i){var o=te(149,t);return o.decorators=n,o.modifiers=r,o.name=a,o.questionToken=i,o.type=Xt(),o.initializer=e.hasModifier(o,32)?v(oa):y(6144,oa),ee(),u(re(o))}function ia(t,n,r){var a=X(39),i=_e(),o=X(55);return a||19===M()||27===M()?ra(t,n,r,a,i,o,e.Diagnostics.or_expected):aa(t,n,r,i,o)}function oa(){return tn(!1)}function sa(e,t,n,r){var a=te(e,t);return a.decorators=n,a.modifiers=r,a.name=_e(),dt(56,!1,!1,!1,a),a.body=Vr(!1,!1),u(re(a))}function ca(e){switch(e){case 114:case 112:case 113:case 115:case 131:return!0;default:return!1}}function ua(){var t;if(57===M())return!0;for(;e.isModifierKind(M());){if(t=M(),ca(t))return!0;L();}if(39===M())return!0;if(ue()&&(t=M(),L()),21===M())return!0;if(void 0!==t){if(!e.isKeyword(t)||135===t||125===t)return!0;switch(M()){case 19:case 27:case 56:case 58:case 55:return!0;default:return Z()}}return!1}function la(){for(var e;;){var t=I();if(!H(57))break;var n=te(147,t);n.expression=k(In),re(n),e?e.push(n):e=ne([n],t);}return e&&(e.end=R()),e}function _a(e){for(var t;;){var n=_i.getStartPos(),r=M();if(76===M()&&e){if(!$(ge))break}else if(!he())break;var a=re(te(r,n));t?t.push(a):t=ne([a],n);}return t&&(t.end=_i.getStartPos()),t}function da(){var e;if(120===M()){var t=_i.getStartPos(),n=M();L(),(e=ne([re(te(n,t))],t)).end=_i.getStartPos();}return e}function pa(){if(25===M()){var t=te(206);return L(),re(t)}var n=I(),r=la(),a=_a(!0),i=sr(n,r,a);return i||(123===M()?na(n,r,a):gt()?ht(n,r,a):e.tokenIsIdentifierOrKeyword(M())||9===M()||8===M()||39===M()||21===M()?ia(n,r,a):r||a?aa(n,r,a,ae(71,!0,e.Diagnostics.Declaration_expected),void 0):void e.Debug.fail("Should not have attempted to parse class member declaration."))}function fa(){return ga(_i.getStartPos(),void 0,void 0,199)}function ma(e,t,n){return ga(e,t,n,229)}function ga(e,t,n,r){var a=te(r,e);return a.decorators=t,a.modifiers=n,W(75),a.name=ya(),a.typeParameters=ot(),a.heritageClauses=va(),W(17)?(a.members=Sa(),W(18)):a.members=qe(),u(re(a))}function ya(){return G()&&!ha()?se():void 0}function ha(){return 108===M()&&q(Te)}function va(){if(ka())return we(21,ba)}function ba(){var e=M();if(85===e||108===e){var t=te(259);return t.token=e,L(),t.types=Ve(7,xa),re(t)}}function xa(){var e=te(201);return e.expression=In(),27===M()&&(e.typeArguments=$e(19,Wt,27,29)),re(e)}function ka(){return 85===M()||108===M()}function Sa(){return we(5,pa)}function Ta(e,t,n){var r=te(230,e);return r.decorators=t,r.modifiers=n,W(109),r.name=se(),r.typeParameters=ot(),r.heritageClauses=va(),r.members=Tt(),u(re(r))}function Ca(e,t,n){var r=te(231,e);return r.decorators=t,r.modifiers=n,W(138),r.name=se(),r.typeParameters=ot(),W(58),r.type=Wt(),ee(),u(re(r))}function Ea(){var e=te(264,_i.getStartPos());return e.name=_e(),e.initializer=v(oa),u(re(e))}function Da(e,t,n){var r=te(232,e);return r.decorators=t,r.modifiers=n,W(83),r.name=se(),W(17)?(r.members=Ve(6,Ea),W(18)):r.members=qe(),u(re(r))}function Na(){var e=te(234,_i.getStartPos());return W(17)?(e.statements=we(1,Jr),W(18)):e.statements=qe(),re(e)}function Aa(e,t,n,r){var a=te(233,e),i=16&r;return a.decorators=t,a.modifiers=n,a.flags|=r,a.name=se(),a.body=H(23)?Aa(I(),void 0,void 0,4|i):Na(),u(re(a))}function wa(e,t,n){var r=te(233,e);return r.decorators=t,r.modifiers=n,141===M()?(r.name=se(),r.flags|=512):r.name=Ye(!0),17===M()?r.body=Na():ee(),re(r)}function Oa(e,t,n){var r=0;if(141===M())return wa(e,t,n);if(H(129))r|=16;else if(W(128),9===M())return wa(e,t,n);return Aa(e,t,n,r)}function Pa(){return 132===M()&&q(Fa)}function Fa(){return 19===L()}function Ia(){return 41===L()}function Ra(e,t,n){var r=te(236,e);return r.decorators=t,r.modifiers=n,W(118),W(129),r.name=se(),ee(),re(r)}function Ma(e,t,n){W(91);var r,a=_i.getStartPos();if(G()&&(r=se(),26!==M()&&140!==M()))return La(e,t,n,r);var i=te(238,e);return i.decorators=t,i.modifiers=n,(r||39===M()||17===M())&&(i.importClause=Ba(r,a),W(140)),i.moduleSpecifier=Ja(),ee(),re(i)}function La(e,t,n,r){var a=te(237,e);return a.decorators=t,a.modifiers=n,a.name=r,W(58),a.moduleReference=Ka(),ee(),u(re(a))}function Ba(e,t){var n=te(239,t);return e&&(n.name=e),n.name&&!H(26)||(n.namedBindings=39===M()?za():Ua(241)),re(n)}function Ka(){return Pa()?ja():Ge(!1)}function ja(){var e=te(248);return W(132),W(19),e.expression=Ja(),W(20),re(e)}function Ja(){if(9===M()){var e=Ye();return ie(e.text),e}return en()}function za(){var e=te(240);return W(39),W(118),e.name=se(),re(e)}function Ua(e){var t=te(e);return t.elements=$e(22,241===e?qa:Va,17,18),re(t)}function Va(){return $a(246)}function qa(){return $a(242)}function $a(t){var n=te(t),r=e.isKeyword(M())&&!G(),a=_i.getTokenPos(),i=_i.getTextPos(),o=ce();return 118===M()?(n.propertyName=o,W(118),r=e.isKeyword(M())&&!G(),a=_i.getTokenPos(),i=_i.getTextPos(),n.name=ce()):n.name=o,242===t&&r&&P(a,i-a,e.Diagnostics.Identifier_expected),re(n)}function Ga(e,t,n){var r=te(244,e);return r.decorators=t,r.modifiers=n,H(39)?(W(140),r.moduleSpecifier=Ja()):(r.exportClause=Ua(245),(140===M()||9===M()&&!_i.hasPrecedingLineBreak())&&(W(140),r.moduleSpecifier=Ja())),ee(),re(r)}function Wa(e,t,n){var r=te(243,e);return r.decorators=t,r.modifiers=n,H(58)?r.isExportEquals=!0:W(79),r.expression=nn(),ee(),re(r)}function Ha(t){for(var n,r=e.createScanner(t.languageVersion,!1,0,ii),a=[],i=[],o=[],s=void 0;;){var c=r.scan();if(2!==c){if(e.isTrivia(c))continue;break}var u={kind:r.getToken(),pos:r.getTokenPos(),end:r.getTextPos()},l=ii.substring(u.pos,u.end),_=e.getFileReferenceFromReferencePath(l,u);if(_){var d=_.fileReference;t.hasNoDefaultLib=_.isNoDefaultLib;var p=_.diagnosticMessage;d&&(_.isTypeReferenceDirective?i.push(d):a.push(d)),p&&ni.push(e.createFileDiagnostic(t,u.pos,u.end-u.pos,p));}else{var f=/^\/\/\/\s*".length-n,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function b(e){var t=te(143,e.pos);return t.left=e,t.right=ce(),re(t)}function x(){var e=te(275);return e.literal=St(),re(e)}function k(){var e=te(274);return L(),e.type=c(),re(e)}function S(){var e=te(272);return L(),e.types=Ve(26,c),T(e.types),W(22),re(e)}function T(t){0===ni.length&&t.hasTrailingComma&&P(t.end-",".length,",".length,e.Diagnostics.Trailing_comma_not_allowed);}function C(){var e=te(271);return L(),e.types=E(c()),W(20),re(e)}function E(t){e.Debug.assert(!!t);for(var n=ne([t],t.pos);H(49);)n.push(c());return n.end=_i.getStartPos(),n}function D(){var e=te(268);return L(),re(e)}function N(){var e=te(293);return e.literal=Pt(),re(e)}function A(){var e=_i.getStartPos();if(L(),26===M()||18===M()||20===M()||29===M()||58===M()||49===M())return re(t=te(269,e));var t=te(273,e);return t.type=c(),re(t)}function w(e,t,n){o(e,5,void 0,1),ti={languageVariant:0,text:e};var r=I(t,n),a=ni;return s(),r?{jsDoc:r,diagnostics:a}:void 0}function F(e,t,n){var r=ai,a=ni.length,i=pi,o=I(t,n);return o&&(o.parent=e),ai=r,ni.length=a,pi=i,o}function I(t,n){function r(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift();}function i(e){for(;e.length&&("\n"===e[e.length-1]||"\r"===e[e.length-1]);)e.pop();}function o(){var e=te(283,t);return e.tags=E,e.comment=N.length?N.join(""):void 0,re(e,C)}function s(){for(;5===M()||4===M();)x();}function c(t){e.Debug.assert(57===M());var n=te(57,_i.getTokenPos());n.end=_i.getTextPos(),x();var r=k();if(s(),r){var a;if(r)switch(r.text){case"augments":a=y(n,r);break;case"param":a=p(n,r);break;case"return":case"returns":a=f(n,r);break;case"template":a=b(n,r);break;case"type":a=m(n,r);break;case"typedef":a=h(n,r);break;default:a=l(n,r);}else a=l(n,r);a&&_(a,u(t+a.end-a.pos));}}function u(e){function t(t){n||(n=e),a.push(t),e+=t.length;}for(var n,a=[],o=0;57!==M()&&1!==M();){switch(M()){case 4:o>=1&&(o=0,a.push(_i.getTokenText())),e=0;break;case 57:break;case 5:if(2===o)t(_i.getTokenText());else{var s=_i.getTokenText();void 0!==n&&e+s.length>n&&a.push(s.slice(n-e-1)),e+=s.length;}break;case 39:if(0===o){o=1,e+=_i.getTokenText().length;break}default:o=2,t(_i.getTokenText());}if(57===M())break;x();}return r(a),i(a),a}function l(e,t){var n=te(284,e.pos);return n.atToken=e,n.tagName=t,re(n)}function _(e,t){e.comment=t.join(""),E?E.push(e):E=ne([e],e.pos),E.end=e.end;}function d(){return $(function(){if(s(),17===M())return a()})}function p(t,n){var r=d();s();var a,i;if(X(21)?(a=k(),s(),i=!0,X(58)&&en(),W(22)):e.tokenIsIdentifierOrKeyword(M())&&(a=k()),a){var o,c;r?c=a:o=a,r||(r=d());var u=te(286,t.pos);return u.atToken=t,u.tagName=n,u.preParameterName=o,u.typeExpression=r,u.postParameterName=c,u.parameterName=c||o,u.isBracketed=i,re(u)}P(_i.getStartPos(),0,e.Diagnostics.Identifier_expected);}function f(t,n){e.forEach(E,function(e){return 287===e.kind})&&P(n.pos,_i.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var r=te(287,t.pos);return r.atToken=t,r.tagName=n,r.typeExpression=d(),re(r)}function m(t,n){e.forEach(E,function(e){return 288===e.kind})&&P(n.pos,_i.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var r=te(288,t.pos);return r.atToken=t,r.tagName=n,r.typeExpression=d(),re(r)}function g(t,n){var r=d();s();var a=k();s();if(a){var i=te(291,t.pos);return i.atToken=t,i.tagName=n,i.name=a,i.typeExpression=r,re(i)}P(_i.getStartPos(),0,e.Diagnostics.Identifier_expected);}function y(e,t){var n=d(),r=te(285,e.pos);return r.atToken=e,r.tagName=t,r.typeExpression=n,re(r)}function h(e,t){function n(){for(var e=te(292,_i.getStartPos()),t=_i.getStartPos(),n=!0,r=!1,a=!1;1!==M()&&!a;)switch(x(),M()){case 57:n&&((a=!v(e))||(t=_i.getStartPos())),r=!1;break;case 4:t=_i.getStartPos()-1,n=!0,r=!1;break;case 39:r&&(n=!1),r=!0;break;case 71:n=!1;}return _i.setTextPos(t),re(e)}function r(e){var t=_i.getTokenPos(),n=k();if(n&&H(23)){var a=te(233,t);return a.flags|=e,a.name=n,a.body=r(4),a}return n&&4&e&&(n.isInJSDocNamespace=!0),n}var a=d();s();var i=te(290,e.pos);if(i.atToken=e,i.tagName=t,i.fullName=r(0),i.fullName)for(var o=i.fullName;;){if(71===o.kind||!o.body){i.name=71===o.kind?o:o.name;break}o=o.body;}if(i.typeExpression=a,s(),a){if(277===a.type.kind){var c=a.type;71===c.name.kind&&"Object"===c.name.text&&(i.jsDocTypeLiteral=n());}i.jsDocTypeLiteral||(i.jsDocTypeLiteral=a.type);}else i.jsDocTypeLiteral=n();return re(i)}function v(t){e.Debug.assert(57===M());var n=te(57,_i.getStartPos());n.end=_i.getTextPos(),x();var r=k();if(s(),!r)return!1;switch(r.text){case"type":return!t.jsDocTypeTag&&(t.jsDocTypeTag=m(n,r),!0);case"prop":case"property":var a=g(n,r);return!!a&&(t.jsDocPropertyTags||(t.jsDocPropertyTags=[]),t.jsDocPropertyTags.push(a),!0)}return!1}function b(t,n){e.forEach(E,function(e){return 289===e.kind})&&P(n.pos,_i.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);for(var r=ne();;){var a=k();if(s(),!a)return void P(_i.getStartPos(),0,e.Diagnostics.Identifier_expected);var i=te(145,a.pos);if(i.name=a,re(i),r.push(i),26!==M())break;x(),s();}var o=te(289,t.pos);return o.atToken=t,o.tagName=n,o.typeParameters=r,re(o),r.end=o.end,o}function x(){return ai=_i.scanJSDocToken()}function k(){return S(e.tokenIsIdentifierOrKeyword(M()))}function S(t){if(t){var n=_i.getTokenPos(),r=_i.getTextPos(),a=te(71,n);return a.text=T.substring(n,r),re(a,r),x(),a}O(e.Diagnostics.Identifier_expected);}var T=ii;t=t||0;var C=void 0===n?T.length:t+n;n=C-t,e.Debug.assert(t>=0),e.Debug.assert(t<=C),e.Debug.assert(C<=T.length);var E,D,N=[];return function(e,t){return 47===e.charCodeAt(t)&&42===e.charCodeAt(t+1)&&42===e.charCodeAt(t+2)&&42!==e.charCodeAt(t+3)}(T,t)?(_i.scanRange(t+3,n-5,function(){function e(e){s||(s=u),N.push(e),u+=e.length;}var n=!0,a=1,s=void 0,u=t-Math.max(T.lastIndexOf("\n",t),0)+4;for(x();5===M();)x();for(4===M()&&(a=0,u=0,x());1!==M();){switch(M()){case 57:0===a||1===a?(i(N),c(u),a=0,n=!1,s=void 0,u++):e(_i.getTokenText());break;case 4:N.push(_i.getTokenText()),a=0,u=0;break;case 39:var l=_i.getTokenText();1===a||2===a?(a=2,e(l)):(a=1,u+=l.length);break;case 71:e(_i.getTokenText()),a=2;break;case 5:var _=_i.getTokenText();2===a?N.push(_):void 0!==s&&u+_.length>s&&N.push(_.slice(s-u-1)),u+=_.length;break;case 1:break;default:a=2,e(_i.getTokenText());}n?x():n=!0;}r(N),i(N),D=o();}),D):D}t.isJSDocType=n,t.parseJSDocTypeExpressionForTests=r,t.parseJSDocTypeExpression=a,t.parseIsolatedJSDocComment=w,t.parseJSDocComment=F;var R;!function(e){e[e.BeginningOfLine=0]="BeginningOfLine",e[e.SawAsterisk=1]="SawAsterisk",e[e.SavingComments=2]="SavingComments";}(R||(R={})),t.parseJSDocCommentWorker=I;}(gi=t.JSDocParser||(t.JSDocParser={}));}(g||(g={}));var y;!function(t){function n(t,n,r,a){if(a=a||e.Debug.shouldAssert(2),_(t,n,r,a),e.textChangeRangeIsUnchanged(r))return t;if(0===t.statements.length)return g.parseSourceFile(t.fileName,n,t.languageVersion,void 0,!0,t.scriptKind);var i=t;e.Debug.assert(!i.hasBeenIncrementallyParsed),i.hasBeenIncrementallyParsed=!0;var o=t.text,s=d(t),l=u(t,r);_(t,n,l,a),e.Debug.assert(l.span.start<=r.span.start),e.Debug.assert(e.textSpanEnd(l.span)===e.textSpanEnd(r.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(l))===e.textSpanEnd(e.textChangeRangeNewSpan(r)));var p=e.textChangeRangeNewSpan(l).length-l.span.length;return c(i,l.span.start,e.textSpanEnd(l.span),e.textSpanEnd(e.textChangeRangeNewSpan(l)),p,o,n,a),g.parseSourceFile(t.fileName,n,t.languageVersion,s,!0,t.scriptKind)}function r(t,n,r,o,c,u){function l(t){var n="";if(u&&a(t)&&(n=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),t.pos+=r,t.end+=r,u&&a(t)&&e.Debug.assert(n===c.substring(t.pos,t.end)),i(t,l,_),t.jsDoc)for(var d=0,p=t.jsDoc;d=n,"Adjusting an element that was entirely before the change range"),e.Debug.assert(t.pos<=r,"Adjusting an element that was entirely after the change range"),e.Debug.assert(t.pos<=t.end),t.pos=Math.min(t.pos,a),t.end>=r?t.end+=i:t.end=Math.min(t.end,a),e.Debug.assert(t.pos<=t.end),t.parent&&(e.Debug.assert(t.pos>=t.parent.pos),e.Debug.assert(t.end<=t.parent.end));}function s(t,n){if(n){var r=t.pos;i(t,function(t){e.Debug.assert(t.pos>=r),r=t.end;}),e.Debug.assert(r<=t.end);}}function c(t,n,a,c,u,l,_,d){function p(t){if(e.Debug.assert(t.pos<=t.end),t.pos>a)r(t,!1,u,l,_,d);else{var m=t.end;if(m>=n)return t.intersectsChange=!0,t._children=void 0,o(t,n,a,c,u),i(t,p,f),void s(t,d);e.Debug.assert(ma)r(t,!0,u,l,_,d);else{var i=t.end;if(i>=n){t.intersectsChange=!0,t._children=void 0,o(t,n,a,c,u);for(var s=0,f=t;s0&&a<=1;a++){var i=l(t,r);e.Debug.assert(i.pos<=r);var o=i.pos;r=Math.max(0,o-1);}var s=e.createTextSpanFromBounds(r,e.textSpanEnd(n.span)),c=n.newLength+(n.span.start-r);return e.createTextChangeRange(s,c)}function l(t,n){function r(t){var n=void 0;return i(t,function(t){e.nodeIsPresent(t)&&(n=t);}),n}function a(t){if(!e.nodeIsMissing(t))return t.pos<=n?(t.pos>=s.pos&&(s=t),nn),!0)}var o,s=t;if(i(t,a),o){var c=function(e){for(;;){var t=r(e);if(!t)return e;e=t;}}(o);c.pos>s.pos&&(s=c);}return s}function _(t,n,r,a){var i=t.text;if(r&&(e.Debug.assert(i.length-r.span.length+r.newLength===n.length),a||e.Debug.shouldAssert(3))){var o=i.substr(0,r.span.start),s=n.substr(0,r.span.start);e.Debug.assert(o===s);var c=i.substring(e.textSpanEnd(r.span),i.length),u=n.substring(e.textSpanEnd(e.textChangeRangeNewSpan(r)),n.length);e.Debug.assert(c===u);}}function d(t){function n(e){function n(t){return e>=t.pos&&e=t.pos&&e=158&&e<=173)return-3;switch(e){case 181:case 182:case 177:return 537396545;case 233:return 574674241;case 146:return 536872257;case 187:return 601249089;case 186:case 228:return 601281857;case 227:return 546309441;case 229:case 199:return 539358529;case 152:return 601015617;case 151:case 153:case 154:return 601015617;case 119:case 133:case 130:case 136:case 134:case 122:case 137:case 105:case 145:case 148:case 150:case 155:case 156:case 157:case 230:case 231:return-3;case 178:return 540087617;case 260:return 537920833;case 174:case 175:return 537396545;default:return 536872257}}!function(e){e[e.NonInstantiated=0]="NonInstantiated",e[e.Instantiated=1]="Instantiated",e[e.ConstEnumOnly=2]="ConstEnumOnly";}(e.ModuleInstanceState||(e.ModuleInstanceState={})),e.getModuleInstanceState=t;var P;!function(e){e[e.None=0]="None",e[e.IsContainer=1]="IsContainer",e[e.IsBlockScopedContainer=2]="IsBlockScopedContainer",e[e.IsControlFlowContainer=4]="IsControlFlowContainer",e[e.IsFunctionLike=8]="IsFunctionLike",e[e.IsFunctionExpression=16]="IsFunctionExpression",e[e.HasLocals=32]="HasLocals",e[e.IsInterface=64]="IsInterface",e[e.IsObjectLiteralOrClassExpressionMethod=128]="IsObjectLiteralOrClassExpressionMethod";}(P||(P={}));var F=function(){function n(t,n){Et=t,Dt=n,Nt=e.getEmitScriptTarget(Dt),Vt=a(Et,n),$t=e.createMap(),Wt=0,Gt=e.isDeclarationFile(Et),qt=e.objectAllocator.getSymbolConstructor(),Et.locals||($e(Et),Et.symbolCount=Wt,Et.classifiableNames=$t),Et=void 0,Dt=void 0,Nt=void 0,At=void 0,wt=void 0,Ot=void 0,Pt=void 0,Ft=!1,It=void 0,Rt=void 0,Mt=void 0,Lt=void 0,Bt=void 0,Kt=void 0,Jt=void 0,zt=!1,Ut=0,Yt=0;}function a(t,n){return!((void 0===n.alwaysStrict?!n.strict:!n.alwaysStrict)||e.isDeclarationFile(t))||!!t.externalModuleIndicator}function i(e,t){return Wt++,new qt(e,t)}function o(t,n,r){if(t.flags|=r,n.symbol=t,t.declarations||(t.declarations=[]),t.declarations.push(n),1952&r&&!t.exports&&(t.exports=e.createMap()),6240&r&&!t.members&&(t.members=e.createMap()),107455&r){var a=t.valueDeclaration;(!a||a.kind!==n.kind&&233===a.kind)&&(t.valueDeclaration=n);}}function s(t){var n=e.getNameOfDeclaration(t);if(n){if(e.isAmbientModule(t))return e.isGlobalScopeAugmentation(t)?"__global":'"'+n.text+'"';if(144===n.kind){var r=n.expression;return e.isStringOrNumericLiteral(r)?r.text:(e.Debug.assert(e.isWellKnownSymbolSyntactically(r)),e.getPropertyNameForKnownSymbolName(r.name.text))}return n.text}switch(t.kind){case 152:return"__constructor";case 160:case 155:return"__call";case 161:case 156:return"__new";case 157:return"__index";case 244:return"__export";case 243:return t.isExportEquals?"export=":"default";case 194:switch(e.getSpecialPropertyAssignmentKind(t)){case 2:return"export=";case 1:case 4:case 5:return t.left.name.text;case 3:return t.left.expression.name.text}e.Debug.fail("Unknown binary declaration kind");break;case 228:case 229:return e.hasModifier(t,512)?"default":void 0;case 279:return e.isJSDocConstructSignature(t)?"__new":"__call";case 146:e.Debug.assert(279===t.parent.kind);var a=t.parent;return"arg"+e.indexOf(a.parameters,t);case 290:var i=t.parent&&t.parent.parent,o=void 0;if(i&&208===i.kind&&i.declarationList.declarations.length>0){var s=i.declarationList.declarations[0].name;71===s.kind&&(o=s.text);}return o}}function c(t){return t.name?e.declarationNameToString(t.name):s(t)}function u(t,n,r,a,u){e.Debug.assert(!e.hasDynamicName(r));var l,_=e.hasModifier(r,512),d=_&&n?"default":s(r);if(void 0===d)l=i(0,"__missing");else if((l=t.get(d))||t.set(d,l=i(0,d)),d&&788448&a&&$t.set(d,d),l.flags&u)if(l.isReplaceableByMethod)t.set(d,l=i(0,d));else{r.name&&(r.name.parent=r);var p=2&l.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0;l.declarations&&l.declarations.length&&(_?p=e.Diagnostics.A_module_cannot_have_multiple_default_exports:l.declarations&&l.declarations.length&&(_||243===r.kind&&!r.isExportEquals)&&(p=e.Diagnostics.A_module_cannot_have_multiple_default_exports)),e.forEach(l.declarations,function(t){Et.bindDiagnostics.push(e.createDiagnosticForNode(e.getNameOfDeclaration(t)||t,p,c(t)));}),Et.bindDiagnostics.push(e.createDiagnosticForNode(e.getNameOfDeclaration(r)||r,p,c(r))),l=i(0,d);}return o(l,r,a),l.parent=n,l}function l(t,n,r){var a=1&e.getCombinedModifierFlags(t);if(8388608&n)return 246===t.kind||237===t.kind&&a?u(wt.symbol.exports,wt.symbol,t,n,r):u(wt.locals,void 0,t,n,r);var i=290===t.kind&&t.name&&71===t.name.kind&&t.name.isInJSDocNamespace;if(!e.isAmbientModule(t)&&(a||32&wt.flags)||i){var o=(107455&n?1048576:0)|(793064&n?2097152:0)|(1920&n?4194304:0),s=u(wt.locals,void 0,t,o,r);return s.exportSymbol=u(wt.symbol.exports,wt.symbol,t,n,r),t.localSymbol=s,s}return u(wt.locals,void 0,t,n,r)}function _(t,n){var r=wt,a=Ot;if(1&n?(wt=Ot=t,32&n&&(wt.locals=e.createMap()),pe(wt)):2&n&&((Ot=t).locals=void 0),4&n){var i=It,o=Rt,s=Mt,c=Lt,u=Jt,l=zt,_=16&n&&!e.hasModifier(t,256)&&!!e.getImmediatelyInvokedFunctionExpression(t);_?Lt=k():(It={flags:2},144&n&&(It.container=t),Lt=void 0),Rt=void 0,Mt=void 0,Jt=void 0,zt=!1,d(t),t.flags&=-1409,!(1&It.flags)&&8&n&&e.nodeIsPresent(t.body)&&(t.flags|=128,zt&&(t.flags|=256)),265===t.kind&&(t.flags|=Ut),_?(C(Lt,It),It=w(Lt)):It=i,Rt=o,Mt=s,Lt=c,Jt=u,zt=l;}else 64&n?(Ft=!1,d(t),t.flags=Ft?64|t.flags:-65&t.flags):d(t);wt=r,Ot=a;}function d(e){if(Gt)m(e);else if(536870912&e.transformFlags)Gt=!0,m(e),Gt=!1,Yt|=e.transformFlags&~O(e.kind);else{var t=Yt;Yt=0,m(e),Yt=t|r(e,Yt);}}function p(t){if(void 0!==t)if(Gt)e.forEach(t,$e);else{var n=Yt;Yt=0;for(var r=0,a=0,i=t;a=108&&t.originalKeywordKind<=116&&!e.isIdentifierName(t)&&!e.isInAmbientContext(t)&&(Et.parseDiagnostics.length||Et.bindDiagnostics.push(e.createDiagnosticForNode(t,we(t),e.declarationNameToString(t))));}function we(t){return e.getContainingClass(t)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:Et.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function Oe(t){Vt&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)&&Re(t,t.left);}function Pe(e){Vt&&e.variableDeclaration&&Re(e,e.variableDeclaration.name);}function Fe(t){if(Vt&&71===t.expression.kind){var n=e.getErrorSpanForNode(Et,t.expression);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,n.start,n.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode));}}function Ie(e){return 71===e.kind&&("eval"===e.text||"arguments"===e.text)}function Re(t,n){if(n&&71===n.kind){var r=n;if(Ie(r)){var a=e.getErrorSpanForNode(Et,n);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,a.start,a.length,Me(t),r.text));}}}function Me(t){return e.getContainingClass(t)?e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:Et.externalModuleIndicator?e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:e.Diagnostics.Invalid_use_of_0_in_strict_mode}function Le(e){Vt&&Re(e,e.name);}function Be(t){return e.getContainingClass(t)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:Et.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function Ke(t){if(Nt<2&&265!==Ot.kind&&233!==Ot.kind&&!e.isFunctionLike(Ot)){var n=e.getErrorSpanForNode(Et,t);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,n.start,n.length,Be(t)));}}function je(t){Vt&&4&t.numericLiteralFlags&&Et.bindDiagnostics.push(e.createDiagnosticForNode(t,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode));}function Je(e){Vt&&Re(e,e.operand);}function ze(e){Vt&&(43!==e.operator&&44!==e.operator||Re(e,e.operand));}function Ue(t){Vt&&Ve(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode);}function Ve(t,n,r,a,i){var o=e.getSpanOfTokenAtPosition(Et,t.pos);Et.bindDiagnostics.push(e.createFileDiagnostic(Et,o.start,o.length,n,r,a,i));}function qe(t){return"__"+e.indexOf(t.parent.parameters,t)}function $e(t){if(t){t.parent=At;var n=Vt;if(e.isInJavaScriptFile(t)&&Ge(t),Xe(t),t.kind>142){var a=At;At=t;var i=de(t);0===i?d(t):_(t,i),At=a;}else Gt||0!=(536870912&t.transformFlags)||(Yt|=r(t,0));Vt=n;}}function Ge(e){if(e.jsDoc)for(var t=0,n=e.jsDoc;t1);}function v(t,n,r){function a(t,n){return function(r){return Ov.add(e.createDiagnosticForNode(r,n,t))}}n.forEach(function(n,i){var o=t.get(i);o?e.forEach(o.declarations,a(i,r)):t.set(i,n);});}function b(e){if(134217728&e.flags)return e;var t=n(e);return bv[t]||(bv[t]={})}function x(e){var n=t(e);return xv[n]||(xv[n]={flags:0})}function k(e){return 32768&e.flags?e.objectFlags:0}function S(e){return 134217728&e.flags?e.checkFlags:0}function T(t){return 265===t.kind&&!e.isExternalOrCommonJsModule(t)}function C(t,n,r){if(r){var a=t.get(n);if(a){if(e.Debug.assert(0==(1&S(a)),"Should never get an instantiated symbol here."),a.flags&r)return a;if(8388608&a.flags){var i=Z(a);if(i===eh||i.flags&r)return a}}}}function E(t,n){var r=t.parent,a=t.parent.parent,i=C(r.locals,n,107455),o=C(a.symbol.members,n,107455);if(i&&o)return[i,o];e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration");}function D(t,n){function a(t,n,r){return!!e.findAncestor(t,function(a){if(a===r)return"quit";if(e.isFunctionLike(a))return!0;if(a.parent&&149===a.parent.kind&&a.parent.initializer===a)if(32&e.getModifierFlags(a.parent)){if(151===n.kind)return!0}else if(!(149===n.kind&&!(32&e.getModifierFlags(n)))||e.getContainingClass(t)!==e.getContainingClass(n))return!0})}var i=e.getSourceFileOfNode(t),o=e.getSourceFileOfNode(n);if(i!==o){if(My&&(i.externalModuleIndicator||o.externalModuleIndicator)||!Iy.outFile&&!Iy.out||e.isInAmbientContext(t))return!0;if(a(n,t))return!0;var s=r.getSourceFiles();return e.indexOf(s,i)<=e.indexOf(s,o)}if(t.pos<=n.pos){if(176===t.kind){var c=e.getAncestor(n,176);return c?e.findAncestor(c,e.isBindingElement)!==e.findAncestor(t,e.isBindingElement)||t.pos=o&&(i=i.substr(0,o-"...".length)+"..."),i}function $e(t,n,r){var a=e.getSingleLineStringWriter();Ze().buildTypePredicateDisplay(t,a,n,r);var i=a.string();return e.releaseStringWriter(a),i}function Ge(e){for(var t=[],n=0,r=0;r0&&(26!==t&&ze(a),Je(a,t),ze(a)),c(e[n],26===t?0:64);}function l(e,t,n,o,s){if((32&e.flags||!De(e.name))&&r(e,a,i,793064,0,s),n0&&(Je(t,26),ze(t)),n(e[r]);}function p(e,t,n,r){if(e&&e.length){Je(n,27);for(var i=256,o=0;o0&&(Je(n,26),ze(n),i=0),a(t(e[o]),n,r,i);Je(n,29);}}function f(e,t,n,r,a,i){Je(n,19),e&&s(e,n,r,a,i);for(var o=0;o0||e)&&(Je(n,26),ze(n)),s(t[o],n,r,a,i);Je(n,20);}function m(t,n,r,i,o){e.isIdentifierTypePredicate(t)?n.writeParameter(t.parameterName):je(n,99),ze(n),je(n,126),ze(n),a(t.type,n,r,i,o);}function g(e,t,n,r,i){var o=Ir(e);2048&r&&ut(o)||(8&r?(ze(t),Je(t,36)):Je(t,56),ze(t),e.typePredicate?m(e.typePredicate,t,n,r,i):a(o,t,n,r,i));}function y(e,t,n,r,a,i){1===a&&(je(t,94),ze(t)),e.target&&32&r?p(e.target.typeParameters,e.mapper,t,n):l(e.typeParameters,t,n,r,i),f(e.thisParameter,e.parameters,t,n,r,i),g(e,t,n,r,i);}function h(t,n,r,i,o,s){if(t){switch(t.isReadonly&&(je(n,131),ze(n)),Je(n,21),n.writeParameter(t.declaration?e.declarationNameToString(t.declaration.parameters[0].name):"x"),Je(n,56),ze(n),r){case 1:je(n,133);break;case 0:je(n,136);}Je(n,22),Je(n,56),ze(n),a(t.type,n,i,o,s),Je(n,25),n.writeLine();}}return Mv||(Mv={buildSymbolDisplay:r,buildTypeDisplay:a,buildTypeParameterDisplay:o,buildTypePredicateDisplay:m,buildParameterDisplay:s,buildDisplayForParametersAndDelimiters:f,buildDisplayForTypeParametersAndDelimiters:l,buildTypeParameterDisplayFromSymbol:i,buildSignatureDisplay:y,buildIndexSignatureDisplay:h,buildReturnTypeDisplay:g})}function et(t){if(t){var n=x(t);return void 0===n.isVisible&&(n.isVisible=!!function(){switch(t.kind){case 176:return et(t.parent.parent);case 226:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 233:case 229:case 230:case 231:case 228:case 232:case 237:if(e.isExternalModuleAugmentation(t))return!0;var n=ot(t);return 1&e.getCombinedModifierFlags(t)||237!==t.kind&&265!==n.kind&&e.isInAmbientContext(n)?et(n):T(n);case 149:case 148:case 153:case 154:case 151:case 150:if(24&e.getModifierFlags(t))return!1;case 152:case 156:case 155:case 157:case 146:case 234:case 160:case 161:case 163:case 159:case 164:case 165:case 166:case 167:case 168:return et(t.parent);case 239:case 240:case 242:return!1;case 145:case 265:case 236:return!0;case 243:default:return!1}}()),n.isVisible}return!1}function tt(t){function n(t){e.forEach(t,function(t){x(t).isVisible=!0;var r=B(t)||t;if(e.contains(i,r)||i.push(r),e.isInternalModuleImportEqualsDeclaration(t)){var a=N(t,Zf(t.moduleReference).text,901119,void 0,void 0);a&&n(a.declarations);}});}var r;if(t.parent&&243===t.parent.kind)r=N(t.parent,t.text,9289727,e.Diagnostics.Cannot_find_name_0,t);else if(246===t.parent.kind){var a=t.parent;r=a.parent.parent.moduleSpecifier?$(a.parent.parent,a):ae(a.propertyName||a.name,9289727);}var i=[];return r&&n(r.declarations),i}function nt(e,t){var n=rt(e,t);if(n>=0){for(var r=gv.length,a=n;a=0;n--){if(at(gv[n],hv[n]))return-1;if(gv[n]===e&&hv[n]===t)return n}return-1}function at(t,n){return 0===n?b(t).type:2===n?b(t).declaredType:1===n?t.resolvedBaseConstructorType:3===n?t.resolvedReturnType:void e.Debug.fail("Unhandled TypeSystemPropertyName "+n)}function it(){return gv.pop(),hv.pop(),yv.pop()}function ot(t){return(t=e.findAncestor(e.getRootDeclaration(t),function(e){switch(e.kind){case 226:case 227:case 242:case 241:case 240:case 239:return!1;default:return!0}}))&&t.parent}function st(t){var n=fn(be(t));return n.typeParameters?Hr(n,e.map(n.typeParameters,function(e){return nh})):n}function ct(e,t){var n=_r(e,t);return n?Lt(n):void 0}function ut(e){return e&&0!=(1&e.flags)}function lt(e){var t=ve(e);return t&&b(t).type||ht(e,!1)}function _t(t){return 144===t.kind&&!e.isStringOrNumericLiteral(t.expression)}function dt(t,n,r){if(8192&(t=kc(t,function(e){return!(6144&e.flags)})).flags)return vh;if(65536&t.flags)return Sc(t,function(e){return dt(e,n,r)});for(var a=e.createMap(),i=e.createMap(),o=0,s=n;o=2?Fa(nh):Ih;var o=Ka(e.map(a,function(t){return e.isOmittedExpression(t)?nh:bt(t,n,r)}));return n&&((o=Xr(o)).pattern=t),o}function St(e,t,n){return 174===e.kind?xt(e,t,n):kt(e,t,n)}function Tt(e,t){var n=ht(e,!0);return n?(t&&hs(e,n),261===e.kind?n:ms(n)):(n=e.dotDotDotToken?Ih:nh,t&&jy&&(Ct(e)||ys(e,n)),n)}function Ct(t){var n=e.getRootDeclaration(t);return mp(146===n.kind?n.parent:n)}function Et(t){var n=b(t);if(!n.type){if(16777216&t.flags)return n.type=st(t);var r=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(r))return n.type=nh;if(243===r.kind)return n.type=jd(r.expression);if(65536&r.flags&&291===r.kind&&r.typeExpression)return n.type=wi(r.typeExpression.type);if(!nt(t,0))return ah;var a=void 0;a=194===r.kind||179===r.kind&&194===r.parent.kind?vt(t):Tt(r,!0),it()||(a=Mt(t)),n.type=a;}return n.type}function Dt(t){if(t){if(153===t.kind)return t.type&&wi(t.type);var n=e.getSetAccessorTypeAnnotationNode(t);return n&&wi(n)}}function Nt(e){var t=Xg(e);return t&&t.symbol}function At(e){return Fr(Nr(e))}function wt(t){var n=b(t);if(!n.type){var r=e.getDeclarationOfKind(t,153),a=e.getDeclarationOfKind(t,154);if(r&&65536&r.flags){var i=ft(r);if(i)return n.type=i}if(!nt(t,0))return ah;var o=void 0,s=Dt(r);if(s)o=s;else{var c=Dt(a);c?o=c:r&&r.body?o=z_(r):(jy&&(a?l(a,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,Ue(t)):(e.Debug.assert(!!r,"there must existed getter as we are current checking either setter or getter in this function"),l(r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,Ue(t)))),o=nh);}it()||(o=nh,jy&&l(e.getDeclarationOfKind(t,153),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,Ue(t))),n.type=o;}return n.type}function Ot(e){var t=Yt(an(e));return 540672&t.flags?t:void 0}function Pt(t){var n=b(t);if(!n.type)if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))n.type=nh;else{var r=Ee(16,t);if(32&t.flags){var a=Ot(t);n.type=a?ti([r,a]):r;}else n.type=Ky&&67108864&t.flags?is(r,2048):r;}return n.type}function Ft(e){var t=b(e);return t.type||(t.type=_n(e)),t.type}function It(e){var t=b(e);if(!t.type){var n=Z(e);t.type=107455&n.flags?Lt(n):ah;}return t.type}function Rt(t){var n=b(t);if(!n.type)if(100===Oy)l(t.valueDeclaration,e.Diagnostics.Generic_type_instantiation_is_excessively_deep_and_possibly_infinite),n.type=ah;else{if(!nt(t,0))return ah;Oy++;var r=to(Lt(n.target),n.mapper);Oy--,it()||(r=Mt(t)),n.type=r;}return n.type}function Mt(t){return t.valueDeclaration.type?(l(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Ue(t)),ah):(jy&&l(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,Ue(t)),nh)}function Lt(e){return 1&S(e)?Rt(e):7&e.flags?Et(e):9136&e.flags?Pt(e):8&e.flags?Ft(e):98304&e.flags?wt(e):8388608&e.flags?It(e):ah}function Bt(e,t){return void 0!==e&&void 0!==t&&0!=(4&k(e))&&e.target===t}function Kt(e){return 4&k(e)?e.target:e}function jt(t,n){function r(t){if(7&k(t)){var a=Kt(t);return a===n||e.forEach(Qt(a),r)}if(131072&t.flags)return e.forEach(t.types,r)}return r(t)}function Jt(t,n){for(var r=0,a=n;r0)return!0;if(540672&e.flags){var t=nr(e);return t&&tn(t)&&$t(t)}return!1}function Wt(t){return e.getClassExtendsHeritageClauseElement(t.symbol.valueDeclaration)}function Ht(t,n,r){var a=e.length(n),i=e.isInJavaScriptFile(r);return e.filter(pr(t,1),function(t){return(i||a>=Er(t.typeParameters))&&a<=e.length(t.typeParameters)})}function Xt(t,n,r){var a=Ht(t,n,r);if(n){var i=e.map(n,wi);a=e.map(a,function(e){return Mr(e,i)});}return a}function Yt(t){if(!t.resolvedBaseConstructorType){var n=Wt(t);if(!n)return t.resolvedBaseConstructorType=ih;if(!nt(t,1))return ah;var r=jd(n.expression);if(163840&r.flags&&Wn(r),!it())return l(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,Ue(t.symbol)),t.resolvedBaseConstructorType=ah;if(!(1&r.flags||r===ch||Gt(r)))return l(n.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,qe(r)),t.resolvedBaseConstructorType=ah;t.resolvedBaseConstructorType=r;}return t.resolvedBaseConstructorType}function Qt(t){return t.resolvedBaseTypes||(8&t.objectFlags?t.resolvedBaseTypes=[Ra(Xa(t.typeParameters))]:96&t.symbol.flags?(32&t.symbol.flags&&Zt(t),64&t.symbol.flags&&nn(t)):e.Debug.fail("type must be class or interface")),t.resolvedBaseTypes}function Zt(t){t.resolvedBaseTypes=t.resolvedBaseTypes||Py;var n=sr(Yt(t));if(163841&n.flags){var r,a=Wt(t),i=n&&n.symbol?fn(n.symbol):void 0;if(n.symbol&&32&n.symbol.flags&&en(i))r=Qr(a,n.symbol);else if(1&n.flags)r=n;else{var o=Xt(n,a.typeArguments,a);if(!o.length)return void l(a.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments);r=Ir(o[0]);}var s=t.symbol.valueDeclaration;if(s&&e.isInJavaScriptFile(s)){var c=e.getJSDocAugmentsTag(t.symbol.valueDeclaration);c&&(r=wi(c.typeExpression.type));}r!==ah&&(tn(r)?t===r||jt(r,t)?l(s,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,qe(t,void 0,1)):t.resolvedBaseTypes===Py?t.resolvedBaseTypes=[r]:t.resolvedBaseTypes.push(r):l(a.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_a_class_or_interface_type,qe(r)));}}function en(e){var t=e.outerTypeParameters;if(t){var n=t.length-1,r=e.typeArguments;return t[n].symbol!==r[n].symbol}return!0}function tn(t){return 16809985&t.flags&&!Gn(t)||131072&t.flags&&!e.forEach(t.types,function(e){return!tn(e)})}function nn(t){t.resolvedBaseTypes=t.resolvedBaseTypes||Py;for(var n=0,r=t.symbol.declarations;n1&&(n.flags|=65536,n.types=r,Wy.set(Gr(r),n));}}return t.declaredType}function _n(e){var t=b(e);if(!t.declaredType){var n=ln(be(e));t.declaredType=65536&n.flags?n.memberTypes[ag(e.valueDeclaration)]:n;}return t.declaredType}function dn(e){var t=b(e);if(!t.declaredType){var n=Te(16384);n.symbol=e,t.declaredType=n;}return t.declaredType}function pn(e){var t=b(e);return t.declaredType||(t.declaredType=fn(Z(e))),t.declaredType}function fn(e){return 96&e.flags?an(e):524288&e.flags?on$$1(e):262144&e.flags?dn(e):384&e.flags?ln(e):8&e.flags?_n(e):8388608&e.flags?pn(e):ah}function mn(e){if(e.typeArguments)for(var t=0,n=e.typeArguments;t=_)&&o<=d){var p=d?Lr(l,Dr(i,l.typeParameters,_,r)):An(l);p.typeParameters=t.localTypeParameters,p.resolvedReturnType=t,s.push(p);}}return s}function On(e,t,n,r,a){for(var i=0,o=e;i0)return;for(i=1;i1){if(l=An(c),e.forEach(u,function(e){return e.thisParameter})){var _=Xa(e.map(u,function(e){return Lt(e.thisParameter)||nh}),!0);l.thisParameter=us(c.thisParameter,_);}l.resolvedReturnType=void 0,l.unionSignatures=u;}(a||(a=[])).push(l);}}}return a||Py}function In(e,t){for(var n=[],r=!1,a=0,i=e;a0&&(l=e.map(l,function(e){var t=An(e);return t.resolvedReturnType=Kn(Ir(e),o,c),t})),i=e.concatenate(i,l);}a=e.concatenate(a,pr(u,0)),n=Ln(n,gr(u,0)),r=Ln(r,gr(u,1));}(c);Ae(t,Fy,a,i,n,r);}function Jn(e){var t=e.symbol;if(e.target)Ae(e,r=xn(Hn(e.target),e.mapper,!1),n=Fi(pr(e.target,0),e.mapper),a=Fi(pr(e.target,1),e.mapper),i=ro(gr(e.target,0),e.mapper),c=ro(gr(e.target,1),e.mapper));else if(2048&t.flags){var n=Or((r=t.members).get("__call"));Ae(e,r,n,a=Or(r.get("__new")),i=Ur(t,0),c=Ur(t,1));}else{var r=Fy,a=Py,i=void 0;if(t.exports&&(r=fe(t)),32&t.flags){var o=an(t);(a=Or(t.members.get("__constructor"))).length||(a=wn(o));var s=Yt(o);704512&s.flags?kn(r=bn(Ne(r)),Qn(s)):s===nh&&(i=zr(nh,!1));}var c=384&t.flags?cv:void 0;Ae(e,r,Py,a,i,c),8208&t.flags&&(e.callSignatures=Or(t));}}function zn(t){function n(e,n){var o=Bi([i],[e]),d=t.mapper?Ui(t.mapper,o):o,p=to(s,d);if(32&e.flags){var f=e.text,m=_r(c,f),g=_(4|(l||!!(m&&67108864&m.flags)?67108864:0),f);g.checkFlags=u||m&&Y_(m)?8:0,g.type=p,n&&(g.syntheticOrigin=n),a.set(f,g);}else 2&e.flags&&(r=zr(p,u));}var r,a=e.createMap();Ae(t,Fy,Py,Py,void 0,void 0);var i=Un(t),o=Vn(t),s=qn(t),c=sr($n(t)),u=!!t.declaration.readonlyToken,l=!!t.declaration.questionToken;if(170===t.declaration.typeParameter.constraint.kind){for(var d=0,p=Qn(c);d=2):16777216&t.flags?vh:t}function cr(t,n){for(var r,a=t.types,i=65536&t.flags,o=i?24:0,s=i?0:67108864,c=4,u=0,l=0,d=a;l=0),a>=r.minArgumentCount}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&(!t.type&&!t.dotDotDotToken&&e.indexOf(t.parent.parameters,t)>=i.arguments.length)}function Cr(e){if(71===e.parameterName.kind){var t=e.parameterName;return{kind:1,parameterName:t?t.text:void 0,parameterIndex:t?Vd(e.parent.parameters,t):void 0,type:wi(e.type)}}return{kind:0,type:wi(e.type)}}function Er(e){var t=0;if(e)for(var n=0;n=r)&&o<=i){t||(t=[]);for(c=o;cc.arguments.length&&!d.type||kr(d)||l||(i=r.length);}if(!(153!==t.kind&&154!==t.kind||e.hasDynamicName(t)||s&&o)){var f=153===t.kind?154:153,m=e.getDeclarationOfKind(t.symbol,f);m&&(o=Nt(m));}var g=152===t.kind?an(he(t.parent.symbol)):void 0,y=g?g.localTypeParameters:t.typeParameters?br(t.typeParameters):vr(t),h=Ar(t,u,g),v=t.type&&158===t.type.kind?Cr(t.type):void 0;n.resolvedSignature=Nn(t,y,o,r,h,v,i,e.hasRestParameter(t),a);}return n.resolvedSignature}function Ar(t,n,r){if(n)return wi(t.parameters[0].type);if(r)return r;if(t.type)return wi(t.type);if(65536&t.flags){var a=K_(t);if(a&&a!==ah)return a}return 153!==t.kind||e.hasDynamicName(t)?e.nodeIsMissing(t.body)?nh:void 0:Dt(e.getDeclarationOfKind(t.symbol,154))}function wr(t){function n(t){if(!t)return!1;switch(t.kind){case 71:return"arguments"===t.text&&e.isPartOfExpression(t);case 149:case 151:case 153:case 154:return 144===t.name.kind&&n(t.name);default:return!e.nodeStartsNewLexicalEnvironment(t)&&!e.isPartOfTypeNode(t)&&e.forEachChild(t,n)}}var r=x(t);return void 0===r.containsArgumentsReference&&(8192&r.flags?r.containsArgumentsReference=!0:r.containsArgumentsReference=n(t.body)),r.containsArgumentsReference}function Or(e){if(!e)return Py;for(var t=[],n=0;n0&&r.body){var a=e.declarations[n-1];if(r.parent===a.parent&&r.kind===a.kind&&r.pos===a.end)break}t.push(Nr(r));}}return t}function Pr(e){var t=ie(e,e);if(t){var n=ce(t);if(n)return Lt(n)}return nh}function Fr(e){if(e.thisParameter)return Lt(e.thisParameter)}function Ir(t){if(!t.resolvedReturnType){if(!nt(t,3))return ah;var n=void 0;if(n=t.target?to(Ir(t.target),t.mapper):t.unionSignatures?Xa(e.map(t.unionSignatures,Ir),!0):z_(t.declaration),!it()&&(n=nh,jy)){var r=t.declaration,a=e.getNameOfDeclaration(r);a?l(a,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,e.declarationNameToString(a)):l(r,e.Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions);}t.resolvedReturnType=n;}return t.resolvedReturnType}function Rr(t){if(t.hasRestParameter){var n=Lt(e.lastOrUndefined(t.parameters));if(4&k(n)&&n.target===Dh)return n.typeArguments[0]}return nh}function Mr(t,n){n=Dr(n,t.typeParameters,Er(t.typeParameters));var r=t.instantiations||(t.instantiations=e.createMap()),a=Gr(n),i=r.get(a);return i||r.set(a,i=Lr(t,n)),i}function Lr(e,t){return Gi(e,Bi(e.typeParameters,t),!0)}function Br(e){return e.typeParameters?(e.erasedSignatureCache||(e.erasedSignatureCache=Gi(e,Ki(e.typeParameters),!0)),e.erasedSignatureCache):e}function Kr(e){if(!e.isolatedSignatureType){var t=152===e.declaration.kind||156===e.declaration.kind,n=Ee(16);n.members=Fy,n.properties=Py,n.callSignatures=t?Py:[e],n.constructSignatures=t?[e]:Py,e.isolatedSignatureType=n;}return e.isolatedSignatureType}function jr(e){return e.members.get("__index")}function Jr(e,t){var n=1===t?133:136,r=jr(e);if(r)for(var a=0,i=r.declarations;a1&&(t+=":"+i),r+=i;}return t}function Wr(e,t){for(var n=0,r=0,a=e;ra.length)?(l(t,o===a.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,qe(r,void 0,1),o,a.length),ah):Hr(r,e.concatenate(r.outerTypeParameters,Dr(e.map(t.typeArguments,wi),a,o,t)))}return t.typeArguments?(l(t,e.Diagnostics.Type_0_is_not_generic,qe(r)),ah):r}function Zr(e,t){var n=fn(e),r=b(e),a=r.typeParameters,i=Gr(t),o=r.instantiations.get(i);return o||r.instantiations.set(i,o=no(n,Bi(a,Dr(t,a,Er(a))))),o}function ea(t,n){var r=fn(n),a=b(n).typeParameters;if(a){var i=e.length(t.typeArguments),o=Er(a);return ia.length?(l(t,o===a.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Ue(n),o,a.length),ah):Zr(n,e.map(t.typeArguments,wi))}return t.typeArguments?(l(t,e.Diagnostics.Type_0_is_not_generic,Ue(n)),ah):r}function ta(t,n){return t.typeArguments?(l(t,e.Diagnostics.Type_0_is_not_generic,Ue(n)),ah):fn(n)}function na(t){switch(t.kind){case 159:return t.typeName;case 277:return t.name;case 201:var n=t.expression;if(e.isEntityNameExpression(n))return n}}function ra(e){return e?ae(e,793064)||eh:eh}function aa(e,t){return t===eh?ah:96&t.flags?Qr(e,t):524288&t.flags?ea(e,t):107455&t.flags&&277===e.kind?Lt(t):ta(e,t)}function ia(t){if(e.isIdentifier(t.name))switch(t.name.text){case"String":return uh;case"Number":return lh;case"Boolean":return ph;case"Void":return mh;case"Undefined":return ih;case"Null":return sh;case"Object":return nh;case"Function":return Sh;case"Array":case"array":return t.typeArguments&&t.typeArguments.length?void 0:Ra(nh);case"Promise":case"promise":return t.typeArguments&&t.typeArguments.length?void 0:j_(nh)}}function oa(e){var t=wi(e.type);return Ky?Xa([t,sh]):t}function sa(t){var n=x(t);if(!n.resolvedType){var r=void 0,a=void 0;if(277===t.kind)(a=ia(t))||(a=aa(t,r=ra(na(t))));else{var i=159===t.kind?t.typeName:e.isEntityNameExpression(t.expression)?t.expression:void 0;a=(r=i&&ae(i,793064)||eh)===eh?ah:96&r.flags?Qr(t,r):524288&r.flags?ea(t,r):ta(t,r);}n.resolvedSymbol=r,n.resolvedType=a;}return n.resolvedType}function ca(e){var t=x(e);return t.resolvedType||(t.resolvedType=ms(jd(e.exprName))),t.resolvedType}function ua(t,n){function r(e){for(var t=0,n=e.declarations;t>1),o=e[i].id;if(o===a)return i;o>a?r=i-1:n=i+1;}return~n}function za(e,t){return Ja(e,t)>=0}function Ua(e,t){var n=t.flags;if(65536&n)Va(e,t.types);else if(1&n)e.containsAny=!0;else if(!Ky&&6144&n)2048&n&&(e.containsUndefined=!0),4096&n&&(e.containsNull=!0),2097152&n||(e.containsNonWideningType=!0);else if(!(8192&n)){2&n&&(e.containsString=!0),4&n&&(e.containsNumber=!0),96&n&&(e.containsStringOrNumberLiteral=!0);var r=e.length,a=r&&t.id>e[r-1].id?~r:Ja(e,t);a<0&&(32768&n&&16&t.objectFlags&&t.symbol&&8208&t.symbol.flags&&qa(e,t)||e.splice(~a,0,t));}}function Va(e,t){for(var n=0,r=t;n0;)$a(t[--n],t)&&e.orderedRemoveItemAt(t,n);}function Ha(t){for(var n=t.length;n>0;){var r=t[--n];(32&r.flags&&t.containsString||64&r.flags&&t.containsNumber||96&r.flags&&1048576&r.flags&&za(t,r.regularType))&&e.orderedRemoveItemAt(t,n);}}function Xa(e,t,n,r){if(0===e.length)return gh;if(1===e.length)return e[0];var a=[];return Va(a,e),a.containsAny?nh:(t?Wa(a):a.containsStringOrNumberLiteral&&Ha(a),0===a.length?a.containsNull?a.containsNonWideningType?sh:ch:a.containsUndefined?a.containsNonWideningType?ih:oh:gh:Ya(a,n,r))}function Ya(e,t,n){if(0===e.length)return gh;if(1===e.length)return e[0];var r=Gr(e),a=Wy.get(r);return a||(a=Te(65536|Wr(e,6144)),Wy.set(r,a),a.types=e,a.aliasSymbol=t,a.aliasTypeArguments=n),a}function Qa(t){var n=x(t);return n.resolvedType||(n.resolvedType=Xa(e.map(t.types,wi),!1,gi(t),yi(t))),n.resolvedType}function Za(t,n){131072&n.flags?ei(t,n.types):1&n.flags?t.containsAny=!0:16&k(n)&&Do(n)?t.containsEmptyObject=!0:8192&n.flags||!Ky&&6144&n.flags||e.contains(t,n)||(32768&n.flags&&(t.containsObjectType=!0),65536&n.flags&&void 0===t.unionIndex&&(t.unionIndex=t.length),32768&n.flags&&16&n.objectFlags&&n.symbol&&8208&n.symbol.flags&&qa(t,n)||t.push(n));}function ei(e,t){for(var n=0,r=t;n=n?vh:r};return r.mappedTypes=t,r}function Ji(e){if(!e.mapper){var t=function(t){for(var n=e.signature.typeParameters,r=0;rn.parameters.length)return 0;t=Br(t),n=Br(n);var s=-1,c=Fr(t);if(c&&c!==mh){var u=Fr(n);if(u){if(!(h=o(c,u,!1)||o(u,c,a)))return a&&i(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;s&=h;}}for(var l=To(t),_=To(n),d=Co(t,l,n,_),p=t.parameters,f=n.parameters,m=0;m0){for(var s=0;s=5&&32768&e.flags){var r=e.symbol;if(r)for(var a=0,i=0;i=5)return!0}}return!1}function Ko(e,t){return 0!==jo(e,t,uo)}function jo(e,t,n){if(e===t)return-1;var r=24&Nl(e);if(r!==(24&Nl(t)))return 0;if(r){if(Kf(e)!==Kf(t))return 0}else if((67108864&e.flags)!=(67108864&t.flags))return 0;return Y_(e)!==Y_(t)?0:n(Lt(e),Lt(t))}function Jo(e,t,n){if(e.parameters.length===t.parameters.length&&e.minArgumentCount===t.minArgumentCount&&e.hasRestParameter===t.hasRestParameter)return!0;var r=e.hasRestParameter?1:0,a=t.hasRestParameter?1:0;return!!(n&&e.minArgumentCount<=t.minArgumentCount&&(r>a||r===a&&e.parameters.length>=t.parameters.length))}function zo(t,n,r,a,i,o){if(t===n)return-1;if(!Jo(t,n,r))return 0;if(e.length(t.typeParameters)!==e.length(n.typeParameters))return 0;t=Br(t),n=Br(n);var s=-1;if(!a){var c=Fr(t);if(c){var u=Fr(n);if(u){if(!(d=o(c,u)))return 0;s&=d;}}}for(var l=n.parameters.length,_=0;_=e.parameters.length-1}function Vo(e,t){for(var n=0,r=t;no&&(a=t[s],i=u,o=c),o===t.length-1)break}yo(i,a,n,e.Diagnostics.Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0,r);}function Ho(e){return 4&k(e)&&e.target===Dh}function Xo(e){return 4&k(e)&&(e.target===Dh||e.target===Nh)||!(6144&e.flags)&&po(e,Mh)}function Yo(e){return!!_r(e,"0")}function Qo(e){return 0!=(6624&e.flags)}function Zo(t){return!!(8&t.flags)||(65536&t.flags?!!(16&t.flags)||!e.forEach(t.types,function(e){return!Qo(e)}):Qo(t))}function es(t){return 32&t.flags?uh:64&t.flags?lh:128&t.flags?ph:256&t.flags?t.baseType:65536&t.flags&&!(16&t.flags)?Xa(e.sameMap(t.types,es)):t}function ts(t){return 32&t.flags&&1048576&t.flags?uh:64&t.flags&&1048576&t.flags?lh:128&t.flags?ph:256&t.flags?t.baseType:65536&t.flags&&!(16&t.flags)?Xa(e.sameMap(t.types,ts)):t}function ns(e){return!!(4&k(e)&&8&e.target.objectFlags)}function rs(e){for(var t=0,n=0,r=e;n=0&&!n[s].isFixed){var l=Cs(r,a);l&&(g++,o(l,t[s]),g--);}return}if(16384&i.flags)return o(oi(r),i),void o(Xa(e.map(Qn(r),Lt)),qn(a))}c(r,a),u(r,a,0),u(r,a,1),d(r,a);}function c(e,t){for(var n=0,r=Hn(t);nn)&&(t.failedTypeParameterIndex=n);}return a}function Fs(e){for(var t=0;t=2||0==(34&n.flags)||260===n.valueDeclaration.parent.kind)){for(var r=e.getEnclosingBlockScopeContainer(n.valueDeclaration),a=Xc(t.parent,r),i=r,o=!1;i&&!e.nodeStartsNewLexicalEnvironment(i);){if(e.isIterationStatement(i,!1)){o=!0;break}i=i.parent;}o&&(a&&(x(i).flags|=65536),214===r.kind&&e.getAncestor(n.valueDeclaration,227).parent===r&&Qc(t,r)&&(x(n.valueDeclaration).flags|=2097152),x(n.valueDeclaration).flags|=262144),a&&(x(n.valueDeclaration).flags|=131072);}}function Qc(t,n){for(var r=t;185===r.parent.kind;)r=r.parent;var a=!1;if(e.isAssignmentTarget(r))a=!0;else if(192===r.parent.kind||193===r.parent.kind){var i=r.parent;a=43===i.operator||44===i.operator;}return!!a&&!!e.findAncestor(r,function(e){return e===n?"quit":e===n.statement})}function Zc(e,t){x(e).flags|=2,149===t.kind||152===t.kind?x(t.parent).flags|=4:x(t).flags|=4;}function eu(t){if(e.isSuperCall(t))return t;if(!e.isFunctionLike(t))return e.forEachChild(t,eu)}function tu(e){var t=x(e);return void 0===t.hasSuperCall&&(t.superCall=eu(e.body),t.hasSuperCall=!!t.superCall),t.superCall}function nu(e){return Yt(fn(ve(e)))===ch}function ru(t,n,r){var a=n.parent;if(e.getClassExtendsHeritageClauseElement(a)&&!nu(a)){var i=tu(n);(!i||i.end>t.pos)&&l(t,r);}}function au(t){var n=e.getThisContainer(t,!0),r=!1;switch(152===n.kind&&ru(t,n,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),187===n.kind&&(n=e.getThisContainer(n,!1),r=Ry<2),n.kind){case 233:l(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 232:l(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 152:ou(t,n)&&l(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 149:case 148:32&e.getModifierFlags(n)&&l(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 144:l(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name);}if(r&&Zc(t,n),e.isFunctionLike(n)&&(!gu(t)||e.getThisParameter(n))){if(186===n.kind&&194===n.parent.kind&&3===e.getSpecialPropertyAssignmentKind(n.parent)){var a=jd(n.parent.left.expression.expression).symbol;if(a&&a.members&&16&a.flags)return E_(a)}var i=At(n)||_u(n);if(i)return i}if(e.isClassLike(n.parent)){var o=ve(n.parent);return Jc(t,s=e.hasModifier(n,32)?Lt(o):fn(o).thisType)}if(e.isInJavaScriptFile(t)){var s=iu(n);if(s&&s!==ah)return s}return Jy&&l(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation),nh}function iu(t){var n=e.getJSDocType(t);if(n&&279===n.kind){var r=n;if(r.parameters.length>0&&282===r.parameters[0].type.kind)return wi(r.parameters[0].type)}}function ou(t,n){return!!e.findAncestor(t,function(e){return e===n?"quit":146===e.kind})}function su(t){var n=181===t.parent.kind&&t.parent.expression===t,r=e.getSuperContainer(t,!0),a=!1;if(!n)for(;r&&187===r.kind;)r=e.getSuperContainer(r,!0),a=Ry<2;var i=0;if(!function(t){return!!t&&(n?152===t.kind:!(!e.isClassLike(t.parent)&&178!==t.parent.kind)&&(32&e.getModifierFlags(t)?151===t.kind||150===t.kind||153===t.kind||154===t.kind:151===t.kind||150===t.kind||153===t.kind||154===t.kind||149===t.kind||148===t.kind||152===t.kind))}(r)){var o=e.findAncestor(t,function(e){return e===r?"quit":144===e.kind});return o&&144===o.kind?l(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):n?l(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):r&&r.parent&&(e.isClassLike(r.parent)||178===r.parent.kind)?l(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):l(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),ah}if(n||152!==r.kind||ru(t,r,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),i=32&e.getModifierFlags(r)||n?512:256,x(t).flags|=i,151===r.kind&&256&e.getModifierFlags(r)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?x(r).flags|=4096:x(r).flags|=2048),a&&Zc(t.parent,r),178===r.parent.kind)return Ry<2?(l(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ah):nh;var s=r.parent,c=fn(ve(s)),u=c&&Qt(c)[0];return u?152===r.kind&&ou(t,r)?(l(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),ah):512===i?Yt(c):Tn(u,c.thisType):(e.getClassExtendsHeritageClauseElement(s)||l(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),ah)}function cu(e){return 151!==e.kind&&153!==e.kind&&154!==e.kind||178!==e.parent.kind?186===e.kind&&261===e.parent.kind?e.parent.parent:void 0:e.parent}function uu(e){return 4&k(e)&&e.target===Fh?e.typeArguments[0]:void 0}function lu(t){return Sc(t,function(t){return 131072&t.flags?e.forEach(t.types,uu):uu(t)})}function _u(e){if(187!==e.kind){if(oo(e)){var t=Bu(e);if(t){var n=t.thisParameter;if(n)return Lt(n)}}if(Jy){var r=cu(e);if(r){for(var a=wu(r),i=r,o=a;o;){var s=lu(o);if(s)return to(s,Pu(r));if(261!==i.parent.kind)break;o=wu(i=i.parent.parent);}return a?ss(a):wd(r)}if(194===e.parent.kind&&58===e.parent.operatorToken.kind){var c=e.parent.left;if(179===c.kind||180===c.kind)return wd(c.expression)}}}}function du(t){var n=t.parent;if(oo(n)){var r=e.getImmediatelyInvokedFunctionExpression(n);if(r&&r.arguments){var a=e.indexOf(n.parameters,t);if(t.dotDotDotToken){for(var i=[],o=a;o=0)return I_(C_(t),a)}function vu(e,t){if(183===e.parent.kind)return hu(e.parent,t)}function bu(t){var n=t.parent,r=n.operatorToken.kind;if(r>=58&&r<=70){if(0!==e.getSpecialPropertyAssignmentKind(n))return;if(t===n.right)return Bd(n.left)}else{if(54===r){var a=Ou(n);return a||t!==n.right||(a=Bd(n.left)),a}if((53===r||26===r)&&t===n.right)return Ou(n)}}function xu(e,t){return Sc(e,function(e){var n=229376&e.flags?_r(e,t):void 0;return n?Lt(n):void 0})}function ku(e,t){return Sc(e,function(e){return mr(e,t)})}function Su(t){return!!(65536&t.flags?e.forEach(t.types,Yo):Yo(t))}function Tu(t){if(e.Debug.assert(e.isObjectLiteralMethod(t)),!bm(t))return Cu(t)}function Cu(t){var n=wu(t.parent);if(n){if(!e.hasDynamicName(t)){var r=xu(n,ve(t).name);if(r)return r}return zu(t.name)&&ku(n,1)||ku(n,0)}}function Eu(t){var n=t.parent,r=wu(n);if(r)return xu(r,""+e.indexOf(n.elements,t))||ku(r,1)||gf(r,void 0,!1,!1,!1)}function Du(e){var t=e.parent;return e===t.whenTrue||e===t.whenFalse?Ou(t):void 0}function Nu(t){var n=Ou(e.isJsxAttributeLike(t.parent)?t.parent.parent:t.parent.openingElement.attributes);if(n&&!ut(n)){if(e.isJsxAttribute(t.parent))return ct(n,t.parent.name.text);if(249===t.parent.kind){var r=cl();return r&&""!==r?ct(n,r):nh}return n}}function Au(t){var n=Ou(t.parent);if(e.isJsxAttribute(t)){if(!n||ut(n))return;return ct(n,t.name.text)}return n}function wu(e){var t=Ou(e);return t&&sr(t)}function Ou(t){if(!bm(t)){if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 226:case 146:case 149:case 148:case 176:return pu(t);case 187:case 219:return fu(t);case 197:return mu(n);case 181:case 182:return hu(n,t);case 184:case 202:return wi(n.type);case 194:return bu(t);case 261:case 262:return Cu(n);case 177:return Eu(t);case 195:return Du(t);case 205:return e.Debug.assert(196===n.parent.kind),vu(n.parent,t);case 185:return Ou(n);case 256:return Nu(n);case 253:case 255:return Au(n);case 251:case 250:return gl(n)}}}function Pu(t){return t=e.findAncestor(t,function(e){return!!e.contextualMapper}),t?t.contextualMapper:zi}function Fu(e,t){var n=dr(e,0);if(1===n.length){var r=n[0];if(!r.typeParameters&&!Iu(r,t))return r}}function Iu(t,n){for(var r=0;r0&&(s=hi(s,r()),o=[],i=e.createMap(),g=!1,y=!1,f=0),!Xu(S=jd(b.expression)))return l(b,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),ah;s=hi(s,S),h=v+1;continue}e.Debug.assert(153===b.kind||154===b.kind),dm(b);}e.hasDynamicName(b)?zu(b.name)?y=!0:g=!0:i.set(x.name,x),o.push(x);}if(d)for(var C=0,E=Qn(u);C0&&(s=hi(s,r())),32768&s.flags&&(s.flags|=c,s.symbol=t.symbol),s):r()}function Xu(t){return!!(16783361&t.flags||32768&t.flags&&!Gn(t)||196608&t.flags&&!e.forEach(t.types,function(e){return!Xu(e)}))}function Yu(e){return Sl(e),vl()||nh}function Qu(e){return Sl(e.openingElement),el(e.closingElement.tagName)?al(e.closingElement):jd(e.closingElement.tagName),vl()||nh}function Zu(e){return e.indexOf("-")<0}function el(t){return 179!==t.kind&&99!==t.kind&&e.isIntrinsicJsxName(t.text)}function tl(t,n,r){function a(e,t){var n=we(e,t,Py,Py,void 0,void 0);return n.flags|=37748736,n.objectFlags|=128,n}for(var i,o=t.attributes,s=e.createMap(),c=vh,u=[],d=!1,p=!1,f=cl(),m=0,g=o.properties;m0&&(c=hi(c,a(o.symbol,s)),u=[],s=e.createMap()),ut(v=jd(y.expression))&&(d=!0),Xu(v)?c=hi(c,v):i=i?ti([i,v]):v;}d||(c!==vh&&(u.length>0&&(c=hi(c,a(o.symbol,s)),u=[],s=e.createMap()),u=Qn(c)),s=e.createMap(),u&&e.forEach(u,function(e){n&&!n(e)||s.set(e.name,e);}));var x=249===t.parent.kind?t.parent:void 0;if(x&&x.openingElement===t&&x.children.length>0){for(var k=[],S=0,T=x.children;S1&&l(r.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,t);}}function sl(){return zv||(zv=!0,Iv=ol(qv.ElementAttributesPropertyNameContainer)),Iv}function cl(){return Uv||(Uv=!0,Rv=ol(qv.ElementChildrenAttributeNameContainer)),Rv}function ul(e){if(e){if(131072&e.flags){for(var t=[],n=0,r=e.types;n0))l(t,e.Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,sl());else if(ho(r,n,t.attributes.properties.length>0?t.attributes:t)&&!ut(r)&&!ut(n))for(var a=0,i=t.attributes.properties;a=m&&o.length<=f))return!1;if(c>=0)return Uo(r,c);if(!r.hasRestParameter&&i>r.parameters.length)return!1;var g=i>=r.minArgumentCount;return s||g}function Yl(e){if(32768&e.flags){var t=Wn(e);if(1===t.callSignatures.length&&0===t.constructSignatures.length&&0===t.properties.length&&!t.stringIndexInfo&&!t.numberIndexInfo)return t.callSignatures[0]}}function Ql(e,t,n){var r=bs(e,!0,!1);return vs(t,e,function(e,t){Es(r,to(e,n),t);}),Mr(e,Fs(r))}function Zl(e,t,n,r,a){for(var i=t.typeParameters,o=Ji(a),s=0;s0?[t.attributes]:Py:t.arguments||Py;}return n}function i_(e,t,n){if(147!==e.kind)return t.length;switch(e.parent.kind){case 229:case 199:return 1;case 149:return 2;case 151:case 153:case 154:return 0===Ry?2:n.parameters.length>=3?3:2;case 146:return 3}}function o_(t){if(229===t.kind)return Lt(n=ve(t));if(146===t.kind&&152===(t=t.parent).kind){var n=ve(t);return Lt(n)}return 149===t.kind||151===t.kind||153===t.kind||154===t.kind?Km(t):(e.Debug.fail("Unsupported decorator target."),ah)}function s_(t){if(229===t.kind)return e.Debug.fail("Class decorators should not have a second synthetic argument."),ah;if(146===t.kind&&152===(t=t.parent).kind)return nh;if(149===t.kind||151===t.kind||153===t.kind||154===t.kind){var n=t;switch(n.name.kind){case 71:case 8:case 9:return Ti(32,n.name.text);case 144:var r=Gu(n.name);return cd(r,512)?r:uh;default:return e.Debug.fail("Unsupported property name."),ah}}return e.Debug.fail("Unsupported decorator target."),ah}function c_(t){return 229===t.kind?(e.Debug.fail("Class decorators should not have a third synthetic argument."),ah):146===t.kind?lh:149===t.kind?(e.Debug.fail("Property decorators should not have a third synthetic argument."),ah):151===t.kind||153===t.kind||154===t.kind?wa(Rm(t)):(e.Debug.fail("Unsupported decorator target."),ah)}function u_(t,n){return 0===n?o_(t.parent):1===n?s_(t.parent):2===n?c_(t.parent):(e.Debug.fail("Decorators should not have a fourth synthetic argument."),ah)}function l_(e,t){return 147===e.kind?u_(e,t):0===t&&183===e.kind?ma():void 0}function __(e,t,n){if(147!==e.kind&&(0!==n||183!==e.kind))return t[n]}function d_(e,t,n){return 147===e.kind?e.expression:0===t&&183===e.kind?e.template:n}function p_(t,n,r,a){function o(n,r,i,o){var s;s=e.chainDiagnosticMessages(s,n,r,i,o),a&&(s=e.chainDiagnosticMessages(s,a)),Ov.add(e.createDiagnosticForNodeFromMessageChain(t,s));}function s(n,r,a){void 0===a&&(a=!1);for(var i=0,o=n;i1&&(S=s(g,$v,T)),S||(b=void 0,x=void 0,k=void 0,S=s(g,Gv,T)),S)return S;if(b){if(d)return b;n_(t,h,b,Gv,void 0,!0);}else if(x)if(u||l||!c){e.Debug.assert(k.failedTypeParameterIndex>=0);var C=x.typeParameters[k.failedTypeParameterIndex],E=ws(k,k.failedTypeParameterIndex),D=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly,qe(C));a&&(D=e.chainDiagnosticMessages(D,a)),Wo(E,t.tagName||t.expression||t.tag,D);}else{var N=t.typeArguments;e_(x,N,e.map(N,wi),!0,a);}else o(e.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target);if(!i)for(var A=0,w=g;A=0&&l(t.arguments[r],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher);}var a=Pl(t.expression);if(a===yh)return sv;if((a=sr(a))===ah)return Gl(t);var i=a.symbol&&jf(a.symbol);if(i&&128&e.getModifierFlags(i))return l(t,e.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0,e.declarationNameToString(e.getNameOfDeclaration(i))),Gl(t);if(ut(a))return t.typeArguments&&l(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),$l(t);var o=pr(a,1);if(o.length)return y_(t,o[0])?p_(t,o,n):Gl(t);var s=pr(a,0);if(s.length){var c=p_(t,s,n);return Ir(c)!==mh&&l(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Fr(c)===mh&&l(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void),c}return l(t,e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature),Gl(t)}function y_(t,n){if(!n||!n.declaration)return!0;var r=n.declaration,a=e.getModifierFlags(r);if(!(24&a))return!0;var i=jf(r.parent.symbol),o=fn(r.parent.symbol);if(!Dm(t,i)){var s=e.getContainingClass(t);if(s)for(var c=Qt(Rm(s));c.length;){var u=c[0];if(16&a&&u.symbol===r.parent.symbol)return!0;c=Qt(u);}return 8&a&&l(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,qe(o)),16&a&&l(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,qe(o)),!1}return!0}function h_(t,n){var r=jd(t.tag),a=sr(r);if(a===ah)return Gl(t);var i=pr(a,0),o=pr(a,1);return m_(r,a,i.length,o.length)?$l(t):i.length?p_(t,i,n):(l(t,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,qe(a)),Gl(t))}function v_(t){switch(t.parent.kind){case 229:case 199:return e.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 146:return e.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 149:return e.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 151:case 153:case 154:return e.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression}}function b_(t,n){var r=jd(t.expression),a=sr(r);if(a===ah)return Gl(t);var i=pr(a,0),o=pr(a,1);if(m_(r,a,i.length,o.length))return $l(t);var s=v_(t);if(!i.length){var c=void 0;return c=e.chainDiagnosticMessages(c,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,qe(a)),c=e.chainDiagnosticMessages(c,s),Ov.add(e.createDiagnosticForNodeFromMessageChain(t,c)),Gl(t)}return p_(t,i,n,s)}function x_(t,n,r){return e.Debug.assert(!(65536&n.flags)),k_(t,n,r)}function k_(e,t,n){if(65536&t.flags){for(var r=void 0,a=0,i=t.types;a0){return p_(e,s,n)}}function S_(t,n){switch(t.kind){case 181:return f_(t,n);case 182:return g_(t,n);case 183:return h_(t,n);case 147:return b_(t,n);case 251:case 250:return k_(t,jd(t.tagName),n)}e.Debug.fail("Branch in 'resolveSignature' should be unreachable.");}function T_(e,t){var n=x(e),r=n.resolvedSignature;if(r&&r!==ov&&!t)return r;n.resolvedSignature=ov;var a=S_(e,t);return n.resolvedSignature=_v===dv?a:r,a}function C_(e){return x(e).resolvedSignature===ov?ov:T_(e)}function E_(e){var t=b(e);return t.inferredClassType||(t.inferredClassType=we(e,e.members,Py,Py,void 0,void 0)),t.inferredClassType}function D_(t){Mg(t,t.typeArguments)||Bg(t,t.arguments);var n=T_(t);if(97===t.expression.kind)return mh;if(182===t.kind){var r=n.declaration;if(r&&152!==r.kind&&156!==r.kind&&161!==r.kind&&!e.isJSDocConstructSignature(r)){var a=71===t.expression.kind?Is(t.expression):jd(t.expression).symbol;return a&&e.isDeclarationOfFunctionOrClassExpression(a)&&(a=ve(a.valueDeclaration.initializer)),a&&a.members&&16&a.flags?E_(a):(jy&&l(t,e.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),nh)}}return e.isInJavaScriptFile(t)&&N_(t)?Pr(t.arguments[0]):Ir(n)}function N_(t){if(!e.isRequireCall(t,!0))return!1;var n=N(t.expression,t.expression.text,107455,void 0,void 0);if(!n)return!0;if(8388608&n.flags)return!1;var r=16&n.flags?228:3&n.flags?226:0;if(0!==r){var a=e.getDeclarationOfKind(n,r);return e.isInAmbientContext(a)}return!1}function A_(e){return Ir(T_(e))}function w_(t){var n=_s(es(jd(t.expression)));_m(t.type);var r=wi(t.type);return i&&r!==ah&&(mo(r,ms(n))||vo(n,r,t,e.Diagnostics.Type_0_cannot_be_converted_to_type_1)),r}function O_(e){return ss(jd(e.expression))}function P_(t){cy(t);var n=e.getNewTargetContainer(t);if(n){if(152===n.kind)return Lt(r=ve(n.parent));var r=ve(n);return Lt(r)}return l(t,e.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor,"new.target"),ah}function F_(e){var t=Lt(e);if(Ky){var n=e.valueDeclaration;if(n&&n.initializer)return is(t,2048)}return t}function I_(e,t){return e.hasRestParameter?t0?I_(e,0):gh}function M_(t,n,r,a){var i=t.parameters.length-(t.hasRestParameter?1:0);if(2===a)for(s=0;s=58&&_<=70&&ed(t,e.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access)&&ho(n,d,t,void 0);}function u(){l(o||n,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2,e.tokenToString(n.kind),qe(d),qe(p));}var _=n.kind;if(58===_&&(178===t.kind||177===t.kind))return yd(t,jd(r,a),a);var d=jd(t,a),p=jd(r,a);switch(_){case 39:case 40:case 61:case 62:case 41:case 63:case 42:case 64:case 38:case 60:case 45:case 65:case 46:case 66:case 47:case 67:case 49:case 69:case 50:case 70:case 48:case 68:if(d===yh||p===yh)return yh;d=Fl(d,t),p=Fl(p,r);var f=void 0;if(136&d.flags&&136&p.flags&&void 0!==(f=function(e){switch(e){case 49:case 69:return 54;case 50:case 70:return 35;case 48:case 68:return 53;default:return}}(n.kind)))l(o||n,e.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,e.tokenToString(n.kind),e.tokenToString(f));else{var m=X_(t,d,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type),g=X_(r,p,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type);m&&g&&c(lh);}return lh;case 37:case 59:if(d===yh||p===yh)return yh;cd(d,262179)||cd(p,262179)||(d=Fl(d,t),p=Fl(p,r));var y=void 0;if(cd(d,340)&&cd(p,340))y=lh;else if(cd(d,262178)||cd(p,262178)?y=uh:(ut(d)||ut(p))&&(y=d===ah||p===ah?ah:nh),y&&!s(_))return y;return y?(59===_&&c(y),y):(u(),nh);case 27:case 29:case 30:case 31:return s(_)&&(d=es(Fl(d,t)),p=es(Fl(p,r)),mo(d,p)||mo(p,d)||u()),ph;case 32:case 33:case 34:case 35:var h=Zo(d),v=Zo(p);return h&&v||(d=h?es(d):d,p=v?es(p):p),bd(d,p)||bd(p,d)||u(),ph;case 93:return _d(t,r,d,p);case 92:return dd(t,r,d,p);case 53:return 1048576&Hs(d)?is(p,as(Ky?d:es(p))):d;case 54:return 2097152&Hs(d)?xd(os$$1(d),p):d;case 58:return c(p),_s(p);case 26:return Iy.allowUnreachableCode||!vd(t)||function(e){return 71===e.kind&&"eval"===e.text}(r)||l(t,e.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects),p}}function Td(t){for(var n=t,r=t.parent;r;){if(e.isFunctionLike(r)&&n===r.body)return!1;if(e.isClassLike(n))return!0;n=r,r=r.parent;}return!1}function Cd(t){if(i&&(4096&t.flags&&!Td(t)||ly(t,e.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body),gu(t)&&l(t,e.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer)),t.expression){var n=e.getContainingFunction(t),r=n&&e.getFunctionFlags(n);if(t.asteriskToken&&(3==(3&r)&&Ry<5&&hg(t,26624),1==(3&r)&&Ry<2&&Iy.downlevelIteration&&hg(t,256)),1&r){var a=wd(t.expression,void 0),o=void 0,s=!!t.asteriskToken;if(s&&(o=mf(a,t.expression,!1,0!=(2&r))),n.type){var c=vf(wi(n.type),0!=(2&r))||nh;s?ho(2&r?kp(o,t.expression,e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o,c,t.expression,void 0):ho(2&r?kp(a,t.expression,e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):a,c,t.expression,void 0);}}}return nh}function Ed(e,t){return jd(e.condition),xd(jd(e.whenTrue,t),jd(e.whenFalse,t))}function Dd(e){switch(8===e.kind&&by(e),e.kind){case 9:return ki(Ti(32,e.text));case 8:return ki(Ti(64,e.text));case 101:return _h;case 86:return dh}}function Nd(t){return e.forEach(t.templateSpans,function(e){jd(e.expression);}),uh}function Ad(e,t,n){var r=e.contextualType,a=e.contextualMapper;e.contextualType=t,e.contextualMapper=n;var i=jd(e,n===zi?1:n?2:0);return e.contextualType=r,e.contextualMapper=a,i}function wd(e,t){var n=x(e);if(!n.resolvedType){var r=_v;_v=dv,n.resolvedType=jd(e,t),_v=r;}return n.resolvedType}function Od(t){return 184===(t=e.skipParentheses(t)).kind||202===t.kind}function Pd(t){var n=Bd(t.initializer,!0);return 2&e.getCombinedNodeFlags(t)||64&e.getCombinedModifierFlags(t)&&!e.isParameterPropertyDeclaration(t)||Od(t.initializer)?n:ts(n)}function Fd(e){if(e){if(540672&e.flags){var t=nr(e)||vh;if(30&t.flags)return!0;e=t;}return sd(e,262624)}return!1}function Id(e,t){var n=jd(e,t);return Od(e)||Fd(Ou(e))?n:ts(n)}function Rd(e,t){return 144===e.name.kind&&Gu(e.name),Id(e.initializer,t)}function Md(e,t){return Qg(e),144===e.name.kind&&Gu(e.name),Ld(e,W_(e,t),t)}function Ld(e,t,n){if(2===n){var r=Yl(t);if(r&&r.typeParameters){var a=wu(e);if(a){var i=Yl(a);if(i&&!i.typeParameters)return Kr(Ql(r,i,Pu(e)))}}}return t}function Bd(t,n){if(181===t.kind&&97!==t.expression.kind&&!e.isRequireCall(t,!0)){var r=Yl(Pl(t.expression));if(r&&!r.typeParameters)return Ir(r)}return n?wd(t):jd(t)}function Kd(e){var t=e.contextualType;e.contextualType=nh;var n=Bd(e);return e.contextualType=t,n}function jd(t,n){var r;return r=143===t.kind?Rl(t):Ld(t,Jd(t,n),n),ud(r)&&(179===t.parent.kind&&t.parent.expression===t||180===t.parent.kind&&t.parent.expression===t||(71===t.kind||143===t.kind)&&Am(t)||l(t,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment)),r}function Jd(t,n){switch(t.kind){case 71:return Hc(t);case 99:return au(t);case 97:return su(t);case 95:return ch;case 9:case 8:case 101:case 86:return Dd(t);case 196:return Nd(t);case 13:return uh;case 12:return Ph;case 177:return Ju(t,n);case 178:return Hu(t,n);case 179:return Il(t);case 180:return Vl(t);case 181:case 182:return D_(t);case 183:return A_(t);case 185:return jd(t.expression,n);case 199:return If(t);case 186:case 187:return W_(t,n);case 189:return nd(t);case 184:case 202:return w_(t);case 203:return O_(t);case 204:return P_(t);case 188:return td(t);case 190:return rd(t);case 191:return ad(t);case 192:return id(t);case 193:return od(t);case 194:return kd(t,n);case 195:return Ed(t,n);case 198:return Ku(t,n);case 200:return oh;case 197:return Cd(t);case 256:return El(t,n);case 249:return Qu(t);case 250:return Yu(t);case 254:return nl(t,n);case 251:e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement");}return ah}function zd(t){t.expression&&ly(t.expression,e.Diagnostics.Type_expected),_m(t.constraint),_m(t.default);var n=dn(ve(t));rr(n)||l(t.constraint,e.Diagnostics.Type_parameter_0_has_a_circular_constraint,qe(n));var r=er(n),a=or(n);r&&a&&ho(a,Tn(r,a),t.default,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1),i&&wf(t.name,e.Diagnostics.Type_parameter_name_cannot_be_0);}function Ud(t){xg(t)||kg(t),Zp(t);var n=e.getContainingFunction(t);92&e.getModifierFlags(t)&&(152===(n=e.getContainingFunction(t)).kind&&e.nodeIsPresent(n.body)||l(t,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation)),t.questionToken&&e.isBindingPattern(t.name)&&n.body&&l(t,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),"this"===t.name.text&&(0!==e.indexOf(n.parameters,t)&&l(t,e.Diagnostics.A_this_parameter_must_be_the_first_parameter),152!==n.kind&&156!==n.kind&&161!==n.kind||l(t,e.Diagnostics.A_constructor_cannot_have_a_this_parameter)),!t.dotDotDotToken||e.isBindingPattern(t.name)||Ho(Lt(t.symbol))||l(t,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type);}function Vd(e,t){if(e)for(var n=0;n=0)if(n.parameters[r.parameterIndex].dotDotDotToken)l(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter);else{var i=e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);ho(r.type,Rm(n.parameters[r.parameterIndex]),t.type,void 0,i);}else if(a){for(var o=!1,s=0,c=n.parameters;s0&&n.declarations[0]!==t)return}var r=jr(ve(t));if(r)for(var a=!1,i=!1,o=0,s=r.declarations;o=0)return void(n&&l(n,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));wv.push(t.id);var _=kp(u,n,r);if(wv.pop(),!_)return;return a.awaitedTypeOfType=_}var d=ct(t,"then");if(!(d&&pr(d,0).length>0))return a.awaitedTypeOfType=t;n&&(e.Debug.assert(!!r),l(n,r));}function Sp(t){var n=wi(t.type);if(Ry>=2){if(n===ah)return ah;var r=ha(!0);if(r!==kh&&!Bt(n,r))return l(t.type,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type),ah}else{if(Cp(t.type),n===ah)return ah;var a=e.getEntityNameFromTypeNode(t.type);if(void 0===a)return l(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,qe(n)),ah;var i=ae(a,107455,!0),o=i?Lt(i):ah;if(o===ah)return 71===a.kind&&"Promise"===a.text&&Kt(n)===ha(!1)?l(t.type,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):l(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),ah;var s=ba(!0);if(s===vh)return l(t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)),ah;if(!ho(o,s,t.type,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return ah;var c=a&&Zf(a),u=C(t.locals,c.text,107455);if(u)return l(u.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,c.text,e.entityNameToString(a)),ah}return xp(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}function Tp(t){var n=Ir(T_(t));if(!(1&n.flags)){var r,a,i=v_(t);switch(t.parent.kind){case 229:r=Xa([Lt(ve(t.parent)),mh]);break;case 146:r=mh,a=e.chainDiagnosticMessages(a,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 149:r=mh,a=e.chainDiagnosticMessages(a,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 151:case 153:case 154:r=Xa([wa(Rm(t.parent)),mh]);}ho(n,r,t,i,a);}}function Cp(t){var n=t&&e.getEntityNameFromTypeNode(t),r=n&&Zf(n),a=r&&N(r,r.text,8388608|(71===n.kind?793064:1920),void 0,void 0);a&&8388608&a.flags&&ke(a)&&!Zm(Z(a))&&te(a);}function Ep(t){return t.dotDotDotToken?e.getRestParameterElementType(t.type):t.type}function Dp(t){if(t.decorators&&e.nodeCanBeDecorated(t)){Iy.experimentalDecorators||l(t,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning);var n=t.decorators[0];if(hg(n,8),146===t.kind&&hg(n,32),Iy.emitDecoratorMetadata)switch(hg(n,16),t.kind){case 229:var r=e.getFirstConstructorWithBody(t);if(r)for(var a=0,i=r.parameters;a=e.ModuleKind.ES2015)&&(zp(t,n,"require")||zp(t,n,"exports"))&&(233!==t.kind||1===e.getModuleInstanceState(t))){var r=ot(t);265===r.kind&&e.isExternalOrCommonJsModule(r)&&l(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(n),e.declarationNameToString(n));}}function Hp(t,n){if(!(Ry>=4)&&zp(t,n,"Promise")&&(233!==t.kind||1===e.getModuleInstanceState(t))){var r=ot(t);265===r.kind&&e.isExternalOrCommonJsModule(r)&&1024&r.flags&&l(n,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(n),e.declarationNameToString(n));}}function Xp(t){if(0==(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(226!==t.kind||t.initializer)){var n=ve(t);if(1&n.flags){var r=N(t,t.name.text,3,void 0,void 0);if(r&&r!==n&&2&r.flags&&3&Al(r)){var a=e.getAncestor(r.valueDeclaration,227),i=208===a.parent.kind&&a.parent.parent?a.parent.parent:void 0;if(!(i&&(207===i.kind&&e.isFunctionLike(i.parent)||234===i.kind||233===i.kind||265===i.kind))){var o=Ue(r);l(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,o,o);}}}}}function Yp(t){function n(a){if(!e.isTypeNode(a)&&!e.isDeclarationName(a)){if(179===a.kind)return n(a.expression);if(71!==a.kind)return e.forEachChild(a,n);var i=N(a,a.text,8496063,void 0,void 0);if(i&&i!==eh&&i.valueDeclaration)if(i.valueDeclaration!==t){if(e.getEnclosingBlockScopeContainer(i.valueDeclaration)===r){if(146===i.valueDeclaration.kind||176===i.valueDeclaration.kind){if(i.valueDeclaration.pos1)return ly(t,e.Diagnostics.Modifiers_cannot_appear_here)}}function of(e){vy(e),jd(e.expression);}function sf(t){vy(t),jd(t.expression),_m(t.thenStatement),209===t.thenStatement.kind&&l(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement),_m(t.elseStatement);}function cf(e){vy(e),_m(e.statement),jd(e.expression);}function uf(e){vy(e),jd(e.expression),_m(e.statement);}function lf(t){vy(t)||t.initializer&&227===t.initializer.kind&&iy(t.initializer),t.initializer&&(227===t.initializer.kind?e.forEach(t.initializer.declarations,tf):jd(t.initializer)),t.condition&&jd(t.condition),t.incrementor&&jd(t.incrementor),_m(t.statement),t.locals&&wp(t);}function _f(t){if(Gg(t),216===t.kind&&(t.awaitModifier?2==(6&e.getFunctionFlags(e.getContainingFunction(t)))&&Ry<5&&hg(t,16384):Iy.downlevelIteration&&Ry<2&&hg(t,256)),227===t.initializer.kind)pf(t);else{var n=t.initializer,r=ff(t.expression,t.awaitModifier);if(177===n.kind||178===n.kind)yd(n,r||ah);else{var a=jd(n);ed(n,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access),r&&ho(r,a,n,void 0);}}_m(t.statement),t.locals&&wp(t);}function df(t){Gg(t);var n=Pl(t.expression);if(227===t.initializer.kind){var r=t.initializer.declarations[0];r&&e.isBindingPattern(r.name)&&l(r.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),pf(t);}else{var a=t.initializer,i=jd(a);177===a.kind||178===a.kind?l(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):po(si(n),i)?ed(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access):l(a,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any);}Vu(n,17350656)||l(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter),_m(t.statement),t.locals&&wp(t);}function pf(e){var t=e.initializer;t.declarations.length>=1&&tf(t.declarations[0]);}function ff(e,t){return mf(Pl(e),e,!0,void 0!==t)}function mf(e,t,n,r){return ut(e)?e:gf(e,t,n,r,!0)||nh}function gf(t,n,r,a,i){var o=Ry>=2,s=!o&&Iy.downlevelIteration;if(o||s||a){var c=yf(t,o?n:void 0,a,a,i);if(c||o)return c}var u=t,_=!1,d=!1;if(r){if(65536&u.flags){var p=t.types,f=e.filter(p,function(e){return!(262178&e.flags)});f!==p&&(u=Xa(f,!0));}else 262178&u.flags&&(u=gh);if((d=u!==t)&&(Ry<1&&n&&(l(n,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),_=!0),8192&u.flags))return uh}if(!Xo(u))return n&&!_&&l(n,!r||d?s?e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:e.Diagnostics.Type_0_is_not_an_array_type:s?e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,qe(u)),d?uh:void 0;var m=yr(u,1);return d&&m?262178&m.flags?uh:Xa([m,uh],!0):m}function yf(t,n,r,a,i){if(!ut(t)){var o=t;if(r?o.iteratedTypeOfAsyncIterable:o.iteratedTypeOfIterable)return r?o.iteratedTypeOfAsyncIterable:o.iteratedTypeOfIterable;if(r&&(Bt(t,xa(!1))||Bt(t,Sa(!1))))return o.iteratedTypeOfAsyncIterable=t.typeArguments[0];if((!r||a)&&(Bt(t,Ta(!1))||Bt(t,Ea(!1))))return r?o.iteratedTypeOfAsyncIterable=t.typeArguments[0]:o.iteratedTypeOfIterable=t.typeArguments[0];var s,c=!1;if(r){if(ut(u=ct(t,e.getPropertyNameForKnownSymbolName("asyncIterator"))))return;s=u&&pr(u,0);}if(!r||a&&!e.some(s)){var u=ct(t,e.getPropertyNameForKnownSymbolName("iterator"));if(ut(u))return;s=u&&pr(u,0),c=!0;}if(e.some(s)){var _=hf(Xa(e.map(s,Ir),!0),n,!c);return i&&n&&_&&ho(t,c?Fa(_):Oa(_),n),r?o.iteratedTypeOfAsyncIterable=_:o.iteratedTypeOfIterable=_}n&&l(n,r?e.Diagnostics.Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:e.Diagnostics.Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator);}}function hf(t,n,r){if(!ut(t)){var a=t;if(r?a.iteratedTypeOfAsyncIterator:a.iteratedTypeOfIterator)return r?a.iteratedTypeOfAsyncIterator:a.iteratedTypeOfIterator;if(Bt(t,(r?ka:Ca)(!1)))return r?a.iteratedTypeOfAsyncIterator=t.typeArguments[0]:a.iteratedTypeOfIterator=t.typeArguments[0];var i=ct(t,"next");if(!ut(i)){var o=i?pr(i,0):Py;if(0!==o.length){var s=Xa(e.map(o,Ir),!0);if(!(ut(s)||r&&(s=vp(s,n,e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property),ut(s)))){var c=s&&ct(s,"value");if(c)return r?a.iteratedTypeOfAsyncIterator=c:a.iteratedTypeOfIterator=c;n&&l(n,r?e.Diagnostics.The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property);}}else n&&l(n,r?e.Diagnostics.An_async_iterator_must_have_a_next_method:e.Diagnostics.An_iterator_must_have_a_next_method);}}}function vf(e,t){if(!ut(e))return yf(e,void 0,t,!1,!1)||hf(e,void 0,t)}function bf(e){vy(e)||Zg(e);}function xf(t){return!(153!==t.kind||!e.getSetAccessorTypeAnnotationNode(e.getDeclarationOfKind(t.symbol,154)))}function kf(t,n){var r=2==(3&e.getFunctionFlags(t))?bp(n):n;return r&&sd(r,1025)}function Sf(t){vy(t)||e.getContainingFunction(t)||ly(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body);var n=e.getContainingFunction(t);if(n){var r=Ir(Nr(n));if(Ky||t.expression||8192&r.flags){var a=t.expression?wd(t.expression):ih,i=e.getFunctionFlags(n);if(1&i)return;if(154===n.kind)t.expression&&l(t,e.Diagnostics.Setters_cannot_return_a_value);else if(152===n.kind)t.expression&&!ho(a,r,t)&&l(t,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(n.type||xf(n))if(2&i){var o=bp(r),s=xp(a,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);o&&ho(s,o,t);}else ho(a,r,t);}else 152!==n.kind&&Iy.noImplicitReturns&&!kf(n,r)&&l(t,e.Diagnostics.Not_all_code_paths_return_a_value);}}function Tf(t){vy(t)||16384&t.flags&&ly(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block),jd(t.expression);var n=e.getSourceFileOfNode(t);if(!uy(n)){var r=e.getSpanOfTokenAtPosition(n,t.pos).start;_y(n,r,t.statement.pos-r,e.Diagnostics.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any);}}function Cf(t){vy(t);var n,r=!1,a=jd(t.expression),o=Zo(a);e.forEach(t.caseBlock.clauses,function(s){if(258===s.kind&&!r)if(void 0===n)n=s;else{var c=e.getSourceFileOfNode(t),u=e.skipTrivia(c.text,s.pos);_y(c,u,(s.statements.length>0?s.statements[0].pos:s.end)-u,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),r=!0;}if(i&&257===s.kind){var l=s,_=jd(l.expression),d=Zo(_),p=a;d&&o||(_=d?es(_):_,p=es(a)),bd(p,_)||vo(_,p,l.expression,void 0);}e.forEach(s.statements,_m);}),t.caseBlock.locals&&wp(t.caseBlock);}function Ef(t){vy(t)||e.findAncestor(t.parent,function(n){if(e.isFunctionLike(n))return"quit";if(222===n.kind&&n.label.text===t.label.text){var r=e.getSourceFileOfNode(t);return dy(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNodeFromSourceText(r.text,t.label)),!0}}),_m(t.statement);}function Df(t){vy(t)||void 0===t.expression&&xy(t,e.Diagnostics.Line_break_not_permitted_here),t.expression&&jd(t.expression);}function Nf(t){vy(t),jp(t.tryBlock);var n=t.catchClause;if(n){if(n.variableDeclaration)if(n.variableDeclaration.type)ly(n.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation);else if(n.variableDeclaration.initializer)ly(n.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer);else{var r=n.block.locals;r&&e.forEachKey(n.locals,function(t){var n=r.get(t);n&&0!=(2&n.flags)&&dy(n.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,t);});}jp(n.block);}t.finallyBlock&&jp(t.finallyBlock);}function Af(t){function n(t,n,r,a,i,o){if(i){var s=t.valueDeclaration;if(1!==o||(s?zu(e.getNameOfDeclaration(s)):$u(t.name))){var c;!s||194!==s.kind&&144!==e.getNameOfDeclaration(s).kind&&t.parent!==r.symbol?a?c=a:2&k(r)&&(c=e.forEach(Qt(r),function(e){return Xn(e,t.name)&&yr(e,o)})?void 0:r.symbol.declarations[0]):c=s,c&&!po(n,i)&&l(c,0===o?e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2:e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2,Ue(t),qe(n),qe(i));}}}var r=Jr(t.symbol,1),a=Jr(t.symbol,0),i=yr(t,0),o=yr(t,1);if((i||o)&&(e.forEach(Hn(t),function(e){var s=Lt(e);n(e,s,t,a,i,0),n(e,s,t,r,o,1);}),1&k(t)&&e.isClassLike(t.symbol.valueDeclaration)))for(var s=0,c=t.symbol.valueDeclaration.members;sr)return!1;for(var u=0;u>s;case 47:return a>>>s;case 45:return a<1&&e.forEach(r.declarations,function(t){e.isConstEnumDeclaration(t)!==n&&l(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const);});var a=!1;e.forEach(r.declarations,function(t){if(232!==t.kind)return!1;var n=t;if(!n.members.length)return!1;var r=n.members[0];r.initializer||(a?l(r.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):a=!0);});}}}function Hf(t){for(var n=0,r=t.declarations;n1&&!r&&e.isInstantiatedModule(t,Iy.preserveConstEnums||Iy.isolatedModules)){var s=Hf(o);s&&(e.getSourceFileOfNode(t)!==e.getSourceFileOfNode(s)?l(t.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):t.pos1)for(var s=0,c=a;s0?e.concatenate(o,i):i}return e.forEach(r.getSourceFiles(),fm),Ov.getDiagnostics()}function hm(){return vm(),Ov.getGlobalDiagnostics()}function vm(){if(!i)throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}function bm(e){if(e)for(;e.parent;){if(220===e.parent.kind&&e.parent.statement===e)return!0;e=e.parent;}return!1}function xm(t,n){function r(e,t){if(e.flags&t){var n=e.name;i.has(n)||i.set(n,e);}}function a(e,t){t&&e.forEach(function(e){r(e,t);});}if(bm(t))return[];var i=e.createMap(),o=0;return function(){for(;t;){switch(t.locals&&!T(t)&&a(t.locals,n),t.kind){case 265:if(!e.isExternalOrCommonJsModule(t))break;case 233:a(ve(t).exports,8914931&n);break;case 232:a(ve(t).exports,8&n);break;case 199:t.name&&r(t.symbol,n);case 229:case 230:32&o||a(ve(t).members,793064&n);break;case 186:t.name&&r(t.symbol,n);}e.introducesArgumentsExoticObject(t)&&r(qy,n),o=e.getModifierFlags(t),t=t.parent;}a(lv,n);}(),xr(i)}function km(e){return 71===e.kind&&Sm(e.parent)&&e.parent.name===e}function Sm(e){switch(e.kind){case 145:case 229:case 230:case 231:case 232:return!0}}function Tm(e){for(var t=e;t.parent&&143===t.parent.kind;)t=t.parent;return t.parent&&(159===t.parent.kind||277===t.parent.kind)}function Cm(e){for(var t=e;t.parent&&179===t.parent.kind;)t=t.parent;return t.parent&&201===t.parent.kind}function Em(t,n){for(var r;;){if(!(t=e.getContainingClass(t)))break;if(r=n(t))break}return r}function Dm(e,t){return!!Em(e,function(e){return e===t})}function Nm(e){for(;143===e.parent.kind;)e=e.parent;return 237===e.parent.kind?e.parent.moduleReference===e&&e.parent:243===e.parent.kind?e.parent.expression===e&&e.parent:void 0}function Am(e){return void 0!==Nm(e)}function wm(t){switch(e.getSpecialPropertyAssignmentKind(t.parent.parent)){case 1:case 3:return ve(t.parent);case 4:case 2:case 5:return ve(t.parent.parent)}}function Om(t){if(e.isDeclarationName(t))return ve(t.parent);if(e.isInJavaScriptFile(t)&&179===t.parent.kind&&t.parent===t.parent.parent.left){var n=wm(t);if(n)return n}if(243===t.parent.kind&&e.isEntityNameExpression(t))return ae(t,9289727);if(179!==t.kind&&Am(t)){var r=e.getAncestor(t,237);return e.Debug.assert(void 0!==r),ne(t,!0)}if(e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),Cm(t)){var a=0;201===t.parent.kind?(a=793064,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(a|=107455)):a=1920;var i=ae(t,a|=8388608);if(i)return i}if(e.isPartOfExpression(t)){if(e.nodeIsMissing(t))return;if(71===t.kind)return e.isJSXTagName(t)&&el(t)?al(t.parent):ae(t,107455,!1,!0);if(179===t.kind)return(o=x(t).resolvedSymbol)||Il(t),x(t).resolvedSymbol;if(143===t.kind){var o=x(t).resolvedSymbol;return o||Rl(t),x(t).resolvedSymbol}}else{if(Tm(t))return ae(t,a=159===t.parent.kind||277===t.parent.kind?793064:1920,!1,!0);if(253===t.parent.kind)return yl(t.parent)}return 158===t.parent.kind?ae(t,1):void 0}function Pm(t){if(265===t.kind)return e.isExternalModule(t)?he(t.symbol):void 0;if(!bm(t)){if(e.isDeclarationName(t))return ve(t.parent);if(e.isLiteralComputedPropertyDeclarationName(t))return ve(t.parent.parent);if(71===t.kind){if(Am(t))return Om(t);if(176===t.parent.kind&&174===t.parent.parent.kind&&t===t.parent.propertyName){var n=Rm(t.parent.parent),r=n&&_r(n,t.text);if(r)return r}}switch(t.kind){case 71:case 179:case 143:return Om(t);case 99:var a=e.getThisContainer(t,!1);if(e.isFunctionLike(a)){var i=Nr(a);if(i.thisParameter)return i.thisParameter}case 97:return(e.isPartOfExpression(t)?Bd(t):wi(t)).symbol;case 169:return wi(t).symbol;case 123:var o=t.parent;if(o&&152===o.kind)return o.parent.symbol;return;case 9:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(238===t.parent.kind||244===t.parent.kind)&&t.parent.moduleSpecifier===t)return ie(t,t);if(e.isInJavaScriptFile(t)&&e.isRequireCall(t.parent,!1))return ie(t,t);case 8:if(180===t.parent.kind&&t.parent.argumentExpression===t){var s=Bd(t.parent.expression);if(s===ah)return;var c=sr(s);if(c===ah)return;return _r(c,t.text)}}}}function Fm(e){if(e&&262===e.kind)return ae(e.name,8496063)}function Im(e){return e.parent.parent.moduleSpecifier?$(e.parent.parent,e):ae(e.propertyName||e.name,9289727)}function Rm(t){if(bm(t))return ah;if(e.isPartOfTypeNode(t)){var n=wi(t);return n&&e.isExpressionWithTypeArgumentsInClassImplementsClause(t)&&(n=Tn(n,(r=Rm(e.getContainingClass(t))).thisType)),n}if(e.isPartOfExpression(t))return Bm(t);if(e.isExpressionWithTypeArgumentsInClassExtendsClause(t)){var r=fn(ve(e.getContainingClass(t))),a=Qt(r)[0];return a&&Tn(a,r.thisType)}if(Sm(t))return fn(i=ve(t));if(km(t))return(i=Pm(t))&&fn(i);if(e.isDeclaration(t))return Lt(i=ve(t));if(e.isDeclarationName(t))return(i=Pm(t))&&Lt(i);if(e.isBindingPattern(t))return ht(t.parent,!0);if(Am(t)){var i=Pm(t),o=i&&fn(i);return o!==ah?o:Lt(i)}return ah}function Mm(t){if(e.Debug.assert(178===t.kind||177===t.kind),216===t.parent.kind)return yd(t,(n=ff(t.parent.expression,t.parent.awaitModifier))||ah);if(194===t.parent.kind){var n=Bd(t.parent.right);return yd(t,n||ah)}if(261===t.parent.kind)return fd(Mm(t.parent.parent)||ah,t.parent);e.Debug.assert(177===t.parent.kind);var r=Mm(t.parent),a=mf(r||ah,t.parent,!1,!1)||ah;return gd(t.parent,r,e.indexOf(t.parent.elements,t),a||ah)}function Lm(e){var t=Mm(e.parent.parent);return t&&_r(t,e.text)}function Bm(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),Si(Bd(t))}function Km(t){var n=ve(t.parent);return 32&e.getModifierFlags(t)?Lt(n):fn(n)}function jm(t){var n=bn(Qn(t=sr(t)));return(pr(t,0).length||pr(t,1).length)&&e.forEach(Qn(Eh),function(e){n.has(e.name)||n.set(e.name,e);}),Ne(n)}function Jm(t){if(6&S(t)){var n=[],r=t.name;return e.forEach(b(t).containingType.types,function(e){var t=_r(e,r);t&&n.push(t);}),n}if(134217728&t.flags){if(t.leftSpread){var a=t;return Jm(a.leftSpread).concat(Jm(a.rightSpread))}if(t.syntheticOrigin)return Jm(t.syntheticOrigin);for(var i=void 0,o=t;o=b(o).target;)i=o;if(i)return[i]}return[t]}function zm(t){return!(e.isGeneratedIdentifier(t)||!(t=e.getParseTreeNode(t,e.isIdentifier)))&&(!(179===t.parent.kind&&t.parent.name===t)&&pg(t)===qy)}function Um(t){function n(e){return(e=Q(e))&&!!(107455&e.flags)}var r=ie(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var a=le(r),i=b(r=ce(r));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=a?!!(107455&r.flags):e.forEachEntry(me(r),n)),i.exportsSomeValue}function Vm(t){var n=t.parent;return n&&e.isModuleOrEnumDeclaration(n)&&t===n.name}function qm(t,n){if(t=e.getParseTreeNode(t,e.isIdentifier)){var r=pg(t,Vm(t));if(r){if(1048576&r.flags){var a=he(r.exportSymbol);if(!n&&944&a.flags)return;r=a;}var i=be(r);if(i){if(512&i.flags&&265===i.valueDeclaration.kind){var o=i.valueDeclaration;return o!==e.getSourceFileOfNode(t)?void 0:o}return e.findAncestor(t.parent,function(t){return e.isModuleOrEnumDeclaration(t)&&ve(t)===i})}}}}function $m(t){if(t=e.getParseTreeNode(t,e.isIdentifier)){var n=pg(t);if(n&&8388608&n.flags)return K(n)}}function Gm(t){if(418&t.flags){var n=b(t);if(void 0===n.isDeclarationWithCollidingName){var r=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(r)){var a=x(t.valueDeclaration);if(N(r.parent,t.name,107455,void 0,void 0))n.isDeclarationWithCollidingName=!0;else if(131072&a.flags){var i=262144&a.flags,o=e.isIterationStatement(r,!1),s=207===r.kind&&e.isIterationStatement(r.parent,!1);n.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(r)||i&&(o||s));}else n.isDeclarationWithCollidingName=!1;}}return n.isDeclarationWithCollidingName}return!1}function Wm(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=pg(t);if(n&&Gm(n))return n.valueDeclaration}}function Hm(t){if(t=e.getParseTreeNode(t,e.isDeclaration)){var n=ve(t);if(n)return Gm(n)}return!1}function Xm(t){switch(t.kind){case 237:case 239:case 240:case 242:case 246:return Qm(ve(t)||eh);case 244:var n=t.exportClause;return n&&e.forEach(n.elements,Xm);case 243:return!t.expression||71!==t.expression.kind||Qm(ve(t)||eh)}return!1}function Ym(t){return!(void 0===(t=e.getParseTreeNode(t,e.isImportEqualsDeclaration))||265!==t.parent.kind||!e.isInternalModuleImportEqualsDeclaration(t))&&(Qm(ve(t))&&t.moduleReference&&!e.nodeIsMissing(t.moduleReference))}function Qm(e){var t=Z(e);return t===eh||107455&t.flags&&(Iy.preserveConstEnums||!Zm(t))}function Zm(e){return ld(e)||e.constEnumOnlyModule}function eg(t,n){if(e.isAliasSymbolDeclaration(t)){var r=ve(t);if(r&&b(r).referenced)return!0}return!!n&&e.forEachChild(t,function(e){return eg(e,n)})}function tg(t){if(e.nodeIsPresent(t.body)){var n=Or(ve(t));return n.length>1||1===n.length&&n[0].declaration!==t}return!1}function ng(t){return Ky&&!Tr(t)&&t.initializer&&!(92&e.getModifierFlags(t))}function rg(e){return x(e).flags}function ag(e){return Gf(e.parent),x(e).enumMemberValue}function ig(e){switch(e.kind){case 264:case 179:case 180:return!0}return!1}function og(t){if(264===t.kind)return ag(t);var n=x(t).resolvedSymbol;return n&&8&n.flags&&e.isConstEnumDeclaration(n.valueDeclaration.parent)?ag(n.valueDeclaration):void 0}function sg(e){return 32768&e.flags&&pr(e,0).length>0}function cg(t,n){var r=ae(t,107455,!0,!1,n),a=ae(t,793064,!0,!1,n);if(r&&r===a){var i=va(!1);if(i&&r===i)return e.TypeReferenceSerializationKind.Promise;var o=Lt(r);if(o&&Gt(o))return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!a)return e.TypeReferenceSerializationKind.ObjectType;var s=fn(a);return s===ah?e.TypeReferenceSerializationKind.Unknown:1&s.flags?e.TypeReferenceSerializationKind.ObjectType:cd(s,15360)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:cd(s,136)?e.TypeReferenceSerializationKind.BooleanType:cd(s,340)?e.TypeReferenceSerializationKind.NumberLikeType:cd(s,262178)?e.TypeReferenceSerializationKind.StringLikeType:ns(s)?e.TypeReferenceSerializationKind.ArrayLikeType:cd(s,512)?e.TypeReferenceSerializationKind.ESSymbolType:sg(s)?e.TypeReferenceSerializationKind.TypeWithCallSignature:Ho(s)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function ug(e,t,n,r){var a=ve(e),i=!a||133120&a.flags?ah:ts(Lt(a));4096&n&&(i=is(i,2048)),Ze().buildTypeDisplay(i,r,t,n);}function lg(e,t,n,r){var a=Nr(e);Ze().buildTypeDisplay(Ir(a),r,t,n);}function _g(e,t,n,r){var a=ms(Bm(e));Ze().buildTypeDisplay(a,r,t,n);}function dg(e){return lv.has(e)}function pg(t,n){var r=x(t).resolvedSymbol;if(r)return r;var a=t;if(n){var i=t.parent;e.isDeclaration(i)&&t===i.name&&(a=ot(i));}return N(a,t.text,9544639,void 0,void 0)}function fg(t){if(!e.isGeneratedIdentifier(t)&&(t=e.getParseTreeNode(t,e.isIdentifier))){var n=pg(t);if(n)return xe(n).valueDeclaration}}function mg(t){if(e.isConst(t)){var n=Lt(ve(t));return!!(96&n.flags&&1048576&n.flags)}return!1}function gg(e,t){var n=Lt(ve(e));t.writeStringLiteral(Ye(n));}function yg(t){var n=e.getExternalModuleName(t),r=oe(n,n,void 0);if(r)return e.getDeclarationOfKind(r,265)}function hg(t,n){if((Ty&n)!==n&&Iy.importHelpers){var r=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(r,Iy)&&!e.isInAmbientContext(t)){var a=bg(r,t);if(a!==eh)for(var i=n&~Ty,o=1;o<=16384;o<<=1)if(i&o){var s=vg(o);C(a.exports,e.escapeIdentifier(s),107455)||l(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1,e.externalHelpersModuleNameText,s);}Ty|=n;}}}function vg(t){switch(t){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator";case 256:return"__values";case 512:return"__read";case 1024:return"__spread";case 2048:return"__await";case 4096:return"__asyncGenerator";case 8192:return"__asyncDelegator";case 16384:return"__asyncValues";default:e.Debug.fail("Unrecognized helper.");}}function bg(t,n){return Cy||(Cy=se(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,n)||eh),Cy}function xg(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t))return 151!==t.kind||e.nodeIsPresent(t.body)?ly(t,e.Diagnostics.Decorators_are_not_valid_here):ly(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(153===t.kind||154===t.kind){var n=e.getAllAccessorDeclarations(t.parent.members,t);if(n.firstAccessor.decorators&&t===n.secondAccessor)return ly(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}function kg(t){var n=Sg(t);if(void 0!==n)return n;for(var r,a,i,o,s=0,c=0,u=t.modifiers;c1||e.modifiers[0].kind!==t}function Eg(t,n){switch(t.kind){case 151:case 228:case 186:case 187:return!1}return dy(n,e.Diagnostics._0_modifier_cannot_be_used_here,"async")}function Dg(t){if(t&&t.hasTrailingComma){var n=t.end-",".length,r=t.end;return _y(e.getSourceFileOfNode(t[0]),n,r-n,e.Diagnostics.Trailing_comma_not_allowed)}}function Ng(t,n){if(Dg(t))return!0;if(t&&0===t.length){var r=t.pos-"<".length;return _y(n,r,e.skipTrivia(n.text,t.end)+">".length-r,e.Diagnostics.Type_parameter_list_cannot_be_empty)}}function Ag(t){for(var n=!1,r=t.length,a=0;a".length-a,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function Mg(e,t){return Dg(t)||Rg(e,t)}function Lg(t,n){if(n)for(var r=e.getSourceFileOfNode(t),a=0,i=n;a1)return ly(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);n=!0;}else{if(e.Debug.assert(108===o.token),r)return ly(o,e.Diagnostics.implements_clause_already_seen);r=!0;}Kg(o);}}function Jg(t){var n=!1;if(t.heritageClauses)for(var r=0,a=t.heritageClauses;r1){i=215===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return ly(n.declarations[1],i)}var a=r[0];if(a.initializer){var i=215===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return dy(a.name,i)}if(a.type)return dy(a,i=215===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function Wg(t){var n=t.kind;if(Ry<1)return dy(t.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(e.isInAmbientContext(t))return dy(t.name,e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context);if(!(void 0!==t.body||128&e.getModifierFlags(t)))return _y(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{");if(t.body&&128&e.getModifierFlags(t))return dy(t,e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation);if(t.typeParameters)return dy(t.name,e.Diagnostics.An_accessor_cannot_have_type_parameters);if(!Hg(t))return dy(t.name,153===n?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter);if(154===n){if(t.type)return dy(t.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation);var r=t.parameters[0];if(r.dotDotDotToken)return dy(r.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter);if(r.questionToken)return dy(r.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter);if(r.initializer)return dy(t.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}}function Hg(e){return Xg(e)||e.parameters.length===(153===e.kind?0:1)}function Xg(t){if(t.parameters.length===(153===t.kind?1:2))return e.getThisParameter(t)}function Yg(t,n){if(e.isDynamicName(t))return dy(t,n)}function Qg(t){if(af(t)||wg(t)||Ug(t))return!0;if(178===t.parent.kind){if(Vg(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(void 0===t.body)return _y(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(e.isClassLike(t.parent)){if(e.isInAmbientContext(t))return Yg(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol);if(!t.body)return Yg(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol)}else{if(230===t.parent.kind)return Yg(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol);if(163===t.parent.kind)return Yg(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol)}}function Zg(t){for(var n=t;n;){if(e.isFunctionLike(n))return dy(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(n.kind){case 222:if(t.label&&n.label.text===t.label.text)return!(217!==t.kind||e.isIterationStatement(n.statement,!0))&&dy(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement);break;case 221:if(218===t.kind&&!t.label)return!1;break;default:if(e.isIterationStatement(n,!1)&&!t.label)return!1}n=n.parent;}if(t.label)return dy(t,r=218===t.kind?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement);var r=218===t.kind?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return dy(t,r)}function ey(t){if(t.dotDotDotToken){var n=t.parent.elements;if(t!==e.lastOrUndefined(n))return dy(t,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);if(175===t.name.kind||174===t.name.kind)return dy(t.name,e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern);if(t.initializer)return _y(e.getSourceFileOfNode(t),t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}function ty(e){return 9===e.kind||8===e.kind||192===e.kind&&38===e.operator&&8===e.operand.kind}function ny(t){if(215!==t.parent.parent.kind&&216!==t.parent.parent.kind)if(e.isInAmbientContext(t)){if(t.initializer){if(!e.isConst(t)||t.type){n="=".length;return _y(e.getSourceFileOfNode(t),t.initializer.pos-n,n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}if(!ty(t.initializer))return dy(t.initializer,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal)}if(t.initializer&&(!e.isConst(t)||!ty(t.initializer))){var n="=".length;return _y(e.getSourceFileOfNode(t),t.initializer.pos-n,n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return dy(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isConst(t))return dy(t,e.Diagnostics.const_declarations_must_be_initialized)}return Iy.module===e.ModuleKind.ES2015||Iy.module===e.ModuleKind.System||Iy.noEmit||e.isInAmbientContext(t.parent.parent)||!e.hasModifier(t.parent.parent,1)||ry(t.name),(e.isLet(t)||e.isConst(t))&&ay(t.name)}function ry(t){if(71===t.kind){if("__esModule"===e.unescapeIdentifier(t.text))return dy(t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var n=0,r=t.elements;n0}function ly(t,n,r,a,i){var o=e.getSourceFileOfNode(t);if(!uy(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return Ov.add(e.createFileDiagnostic(o,s.start,s.length,n,r,a,i)),!0}}function _y(t,n,r,a,i,o,s){if(!uy(t))return Ov.add(e.createFileDiagnostic(t,n,r,a,i,o,s)),!0}function dy(t,n,r,a,i){if(!uy(e.getSourceFileOfNode(t)))return Ov.add(e.createDiagnosticForNode(t,n,r,a,i)),!0}function py(t){if(t.typeParameters)return _y(e.getSourceFileOfNode(t),t.typeParameters.pos,t.typeParameters.end-t.typeParameters.pos,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}function fy(t){if(t.type)return dy(t.type,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}function my(t){if(e.isClassLike(t.parent)){if(Yg(t.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol))return!0}else if(230===t.parent.kind){if(Yg(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol))return!0;if(t.initializer)return dy(t.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}else if(163===t.parent.kind){if(Yg(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol))return!0;if(t.initializer)return dy(t.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}if(e.isInAmbientContext(t)&&t.initializer)return ly(t.initializer,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}function gy(t){return!(230===t.kind||231===t.kind||238===t.kind||237===t.kind||244===t.kind||243===t.kind||236===t.kind||515&e.getModifierFlags(t))&&ly(t,e.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file)}function yy(t){for(var n=0,r=t.statements;n=1?n=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,173)?n=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,264)&&(n=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),n){var r=e.isPrefixUnaryExpression(t.parent)&&38===t.parent.operator,a=(r?"-":"")+"0o"+t.text;return dy(r?t.parent:t,n,a)}}}function xy(t,n,r,a,i){var o=e.getSourceFileOfNode(t);if(!uy(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return Ov.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,n,r,a,i)),!0}}function ky(){var e=[];return lv.forEach(function(t,n){a.test(n)&&e.push(t);}),e}var Sy,Ty,Cy,Ey=e.objectAllocator.getSymbolConstructor(),Dy=e.objectAllocator.getTypeConstructor(),Ny=e.objectAllocator.getSignatureConstructor(),Ay=0,wy=0,Oy=0,Py=[],Fy=e.createMap(),Iy=r.getCompilerOptions(),Ry=e.getEmitScriptTarget(Iy),My=e.getEmitModuleKind(Iy),Ly=!!Iy.noUnusedLocals||!!Iy.noUnusedParameters,By=void 0!==Iy.allowSyntheticDefaultImports?Iy.allowSyntheticDefaultImports:My===e.ModuleKind.System,Ky=void 0===Iy.strictNullChecks?Iy.strict:Iy.strictNullChecks,jy=void 0===Iy.noImplicitAny?Iy.strict:Iy.noImplicitAny,Jy=void 0===Iy.noImplicitThis?Iy.strict:Iy.noImplicitThis,zy=function(){function t(e){if(i){var t=179===e.kind||71===e.kind&&Rs(e)?1156031:794600,r=ae(e,t,!0);return r&&r!==eh?n(r,t):void 0}}function n(t,n){if(i&&a(t)){for(var r,o=0,s=t.declarations;o0){var v=o(r.slice(0,Yr(t)));if(v&&v.length>0)return e.createTupleTypeNode(v)}c.encounteredError||c.flags&e.NodeBuilderFlags.allowEmptyTuple||(c.encounteredError=!0);}(t);if(3&p){e.Debug.assert(!!(32768&t.flags));f=s(t.symbol,!1);return e.createTypeReferenceNode(f,void 0)}if(16384&t.flags){f=s(t.symbol,!1);return e.createTypeReferenceNode(f,void 0)}if(c.checkAlias&&t.aliasSymbol){var f=s(t.aliasSymbol,!1),m=t.aliasTypeArguments&&o(t.aliasTypeArguments);return e.createTypeReferenceNode(f,m)}if(c.checkAlias=!1,65536&t.flags){var g=Ge(t.types),y=g&&o(g);return y&&y.length>0?e.createUnionOrIntersectionTypeNode(166,y):void(c.encounteredError||c.flags&e.NodeBuilderFlags.allowEmptyUnionOrIntersection||(c.encounteredError=!0))}if(131072&t.flags)return e.createUnionOrIntersectionTypeNode(167,o(t.types));if(48&p)return e.Debug.assert(!!(32768&t.flags)),function(t){var n=t.symbol;if(n){if(32&n.flags&&!Ot(n)||896&n.flags||function(){var t=!!(8192&n.flags&&e.forEach(n.declarations,function(t){return 32&e.getModifierFlags(t)})),r=!!(16&n.flags)&&(n.parent||e.forEach(n.declarations,function(e){return 265===e.parent.kind||234===e.parent.kind}));if(t||r)return e.contains(c.symbolStack,n)}())return _(n);if(e.contains(c.symbolStack,n)){var r=He(t);if(r){var a=s(r,!1);return e.createTypeReferenceNode(a,void 0)}return e.createKeywordTypeNode(119)}c.symbolStack||(c.symbolStack=[]),c.symbolStack.push(n);var i=l(t);return c.symbolStack.pop(),i}return l(t)}(t);if(262144&t.flags){v=n(t.type);return e.createTypeOperatorNode(v)}if(524288&t.flags){var h=n(t.objectType),v=n(t.indexType);return e.createIndexedAccessTypeNode(h,v)}e.Debug.fail("Should be unreachable.");}else c.encounteredError=!0;}function r(t,r){var a=e.createKeywordTypeNode(0===r?136:133),i=e.getNameFromIndexInfo(t),o=e.createParameter(void 0,void 0,void 0,i,void 0,a,void 0),s=n(t.type);return e.createIndexSignatureDeclaration(void 0,t.isReadonly?[e.createToken(131)]:void 0,[o],s)}function a(t,r){var a,s=t.typeParameters&&t.typeParameters.map(function(e){return i(e)}),c=t.parameters.map(function(e){return o(e)});if(t.typePredicate){var u=t.typePredicate,l=1===u.kind?e.createIdentifier(u.parameterName):e.createThisTypeNode(),_=n(u.type);a=e.createTypePredicateNode(l,_);}else{var d=Ir(t);a=d&&n(d);}var p=a&&119!==a.kind?a:void 0;return e.createSignatureDeclaration(r,s,c,p)}function i(t){var r=qr(t),a=r&&n(r),i=or(t),o=i&&n(i),c=s(t.symbol,!0);return e.createTypeParameterDeclaration(c,a,o)}function o(t){var r=e.getDeclarationOfKind(t,146),a=n(Lt(t));return e.createParameter(r.decorators,r.modifiers,r.dotDotDotToken&&e.createToken(24),e.getSynthesizedClone(r.name),r.questionToken&&e.createToken(55),a,r.initializer)}function s(t,n){function r(t,n){e.Debug.assert(t&&0<=n&&n0){var s=t[n-1],u=void 0;if(1&S(a)?u=qt(s):524384&Kf(s).flags&&(u=Vt(a)),u&&u.length>0){c.encounteredError||c.flags&e.NodeBuilderFlags.allowTypeParameterInQualifiedName||(c.encounteredError=!0);var l=e.getSingleLineStringWriter();Ze().buildDisplayForTypeParametersAndDelimiters(u,l,c.enclosingDeclaration,0),o=l.string(),e.releaseStringWriter(l);}}var _=i(a),d=o.length>0?_+"<"+o+">":_,p=e.createIdentifier(d);return n>0?e.createQualifiedName(r(t,n-1),p):p}function a(t,n,r){var i,o=Fe(t,c.enclosingDeclaration,n,!1);if(!o||Ie(o[0],c.enclosingDeclaration,1===o.length?n:Pe(n))){var s=be(o?o[0]:t);if(s){var u=a(s,Pe(n),!1);u&&(i=s,o=u.concat(o||[t]));}}return o||(!r&&(!i&&e.forEach(t.declarations,Le)||6144&t.flags)?void 0:[t])}function i(t){var n=e.firstOrUndefined(t.declarations);if(n){var r=e.getNameOfDeclaration(n);if(r)return e.declarationNameToString(r);if(n.parent&&226===n.parent.kind)return e.declarationNameToString(n.parent.name);switch(c.encounteredError||c.flags&e.NodeBuilderFlags.allowAnonymousIdentifier||(c.encounteredError=!0),n.kind){case 199:return"(Anonymous class)";case 186:case 187:return"(Anonymous function)"}}return t.name}var o;return!(262144&t.flags)&&c.enclosingDeclaration?(o=a(t,0,!0),e.Debug.assert(o&&o.length>0)):o=[t],!n||1===o.length||c.encounteredError||c.flags&e.NodeBuilderFlags.allowQualifedNameInPlaceOfIdentifier||(c.encounteredError=!0),r(o,o.length-1)}var c;return{typeToTypeNode:function(e,r,a){c=t(r,a);var i=n(e);return c.encounteredError?void 0:i},indexInfoToIndexSignatureDeclaration:function(e,n,a,i){c=t(a,i);var o=r(e,n);return c.encounteredError?void 0:o},signatureToSignatureDeclaration:function(e,n,r,i){c=t(r,i);var o=a(e,n);return c.encounteredError?void 0:o}}}(),Vy=_(4,"undefined");Vy.declarations=[];var qy=_(4,"arguments"),$y={getNodeCount:function(){return e.sum(r.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return e.sum(r.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return e.sum(r.getSourceFiles(),"symbolCount")+wy},getTypeCount:function(){return Ay},isUndefinedSymbol:function(e){return e===Vy},isArgumentsSymbol:function(e){return e===qy},isUnknownSymbol:function(e){return e===eh},getMergedSymbol:he,getDiagnostics:gm,getGlobalDiagnostics:hm,getTypeOfSymbolAtLocation:function(t,n){return n=e.getParseTreeNode(n),n?zc(t,n):ah},getSymbolsOfParameterPropertyDeclaration:function(t,n){return t=e.getParseTreeNode(t,e.isParameter),e.Debug.assert(void 0!==t,"Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."),E(t,n)},getDeclaredTypeOfSymbol:fn,getPropertiesOfType:Qn,getPropertyOfType:_r,getIndexInfoOfType:gr,getSignaturesOfType:pr,getIndexTypeOfType:yr,getBaseTypes:Qt,getBaseTypeOfLiteralType:es,getWidenedType:ms,getTypeFromTypeNode:function(t){return t=e.getParseTreeNode(t,e.isTypeNode),t?wi(t):ah},getParameterType:I_,getReturnTypeOfSignature:Ir,getNonNullableType:ss,typeToTypeNode:Uy.typeToTypeNode,indexInfoToIndexSignatureDeclaration:Uy.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:Uy.signatureToSignatureDeclaration,getSymbolsInScope:function(t,n){return t=e.getParseTreeNode(t),t?xm(t,n):[]},getSymbolAtLocation:function(t){return t=e.getParseTreeNode(t),t?Pm(t):void 0},getShorthandAssignmentValueSymbol:function(t){return t=e.getParseTreeNode(t),t?Fm(t):void 0},getExportSpecifierLocalTargetSymbol:function(t){return t=e.getParseTreeNode(t,e.isExportSpecifier),t?Im(t):void 0},getTypeAtLocation:function(t){return t=e.getParseTreeNode(t),t?Rm(t):ah},getPropertySymbolOfDestructuringAssignment:function(t){return t=e.getParseTreeNode(t,e.isIdentifier),t?Lm(t):void 0},signatureToString:function(t,n,r,a){return Ve(t,e.getParseTreeNode(n),r,a)},typeToString:function(t,n,r){return qe(t,e.getParseTreeNode(n),r)},getSymbolDisplayBuilder:Ze,symbolToString:function(t,n,r){return Ue(t,e.getParseTreeNode(n),r)},getAugmentedPropertiesOfType:jm,getRootSymbols:Jm,getContextualType:function(t){return t=e.getParseTreeNode(t,e.isExpression),t?Ou(t):void 0},getFullyQualifiedName:re,getResolvedSignature:function(t,n){return t=e.getParseTreeNode(t,e.isCallLikeExpression),t?T_(t,n):void 0},getConstantValue:function(t){return t=e.getParseTreeNode(t,ig),t?og(t):void 0},isValidPropertyAccess:function(t,n){return!!(t=e.getParseTreeNode(t,e.isPropertyAccessOrQualifiedName))&&jl(t,n)},getSignatureFromDeclaration:function(t){return t=e.getParseTreeNode(t,e.isFunctionLike),t?Nr(t):void 0},isImplementationOfOverload:function(t){return t=e.getParseTreeNode(t,e.isFunctionLike),t?tg(t):void 0},getImmediateAliasedSymbol:function(t){e.Debug.assert(0!=(8388608&t.flags),"Should only get Alias here.");var n=b(t);if(!n.immediateTarget){var r=K(t);e.Debug.assert(!!r),n.immediateTarget=Y(r,!0);}return n.immediateTarget},getAliasedSymbol:Z,getEmitResolver:u,getExportsOfModule:_e,getExportsAndPropertiesOfModule:de,getAmbientModules:ky,getAllAttributesTypeFromJsxOpeningLikeElement:function(t){return t=e.getParseTreeNode(t,e.isJsxOpeningLikeElement),t?ml(t):void 0},getJsxIntrinsicTagNames:xl,isOptionalParameter:function(t){return!!(t=e.getParseTreeNode(t,e.isParameter))&&Tr(t)},tryGetMemberInModuleExports:pe,tryFindAmbientModuleWithoutAugmentations:function(e){return Sr(e,!1)},getApparentType:sr},Gy=[],Wy=e.createMap(),Hy=e.createMap(),Xy=e.createMap(),Yy=e.createMap(),Qy=e.createMap(),Zy=[],eh=_(4,"unknown"),th=_(0,"__resolving__"),nh=Ce(1,"any"),rh=Ce(1,"any"),ah=Ce(1,"unknown"),ih=Ce(2048,"undefined"),oh=Ky?ih:Ce(2099200,"undefined"),sh=Ce(4096,"null"),ch=Ky?sh:Ce(2101248,"null"),uh=Ce(2,"string"),lh=Ce(4,"number"),_h=Ce(128,"true"),dh=Ce(128,"false"),ph=function(e){var t=Xa(e);return t.flags|=8,t.intrinsicName="boolean",t}([_h,dh]),fh=Ce(512,"symbol"),mh=Ce(1024,"void"),gh=Ce(8192,"never"),yh=Ce(8192,"never"),hh=Ce(16777216,"object"),vh=we(void 0,Fy,Py,Py,void 0,void 0),bh=_(2048,"__type");bh.members=e.createMap();var xh=we(bh,Fy,Py,Py,void 0,void 0),kh=we(void 0,Fy,Py,Py,void 0,void 0);kh.instantiations=e.createMap();var Sh=we(void 0,Fy,Py,Py,void 0,void 0);Sh.flags|=8388608;var Th,Ch,Eh,Dh,Nh,Ah,wh,Oh,Ph,Fh,Ih,Rh,Mh,Lh,Bh,Kh,jh,Jh,zh,Uh,Vh,qh,$h,Gh,Wh,Hh,Xh,Yh,Qh,Zh,ev,tv,nv=we(void 0,Fy,Py,Py,void 0,void 0),rv=we(void 0,Fy,Py,Py,void 0,void 0),av=Nn(void 0,void 0,void 0,Py,nh,void 0,0,!1,!1),iv=Nn(void 0,void 0,void 0,Py,ah,void 0,0,!1,!1),ov=Nn(void 0,void 0,void 0,Py,nh,void 0,0,!1,!1),sv=Nn(void 0,void 0,void 0,Py,yh,void 0,0,!1,!1),cv=zr(uh,!0),uv=zr(nh,!1),lv=e.createMap(),_v=0,dv=0,pv=0,fv=Ti(32,""),mv=Ti(64,"0"),gv=[],yv=[],hv=[],vv=[],bv=[],xv=[],kv=[],Sv=[],Tv=[],Cv=[],Ev=[],Dv=[],Nv=[],Av=[],wv=[],Ov=e.createDiagnosticCollection();!function(e){e[e.None=0]="None",e[e.TypeofEQString=1]="TypeofEQString",e[e.TypeofEQNumber=2]="TypeofEQNumber",e[e.TypeofEQBoolean=4]="TypeofEQBoolean",e[e.TypeofEQSymbol=8]="TypeofEQSymbol",e[e.TypeofEQObject=16]="TypeofEQObject",e[e.TypeofEQFunction=32]="TypeofEQFunction",e[e.TypeofEQHostObject=64]="TypeofEQHostObject",e[e.TypeofNEString=128]="TypeofNEString",e[e.TypeofNENumber=256]="TypeofNENumber",e[e.TypeofNEBoolean=512]="TypeofNEBoolean",e[e.TypeofNESymbol=1024]="TypeofNESymbol",e[e.TypeofNEObject=2048]="TypeofNEObject",e[e.TypeofNEFunction=4096]="TypeofNEFunction",e[e.TypeofNEHostObject=8192]="TypeofNEHostObject",e[e.EQUndefined=16384]="EQUndefined",e[e.EQNull=32768]="EQNull",e[e.EQUndefinedOrNull=65536]="EQUndefinedOrNull",e[e.NEUndefined=131072]="NEUndefined",e[e.NENull=262144]="NENull",e[e.NEUndefinedOrNull=524288]="NEUndefinedOrNull",e[e.Truthy=1048576]="Truthy",e[e.Falsy=2097152]="Falsy",e[e.Discriminatable=4194304]="Discriminatable",e[e.All=8388607]="All",e[e.BaseStringStrictFacts=933633]="BaseStringStrictFacts",e[e.BaseStringFacts=3145473]="BaseStringFacts",e[e.StringStrictFacts=4079361]="StringStrictFacts",e[e.StringFacts=4194049]="StringFacts",e[e.EmptyStringStrictFacts=3030785]="EmptyStringStrictFacts",e[e.EmptyStringFacts=3145473]="EmptyStringFacts",e[e.NonEmptyStringStrictFacts=1982209]="NonEmptyStringStrictFacts",e[e.NonEmptyStringFacts=4194049]="NonEmptyStringFacts",e[e.BaseNumberStrictFacts=933506]="BaseNumberStrictFacts",e[e.BaseNumberFacts=3145346]="BaseNumberFacts",e[e.NumberStrictFacts=4079234]="NumberStrictFacts",e[e.NumberFacts=4193922]="NumberFacts",e[e.ZeroStrictFacts=3030658]="ZeroStrictFacts",e[e.ZeroFacts=3145346]="ZeroFacts",e[e.NonZeroStrictFacts=1982082]="NonZeroStrictFacts",e[e.NonZeroFacts=4193922]="NonZeroFacts",e[e.BaseBooleanStrictFacts=933252]="BaseBooleanStrictFacts",e[e.BaseBooleanFacts=3145092]="BaseBooleanFacts",e[e.BooleanStrictFacts=4078980]="BooleanStrictFacts",e[e.BooleanFacts=4193668]="BooleanFacts",e[e.FalseStrictFacts=3030404]="FalseStrictFacts",e[e.FalseFacts=3145092]="FalseFacts",e[e.TrueStrictFacts=1981828]="TrueStrictFacts",e[e.TrueFacts=4193668]="TrueFacts",e[e.SymbolStrictFacts=1981320]="SymbolStrictFacts",e[e.SymbolFacts=4193160]="SymbolFacts",e[e.ObjectStrictFacts=6166480]="ObjectStrictFacts",e[e.ObjectFacts=8378320]="ObjectFacts",e[e.FunctionStrictFacts=6164448]="FunctionStrictFacts",e[e.FunctionFacts=8376288]="FunctionFacts",e[e.UndefinedFacts=2457472]="UndefinedFacts",e[e.NullFacts=2340752]="NullFacts";}(tv||(tv={}));var Pv,Fv,Iv,Rv,Mv,Lv,Bv=e.createMapFromTemplate({string:1,number:2,boolean:4,symbol:8,undefined:16384,object:16,function:32}),Kv=e.createMapFromTemplate({string:128,number:256,boolean:512,symbol:1024,undefined:131072,object:2048,function:4096}),jv=e.createMapFromTemplate({string:uh,number:lh,boolean:ph,symbol:fh,undefined:ih}),Jv=function(){return Xa(e.convertToArray(Bv.keys(),function(e){return Ti(32,e)}))}(),zv=!1,Uv=!1,Vv=e.createMap(),qv={JSX:"JSX",IntrinsicElements:"IntrinsicElements",ElementClass:"ElementClass",ElementAttributesPropertyNameContainer:"ElementAttributesProperty",ElementChildrenAttributeNameContainer:"ElementChildrenAttribute",Element:"Element",IntrinsicAttributes:"IntrinsicAttributes",IntrinsicClassAttributes:"IntrinsicClassAttributes"},$v=e.createMap(),Gv=e.createMap(),Wv=e.createMap(),Hv=e.createMap(),Xv=e.createMap();!function(e){e[e.Type=0]="Type",e[e.ResolvedBaseConstructorType=1]="ResolvedBaseConstructorType",e[e.DeclaredType=2]="DeclaredType",e[e.ResolvedReturnType=3]="ResolvedReturnType";}(Lv||(Lv={}));var Yv;!function(e){e[e.Normal=0]="Normal",e[e.SkipContextSensitive=1]="SkipContextSensitive",e[e.Inferential=2]="Inferential";}(Yv||(Yv={}));var Qv=e.createMap();return Qv.set(Vy.name,Vy),function(){for(var t=0,n=r.getSourceFiles();ts-a)&&(i=s-a),(a>0||i0&&_<=142||169===_)return o;switch(o.kind){case 206:case 209:case 200:case 225:case 298:case 247:return o;case 143:return e.updateQualifiedName(o,t(o.left,s,e.isEntityName),t(o.right,s,e.isIdentifier));case 144:return e.updateComputedPropertyName(o,t(o.expression,s,e.isExpression));case 160:return e.updateFunctionTypeNode(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 161:return e.updateConstructorTypeNode(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 155:return e.updateCallSignatureDeclaration(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 156:return e.updateConstructSignatureDeclaration(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 150:return e.updateMethodSignature(o,u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),t(o.name,s,e.isPropertyName),t(o.questionToken,l,e.isToken));case 157:return e.updateIndexSignatureDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode));case 146:return e.updateParameter(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.dotDotDotToken,l,e.isToken),t(o.name,s,e.isBindingName),t(o.questionToken,l,e.isToken),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 147:return e.updateDecorator(o,t(o.expression,s,e.isExpression));case 159:return e.updateTypeReferenceNode(o,t(o.typeName,s,e.isEntityName),u(o.typeArguments,s,e.isTypeNode));case 158:return e.updateTypePredicateNode(o,t(o.parameterName,s),t(o.type,s,e.isTypeNode));case 162:return e.updateTypeQueryNode(o,t(o.exprName,s,e.isEntityName));case 163:return e.updateTypeLiteralNode(o,u(o.members,s));case 164:return e.updateArrayTypeNode(o,t(o.elementType,s,e.isTypeNode));case 165:return e.updateTypleTypeNode(o,u(o.elementTypes,s,e.isTypeNode));case 166:case 167:return e.updateUnionOrIntersectionTypeNode(o,u(o.types,s,e.isTypeNode));case 168:throw e.Debug.fail("not implemented.");case 170:return e.updateTypeOperatorNode(o,t(o.type,s,e.isTypeNode));case 171:return e.updateIndexedAccessTypeNode(o,t(o.objectType,s,e.isTypeNode),t(o.indexType,s,e.isTypeNode));case 172:return e.updateMappedTypeNode(o,t(o.readonlyToken,l,e.isToken),t(o.typeParameter,s,e.isTypeParameter),t(o.questionToken,l,e.isToken),t(o.type,s,e.isTypeNode));case 173:return e.updateLiteralTypeNode(o,t(o.literal,s,e.isExpression));case 145:return e.updateTypeParameterDeclaration(o,t(o.name,s,e.isIdentifier),t(o.constraint,s,e.isTypeNode),t(o.default,s,e.isTypeNode));case 148:return e.updatePropertySignature(o,t(o.name,s,e.isPropertyName),t(o.questionToken,l,e.isToken),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 149:return e.updateProperty(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isPropertyName),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 151:return e.updateMethod(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.asteriskToken,l,e.isToken),t(o.name,s,e.isPropertyName),t(o.questionToken,l,e.isToken),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 152:return e.updateConstructor(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),a(o.parameters,s,c,u),i(o.body,s,c));case 153:return e.updateGetAccessor(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isPropertyName),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 154:return e.updateSetAccessor(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isPropertyName),a(o.parameters,s,c,u),i(o.body,s,c));case 174:return e.updateObjectBindingPattern(o,u(o.elements,s,e.isBindingElement));case 175:return e.updateArrayBindingPattern(o,u(o.elements,s,e.isArrayBindingElement));case 176:return e.updateBindingElement(o,t(o.dotDotDotToken,l,e.isToken),t(o.propertyName,s,e.isPropertyName),t(o.name,s,e.isBindingName),t(o.initializer,s,e.isExpression));case 177:return e.updateArrayLiteral(o,u(o.elements,s,e.isExpression));case 178:return e.updateObjectLiteral(o,u(o.properties,s,e.isObjectLiteralElementLike));case 179:return e.updatePropertyAccess(o,t(o.expression,s,e.isExpression),t(o.name,s,e.isIdentifier));case 180:return e.updateElementAccess(o,t(o.expression,s,e.isExpression),t(o.argumentExpression,s,e.isExpression));case 181:return e.updateCall(o,t(o.expression,s,e.isExpression),u(o.typeArguments,s,e.isTypeNode),u(o.arguments,s,e.isExpression));case 182:return e.updateNew(o,t(o.expression,s,e.isExpression),u(o.typeArguments,s,e.isTypeNode),u(o.arguments,s,e.isExpression));case 183:return e.updateTaggedTemplate(o,t(o.tag,s,e.isExpression),t(o.template,s,e.isTemplateLiteral));case 184:return e.updateTypeAssertion(o,t(o.type,s,e.isTypeNode),t(o.expression,s,e.isExpression));case 185:return e.updateParen(o,t(o.expression,s,e.isExpression));case 186:return e.updateFunctionExpression(o,u(o.modifiers,s,e.isModifier),t(o.asteriskToken,l,e.isToken),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 187:return e.updateArrowFunction(o,u(o.modifiers,s,e.isModifier),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 188:return e.updateDelete(o,t(o.expression,s,e.isExpression));case 189:return e.updateTypeOf(o,t(o.expression,s,e.isExpression));case 190:return e.updateVoid(o,t(o.expression,s,e.isExpression));case 191:return e.updateAwait(o,t(o.expression,s,e.isExpression));case 194:return e.updateBinary(o,t(o.left,s,e.isExpression),t(o.right,s,e.isExpression));case 192:return e.updatePrefix(o,t(o.operand,s,e.isExpression));case 193:return e.updatePostfix(o,t(o.operand,s,e.isExpression));case 195:return e.updateConditional(o,t(o.condition,s,e.isExpression),t(o.whenTrue,s,e.isExpression),t(o.whenFalse,s,e.isExpression));case 196:return e.updateTemplateExpression(o,t(o.head,s,e.isTemplateHead),u(o.templateSpans,s,e.isTemplateSpan));case 197:return e.updateYield(o,t(o.asteriskToken,l,e.isToken),t(o.expression,s,e.isExpression));case 198:return e.updateSpread(o,t(o.expression,s,e.isExpression));case 199:return e.updateClassExpression(o,u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),u(o.heritageClauses,s,e.isHeritageClause),u(o.members,s,e.isClassElement));case 201:return e.updateExpressionWithTypeArguments(o,u(o.typeArguments,s,e.isTypeNode),t(o.expression,s,e.isExpression));case 202:return e.updateAsExpression(o,t(o.expression,s,e.isExpression),t(o.type,s,e.isTypeNode));case 203:return e.updateNonNullExpression(o,t(o.expression,s,e.isExpression));case 205:return e.updateTemplateSpan(o,t(o.expression,s,e.isExpression),t(o.literal,s,e.isTemplateMiddleOrTemplateTail));case 207:return e.updateBlock(o,u(o.statements,s,e.isStatement));case 208:return e.updateVariableStatement(o,u(o.modifiers,s,e.isModifier),t(o.declarationList,s,e.isVariableDeclarationList));case 210:return e.updateStatement(o,t(o.expression,s,e.isExpression));case 211:return e.updateIf(o,t(o.expression,s,e.isExpression),t(o.thenStatement,s,e.isStatement,e.liftToBlock),t(o.elseStatement,s,e.isStatement,e.liftToBlock));case 212:return e.updateDo(o,t(o.statement,s,e.isStatement,e.liftToBlock),t(o.expression,s,e.isExpression));case 213:return e.updateWhile(o,t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 214:return e.updateFor(o,t(o.initializer,s,e.isForInitializer),t(o.condition,s,e.isExpression),t(o.incrementor,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 215:return e.updateForIn(o,t(o.initializer,s,e.isForInitializer),t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 216:return e.updateForOf(o,o.awaitModifier,t(o.initializer,s,e.isForInitializer),t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 217:return e.updateContinue(o,t(o.label,s,e.isIdentifier));case 218:return e.updateBreak(o,t(o.label,s,e.isIdentifier));case 219:return e.updateReturn(o,t(o.expression,s,e.isExpression));case 220:return e.updateWith(o,t(o.expression,s,e.isExpression),t(o.statement,s,e.isStatement,e.liftToBlock));case 221:return e.updateSwitch(o,t(o.expression,s,e.isExpression),t(o.caseBlock,s,e.isCaseBlock));case 222:return e.updateLabel(o,t(o.label,s,e.isIdentifier),t(o.statement,s,e.isStatement,e.liftToBlock));case 223:return e.updateThrow(o,t(o.expression,s,e.isExpression));case 224:return e.updateTry(o,t(o.tryBlock,s,e.isBlock),t(o.catchClause,s,e.isCatchClause),t(o.finallyBlock,s,e.isBlock));case 226:return e.updateVariableDeclaration(o,t(o.name,s,e.isBindingName),t(o.type,s,e.isTypeNode),t(o.initializer,s,e.isExpression));case 227:return e.updateVariableDeclarationList(o,u(o.declarations,s,e.isVariableDeclaration));case 228:return e.updateFunctionDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.asteriskToken,l,e.isToken),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),a(o.parameters,s,c,u),t(o.type,s,e.isTypeNode),i(o.body,s,c));case 229:return e.updateClassDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),u(o.typeParameters,s,e.isTypeParameter),u(o.heritageClauses,s,e.isHeritageClause),u(o.members,s,e.isClassElement));case 232:return e.updateEnumDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),u(o.members,s,e.isEnumMember));case 233:return e.updateModuleDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),t(o.body,s,e.isModuleBody));case 234:return e.updateModuleBlock(o,u(o.statements,s,e.isStatement));case 235:return e.updateCaseBlock(o,u(o.clauses,s,e.isCaseOrDefaultClause));case 237:return e.updateImportEqualsDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.name,s,e.isIdentifier),t(o.moduleReference,s,e.isModuleReference));case 238:return e.updateImportDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.importClause,s,e.isImportClause),t(o.moduleSpecifier,s,e.isExpression));case 239:return e.updateImportClause(o,t(o.name,s,e.isIdentifier),t(o.namedBindings,s,e.isNamedImportBindings));case 240:return e.updateNamespaceImport(o,t(o.name,s,e.isIdentifier));case 241:return e.updateNamedImports(o,u(o.elements,s,e.isImportSpecifier));case 242:return e.updateImportSpecifier(o,t(o.propertyName,s,e.isIdentifier),t(o.name,s,e.isIdentifier));case 243:return e.updateExportAssignment(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.expression,s,e.isExpression));case 244:return e.updateExportDeclaration(o,u(o.decorators,s,e.isDecorator),u(o.modifiers,s,e.isModifier),t(o.exportClause,s,e.isNamedExports),t(o.moduleSpecifier,s,e.isExpression));case 245:return e.updateNamedExports(o,u(o.elements,s,e.isExportSpecifier));case 246:return e.updateExportSpecifier(o,t(o.propertyName,s,e.isIdentifier),t(o.name,s,e.isIdentifier));case 248:return e.updateExternalModuleReference(o,t(o.expression,s,e.isExpression));case 249:return e.updateJsxElement(o,t(o.openingElement,s,e.isJsxOpeningElement),u(o.children,s,e.isJsxChild),t(o.closingElement,s,e.isJsxClosingElement));case 254:return e.updateJsxAttributes(o,u(o.properties,s,e.isJsxAttributeLike));case 250:return e.updateJsxSelfClosingElement(o,t(o.tagName,s,e.isJsxTagNameExpression),t(o.attributes,s,e.isJsxAttributes));case 251:return e.updateJsxOpeningElement(o,t(o.tagName,s,e.isJsxTagNameExpression),t(o.attributes,s,e.isJsxAttributes));case 252:return e.updateJsxClosingElement(o,t(o.tagName,s,e.isJsxTagNameExpression));case 253:return e.updateJsxAttribute(o,t(o.name,s,e.isIdentifier),t(o.initializer,s,e.isStringLiteralOrJsxExpression));case 255:return e.updateJsxSpreadAttribute(o,t(o.expression,s,e.isExpression));case 256:return e.updateJsxExpression(o,t(o.expression,s,e.isExpression));case 257:return e.updateCaseClause(o,t(o.expression,s,e.isExpression),u(o.statements,s,e.isStatement));case 258:return e.updateDefaultClause(o,u(o.statements,s,e.isStatement));case 259:return e.updateHeritageClause(o,u(o.types,s,e.isExpressionWithTypeArguments));case 260:return e.updateCatchClause(o,t(o.variableDeclaration,s,e.isVariableDeclaration),t(o.block,s,e.isBlock));case 261:return e.updatePropertyAssignment(o,t(o.name,s,e.isPropertyName),t(o.initializer,s,e.isExpression));case 262:return e.updateShorthandPropertyAssignment(o,t(o.name,s,e.isIdentifier),t(o.objectAssignmentInitializer,s,e.isExpression));case 263:return e.updateSpreadAssignment(o,t(o.expression,s,e.isExpression));case 264:return e.updateEnumMember(o,t(o.name,s,e.isPropertyName),t(o.initializer,s,e.isExpression));case 265:return e.updateSourceFileNode(o,r(o.statements,s,c));case 296:return e.updatePartiallyEmittedExpression(o,t(o.expression,s,e.isExpression));default:return o}}}function s(t){return e.Debug.assert(t.length<=1,"Too many nodes written to output."),e.singleOrUndefined(t)}e.visitNode=t,e.visitNodes=n,e.visitLexicalEnvironment=r,e.visitParameterList=a,e.visitFunctionBody=i,e.visitEachChild=o;}(r||(r={})),function(e){function t(e,t,n){return e?t(n,e):n}function n(e,t,n){return e?t(n,e):n}function r(r,a,i,o){if(void 0===r)return a;var s=o?n:e.reduceLeft,c=o||i,u=r.kind;if(u>0&&u<=142)return a;if(u>=158&&u<=173)return a;var l=a;switch(r.kind){case 206:case 209:case 200:case 225:case 295:break;case 143:l=t(r.left,i,l),l=t(r.right,i,l);break;case 144:l=t(r.expression,i,l);break;case 146:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.type,i,l),l=t(r.initializer,i,l);break;case 147:l=t(r.expression,i,l);break;case 149:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.type,i,l),l=t(r.initializer,i,l);break;case 151:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 152:l=s(r.modifiers,c,l),l=s(r.parameters,c,l),l=t(r.body,i,l);break;case 153:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 154:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.parameters,c,l),l=t(r.body,i,l);break;case 174:case 175:l=s(r.elements,c,l);break;case 176:l=t(r.propertyName,i,l),l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 177:l=s(r.elements,c,l);break;case 178:l=s(r.properties,c,l);break;case 179:l=t(r.expression,i,l),l=t(r.name,i,l);break;case 180:l=t(r.expression,i,l),l=t(r.argumentExpression,i,l);break;case 181:case 182:l=t(r.expression,i,l),l=s(r.typeArguments,c,l),l=s(r.arguments,c,l);break;case 183:l=t(r.tag,i,l),l=t(r.template,i,l);break;case 184:l=t(r.type,i,l),l=t(r.expression,i,l);break;case 186:l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 187:l=s(r.modifiers,c,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 185:case 188:case 189:case 190:case 191:case 197:case 198:case 203:l=t(r.expression,i,l);break;case 192:case 193:l=t(r.operand,i,l);break;case 194:l=t(r.left,i,l),l=t(r.right,i,l);break;case 195:l=t(r.condition,i,l),l=t(r.whenTrue,i,l),l=t(r.whenFalse,i,l);break;case 196:l=t(r.head,i,l),l=s(r.templateSpans,c,l);break;case 199:l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.heritageClauses,c,l),l=s(r.members,c,l);break;case 201:l=t(r.expression,i,l),l=s(r.typeArguments,c,l);break;case 202:l=t(r.expression,i,l),l=t(r.type,i,l);break;case 203:l=t(r.expression,i,l);break;case 205:l=t(r.expression,i,l),l=t(r.literal,i,l);break;case 207:l=s(r.statements,c,l);break;case 208:l=s(r.modifiers,c,l),l=t(r.declarationList,i,l);break;case 210:l=t(r.expression,i,l);break;case 211:l=t(r.expression,i,l),l=t(r.thenStatement,i,l),l=t(r.elseStatement,i,l);break;case 212:l=t(r.statement,i,l),l=t(r.expression,i,l);break;case 213:case 220:l=t(r.expression,i,l),l=t(r.statement,i,l);break;case 214:l=t(r.initializer,i,l),l=t(r.condition,i,l),l=t(r.incrementor,i,l),l=t(r.statement,i,l);break;case 215:case 216:l=t(r.initializer,i,l),l=t(r.expression,i,l),l=t(r.statement,i,l);break;case 219:case 223:l=t(r.expression,i,l);break;case 221:l=t(r.expression,i,l),l=t(r.caseBlock,i,l);break;case 222:l=t(r.label,i,l),l=t(r.statement,i,l);break;case 224:l=t(r.tryBlock,i,l),l=t(r.catchClause,i,l),l=t(r.finallyBlock,i,l);break;case 226:l=t(r.name,i,l),l=t(r.type,i,l),l=t(r.initializer,i,l);break;case 227:l=s(r.declarations,c,l);break;case 228:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.parameters,c,l),l=t(r.type,i,l),l=t(r.body,i,l);break;case 229:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.typeParameters,c,l),l=s(r.heritageClauses,c,l),l=s(r.members,c,l);break;case 232:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=s(r.members,c,l);break;case 233:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.body,i,l);break;case 234:l=s(r.statements,c,l);break;case 235:l=s(r.clauses,c,l);break;case 237:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.name,i,l),l=t(r.moduleReference,i,l);break;case 238:l=s(r.decorators,c,l),l=s(r.modifiers,c,l),l=t(r.importClause,i,l),l=t(r.moduleSpecifier,i,l);break;case 239:l=t(r.name,i,l),l=t(r.namedBindings,i,l);break;case 240:l=t(r.name,i,l);break;case 241:case 245:l=s(r.elements,c,l);break;case 242:case 246:l=t(r.propertyName,i,l),l=t(r.name,i,l);break;case 243:l=e.reduceLeft(r.decorators,i,l),l=e.reduceLeft(r.modifiers,i,l),l=t(r.expression,i,l);break;case 244:l=e.reduceLeft(r.decorators,i,l),l=e.reduceLeft(r.modifiers,i,l),l=t(r.exportClause,i,l),l=t(r.moduleSpecifier,i,l);break;case 248:l=t(r.expression,i,l);break;case 249:l=t(r.openingElement,i,l),l=e.reduceLeft(r.children,i,l),l=t(r.closingElement,i,l);break;case 250:case 251:l=t(r.tagName,i,l),l=t(r.attributes,i,l);break;case 254:l=s(r.properties,c,l);break;case 252:l=t(r.tagName,i,l);break;case 253:l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 255:case 256:l=t(r.expression,i,l);break;case 257:l=t(r.expression,i,l);case 258:l=s(r.statements,c,l);break;case 259:l=s(r.types,c,l);break;case 260:l=t(r.variableDeclaration,i,l),l=t(r.block,i,l);break;case 261:l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 262:l=t(r.name,i,l),l=t(r.objectAssignmentInitializer,i,l);break;case 263:l=t(r.expression,i,l);break;case 264:l=t(r.name,i,l),l=t(r.initializer,i,l);break;case 265:l=s(r.statements,c,l);break;case 296:l=t(r.expression,i,l);}return l}function a(t,n){return e.some(n)?e.isNodeArray(t)?e.setTextRange(e.createNodeArray(e.concatenate(t,n)),t):e.addRange(t,n):t}function i(t){return d.assert(e.every(t,e.isStatement),"Cannot lift nodes to a Block."),e.singleOrUndefined(t)||e.createBlock(t)}function o(e){return s(e),e}function s(t){if(void 0===t)return 0;if(536870912&t.transformFlags)return t.transformFlags&~e.getTransformFlagsSubtreeExclusions(t.kind);var n=u(t);return e.computeTransformFlagsForNode(t,n)}function c(e){if(void 0===e)return 0;for(var t=0,n=0,r=0,a=e;r=1)||1572864&f.transformFlags||1572864&e.getTargetOfBindingOrAssignmentElement(f).transformFlags||e.isComputedPropertyName(g)){_&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(_),i,o,a),_=void 0);var y=s(t,i,g);e.isComputedPropertyName(g)&&(d=e.append(d,y.argumentExpression)),r(t,f,y,f);}else _=e.append(_,f);}}_&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(_),i,o,a);}function i(t,n,a,i,o){var s=e.getElementsOfBindingOrAssignmentPattern(a),u=s.length;t.level<1&&t.downlevelIteration?i=c(t,e.createReadHelper(t.context,i,u>0&&e.getRestIndicatorOfBindingOrAssignmentElement(s[u-1])?void 0:u,o),!1,o):1!==u&&(t.level<1||0===u)&&(i=c(t,i,!e.isDeclarationBindingElement(n)||0!==u,o));for(var l,_,d=0;d=1)if(1048576&p.transformFlags){var f=e.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(f),_=e.append(_,[f,p]),l=e.append(l,t.createArrayBindingOrAssignmentElement(f));}else l=e.append(l,p);else{if(e.isOmittedExpression(p))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(p)){if(d===u-1){var m=e.createArraySlice(i,d);r(t,p,m,p);}}else r(t,p,m=e.createElementAccess(i,d),p);}}if(l&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(l),i,o,a),_)for(var g=0,y=_;g0)return!0;var n=e.getFirstConstructorWithBody(t);return!!n&&e.forEach(n.parameters,x)}function x(e){return void 0!==e.decorators&&e.decorators.length>0}function k(t){var n=I(t,!0),r=void 0!==e.getClassExtendsHeritageClauseElement(t),a=b(t),i=t.name;!i&&(n.length>0||e.childIsDecorated(t))&&(i=e.getGeneratedNameForNode(t));var o=a?T(t,i,r):S(t,i,r,n.length>0),s=[o];return n.length&&B(s,n,e.getLocalName(t)),Q(s,t,!1),Q(s,t,!0),te(s,t),dt(t)?yt(s,t):a&&(mt(t)?s.push(e.createExportDefault(e.getLocalName(t,!1,!0))):ft(t)&&s.push(e.createExternalModuleExport(e.getLocalName(t,!1,!0)))),s.length>1&&(s.push(e.createEndOfDeclarationMarker(t)),e.setEmitFlags(o,4194304|e.getEmitFlags(o))),e.singleOrMany(s)}function S(t,n,r,a){var i=e.createClassDeclaration(void 0,e.visitNodes(t.modifiers,y,e.isModifier),n,void 0,e.visitNodes(t.heritageClauses,u,e.isHeritageClause),E(t,r)),o=e.getEmitFlags(t);return a&&(o|=32),e.setTextRange(i,t),e.setOriginalNode(i,t),e.setEmitFlags(i,o),i}function T(t,n,r){var a=e.moveRangePastDecorators(t),i=St(t),o=e.getLocalName(t,!1,!0),s=e.visitNodes(t.heritageClauses,u,e.isHeritageClause),c=E(t,r),l=e.createClassExpression(void 0,n,void 0,s,c);e.setOriginalNode(l,t),e.setTextRange(l,a);var _=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(o,void 0,i?e.createAssignment(i,l):l)],1));return e.setOriginalNode(_,t),e.setTextRange(_,a),e.setCommentRange(_,t),_}function C(t){var n=I(t,!0),r=e.visitNodes(t.heritageClauses,u,e.isHeritageClause),a=E(t,e.some(r,function(e){return 85===e.token})),i=e.createClassExpression(void 0,t.name,void 0,r,a);if(e.setOriginalNode(i,t),e.setTextRange(i,t),n.length>0){var o=[],s=e.createTempVariable(qt);return 8388608&$t.getNodeCheckFlags(t)&&(Dt(),an[e.getOriginalNodeId(t)]=e.getSynthesizedClone(s)),e.setEmitFlags(i,65536|e.getEmitFlags(i)),o.push(e.startOnNewLine(e.createAssignment(s,i))),e.addRange(o,K(n,s)),o.push(e.startOnNewLine(s)),e.inlineExpressions(o)}return i}function E(t,n){var r=[],a=D(t,n);return a&&r.push(a),e.addRange(r,e.visitNodes(t.members,m,e.isClassElement)),e.setTextRange(e.createNodeArray(r),t.members)}function D(n,r){var a=e.forEach(n.members,M),i=262144&n.transformFlags,o=e.getFirstConstructorWithBody(n);if(!a&&!i)return e.visitEachChild(o,u,t);var s=N(o),c=A(n,o,r);return e.startOnNewLine(e.setOriginalNode(e.setTextRange(e.createConstructor(void 0,void 0,s,c),o||n),o))}function N(n){return e.visitParameterList(n&&n.parameters,u,t)||[]}function A(t,n,r){var a=[],i=0;if(Ut(),n){i=w(n,a);var o=O(n);e.addRange(a,e.map(o,F));}else r&&a.push(e.createStatement(e.createCall(e.createSuper(),void 0,[e.createSpread(e.createIdentifier("arguments"))])));return B(a,I(t,!1),e.createThis()),n&&e.addRange(a,e.visitNodes(n.body.statements,u,e.isStatement,i)),a=e.mergeLexicalEnvironment(a,Vt()),e.setTextRange(e.createBlock(e.setTextRange(e.createNodeArray(a),n?n.body.statements:t.members),!0),n?n.body:void 0)}function w(t,n){if(t.body){var r=t.body.statements,a=e.addPrologue(n,r,!1,u);if(a===r.length)return a;var i=r[a];return 210===i.kind&&e.isSuperCall(i.expression)?(n.push(e.visitNode(i,u,e.isStatement)),a+1):a}return 0}function O(t){return e.filter(t.parameters,P)}function P(t){return e.hasModifier(t,92)&&e.isIdentifier(t.name)}function F(t){e.Debug.assert(e.isIdentifier(t.name));var n=t.name,r=e.getMutableClone(n);e.setEmitFlags(r,1584);var a=e.getMutableClone(n);return e.setEmitFlags(a,1536),e.startOnNewLine(e.setTextRange(e.createStatement(e.createAssignment(e.setTextRange(e.createPropertyAccess(e.createThis(),r),t.name),a)),e.moveRangePos(t,-1)))}function I(t,n){return e.filter(t.members,n?R:M)}function R(e){return L(e,!0)}function M(e){return L(e,!1)}function L(t,n){return 149===t.kind&&n===e.hasModifier(t,32)&&void 0!==t.initializer}function B(t,n,r){for(var a=0,i=n;a0?149===a.kind?e.createVoidZero():e.createNull():void 0,u=n(t,i,o,s,c,e.moveRangePastDecorators(a));return e.setEmitFlags(u,1536),u}}function te(t,n){var r=ne(n);r&&t.push(e.setOriginalNode(e.createStatement(r),n));}function ne(r){var a=Y(r,r,$(r));if(a){var i=an&&an[e.getOriginalNodeId(r)],o=e.getLocalName(r,!1,!0),s=n(t,a,o),c=e.createAssignment(o,i?e.createAssignment(i,s):s);return e.setEmitFlags(c,1536),e.setSourceMapRange(c,e.moveRangePastDecorators(r)),c}}function re(t){return e.visitNode(t.expression,u,e.isExpression)}function ae(n,r){var i;if(n){i=[];for(var o=0,s=n;o= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'},c={name:"typescript:metadata",scoped:!1,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'},u={name:"typescript:param",scoped:!1,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"};}(r||(r={}));!function(e){function t(t){function r(n){if(e.isDeclarationFile(n))return n;k=n;var r=e.visitEachChild(n,a,t);return e.addEmitHelpers(r,t.readEmitHelpers()),k=void 0,r}function a(n){if(0==(16&n.transformFlags))return n;switch(n.kind){case 120:return;case 191:return i(n);case 151:return o(n);case 228:return s(n);case 186:return c(n);case 187:return u(n);default:return e.visitEachChild(n,a,t)}}function i(t){return e.setOriginalNode(e.setTextRange(e.createYield(void 0,e.visitNode(t.expression,a,e.isExpression)),t),t)}function o(n){return e.updateMethod(n,void 0,e.visitNodes(n.modifiers,a,e.isModifier),n.asteriskToken,n.name,void 0,void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function s(n){return e.updateFunctionDeclaration(n,void 0,e.visitNodes(n.modifiers,a,e.isModifier),n.asteriskToken,n.name,void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function c(n){return e.updateFunctionExpression(n,e.visitNodes(n.modifiers,a,e.isModifier),n.asteriskToken,n.name,void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function u(n){return e.updateArrowFunction(n,e.visitNodes(n.modifiers,a,e.isModifier),void 0,e.visitParameterList(n.parameters,a,t),void 0,2&e.getFunctionFlags(n)?l(n):e.visitFunctionBody(n.body,a,t))}function l(r){C();var i=e.getOriginalNode(r,e.isFunctionLike).type,o=A<2?d(i):void 0,s=187===r.kind,c=0!=(8192&D.getNodeCheckFlags(r));if(s){var u=n(t,c,o,_(r.body)),l=E();if(e.some(l)){g=e.convertToFunctionBody(u);return e.updateBlock(g,e.setTextRange(e.createNodeArray(e.concatenate(g.statements,l)),g.statements))}return u}var f=[],m=e.addPrologue(f,r.body.statements,!1,a);f.push(e.createReturn(n(t,c,o,_(r.body,m)))),e.addRange(f,E());var g=e.createBlock(f,!0);return e.setTextRange(g,r.body),A>=2&&(4096&D.getNodeCheckFlags(r)?(p(),e.addEmitHelper(g,e.advancedAsyncSuperHelper)):2048&D.getNodeCheckFlags(r)&&(p(),e.addEmitHelper(g,e.asyncSuperHelper))),g}function _(n,r){if(e.isBlock(n))return e.updateBlock(n,e.visitLexicalEnvironment(n.statements,a,t,r));T();var i=e.convertToFunctionBody(e.visitNode(n,a,e.isConciseBody)),o=E();return e.updateBlock(i,e.setTextRange(e.createNodeArray(e.concatenate(i.statements,o)),i.statements))}function d(t){var n=t&&e.getEntityNameFromTypeNode(t);if(n&&e.isEntityName(n)){var r=D.getTypeReferenceSerializationKind(n);if(r===e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue||r===e.TypeReferenceSerializationKind.Unknown)return n}}function p(){0==(1&S)&&(S|=1,t.enableSubstitution(181),t.enableSubstitution(179),t.enableSubstitution(180),t.enableEmitNotification(229),t.enableEmitNotification(151),t.enableEmitNotification(153),t.enableEmitNotification(154),t.enableEmitNotification(152));}function f(e,t,n){if(1&S&&b(t)){var r=6144&D.getNodeCheckFlags(t);if(r!==w){var a=w;return w=r,O(e,t,n),void(w=a)}}O(e,t,n);}function m(e,t){return t=P(e,t),1===e&&w?g(t):t}function g(e){switch(e.kind){case 179:return y(e);case 180:return h(e);case 181:return v(e)}return e}function y(t){return 97===t.expression.kind?x(e.createLiteral(t.name.text),t):t}function h(e){return 97===e.expression.kind?x(e.argumentExpression,e):e}function v(t){var n=t.expression;if(e.isSuperProperty(n)){var r=e.isPropertyAccessExpression(n)?y(n):h(n);return e.createCall(e.createPropertyAccess(r,"call"),void 0,[e.createThis()].concat(t.arguments))}return t}function b(e){var t=e.kind;return 229===t||152===t||151===t||153===t||154===t}function x(t,n){return 4096&w?e.setTextRange(e.createPropertyAccess(e.createCall(e.createIdentifier("_super"),void 0,[t]),"value"),n):e.setTextRange(e.createCall(e.createIdentifier("_super"),void 0,[t]),n)}var k,S,T=t.startLexicalEnvironment,C=t.resumeLexicalEnvironment,E=t.endLexicalEnvironment,D=t.getEmitResolver(),N=t.getCompilerOptions(),A=e.getEmitScriptTarget(N),w=0,O=t.onEmitNode,P=t.onSubstituteNode;return t.onEmitNode=f,t.onSubstituteNode=m,r}function n(t,n,r,i){t.requestEmitHelper(a);var o=e.createFunctionExpression(void 0,e.createToken(39),void 0,void 0,[],void 0,i);return(o.emitNode||(o.emitNode={})).flags|=262144,e.createCall(e.getHelperName("__awaiter"),void 0,[e.createThis(),n?e.createIdentifier("arguments"):e.createVoidZero(),r?e.createExpressionFromEntityName(r):e.createVoidZero(),o])}var r;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper";}(r||(r={})),e.transformES2017=t;var a={name:"typescript:awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'};e.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:"\n const _super = name => super[name];\n "},e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:"\n const _super = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);\n "};}(r||(r={}));!function(e){function t(t){function s(n){if(e.isDeclarationFile(n))return n;var r=e.visitEachChild(n,c,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r}function c(e){return _(e,!1)}function u(e){return _(e,!0)}function l(e){if(120!==e.kind)return e}function _(n,r){if(0==(8&n.transformFlags))return n;switch(n.kind){case 191:return d(n);case 197:return p(n);case 222:return f(n);case 178:return g(n);case 194:return v(n,r);case 226:return b(n);case 216:return S(n,void 0);case 214:return x(n);case 190:return k(n);case 152:return A(n);case 151:return P(n);case 153:return w(n);case 154:return O(n);case 228:return F(n);case 186:return R(n);case 187:return I(n);case 146:return N(n);case 210:return y(n);case 185:return h(n,r);default:return e.visitEachChild(n,c,t)}}function d(n){return 2&re&&1&re?e.setOriginalNode(e.setTextRange(e.createYield(r(t,e.visitNode(n.expression,c,e.isExpression))),n),n):e.visitEachChild(n,c,t)}function p(n){if(2&re&&1&re&&n.asteriskToken){var a=e.visitNode(n.expression,c,e.isExpression);return e.setOriginalNode(e.setTextRange(e.createYield(r(t,e.updateYield(n,n.asteriskToken,i(t,o(t,a,a),a)))),n),n)}return e.visitEachChild(n,c,t)}function f(n){if(2&re&&1&re){var r=e.unwrapInnermostStatementOfLabel(n);return 216===r.kind&&r.awaitModifier?S(r,n):e.restoreEnclosingLabel(e.visitEachChild(n,c,t),n)}return e.visitEachChild(n,c,t)}function m(t){for(var n,r=[],a=0,i=t;a=2&&(4096&Y.getNodeCheckFlags(n)?(K(),e.addEmitHelper(o,e.advancedAsyncSuperHelper)):2048&Y.getNodeCheckFlags(n)&&(K(),e.addEmitHelper(o,e.asyncSuperHelper))),o}function L(t){W();var n=0,r=[],a=e.visitNode(t.body,c,e.isConciseBody);e.isBlock(a)&&(n=e.addPrologue(r,a.statements,!1,c)),e.addRange(r,B(void 0,t));var i=H();if(n>0||e.some(r)||e.some(i)){var o=e.convertToFunctionBody(a,!0);return e.addRange(r,o.statements.slice(n)),e.addRange(r,i),e.updateBlock(o,e.setTextRange(e.createNodeArray(r),o.statements))}return a}function B(n,r){for(var a=0,i=r.parameters;a=2?e.createCall(e.createPropertyAccess(e.createIdentifier("Object"),"assign"),void 0,n):(t.requestEmitHelper(c),e.createCall(e.getHelperName("__assign"),void 0,n))}function r(t,n){return t.requestEmitHelper(u),e.createCall(e.getHelperName("__await"),void 0,[n])}function a(t,n){return t.requestEmitHelper(u),t.requestEmitHelper(l),(n.emitNode||(n.emitNode={})).flags|=262144,e.createCall(e.getHelperName("__asyncGenerator"),void 0,[e.createThis(),e.createIdentifier("arguments"),n])}function i(t,n,r){return t.requestEmitHelper(u),t.requestEmitHelper(_),e.setTextRange(e.createCall(e.getHelperName("__asyncDelegator"),void 0,[n]),r)}function o(t,n,r){return t.requestEmitHelper(d),e.setTextRange(e.createCall(e.getHelperName("__asyncValues"),void 0,[n]),r)}var s;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper";}(s||(s={})),e.transformESNext=t;var c={name:"typescript:assign",scoped:!1,priority:1,text:"\n var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };"};e.createAssignHelper=n;var u={name:"typescript:await",scoped:!1,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\n "},l={name:"typescript:asyncGenerator",scoped:!1,text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };\n '},_={name:"typescript:asyncDelegator",scoped:!1,text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; }; }\n };\n '},d={name:"typescript:asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncIterator) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator];\n return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator]();\n };\n '};}(r||(r={}));!function(e){function t(t){function r(n){if(e.isDeclarationFile(n))return n;var r=e.visitEachChild(n,a,t);return e.addEmitHelpers(r,t.readEmitHelpers()),r}function a(e){return 4&e.transformFlags?i(e):e}function i(n){switch(n.kind){case 249:return s(n,!1);case 250:return c(n,!1);case 256:return b(n);default:return e.visitEachChild(n,a,t)}}function o(t){switch(t.kind){case 10:return p(t);case 256:return b(t);case 249:return s(t,!0);case 250:return c(t,!0);default:return void e.Debug.failBadSyntaxKind(t)}}function s(e,t){return u(e.openingElement,e.children,t,e)}function c(e,t){return u(e,void 0,t,e)}function u(n,r,a,i){var s,c=h(n),u=n.attributes.properties;if(0===u.length)s=e.createNull();else{var d=e.flatten(e.spanMap(u,e.isJsxSpreadAttribute,function(t,n){return n?e.map(t,l):e.createObjectLiteral(e.map(t,_))}));e.isJsxSpreadAttribute(u[0])&&d.unshift(e.createObjectLiteral()),(s=e.singleOrUndefined(d))||(s=e.createAssignHelper(t,d));}var p=e.createExpressionForJsxElement(t.getEmitResolver().getJsxFactoryEntity(),x.reactNamespace,c,s,e.filter(e.map(r,o),e.isDefined),n,i);return a&&e.startOnNewLine(p),p}function l(t){return e.visitNode(t.expression,a,e.isExpression)}function _(t){var n=v(t),r=d(t.initializer);return e.createPropertyAssignment(n,r)}function d(t){if(void 0===t)return e.createTrue();if(9===t.kind){var n=y(t.text);return n?e.setTextRange(e.createLiteral(n),t):t}if(256===t.kind)return void 0===t.expression?e.createTrue():b(t);e.Debug.failBadSyntaxKind(t);}function p(t){var n=f(e.getTextOfNode(t,!0));return void 0===n?void 0:e.createLiteral(n)}function f(t){for(var n,r=0,a=-1,i=0;i=0,"statementOffset not initialized correctly!"));var s=r&&95!==e.skipOuterExpressions(r.expression).kind,u=A(i,t,s,a,o);1!==u&&2!==u||o++,t&&(1===u&&(Ot|=4096),e.addRange(i,e.visitNodes(t.body.statements,c,e.isStatement,o))),!s||2===u||t&&N(t.body)||i.push(e.createReturn(e.createIdentifier("_this"))),e.addRange(i,St()),t&&J(i,t,!1);var l=e.createBlock(e.setTextRange(e.createNodeArray(i),t?t.body.statements:n.members),!0);return e.setTextRange(l,t?t.body:n),t||e.setEmitFlags(l,1536),l}function N(t){if(219===t.kind)return!0;if(211===t.kind){var n=t;if(n.elseStatement)return N(n.thenStatement)&&N(n.elseStatement)}else if(207===t.kind){var r=e.lastOrUndefined(t.statements);if(r&&N(r))return!0}return!1}function A(t,n,r,a,i){if(!r)return n&&K(t,n),0;if(!n)return t.push(e.createReturn(O())),2;if(a)return j(t,n,O()),_t(),1;var o,s,c=n.body.statements;if(i0?n.push(e.setEmitFlags(e.createVariableStatement(void 0,e.createVariableDeclarationList(e.flattenDestructuringBinding(r,c,t,0,o))),1048576)):i&&n.push(e.setEmitFlags(e.createStatement(e.createAssignment(o,e.visitNode(i,c,e.isExpression))),1048576));}function M(t,n,r,a){a=e.visitNode(a,c,e.isExpression);var i=e.createIf(e.createTypeCheck(e.getSynthesizedClone(r),"undefined"),e.setEmitFlags(e.setTextRange(e.createBlock([e.createStatement(e.setTextRange(e.createAssignment(e.setEmitFlags(e.getMutableClone(r),48),e.setEmitFlags(a,48|e.getEmitFlags(a))),n))]),n),417));i.startsOnNewLine=!0,e.setTextRange(i,n),e.setEmitFlags(i,1048992),t.push(i);}function L(e,t){return e&&e.dotDotDotToken&&71===e.name.kind&&!t}function B(t,n,r){var a=e.lastOrUndefined(n.parameters);if(L(a,r)){var i=e.getMutableClone(a.name);e.setEmitFlags(i,48);var o=e.getSynthesizedClone(a.name),s=n.parameters.length-1,c=e.createLoopVariable();t.push(e.setEmitFlags(e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(i,void 0,e.createArrayLiteral([]))])),a),1048576));var u=e.createFor(e.setTextRange(e.createVariableDeclarationList([e.createVariableDeclaration(c,void 0,e.createLiteral(s))]),a),e.setTextRange(e.createLessThan(c,e.createPropertyAccess(e.createIdentifier("arguments"),"length")),a),e.setTextRange(e.createPostfixIncrement(c),a),e.createBlock([e.startOnNewLine(e.setTextRange(e.createStatement(e.createAssignment(e.createElementAccess(o,0===s?c:e.createSubtract(c,e.createLiteral(s))),e.createElementAccess(e.createIdentifier("arguments"),c))),a))]));e.setEmitFlags(u,1048576),e.startOnNewLine(u),t.push(u);}}function K(t,n){32768&n.transformFlags&&187!==n.kind&&j(t,n,e.createThis());}function j(t,n,r,a){_t();var i=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration("_this",void 0,r)]));e.setEmitFlags(i,1050112),e.setTextRange(i,a),e.setSourceMapRange(i,n),t.push(i);}function J(t,n,r){if(16384&Ot){var a=void 0;switch(n.kind){case 187:return t;case 151:case 153:case 154:a=e.createVoidZero();break;case 152:a=e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor");break;case 228:case 186:a=e.createConditional(e.createLogicalAnd(e.setEmitFlags(e.createThis(),4),e.createBinary(e.setEmitFlags(e.createThis(),4),93,e.getLocalName(n))),e.createPropertyAccess(e.setEmitFlags(e.createThis(),4),"constructor"),e.createVoidZero());break;default:e.Debug.failBadSyntaxKind(n);}var i=e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration("_newTarget",void 0,a)]));if(r)return[i].concat(t);t.unshift(i);}return t}function z(t,n){for(var r=0,a=n.members;r0&&(o=!0),e.isBlock(l))i=e.addCustomPrologue(u,l.statements,i,c),r=l.statements,e.addRange(u,e.visitNodes(l.statements,c,e.isStatement,i)),!o&&l.multiLine&&(o=!0);else{e.Debug.assert(187===n.kind),r=e.moveRangeEnd(l,-1);var _=n.equalsGreaterThanToken;e.nodeIsSynthesized(_)||e.nodeIsSynthesized(l)||(e.rangeEndIsOnSameLineAsRangeStart(_,l,At)?s=!0:o=!0);var d=e.visitNode(l,c,e.isExpression),p=e.createReturn(d);e.setTextRange(p,l),e.setEmitFlags(p,1440),u.push(p),a=l;}var f=t.endLexicalEnvironment();e.addRange(u,f),J(u,n,!1),!o&&f&&f.length&&(o=!0);var m=e.createBlock(e.setTextRange(e.createNodeArray(u),r),o);return e.setTextRange(m,n.body),!o&&s&&e.setEmitFlags(m,1),a&&e.setTokenSourceMapRange(m,18,a),e.setOriginalNode(m,n.body),m}function Q(n){var r=e.visitFunctionBody(n.body,u,t);return e.updateBlock(r,e.setTextRange(e.createNodeArray(J(r.statements,n,!0)),r.statements))}function Z(n,r){if(r)return e.visitEachChild(n,c,t);var o=256&Ot?a(4032,512):a(3904,128),s=e.visitEachChild(n,c,t);return i(o,0,0),s}function ee(n){switch(n.expression.kind){case 185:return e.updateStatement(n,te(n.expression,!1));case 194:return e.updateStatement(n,ne(n.expression,!1))}return e.visitEachChild(n,c,t)}function te(n,r){if(!r)switch(n.expression.kind){case 185:return e.updateParen(n,te(n.expression,!1));case 194:return e.updateParen(n,ne(n.expression,!1))}return e.visitEachChild(n,c,t)}function ne(n,r){return e.isDestructuringAssignment(n)?e.flattenDestructuringAssignment(n,c,t,0,r):e.visitEachChild(n,c,t)}function re(n){var r,o=a(0,e.hasModifier(n,1)?32:0);if(Pt&&0==(3&n.declarationList.flags)){for(var s=void 0,u=0,l=n.declarationList.declarations;u=t.end)return!1;for(var a=e.getEnclosingBlockScopeContainer(t);r;){if(r===a||r===t)return!1;if(e.isClassElement(r)&&r.parent===t)return 149!==r.kind||0==(32&e.getModifierFlags(r));r=r.parent;}return!1}function ht(t){return 1&Ft&&16&Ot?e.setTextRange(e.createIdentifier("_this"),t):t}function vt(t,n){return e.hasModifier(n,32)?e.getInternalName(t):e.createPropertyAccess(e.getInternalName(t),"prototype")}function bt(t,n){if(!t||!n)return!1;if(e.some(t.parameters))return!1;var r=e.firstOrUndefined(t.body.statements);if(!r||!e.nodeIsSynthesized(r)||210!==r.kind)return!1;var a=r.expression;if(!e.nodeIsSynthesized(a)||181!==a.kind)return!1;var i=a.expression;if(!e.nodeIsSynthesized(i)||97!==i.kind)return!1;var o=e.singleOrUndefined(a.arguments);if(!o||!e.nodeIsSynthesized(o)||198!==o.kind)return!1;var s=o.expression;return e.isIdentifier(s)&&"arguments"===s.text}var xt=t.startLexicalEnvironment,kt=t.resumeLexicalEnvironment,St=t.endLexicalEnvironment,Tt=t.hoistVariableDeclaration,Ct=t.getCompilerOptions(),Et=t.getEmitResolver(),Dt=t.onSubstituteNode,Nt=t.onEmitNode;t.onEmitNode=ut,t.onSubstituteNode=dt;var At,wt,Ot,Pt,Ft;return r}function n(t,n){return t.requestEmitHelper(c),e.createCall(e.getHelperName("__extends"),void 0,[n,e.createIdentifier("_super")])}var r;!function(e){e[e.CapturedThis=1]="CapturedThis",e[e.BlockScopedBindings=2]="BlockScopedBindings";}(r||(r={}));var a;!function(e){e[e.ToOriginal=0]="ToOriginal",e[e.ToOutParameter=1]="ToOutParameter";}(a||(a={}));var i;!function(e){e[e.Break=2]="Break",e[e.Continue=4]="Continue",e[e.Return=8]="Return";}(i||(i={}));var o;!function(e){e[e.NoReplacement=0]="NoReplacement",e[e.ReplaceSuperCapture=1]="ReplaceSuperCapture",e[e.ReplaceWithReturn=2]="ReplaceWithReturn";}(o||(o={}));var s;!function(e){e[e.None=0]="None",e[e.Function=1]="Function",e[e.ArrowFunction=2]="ArrowFunction",e[e.AsyncFunctionBody=4]="AsyncFunctionBody",e[e.NonStaticClassElement=8]="NonStaticClassElement",e[e.CapturesThis=16]="CapturesThis",e[e.ExportedVariableStatement=32]="ExportedVariableStatement",e[e.TopLevel=64]="TopLevel",e[e.Block=128]="Block",e[e.IterationStatement=256]="IterationStatement",e[e.IterationStatementBlock=512]="IterationStatementBlock",e[e.ForStatement=1024]="ForStatement",e[e.ForInOrForOfStatement=2048]="ForInOrForOfStatement",e[e.ConstructorWithCapturedSuper=4096]="ConstructorWithCapturedSuper",e[e.ComputedPropertyName=8192]="ComputedPropertyName",e[e.AncestorFactsMask=16383]="AncestorFactsMask",e[e.BlockScopeIncludes=0]="BlockScopeIncludes",e[e.BlockScopeExcludes=4032]="BlockScopeExcludes",e[e.SourceFileIncludes=64]="SourceFileIncludes",e[e.SourceFileExcludes=3968]="SourceFileExcludes",e[e.FunctionIncludes=65]="FunctionIncludes",e[e.FunctionExcludes=16286]="FunctionExcludes",e[e.AsyncFunctionBodyIncludes=69]="AsyncFunctionBodyIncludes",e[e.AsyncFunctionBodyExcludes=16278]="AsyncFunctionBodyExcludes",e[e.ArrowFunctionIncludes=66]="ArrowFunctionIncludes",e[e.ArrowFunctionExcludes=16256]="ArrowFunctionExcludes",e[e.ConstructorIncludes=73]="ConstructorIncludes",e[e.ConstructorExcludes=16278]="ConstructorExcludes",e[e.DoOrWhileStatementIncludes=256]="DoOrWhileStatementIncludes",e[e.DoOrWhileStatementExcludes=0]="DoOrWhileStatementExcludes",e[e.ForStatementIncludes=1280]="ForStatementIncludes",e[e.ForStatementExcludes=3008]="ForStatementExcludes",e[e.ForInOrForOfStatementIncludes=2304]="ForInOrForOfStatementIncludes",e[e.ForInOrForOfStatementExcludes=1984]="ForInOrForOfStatementExcludes",e[e.BlockIncludes=128]="BlockIncludes",e[e.BlockExcludes=3904]="BlockExcludes",e[e.IterationStatementBlockIncludes=512]="IterationStatementBlockIncludes",e[e.IterationStatementBlockExcludes=4032]="IterationStatementBlockExcludes",e[e.ComputedPropertyNameIncludes=8192]="ComputedPropertyNameIncludes",e[e.ComputedPropertyNameExcludes=0]="ComputedPropertyNameExcludes",e[e.NewTarget=16384]="NewTarget",e[e.NewTargetInComputedPropertyName=32768]="NewTargetInComputedPropertyName",e[e.SubtreeFactsMask=-16384]="SubtreeFactsMask",e[e.PropagateNewTargetMask=49152]="PropagateNewTargetMask";}(s||(s={})),e.transformES2015=t;var c={name:"typescript:extends",scoped:!1,priority:0,text:"\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();"};}(r||(r={}));!function(e){function t(t){function n(e){return e}function r(t,n,r){switch(n.kind){case 251:case 252:case 250:var a=n.tagName;u[e.getOriginalNodeId(a)]=!0;}c(t,n,r);}function a(t,n){return n.id&&u&&u[n.id]?_(t,n):(n=_(t,n),e.isPropertyAccessExpression(n)?i(n):e.isPropertyAssignment(n)?o(n):n)}function i(t){var n=s(t.name);return n?e.setTextRange(e.createElementAccess(t.expression,n),t):t}function o(t){var n=e.isIdentifier(t.name)&&s(t.name);return n?e.updatePropertyAssignment(t,n,t.initializer):t}function s(t){var n=t.originalKeywordKind||(e.nodeIsSynthesized(t)?e.stringToToken(t.text):void 0);if(n>=72&&n<=107)return e.setTextRange(e.createLiteral(t),t)}var c,u,l=t.getCompilerOptions();1!==l.jsx&&3!==l.jsx||(c=t.onEmitNode,t.onEmitNode=r,t.enableEmitNotification(251),t.enableEmitNotification(252),t.enableEmitNotification(250),u=[]);var _=t.onSubstituteNode;return t.onSubstituteNode=a,t.enableSubstitution(179),t.enableSubstitution(261),n}e.transformES5=t;}(r||(r={}));!function(e){function t(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally"}}function n(n){function a(t){if(e.isDeclarationFile(t)||0==(512&t.transformFlags))return t;Ft=t;var r=e.visitEachChild(t,i,n);return e.addEmitHelpers(r,n.readEmitHelpers()),Ft=void 0,r}function i(t){var r=t.transformFlags;return Lt?o(t):Mt?s(t):256&r?u(t):512&r?e.visitEachChild(t,i,n):t}function o(e){switch(e.kind){case 212:return j(e);case 213:return z(e);case 221:return te(e);case 222:return re(e);default:return s(e)}}function s(t){switch(t.kind){case 228:return l(t);case 186:return _(t);case 153:case 154:return d(t);case 208:return f(t);case 214:return V(t);case 215:return $(t);case 218:return X(t);case 217:return W(t);case 219:return Q(t);default:return 16777216&t.transformFlags?c(t):33554944&t.transformFlags?e.visitEachChild(t,i,n):t}}function c(t){switch(t.kind){case 194:return m(t);case 195:return k(t);case 197:return S(t);case 177:return T(t);case 178:return E(t);case 180:return D(t);case 181:return N(t);case 182:return A(t);default:return e.visitEachChild(t,i,n)}}function u(t){switch(t.kind){case 228:return l(t);case 186:return _(t);default:return e.Debug.failBadSyntaxKind(t),e.visitEachChild(t,i,n)}}function l(t){if(t.asteriskToken)t=e.setOriginalNode(e.setTextRange(e.createFunctionDeclaration(void 0,t.modifiers,void 0,t.name,void 0,e.visitParameterList(t.parameters,i,n),void 0,p(t.body)),t),t);else{var r=Mt,a=Lt;Mt=!1,Lt=!1,t=e.visitEachChild(t,i,n),Mt=r,Lt=a;}return Mt?void Dt(t):t}function _(t){if(t.asteriskToken)t=e.setOriginalNode(e.setTextRange(e.createFunctionExpression(void 0,void 0,t.name,void 0,e.visitParameterList(t.parameters,i,n),void 0,p(t.body)),t),t);else{var r=Mt,a=Lt;Mt=!1,Lt=!1,t=e.visitEachChild(t,i,n),Mt=r,Lt=a;}return t}function d(t){var r=Mt,a=Lt;return Mt=!1,Lt=!1,t=e.visitEachChild(t,i,n),Mt=r,Lt=a,t}function p(t){var n=[],r=Mt,a=Lt,o=Bt,s=Kt,c=jt,u=Jt,l=zt,_=Ut,d=nn,p=Vt,f=qt,m=$t,g=Gt;Mt=!0,Lt=!1,Bt=void 0,Kt=void 0,jt=void 0,Jt=void 0,zt=void 0,Ut=void 0,nn=1,Vt=void 0,qt=void 0,$t=void 0,Gt=e.createTempVariable(void 0),Ct();var y=e.addPrologue(n,t.statements,!1,i);w(t.statements,y);var h=it();return e.addRange(n,Et()),n.push(e.createReturn(h)),Mt=r,Lt=a,Bt=o,Kt=s,jt=c,Jt=u,zt=l,Ut=_,nn=d,Vt=p,qt=f,$t=m,Gt=g,e.setTextRange(e.createBlock(n,t.multiLine),t)}function f(t){if(16777216&t.transformFlags)M(t.declarationList);else{if(1048576&e.getEmitFlags(t))return t;for(var n=0,r=t.declarationList.declarations;n=59&&e<=70}function y(e){switch(e){case 59:return 37;case 60:return 38;case 61:return 39;case 62:return 40;case 63:return 41;case 64:return 42;case 65:return 45;case 66:return 46;case 67:return 47;case 68:return 48;case 69:return 49;case 70:return 50}}function h(t){var r=t.left,a=t.right;if(oe(a)){var o=void 0;switch(r.kind){case 179:o=e.updatePropertyAccess(r,_e(e.visitNode(r.expression,i,e.isLeftHandSideExpression)),r.name);break;case 180:o=e.updateElementAccess(r,_e(e.visitNode(r.expression,i,e.isLeftHandSideExpression)),_e(e.visitNode(r.argumentExpression,i,e.isExpression)));break;default:o=e.visitNode(r,i,e.isExpression);}var s=t.operatorToken.kind;return g(s)?e.setTextRange(e.createAssignment(o,e.setTextRange(e.createBinary(_e(o),y(s),e.visitNode(a,i,e.isExpression)),t)),t):e.updateBinary(t,o,e.visitNode(a,i,e.isExpression))}return e.visitEachChild(t,i,n)}function v(t){if(oe(t.right)){if(e.isLogicalOperator(t.operatorToken.kind))return b(t);if(26===t.operatorToken.kind)return x(t);var r=e.getMutableClone(t);return r.left=_e(e.visitNode(t.left,i,e.isExpression)),r.right=e.visitNode(t.right,i,e.isExpression),r}return e.visitEachChild(t,i,n)}function b(t){var n=pe(),r=de();return He(r,e.visitNode(t.left,i,e.isExpression),t.left),53===t.operatorToken.kind?Qe(n,r,t.left):Ye(n,r,t.left),He(r,e.visitNode(t.right,i,e.isExpression),t.right),fe(n),r}function x(t){function n(t){e.isBinaryExpression(t)&&26===t.operatorToken.kind?(n(t.left),n(t.right)):(oe(t)&&r.length>0&&(at(1,[e.createStatement(e.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,i,e.isExpression)));}var r=[];return n(t.left),n(t.right),e.inlineExpressions(r)}function k(t){if(oe(t.whenTrue)||oe(t.whenFalse)){var r=pe(),a=pe(),o=de();return Qe(r,e.visitNode(t.condition,i,e.isExpression),t.condition),He(o,e.visitNode(t.whenTrue,i,e.isExpression),t.whenTrue),Xe(a),fe(r),He(o,e.visitNode(t.whenFalse,i,e.isExpression),t.whenFalse),fe(a),o}return e.visitEachChild(t,i,n)}function S(t){var r=pe(),a=e.visitNode(t.expression,i,e.isExpression);return t.asteriskToken?Ze(0==(8388608&e.getEmitFlags(t.expression))?e.createValuesHelper(n,a,t):a,t):et(a,t),fe(r),$e(t)}function T(e){return C(e.elements,void 0,void 0,e.multiLine)}function C(t,n,r,a){function o(t,r){if(oe(r)&&t.length>0){var o=void 0!==s;s||(s=de()),He(s,o?e.createArrayConcat(s,[e.createArrayLiteral(t,a)]):e.createArrayLiteral(n?[n].concat(t):t,a)),n=void 0,t=[];}return t.push(e.visitNode(r,i,e.isExpression)),t}var s,c=se(t);if(c>0){s=de();var u=e.visitNodes(t,i,e.isExpression,0,c);He(s,e.createArrayLiteral(n?[n].concat(u):u)),n=void 0;}var l=e.reduceLeft(t,o,[],c);return s?e.createArrayConcat(s,[e.createArrayLiteral(l,a)]):e.setTextRange(e.createArrayLiteral(n?[n].concat(l):l,a),r)}function E(t){function n(n,r){oe(r)&&n.length>0&&(We(e.createStatement(e.inlineExpressions(n))),n=[]);var o=e.createExpressionForObjectLiteralElementLike(t,r,s),c=e.visitNode(o,i,e.isExpression);return c&&(a&&(c.startsOnNewLine=!0),n.push(c)),n}var r=t.properties,a=t.multiLine,o=se(r),s=de();He(s,e.createObjectLiteral(e.visitNodes(r,i,e.isObjectLiteralElementLike,0,o),a));var c=e.reduceLeft(r,n,[],o);return c.push(a?e.startOnNewLine(e.getMutableClone(s)):s),e.inlineExpressions(c)}function D(t){if(oe(t.argumentExpression)){var r=e.getMutableClone(t);return r.expression=_e(e.visitNode(t.expression,i,e.isLeftHandSideExpression)),r.argumentExpression=e.visitNode(t.argumentExpression,i,e.isExpression),r}return e.visitEachChild(t,i,n)}function N(t){if(e.forEach(t.arguments,oe)){var r=e.createCallBinding(t.expression,Nt,wt,!0),a=r.target,o=r.thisArg;return e.setOriginalNode(e.createFunctionApply(_e(e.visitNode(a,i,e.isLeftHandSideExpression)),o,C(t.arguments),t),t)}return e.visitEachChild(t,i,n)}function A(t){if(e.forEach(t.arguments,oe)){var r=e.createCallBinding(e.createPropertyAccess(t.expression,"bind"),Nt),a=r.target,o=r.thisArg;return e.setOriginalNode(e.setTextRange(e.createNew(e.createFunctionApply(_e(e.visitNode(a,i,e.isExpression)),o,C(t.arguments,e.createVoidZero())),void 0,[]),t),t)}return e.visitEachChild(t,i,n)}function w(e,t){void 0===t&&(t=0);for(var n=e.length,r=t;r0);l++)u.push(L(a));u.length&&(We(e.createStatement(e.inlineExpressions(u))),c+=u.length,u=[]);}}function L(t){return e.createAssignment(e.getSynthesizedClone(t.name),e.visitNode(t.initializer,i,e.isExpression))}function B(t){if(oe(t))if(oe(t.thenStatement)||oe(t.elseStatement)){var n=pe(),r=t.elseStatement?pe():void 0;Qe(t.elseStatement?r:n,e.visitNode(t.expression,i,e.isExpression),t.expression),O(t.thenStatement),t.elseStatement&&(Xe(n),fe(r),O(t.elseStatement)),fe(n);}else We(e.visitNode(t,i,e.isStatement));else We(e.visitNode(t,i,e.isStatement));}function K(t){if(oe(t)){var n=pe(),r=pe();Ne(n),fe(r),O(t.statement),fe(n),Ye(r,e.visitNode(t.expression,i,e.isExpression)),Ae();}else We(e.visitNode(t,i,e.isStatement));}function j(t){return Lt?(De(),t=e.visitEachChild(t,i,n),Ae(),t):e.visitEachChild(t,i,n)}function J(t){if(oe(t)){var n=pe(),r=Ne(n);fe(n),Qe(r,e.visitNode(t.expression,i,e.isExpression)),O(t.statement),Xe(n),Ae();}else We(e.visitNode(t,i,e.isStatement));}function z(t){return Lt?(De(),t=e.visitEachChild(t,i,n),Ae(),t):e.visitEachChild(t,i,n)}function U(t){if(oe(t)){var n=pe(),r=pe(),a=Ne(r);if(t.initializer){var o=t.initializer;e.isVariableDeclarationList(o)?M(o):We(e.setTextRange(e.createStatement(e.visitNode(o,i,e.isExpression)),o));}fe(n),t.condition&&Qe(a,e.visitNode(t.condition,i,e.isExpression)),O(t.statement),fe(r),t.incrementor&&We(e.setTextRange(e.createStatement(e.visitNode(t.incrementor,i,e.isExpression)),t.incrementor)),Xe(n),Ae();}else We(e.visitNode(t,i,e.isStatement));}function V(t){Lt&&De();var r=t.initializer;if(r&&e.isVariableDeclarationList(r)){for(var a=0,o=r.declarations;a0?e.inlineExpressions(e.map(c,L)):void 0,e.visitNode(t.condition,i,e.isExpression),e.visitNode(t.incrementor,i,e.isExpression),e.visitNode(t.statement,i,e.isStatement,e.liftToBlock));}else t=e.visitEachChild(t,i,n);return Lt&&Ae(),t}function q(t){if(oe(t)){var n=de(),r=de(),a=e.createLoopVariable(),o=t.initializer;Nt(a),He(n,e.createArrayLiteral()),We(e.createForIn(r,e.visitNode(t.expression,i,e.isExpression),e.createStatement(e.createCall(e.createPropertyAccess(n,"push"),void 0,[r])))),He(a,e.createLiteral(0));var s=pe(),c=pe(),u=Ne(c);fe(s),Qe(u,e.createLessThan(a,e.createPropertyAccess(n,"length")));var l=void 0;if(e.isVariableDeclarationList(o)){for(var _=0,d=o.declarations;_0,"Expected continue statment to point to a valid Label."),Xe(n,t);}function W(t){if(Lt){var r=Je(t.label&&t.label.text);if(r>0)return Ve(r,t)}return e.visitEachChild(t,i,n)}function H(t){var n=je(t.label?t.label.text:void 0);e.Debug.assert(n>0,"Expected break statment to point to a valid Label."),Xe(n,t);}function X(t){if(Lt){var r=je(t.label&&t.label.text);if(r>0)return Ve(r,t)}return e.visitEachChild(t,i,n)}function Y(t){tt(e.visitNode(t.expression,i,e.isExpression),t);}function Q(t){return qe(e.visitNode(t.expression,i,e.isExpression),t)}function Z(t){oe(t)?(ve(_e(e.visitNode(t.expression,i,e.isExpression))),O(t.statement),be()):We(e.visitNode(t,i,e.isStatement));}function ee(t){if(oe(t.caseBlock)){for(var n=t.caseBlock,r=n.clauses.length,a=Oe(),o=_e(e.visitNode(t.expression,i,e.isExpression)),s=[],c=-1,u=0;u0)break;d.push(e.createCaseClause(e.visitNode(f.expression,i,e.isExpression),[Ve(s[u],f.expression)]));}else p++;d.length&&(We(e.createSwitch(o,e.createCaseBlock(d))),_+=d.length,d=[]),p>0&&(_+=p,p=0);}Xe(c>=0?s[c]:a);for(u=0;u=0;n--){var r=Jt[n];if(!Le(r))break;if(r.labelText===e)return!0}return!1}function je(t){if(e.Debug.assert(void 0!==Bt),t)for(n=Jt.length-1;n>=0;n--){if(Le(r=Jt[n])&&r.labelText===t)return r.breakLabel;if(Me(r)&&Ke(t,n-1))return r.breakLabel}else for(var n=Jt.length-1;n>=0;n--){var r=Jt[n];if(Me(r))return r.breakLabel}return 0}function Je(t){if(e.Debug.assert(void 0!==Bt),t){for(n=Jt.length-1;n>=0;n--)if(Be(r=Jt[n])&&Ke(t,n-1))return r.continueLabel}else for(var n=Jt.length-1;n>=0;n--){var r=Jt[n];if(Be(r))return r.continueLabel}return 0}function ze(t){if(t>0){void 0===Ut&&(Ut=[]);var n=e.createLiteral(-1);return void 0===Ut[t]?Ut[t]=[n]:Ut[t].push(n),n}return e.createOmittedExpression()}function Ue(n){var r=e.createLiteral(n);return e.addSyntheticTrailingComment(r,3,t(n)),r}function Ve(t,n){return e.Debug.assert(t>0,"Invalid label: "+t),e.setTextRange(e.createReturn(e.createArrayLiteral([Ue(3),ze(t)])),n)}function qe(t,n){return e.setTextRange(e.createReturn(e.createArrayLiteral(t?[Ue(2),t]:[Ue(2)])),n)}function $e(t){return e.setTextRange(e.createCall(e.createPropertyAccess(Gt,"sent"),void 0,[]),t)}function Ge(){at(0);}function We(e){e?at(1,[e]):Ge();}function He(e,t,n){at(2,[e,t],n);}function Xe(e,t){at(3,[e],t);}function Ye(e,t,n){at(4,[e,t],n);}function Qe(e,t,n){at(5,[e,t],n);}function Ze(e,t){at(7,[e],t);}function et(e,t){at(6,[e],t);}function tt(e,t){at(8,[e],t);}function nt(e,t){at(9,[e],t);}function rt(){at(10);}function at(e,t,n){void 0===Vt&&(Vt=[],qt=[],$t=[]),void 0===zt&&fe(pe());var r=Vt.length;Vt[r]=e,qt[r]=t,$t[r]=n;}function it(){rn=0,an=0,Wt=void 0,Ht=!1,Xt=!1,Yt=void 0,Qt=void 0,Zt=void 0,en=void 0,tn=void 0;var t=ot();return r(n,e.setEmitFlags(e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,Gt)],void 0,e.createBlock(t,t.length>0)),524288))}function ot(){if(Vt){for(var t=0;t=0;n--){var r=tn[n];Qt=[e.createWith(r.expression,e.createBlock(Qt))];}if(en){var a=en.startLabel,i=en.catchLabel,o=en.finallyLabel,s=en.endLabel;Qt.unshift(e.createStatement(e.createCall(e.createPropertyAccess(e.createPropertyAccess(Gt,"trys"),"push"),void 0,[e.createArrayLiteral([ze(a),ze(i),ze(o),ze(s)])]))),en=void 0;}t&&Qt.push(e.createStatement(e.createAssignment(e.createPropertyAccess(Gt,"label"),e.createLiteral(an+1))));}Yt.push(e.createCaseClause(e.createLiteral(an),Qt||[])),Qt=void 0;}function _t(e){if(zt)for(var t=0;t 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'};}(r||(r={}));!function(e){function t(t){function r(t){switch(t){case e.ModuleKind.AMD:return s;case e.ModuleKind.UMD:return c;default:return o}}function a(t){if(e.isDeclarationFile(t)||!e.isExternalModule(t)&&!$.isolatedModules)return t;Z=t,ee=e.collectExternalModuleInfo(t,G,$),ne[e.getOriginalNodeId(t)]=ee;var n=r(X)(t);return Z=void 0,ee=void 0,e.aggregateTransformFlags(n)}function i(){return!(ee.exportEquals||!e.isExternalModule(Z))}function o(t){V();var r=[],a=$.alwaysStrict||!$.noImplicitUseStrict&&e.isExternalModule(Z),o=e.addPrologue(r,t.statements,a,d);i()&&e.append(r,P()),e.append(r,e.visitNode(ee.externalHelpersImportDeclaration,d,e.isStatement)),e.addRange(r,e.visitNodes(t.statements,d,e.isStatement,o)),_(r,!1),e.addRange(r,q());var s=e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray(r),t.statements));return ee.hasExportStarsToExportValues&&e.addEmitHelper(s,n),s}function s(t){var n=e.createIdentifier("define"),r=e.tryGetModuleNameFromFile(t,W,$),a=u(t,!0),i=a.aliasedModuleNames,o=a.unaliasedModuleNames,s=a.importAliasNames;return e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createStatement(e.createCall(n,void 0,(r?[r]:[]).concat([e.createArrayLiteral([e.createLiteral("require"),e.createLiteral("exports")].concat(i,o)),e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,"require"),e.createParameter(void 0,void 0,void 0,"exports")].concat(s),void 0,l(t))])))]),t.statements))}function c(t){var n=u(t,!1),r=n.aliasedModuleNames,a=n.unaliasedModuleNames,i=n.importAliasNames,o=e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,"factory")],void 0,e.setTextRange(e.createBlock([e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("module"),"object"),e.createTypeCheck(e.createPropertyAccess(e.createIdentifier("module"),"exports"),"object")),e.createBlock([e.createVariableStatement(void 0,[e.createVariableDeclaration("v",void 0,e.createCall(e.createIdentifier("factory"),void 0,[e.createIdentifier("require"),e.createIdentifier("exports")]))]),e.setEmitFlags(e.createIf(e.createStrictInequality(e.createIdentifier("v"),e.createIdentifier("undefined")),e.createStatement(e.createAssignment(e.createPropertyAccess(e.createIdentifier("module"),"exports"),e.createIdentifier("v")))),1)]),e.createIf(e.createLogicalAnd(e.createTypeCheck(e.createIdentifier("define"),"function"),e.createPropertyAccess(e.createIdentifier("define"),"amd")),e.createBlock([e.createStatement(e.createCall(e.createIdentifier("define"),void 0,[e.createArrayLiteral([e.createLiteral("require"),e.createLiteral("exports")].concat(r,a)),e.createIdentifier("factory")]))])))],!0),void 0));return e.updateSourceFileNode(t,e.setTextRange(e.createNodeArray([e.createStatement(e.createCall(o,void 0,[e.createFunctionExpression(void 0,void 0,void 0,void 0,[e.createParameter(void 0,void 0,void 0,"require"),e.createParameter(void 0,void 0,void 0,"exports")].concat(i),void 0,l(t))]))]),t.statements))}function u(t,n){for(var r=[],a=[],i=[],o=0,s=t.amdDependencies;o=2?2:0)),t));}else r&&e.isDefaultImport(t)&&(n=e.append(n,e.createVariableStatement(void 0,e.createVariableDeclarationList([e.setTextRange(e.createVariableDeclaration(e.getSynthesizedClone(r.name),void 0,e.getGeneratedNameForNode(t)),t)],H>=2?2:0))));if(S(t)){var i=e.getOriginalNodeId(t);re[i]=C(re[i],t);}else n=C(n,t);return e.singleOrMany(n)}function f(t){var n=e.getExternalModuleNameLiteral(t,Z,W,G,$),r=[];return n&&r.push(n),e.createCall(e.createIdentifier("require"),void 0,r)}function m(t){e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer.");var n;if(X!==e.ModuleKind.AMD?n=e.hasModifier(t,1)?e.append(n,e.setTextRange(e.createStatement(I(t.name,f(t))),t)):e.append(n,e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(e.getSynthesizedClone(t.name),void 0,f(t))],H>=2?2:0)),t)):e.hasModifier(t,1)&&(n=e.append(n,e.setTextRange(e.createStatement(I(e.getExportName(t),e.getLocalName(t))),t))),S(t)){var r=e.getOriginalNodeId(t);re[r]=E(re[r],t);}else n=E(n,t);return e.singleOrMany(n)}function g(t){if(t.moduleSpecifier){var n=e.getGeneratedNameForNode(t);if(t.exportClause){var r=[];X!==e.ModuleKind.AMD&&r.push(e.setTextRange(e.createVariableStatement(void 0,e.createVariableDeclarationList([e.createVariableDeclaration(n,void 0,f(t))])),t));for(var a=0,i=t.exportClause.elements;a0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed.");var n=e.createVariableDeclaration(t);S?S.push(n):S=[n];}function m(t){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),T?T.push(t):T=[t];}function g(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!w,"Lexical environment is suspended."),D[A]=S,N[A]=T,A++,S=void 0,T=void 0;}function y(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!w,"Lexical environment is already suspended."),w=!0;}function h(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(w,"Lexical environment is not suspended."),w=!1;}function v(){e.Debug.assert(F>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(F<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!w,"Lexical environment is suspended.");var t;if((S||T)&&(T&&(t=T.slice()),S)){var n=e.createVariableStatement(void 0,e.createVariableDeclarationList(S));t?t.push(n):t=[n];}return A--,S=D[A],T=N[A],0===A&&(D=[],N=[]),t}function b(t){e.Debug.assert(F>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(F<2,"Cannot modify the transformation context after transformation has completed."),e.Debug.assert(!t.scoped,"Cannot request a scoped emit helper."),C=e.append(C,t);}function x(){e.Debug.assert(F>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(F<2,"Cannot modify the transformation context after transformation has completed.");var t=C;return C=void 0,t}function k(){if(F<3){for(var t=0,n=a;t=0&&(e.Debug.assert(!1,"We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this"),x.sourceMapMappings+=r(h.nameIndex-b),b=h.nameIndex),v=h,x.sourceMapDecodedMappings.push(v);}}function c(t){if(!T&&!e.positionIsSynthesized(t)){S&&e.performance.mark("beforeSourcemap");var r=e.getLineAndCharacterOfPosition(f,t);r.line++,r.character++;var a=n.getLine(),i=n.getColumn();!h||h.emittedLine!==a||h.emittedColumn!==i||h.sourceIndex===y&&(h.sourceLine>r.line||h.sourceLine===r.line&&h.sourceColumn>r.character)?(s(),h={emittedLine:a,emittedColumn:i,sourceLine:r.line,sourceColumn:r.character,sourceIndex:y}):(h.sourceLine=r.line,h.sourceColumn=r.character,h.sourceIndex=y),S&&(e.performance.mark("afterSourcemap"),e.performance.measure("Source Map","beforeSourcemap","afterSourcemap"));}}function u(t,n,r){if(T)return r(t,n);if(n){var a=n.emitNode,i=a&&a.flags,o=a&&a.sourceMapRange||n,s=o.pos,u=o.end;295!==n.kind&&0==(16&i)&&s>=0&&c(e.skipTrivia(m,s)),64&i?(T=!0,r(t,n),T=!1):r(t,n),295!==n.kind&&0==(32&i)&&u>=0&&c(u);}}function l(t,n,r,a){if(T)return a(n,r);var i=t&&t.emitNode,o=i&&i.flags,s=i&&i.tokenSourceMapRanges&&i.tokenSourceMapRanges[n];return r=e.skipTrivia(m,s?s.pos:r),0==(128&o)&&r>=0&&c(r),r=a(n,r),s&&(r=s.end),0==(256&o)&&r>=0&&c(r),r}function _(n){if(!T){m=(f=n).text;var r=k.sourceRoot?t.getCommonSourceDirectory():g,a=e.getRelativePathToDirectoryOrUrl(r,f.fileName,t.getCurrentDirectory(),t.getCanonicalFileName,!0);-1===(y=e.indexOf(x.sourceMapSources,a))&&(y=x.sourceMapSources.length,x.sourceMapSources.push(a),x.inputSourceFileNames.push(f.fileName),k.inlineSources&&x.sourceMapSourcesContent.push(f.text));}}function d(){if(!T)return s(),JSON.stringify({version:3,file:x.sourceMapFile,sourceRoot:x.sourceMapSourceRoot,sources:x.sourceMapSources,names:x.sourceMapNames,mappings:x.sourceMapMappings,sourcesContent:x.sourceMapSourcesContent})}function p(){if(!T){if(k.inlineSourceMap){var t=e.convertToBase64(d());return x.jsSourceMappingURL="data:application/json;base64,"+t}return x.jsSourceMappingURL}}var f,m,g,y,h,v,b,x,k=t.getCompilerOptions(),S=k.extendedDiagnostics,T=!(k.sourceMap||k.inlineSourceMap);return{initialize:i,reset:o,getSourceMapData:function(){return x},setSourceFile:_,emitPos:c,emitNodeWithSourceMap:u,emitTokenWithSourceMap:l,getText:d,getSourceMappingURL:p}}function n(e){if(e<64)return i.charAt(e);throw TypeError(e+": not a 64 based value")}function r(e){e<0?e=1+(-e<<1):e<<=1;var t="";do{var r=31&e;(e>>=5)>0&&(r|=32),t+=n(r);}while(e>0);return t}var a={emittedLine:1,emittedColumn:1,sourceLine:1,sourceColumn:1,sourceIndex:0};e.createSourceMapWriter=t;var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";}(r||(r={}));!function(e){function t(t,n){function r(t,n,r){if(j)r(t,n);else if(n){K=!1;var i=n.emitNode,o=i&&i.flags,s=i&&i.commentRange||n,c=s.pos,u=s.end;if(c<0&&u<0||c===u)a(t,n,i,o,r);else{I&&e.performance.mark("preEmitNodeWithComment");var l=295!==n.kind,d=c<0||0!=(512&o),p=u<0||0!=(1024&o);d||_(c,l);var f=M,g=L,y=B;d||(M=c),p||(L=u,227===n.kind&&(B=u)),I&&e.performance.measure("commentTime","preEmitNodeWithComment"),a(t,n,i,o,r),I&&e.performance.mark("postEmitNodeWithComment"),M=f,L=g,B=y,!p&&l&&m(u),I&&e.performance.measure("commentTime","postEmitNodeWithComment");}}}function a(t,n,r,a,s){var c=r&&r.leadingComments;e.some(c)&&(I&&e.performance.mark("preEmitNodeWithSynthesizedComments"),e.forEach(c,i),I&&e.performance.measure("commentTime","preEmitNodeWithSynthesizedComments")),u(t,n,a,s);var l=r&&r.trailingComments;e.some(l)&&(I&&e.performance.mark("postEmitNodeWithSynthesizedComments"),e.forEach(l,o),I&&e.performance.measure("commentTime","postEmitNodeWithSynthesizedComments"));}function i(e){2===e.kind&&A.writeLine(),s(e),e.hasTrailingNewLine||2===e.kind?A.writeLine():A.write(" ");}function o(e){A.isAtStartOfLine()||A.write(" "),s(e),e.hasTrailingNewLine&&A.writeLine();}function s(t){var n=c(t),r=3===t.kind?e.computeLineStarts(n):void 0;e.writeCommentRange(n,r,A,0,n.length,R);}function c(e){return 3===e.kind?"/*"+e.text+"*/":"//"+e.text}function u(e,t,n,r){2048&n?(j=!0,r(e,t),j=!1):r(e,t);}function l(t,n,r){I&&e.performance.mark("preEmitBodyWithDetachedComments");var a=n.pos,i=n.end,o=e.getEmitFlags(t),s=a<0||0!=(512&o),c=j||i<0||0!=(1024&o);s||E(n),I&&e.performance.measure("commentTime","preEmitBodyWithDetachedComments"),2048&o&&!j?(j=!0,r(t),j=!1):r(t),I&&e.performance.mark("beginEmitBodyWithDetachedCommetns"),c||(_(n.end,!0),K&&!A.isAtStartOfLine()&&A.writeLine()),I&&e.performance.measure("commentTime","beginEmitBodyWithDetachedCommetns");}function _(e,t){K=!1,t?v(e,p):0===e&&v(e,d);}function d(e,t,n,r,a){N(e,t)&&p(e,t,n,r,a);}function p(t,r,a,i,o){K||(e.emitNewLineBeforeLeadingCommentOfPosition(P,A,o,t),K=!0),n&&n(t),e.writeCommentRange(O,P,A,t,r,R),n&&n(r),i?A.writeLine():A.write(" ");}function f(e){j||-1===e||_(e,!0);}function m(e){b(e,g);}function g(t,r,a,i){A.isAtStartOfLine()||A.write(" "),n&&n(t),e.writeCommentRange(O,P,A,t,r,R),n&&n(r),i&&A.writeLine();}function y(t){j||(I&&e.performance.mark("beforeEmitTrailingCommentsOfPosition"),b(t,h),I&&e.performance.measure("commentTime","beforeEmitTrailingCommentsOfPosition"));}function h(t,r,a,i){n&&n(t),e.writeCommentRange(O,P,A,t,r,R),n&&n(r),i?A.writeLine():A.write(" ");}function v(t,n){-1!==M&&t===M||(T(t)?C(n):e.forEachLeadingCommentRange(O,t,n,t));}function b(t,n){(-1===L||t!==L&&t!==B)&&e.forEachTrailingCommentRange(O,t,n);}function x(){w=void 0,O=void 0,P=void 0,F=void 0;}function k(e){A=e;}function S(t){O=(w=t).text,P=e.getLineStarts(w),F=void 0;}function T(t){return void 0!==F&&e.lastOrUndefined(F).nodePos===t}function C(t){var n=e.lastOrUndefined(F).detachedCommentEndPos;F.length-1?F.pop():F=void 0,e.forEachLeadingCommentRange(O,n,t,n);}function E(t){var n=e.emitDetachedComments(O,P,A,D,t,R,j);n&&(F?F.push(n):F=[n]);}function D(t,r,a,i,o,s){n&&n(i),e.writeCommentRange(t,r,a,i,o,s),n&&n(o);}function N(t,n){if(47===O.charCodeAt(t+1)&&t+2=0}function c(t){if(t){var n=e.getLeadingCommentRanges(be,t.pos);if(e.forEach(n,s))return;oe(t);}}function u(){var t=e.createTextWriter(ge);t.trackSymbol=f,t.reportInaccessibleThisError=g,t.reportIllegalExtends=m,t.writeKeyword=t.write,t.writeOperator=t.write,t.writePunctuation=t.write,t.writeSpace=t.write,t.writeStringLiteral=t.writeLiteral,t.writeParameter=t.write,t.writeProperty=t.write,t.writeSymbol=t.write,l(t);}function l(e){pe=e,ce=e.write,de=e.writeTextOfNode,ue=e.writeLine,le=e.increaseIndent,_e=e.decreaseIndent;}function _(t){var n=pe;e.forEach(t,function(t){var n;226===t.kind?n=t.parent.parent:241===t.kind||242===t.kind||239===t.kind?e.Debug.fail("We should be getting ImportDeclaration instead to write"):n=t;var r=e.forEach(Oe,function(e){return e.node===n?e:void 0});if(!r&&Ce&&(r=e.forEach(Ce,function(e){return e.node===n?e:void 0})),r)if(238===r.node.kind)r.isVisible=!0;else{u();for(var a=r.indent;a;a--)le();233===n.kind&&(e.Debug.assert(void 0===Ce),Ce=[]),O(n),233===n.kind&&(r.subModuleElementDeclarationEmitInfo=Ce,Ce=void 0),r.asynchronousOutput=pe.getText();}}),l(n);}function d(t){if(t){Ee||(Ee=e.createMap());for(var n=0,r=t;n")));}(t);case 159:return function(e){a(e.typeName),e.typeArguments&&(ce("<"),x(e.typeArguments,T),ce(">"));}(t);case 162:return function(e){ce("typeof "),a(e.exprName);}(t);case 164:return function(e){T(e.elementType),ce("[]");}(t);case 165:return function(e){ce("["),x(e.elementTypes,T),ce("]");}(t);case 166:return function(e){b(e.types," | ",T);}(t);case 167:return function(e){b(e.types," & ",T);}(t);case 168:return function(e){ce("("),T(e.type),ce(")");}(t);case 170:return function(t){ce(e.tokenToString(t.operator)),ce(" "),T(t.type);}(t);case 171:return function(e){T(e.objectType),ce("["),T(e.indexType),ce("]");}(t);case 172:return function(e){var t=he;he=e,ce("{"),ue(),le(),e.readonlyToken&&ce("readonly "),ce("["),r(e.typeParameter.name),ce(" in "),T(e.typeParameter.constraint),ce("]"),e.questionToken&&ce("?"),ce(": "),T(e.type),ce(";"),ue(),_e(),ce("}"),he=t;}(t);case 160:case 161:return re(t);case 163:return function(e){ce("{"),e.members.length&&(ue(),le(),v(e.members),_e()),ce("}");}(t);case 71:case 143:return a(t);case 158:return function(e){de(be,e.parameterName),ce(" is "),T(e.type);}(t)}}function C(t){be=t.text,xe=e.getLineStarts(t),ke=t.identifiers,Se=e.isExternalModule(t),he=t,e.emitDetachedComments(be,xe,pe,e.writeCommentRange,t,ge,!0),v(t.statements);}function E(e){if(!ke.has(e))return e;for(var t=0;;){var n=e+"_"+ ++t;if(!ke.has(n))return n}}function D(e,t,r,a){var i=E(t);return a&&ce("declare "),ce("const "),ce(i),ce(": "),pe.getSymbolAccessibilityDiagnostic=function(){return r},n.writeTypeOfExpression(e,he,1026,pe),ce(";"),ue(),i}function N(t){if(71===t.expression.kind)ce(t.isExportEquals?"export = ":"export default "),de(be,t.expression);else{var r=D(t.expression,"_default",{diagnosticMessage:e.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:t},we);ce(t.isExportEquals?"export = ":"export default "),ce(r);}ce(";"),ue(),71===t.expression.kind&&_(n.collectLinkedAliases(t.expression));}function A(e){return n.isDeclarationVisible(e)}function w(e,t){if(t)O(e);else if(237===e.kind||265===e.parent.kind&&Se){var r=void 0;if(Ce&&265!==e.parent.kind)Ce.push({node:e,outputPos:pe.getTextPos(),indent:pe.getIndent(),isVisible:r});else{if(238===e.kind){var a=e;a.importClause&&(r=a.importClause.name&&n.isDeclarationVisible(a.importClause)||R(a.importClause.namedBindings));}Oe.push({node:e,outputPos:pe.getTextPos(),indent:pe.getIndent(),isVisible:r});}}}function O(t){switch(t.kind){case 228:return ne(t);case 208:return ee(t);case 230:return H(t);case 229:return W(t);case 231:return z(t);case 232:return U(t);case 233:return J(t);case 237:return I(t);case 238:return M(t);default:e.Debug.fail("Unknown symbol kind");}}function P(t){if(265===t.parent.kind){var n=e.getModifierFlags(t);1&n&&ce("export "),512&n?ce("default "):230!==t.kind&&we&&ce("declare ");}}function F(e){8&e?ce("private "):16&e&&ce("protected "),32&e&&ce("static "),64&e&&ce("readonly "),128&e&&ce("abstract ");}function I(t){function n(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}Ne(t),e.hasModifier(t,1)&&ce("export "),ce("import "),de(be,t.name),ce(" = "),e.isInternalModuleImportEqualsDeclaration(t)?(S(t.moduleReference,n),ce(";")):(ce("require("),L(t),ce(");")),pe.writeLine();}function R(t){if(t)return 240===t.kind?n.isDeclarationVisible(t):e.forEach(t.elements,function(e){return n.isDeclarationVisible(e)})}function M(t){if(Ne(t),e.hasModifier(t,1)&&ce("export "),ce("import "),t.importClause){var r=pe.getTextPos();t.importClause.name&&n.isDeclarationVisible(t.importClause)&&de(be,t.importClause.name),t.importClause.namedBindings&&R(t.importClause.namedBindings)&&(r!==pe.getTextPos()&&ce(", "),240===t.importClause.namedBindings.kind?(ce("* as "),de(be,t.importClause.namedBindings.name)):(ce("{ "),x(t.importClause.namedBindings.elements,B,n.isDeclarationVisible),ce(" }"))),ce(" from ");}L(t),ce(";"),pe.writeLine();}function L(r){ve=ve||233!==r.kind;var a;if(237===r.kind){var i=r;a=e.getExternalModuleImportEqualsDeclarationExpression(i);}else a=233===r.kind?r.name:(i=r).moduleSpecifier;if(9===a.kind&&me&&(ye.out||ye.outFile)){var o=e.getExternalModuleNameFromDeclaration(t,n,r);if(o)return ce('"'),ce(o),void ce('"')}de(be,a);}function B(e){e.propertyName&&(de(be,e.propertyName),ce(" as ")),de(be,e.name);}function K(e){B(e),_(n.collectLinkedAliases(e.propertyName||e.name));}function j(e){Ne(e),ce("export "),e.exportClause?(ce("{ "),x(e.exportClause.elements,K),ce(" }")):ce("*"),e.moduleSpecifier&&(ce(" from "),L(e)),ce(";"),pe.writeLine();}function J(t){for(Ne(t),P(t),e.isGlobalScopeAugmentation(t)?ce("global "):(ce(16&t.flags?"namespace ":"module "),e.isExternalModuleAugmentation(t)?L(t):de(be,t.name));t.body&&234!==t.body.kind;)t=t.body,ce("."),de(be,t.name);var n=he;t.body?(he=t,ce(" {"),ue(),le(),v(t.body.statements),_e(),ce("}"),ue(),he=n):ce(";");}function z(t){function n(){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}var r=he;he=t,Ne(t),P(t),ce("type "),de(be,t.name),$(t.typeParameters),ce(" = "),S(t.type,n),ce(";"),ue(),he=r;}function U(t){Ne(t),P(t),e.isConst(t)&&ce("const "),ce("enum "),de(be,t.name),ce(" {"),ue(),le(),v(t.members),_e(),ce("}"),ue();}function V(e){Ne(e),de(be,e.name);var t=n.getConstantValue(e);void 0!==t&&(ce(" = "),ce(t.toString())),ce(","),ue();}function q(t){return 151===t.parent.kind&&e.hasModifier(t.parent,8)}function $(t){function n(t){function n(){var n;switch(t.parent.kind){case 229:n=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 230:n=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 156:n=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 155:n=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 151:case 150:n=e.hasModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:229===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 228:n=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 231:n=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind);}return{diagnosticMessage:n,errorNode:t,typeName:t.name}}le(),Ne(t),_e(),de(be,t.name),t.constraint&&!q(t)&&(ce(" extends "),160===t.parent.kind||161===t.parent.kind||t.parent.parent&&163===t.parent.parent.kind?(e.Debug.assert(151===t.parent.kind||150===t.parent.kind||160===t.parent.kind||161===t.parent.kind||155===t.parent.kind||156===t.parent.kind),T(t.constraint)):S(t.constraint,n)),t.default&&!q(t)&&(ce(" = "),160===t.parent.kind||161===t.parent.kind||t.parent.parent&&163===t.parent.parent.kind?(e.Debug.assert(151===t.parent.kind||150===t.parent.kind||160===t.parent.kind||161===t.parent.kind||155===t.parent.kind||156===t.parent.kind),T(t.default)):S(t.default,n));}t&&(ce("<"),x(t,n),ce(">"));}function G(t,n){function r(t){function r(){var r;return r=229===t.parent.parent.kind?n?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,{diagnosticMessage:r,errorNode:t,typeName:e.getNameOfDeclaration(t.parent.parent)}}e.isEntityNameExpression(t.expression)?S(t,r):n||95!==t.expression.kind||ce("null");}t&&(ce(n?" implements ":" extends "),x(t,r));}function W(t){var n=he;he=t;var r,a=e.getClassExtendsHeritageClauseElement(t);a&&!e.isEntityNameExpression(a.expression)&&(r=95===a.expression.kind?"null":D(a.expression,t.name.text+"_base",{diagnosticMessage:e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,errorNode:a,typeName:t.name},!e.findAncestor(t,function(e){return 233===e.kind}))),Ne(t),P(t),e.hasModifier(t,128)&&ce("abstract "),ce("class "),de(be,t.name),$(t.typeParameters),a&&(e.isEntityNameExpression(a.expression)?G([a],!1):(ce(" extends "),ce(r),a.typeArguments&&(ce("<"),x(a.typeArguments,T),ce(">")))),G(e.getClassImplementsHeritageClauseElements(t),!0),ce(" {"),ue(),le(),function(t){t&&e.forEach(t.parameters,function(t){e.hasModifier(t,92)&&X(t);});}(e.getFirstConstructorWithBody(t)),v(t.members),_e(),ce("}"),ue(),he=n;}function H(t){Ne(t),P(t),ce("interface "),de(be,t.name);var n=he;he=t,$(t.typeParameters);var r=e.filter(e.getInterfaceBaseTypeNodes(t),function(t){return e.isEntityNameExpression(t.expression)});r&&r.length&&G(r,!1),ce(" {"),ue(),le(),v(t.members),_e(),ce("}"),ue(),he=n;}function X(t){e.hasDynamicName(t)||(Ne(t),F(e.getModifierFlags(t)),Y(t),ce(";"),ue());}function Y(t){function r(n){return 226===t.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:149===t.kind||148===t.kind?e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:229===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}function a(e){var n=r(e);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}function i(e){for(var t=[],n=0,r=e.elements;n0?e.parameters[0].type:void 0}function r(t){var n;return 154===a.kind?(n=e.hasModifier(a.parent,32)?t.errorModuleName?e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1,{diagnosticMessage:n,errorNode:a.parameters[0],typeName:a.name}):(n=e.hasModifier(a,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0,{diagnosticMessage:n,errorNode:a.name,typeName:void 0})}if(!e.hasDynamicName(t)){var a,i=e.getAllAccessorDeclarations(t.parent.members,t);if(t===i.firstAccessor){if(Ne(i.getAccessor),Ne(i.setAccessor),F(e.getModifierFlags(t)|(i.setAccessor?0:64)),de(be,t.name),!e.hasModifier(t,8)){a=t;var o=n(t);if(!o){var s=153===t.kind?i.setAccessor:i.getAccessor;(o=n(s))&&(a=s);}y(t,o,r);}ce(";"),ue();}}}function ne(t){e.hasDynamicName(t)||n.isImplementationOfOverload(t)||(Ne(t),228===t.kind?P(t):151!==t.kind&&152!==t.kind||F(e.getModifierFlags(t)),228===t.kind?(ce("function "),de(be,t.name)):152===t.kind?ce("constructor"):(de(be,t.name),e.hasQuestionToken(t)&&ce("?")),ae(t));}function re(e){Ne(e),ae(e);}function ae(t){function n(n){var r;switch(t.kind){case 156:r=n.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 155:r=n.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 157:r=n.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 151:case 150:r=e.hasModifier(t,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:229===t.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:n.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 228:r=n.errorModuleName?2===n.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:e.Debug.fail("This is unknown kind for signature: "+t.kind);}return{diagnosticMessage:r,errorNode:t.name||t}}var r=he;he=t;var a=!1;if(157===t.kind)F(e.getModifierFlags(t)),ce("[");else{if(156===t.kind||161===t.kind)ce("new ");else if(160===t.kind){var i=pe.getText();t.typeParameters&&"<"===i.charAt(i.length-1)&&(a=!0,ce("("));}$(t.typeParameters),ce("(");}x(t.parameters,ie),ce(157===t.kind?"]":")");var o=160===t.kind||161===t.kind;o||163===t.parent.kind?t.type&&(ce(o?" => ":": "),T(t.type)):152===t.kind||e.hasModifier(t,8)||h(t,n),he=r,o?a&&ce(")"):(ce(";"),ue());}function ie(t){function r(e){var n=a(e);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}function a(n){switch(t.parent.kind){case 152:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 156:return n.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 155:return n.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 157:return n.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 151:case 150:return e.hasModifier(t.parent,32)?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:229===t.parent.parent.kind?n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:n.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 228:return n.errorModuleName?2===n.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;default:e.Debug.fail("This is unknown parent for parameter: "+t.parent.kind);}}function i(e){if(174===e.kind)ce("{"),x(e.elements,o),ce("}");else if(175===e.kind){ce("[");var t=e.elements;x(t,o),t&&t.hasTrailingComma&&ce(", "),ce("]");}}function o(t){200===t.kind?ce(" "):176===t.kind&&(t.propertyName&&(de(be,t.propertyName),ce(": ")),t.name&&(e.isBindingPattern(t.name)?i(t.name):(e.Debug.assert(71===t.name.kind),t.dotDotDotToken&&ce("..."),de(be,t.name))));}le(),Ne(t),t.dotDotDotToken&&ce("..."),e.isBindingPattern(t.name)?i(t.name):de(be,t.name),n.isOptionalParameter(t)&&ce("?"),_e(),160===t.parent.kind||161===t.parent.kind||163===t.parent.parent.kind?Q(t):e.hasModifier(t.parent,8)||y(t,t.type,r);}function oe(e){switch(e.kind){case 228:case 233:case 237:case 230:case 229:case 231:case 232:return w(e,A(e));case 208:return w(e,Z(e));case 238:return w(e,!e.importClause);case 244:return j(e);case 152:case 151:case 150:return ne(e);case 156:case 155:case 157:return re(e);case 153:case 154:return te(e);case 149:case 148:return X(e);case 264:return V(e);case 243:return N(e);case 265:return C(e)}}function se(n,r,i){function o(t,a){var i=266===a.kind;i&&!r||(e.Debug.assert(!!t.declarationFilePath||e.isSourceFileJavaScript(n),"Declaration file is not present only for javascript files"),s=t.declarationFilePath||t.jsFilePath,c=i);}var s,c=!1;return e.isDeclarationFile(n)?s=n.fileName:e.forEachEmittedFile(t,o,n,i),s&&(s=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizeSlashes(a)),s,t.getCurrentDirectory(),t.getCanonicalFileName,!1),Pe+='/// '+ge),c}var ce,ue,le,_e,de,pe,fe=266===i.kind?i.sourceFiles:[i],me=266===i.kind,ge=t.getNewLine(),ye=t.getCompilerOptions();u();var he,ve,be,xe,ke,Se,Te,Ce,Ee,De=!1,Ne=ye.removeComments?e.noop:k,Ae=ye.stripInternal?c:oe,we=!0,Oe=[],Pe="",Fe=[],Ie=!1,Re=[];return e.forEach(fe,function(n){if(!e.isSourceFileJavaScript(n)){if(ye.noResolve||e.forEach(n.referencedFiles,function(r){var a=e.tryResolveScriptReference(t,n,r);a&&!e.contains(Fe,a)&&(se(a,!me&&!Ie,o)&&(Ie=!0),Fe.push(a));}),ve=!1,me&&e.isExternalModule(n)?e.isExternalModule(n)&&(we=!1,ce('declare module "'+e.getResolvedExternalModuleName(t,n)+'" {'),ue(),le(),C(n),_e(),ce("}"),ue()):(we=!0,C(n)),Oe.length){var r=pe;e.forEach(Oe,function(t){if(t.isVisible&&!t.asynchronousOutput){e.Debug.assert(238===t.node.kind),u(),e.Debug.assert(0===t.indent||1===t.indent&&me);for(n=0;n'+ge;}),{reportedDeclarationError:De,moduleElementDeclarationEmitInfo:Re,synchronousDeclarationOutput:pe.getText(),referencesOutput:Pe}}function r(t,r,a,i,o,s){function c(t,n){var r=0,a="";return e.forEach(n,function(e){e.asynchronousOutput&&(a+=t.substring(r,e.outputPos),a+=c(e.asynchronousOutput,e.subModuleElementDeclarationEmitInfo),r=e.outputPos);}),a+=t.substring(r)}var u=n(a,i,o,t,r,s),l=u.reportedDeclarationError||a.isEmitBlocked(t)||a.getCompilerOptions().noEmit;if(!l){var _=266===r.kind?r.sourceFiles:[r],d=u.referencesOutput+c(u.synchronousDeclarationOutput,u.moduleElementDeclarationEmitInfo);e.writeFile(a,o,t,d,a.getCompilerOptions().emitBOM,_);}return l}e.getDeclarationDiagnostics=t,e.writeDeclarationFile=r;}(r||(r={}));!function(e){function t(t,r,a,i,o){function s(n,a){var o=n.jsFilePath,s=n.sourceMapFilePath,u=n.declarationFilePath;r.isEmitBlocked(o)||f.noEmit?k=!0:i||c(o,s,a),u&&(k=e.writeDeclarationFile(u,e.getOriginalSourceFileOrBundle(a),r,t,h,i)||k),!k&&y&&(i||y.push(o),s&&y.push(s),u&&y.push(u));}function c(t,n,a){var i=266===a.kind?a:void 0,o=265===a.kind?a:void 0,s=i?i.sourceFiles:[o];x.initialize(t,n,a),i?(d=e.createMap(),p=!1,C.writeBundle(i,b)):(p=!0,C.writeFile(o,b)),b.writeLine();var c=x.getSourceMappingURL();c&&b.write("//# sourceMappingURL="+c),f.sourceMap&&!f.inlineSourceMap&&e.writeFile(r,h,n,x.getText(),!1,s),g&&g.push(x.getSourceMapData()),e.writeFile(r,h,t,b.getText(),f.emitBOM,s),x.reset(),b.reset(),_=void 0,d=void 0,p=!1;}function u(e){_=e,x.setSourceFile(e);}function l(t,n){var r=!1,a=266===t.kind?t:void 0;if(!a||m!==e.ModuleKind.None){for(var i=a?a.sourceFiles.length:1,o=0;o "),h(e.type);}function Z(e){Fn("new "),En(e,e.typeParameters),Nn(e,e.parameters),Fn(" => "),h(e.type);}function ee(e){Fn("typeof "),h(e.exprName);}function te(e){Fn("{"),wn(e,e.members,65),Fn("}");}function ne(e){h(e.elementType),Fn("[]");}function re(e){Fn("["),wn(e,e.elementTypes,336),Fn("]");}function ae(e){wn(e,e.types,260);}function ie(e){wn(e,e.types,264);}function oe(e){Fn("("),h(e.type),Fn(")");}function se(){Fn("this");}function ce(e){jn(e.operator),Fn(" "),h(e.type);}function ue(e){h(e.objectType),Fn("["),h(e.indexType),Fn("]");}function le(e){Fn("{"),In(),Rn(),Bn(e.readonlyToken,"readonly "),Fn("["),h(e.typeParameter.name),Fn(" in "),h(e.typeParameter.constraint),Fn("]"),Bn(e.questionToken,"?"),Fn(": "),h(e.type),Fn(";"),In(),Mn(),Fn("}");}function _e(e){b(e.literal);}function de(e){var t=e.elements;0===t.length?Fn("{}"):(Fn("{"),wn(e,t,432),Fn("}"));}function pe(e){0===e.elements.length?Fn("[]"):(Fn("["),wn(e,e.elements,304),Fn("]"));}function fe(e){kn(e.propertyName,": "),Bn(e.dotDotDotToken,"..."),h(e.name),bn(" = ",e.initializer);}function me(e){var t=e.elements;0===t.length?Fn("[]"):On(e,t,4466|(e.multiLine?32768:0));}function ge(t){var n=t.properties;if(0===n.length)Fn("{}");else{var r=65536&e.getEmitFlags(t);r&&Rn();var a=t.multiLine?32768:0;wn(t,n,978|(hr.languageVersion>=1?32:0)|a),r&&Mn();}}function ye(t){var n=!1,r=!1;if(!(131072&e.getEmitFlags(t))){var a={kind:23,pos:t.expression.end,end:e.skipTrivia(hr.text,t.expression.end)+1};n=Xn(t,t.expression,a),r=Xn(t,a,t.name);}b(t.expression),Vn(n),Fn(!n&&he(t.expression)?"..":"."),Vn(r),h(t.name),qn(n,r);}function he(n){if(n=e.skipPartiallyEmittedExpressions(n),e.isNumericLiteral(n)){var r=tr(n);return!n.numericLiteralFlags&&r.indexOf(e.tokenToString(23))<0}if(e.isPropertyAccessExpression(n)||e.isElementAccessExpression(n)){var a=e.getConstantValue(n);return isFinite(a)&&Math.floor(a)===a&&t.removeComments}}function ve(e){b(e.expression),Fn("["),b(e.argumentExpression),Fn("]");}function be(e){b(e.expression),Cn(e,e.typeArguments),On(e,e.arguments,1296);}function xe(e){Fn("new "),b(e.expression),Cn(e,e.typeArguments),On(e,e.arguments,9488);}function ke(e){b(e.tag),Fn(" "),b(e.template);}function Se(e){Fn("<"),h(e.type),Fn(">"),b(e.expression);}function Te(e){Fn("("),b(e.expression),Fn(")");}function Ce(e){gt(e);}function Ee(e){Tn(e,e.decorators),hn(e,e.modifiers),ht(e,De);}function De(e){En(e,e.typeParameters),Nn(e,e.parameters),vn(": ",e.type),Fn(" =>");}function Ne(e){Fn("delete "),b(e.expression);}function Ae(e){Fn("typeof "),b(e.expression);}function we(e){Fn("void "),b(e.expression);}function Oe(e){Fn("await "),b(e.expression);}function Pe(e){jn(e.operator),Fe(e)&&Fn(" "),b(e.operand);}function Fe(e){var t=e.operand;return 192===t.kind&&(37===e.operator&&(37===t.operator||43===t.operator)||38===e.operator&&(38===t.operator||44===t.operator))}function Ie(e){b(e.operand),jn(e.operator);}function Re(e){var t=26!==e.operatorToken.kind,n=Xn(e,e.left,e.operatorToken),r=Xn(e,e.operatorToken,e.right);b(e.left),Vn(n,t?" ":void 0),jn(e.operatorToken.kind),Vn(r," "),b(e.right),qn(n,r);}function Me(e){var t=Xn(e,e.condition,e.questionToken),n=Xn(e,e.questionToken,e.whenTrue),r=Xn(e,e.whenTrue,e.colonToken),a=Xn(e,e.colonToken,e.whenFalse);b(e.condition),Vn(t," "),Fn("?"),Vn(n," "),b(e.whenTrue),qn(t,n),Vn(r," "),Fn(":"),Vn(a," "),b(e.whenFalse),qn(r,a);}function Le(e){h(e.head),wn(e,e.templateSpans,131072);}function Be(e){Fn(e.asteriskToken?"yield*":"yield"),bn(" ",e.expression);}function Ke(e){Fn("..."),b(e.expression);}function je(e){Ct(e);}function Je(e){b(e.expression),Cn(e,e.typeArguments);}function ze(e){b(e.expression),e.type&&(Fn(" as "),h(e.type));}function Ue(e){b(e.expression),Fn("!");}function Ve(e){Kn(e.keywordToken,e.pos),Fn("."),h(e.name);}function qe(e){b(e.expression),h(e.literal);}function $e(e){Yn(e)?(Kn(17,e.pos,e),Fn(" "),Kn(18,e.statements.end,e)):(Kn(17,e.pos,e),Ge(e),Rn(),Jr(e.statements.end),Mn(),Kn(18,e.statements.end,e));}function Ge(t){1&e.getEmitFlags(t)?wn(t,t.statements,384):wn(t,t.statements,65);}function We(e){hn(e,e.modifiers),h(e.declarationList),Fn(";");}function He(){Fn(";");}function Xe(e){b(e.expression),Fn(";");}function Ye(e){var t=Kn(90,e.pos,e);Fn(" "),Kn(19,t,e),b(e.expression),Kn(20,e.expression.end,e),Sn(e,e.thenStatement),e.elseStatement&&(Jn(e),Kn(82,e.thenStatement.end,e),211===e.elseStatement.kind?(Fn(" "),h(e.elseStatement)):Sn(e,e.elseStatement));}function Qe(t){Fn("do"),Sn(t,t.statement),e.isBlock(t.statement)?Fn(" "):Jn(t),Fn("while ("),b(t.expression),Fn(");");}function Ze(e){Fn("while ("),b(e.expression),Fn(")"),Sn(e,e.statement);}function et(e){var t=Kn(88,e.pos);Fn(" "),Kn(19,t,e),rt(e.initializer),Fn(";"),bn(" ",e.condition),Fn(";"),bn(" ",e.incrementor),Fn(")"),Sn(e,e.statement);}function tt(e){var t=Kn(88,e.pos);Fn(" "),Kn(19,t),rt(e.initializer),Fn(" in "),b(e.expression),Kn(20,e.expression.end),Sn(e,e.statement);}function nt(e){var t=Kn(88,e.pos);Fn(" "),kn(e.awaitModifier," "),Kn(19,t),rt(e.initializer),Fn(" of "),b(e.expression),Kn(20,e.expression.end),Sn(e,e.statement);}function rt(e){void 0!==e&&(227===e.kind?h(e):b(e));}function at(e){Kn(77,e.pos),vn(" ",e.label),Fn(";");}function it(e){Kn(72,e.pos),vn(" ",e.label),Fn(";");}function ot(e){Kn(96,e.pos,e),bn(" ",e.expression),Fn(";");}function st(e){Fn("with ("),b(e.expression),Fn(")"),Sn(e,e.statement);}function ct(e){var t=Kn(98,e.pos);Fn(" "),Kn(19,t),b(e.expression),Kn(20,e.expression.end),Fn(" "),h(e.caseBlock);}function ut(e){h(e.label),Fn(": "),h(e.statement);}function lt(e){Fn("throw"),bn(" ",e.expression),Fn(";");}function _t(e){Fn("try "),h(e.tryBlock),e.catchClause&&(Jn(e),h(e.catchClause)),e.finallyBlock&&(Jn(e),Fn("finally "),h(e.finallyBlock));}function dt(e){Kn(78,e.pos),Fn(";");}function pt(e){h(e.name),vn(": ",e.type),bn(" = ",e.initializer);}function ft(t){Fn(e.isLet(t)?"let ":e.isConst(t)?"const ":"var "),wn(t,t.declarations,272);}function mt(e){gt(e);}function gt(e){Tn(e,e.decorators),hn(e,e.modifiers),Fn(e.asteriskToken?"function* ":"function "),v(e.name),ht(e,vt);}function yt(e,t){xt(t);}function ht(t,n){var r=t.body;if(r)if(e.isBlock(r)){var a=65536&e.getEmitFlags(t);a&&Rn(),524288&e.getEmitFlags(t)?(n(t),wr?wr(3,r,yt):xt(r)):(nr(),n(t),wr?wr(3,r,yt):xt(r),rr()),a&&Mn();}else n(t),Fn(" "),b(r);else n(t),Fn(";");}function vt(e){En(e,e.typeParameters),Dn(e,e.parameters),vn(": ",e.type);}function bt(t){if(1&e.getEmitFlags(t))return!0;if(t.multiLine)return!1;if(!e.nodeIsSynthesized(t)&&!e.rangeIsOnSingleLine(t,hr))return!1;if($n(t,t.statements,2)||Wn(t,t.statements,2))return!1;for(var n,r=0,a=t.statements;r0&&h(e.attributes),Fn("/>");}function Wt(e){Fn("<"),tn(e.tagName),Ln(e.attributes.properties," "),e.attributes.properties&&e.attributes.properties.length>0&&h(e.attributes),Fn(">");}function Ht(e){Tr.writeLiteral(er(e,!0));}function Xt(e){Fn("");}function Yt(e){wn(e,e.properties,131328);}function Qt(e){h(e.name),vn("=",e.initializer);}function Zt(e){Fn("{..."),b(e.expression),Fn("}");}function en(e){e.expression&&(Fn("{"),e.dotDotDotToken&&Fn("..."),b(e.expression),Fn("}"));}function tn(e){71===e.kind?b(e):h(e);}function nn(e){Fn("case "),b(e.expression),Fn(":"),an(e,e.statements);}function rn(e){Fn("default:"),an(e,e.statements);}function an(t,n){1===n.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(n[0])||e.rangeStartPositionsAreOnSameLine(t,n[0],hr))?(Fn(" "),h(n[0])):wn(t,n,81985);}function on$$1(e){Fn(" "),jn(e.token),Fn(" "),wn(e,e.types,272);}function sn(e){var t=Kn(74,e.pos);Fn(" "),Kn(19,t),h(e.variableDeclaration),Kn(20,e.variableDeclaration?e.variableDeclaration.end:t),Fn(" "),h(e.block);}function cn(t){h(t.name),Fn(": ");var n=t.initializer;if(jr&&0==(512&e.getEmitFlags(n))){var r=e.getCommentRange(n);jr(r.pos);}b(n);}function un(e){h(e.name),e.objectAssignmentInitializer&&(Fn(" = "),b(e.objectAssignmentInitializer));}function ln(e){e.expression&&(Fn("..."),b(e.expression));}function _n(e){h(e.name),bn(" = ",e.initializer);}function dn(t){In();var n=t.statements;!Kr||0!==n.length&&e.isPrologueDirective(n[0])&&!e.nodeIsSynthesized(n[0])?pn(t):Kr(t,n,pn);}function pn(t){var n=t.statements;nr(),w(t);var r=e.findIndex(n,function(t){return!e.isPrologueDirective(t)});wn(t,n,1,-1===r?n.length:r),rr();}function fn(e){b(e.expression);}function mn(t,n,r){for(var a=0;a0)&&In(),h(i),r&&r.set(i.expression.text,i.expression.text));}return t.length}function gn(t){if(e.isSourceFile(t))m(t),mn(t.statements);else for(var n=e.createMap(),r=0,a=t.sourceFiles;r=o.length||0===u;if(!(_&&16384&s)){if(7680&s&&Fn(a(s)),Ir&&Ir(o),_)1&s?In():128&s&&Fn(" ");else{var d=0==(131072&s),p=d;$n(n,o,s)?(In(),p=!1):128&s&&Fn(" "),64&s&&Rn();for(var f=void 0,m=void 0,g=r(s),y=0;y"],e[4096]=["[","]"],e}();e.emitFiles=t,e.createPrinter=n;var c;!function(e){e[e.Auto=0]="Auto",e[e.CountMask=268435455]="CountMask",e[e._i=268435456]="_i";}(c||(c={}));var u;!function(e){e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.DelimitersMask=28]="DelimitersMask",e[e.AllowTrailingComma=32]="AllowTrailingComma",e[e.Indented=64]="Indented",e[e.SpaceBetweenBraces=128]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=256]="SpaceBetweenSiblings",e[e.Braces=512]="Braces",e[e.Parenthesis=1024]="Parenthesis",e[e.AngleBrackets=2048]="AngleBrackets",e[e.SquareBrackets=4096]="SquareBrackets",e[e.BracketsMask=7680]="BracketsMask",e[e.OptionalIfUndefined=8192]="OptionalIfUndefined",e[e.OptionalIfEmpty=16384]="OptionalIfEmpty",e[e.Optional=24576]="Optional",e[e.PreferNewLine=32768]="PreferNewLine",e[e.NoTrailingNewLine=65536]="NoTrailingNewLine",e[e.NoInterveningComments=131072]="NoInterveningComments",e[e.Modifiers=256]="Modifiers",e[e.HeritageClauses=256]="HeritageClauses",e[e.TypeLiteralMembers=65]="TypeLiteralMembers",e[e.TupleTypeElements=336]="TupleTypeElements",e[e.UnionTypeConstituents=260]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=264]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=432]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=304]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=978]="ObjectLiteralExpressionProperties",e[e.ArrayLiteralExpressionElements=4466]="ArrayLiteralExpressionElements",e[e.CallExpressionArguments=1296]="CallExpressionArguments",e[e.NewExpressionArguments=9488]="NewExpressionArguments",e[e.TemplateExpressionSpans=131072]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=384]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=65]="MultiLineBlockStatements",e[e.VariableDeclarationList=272]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=384]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=256]="ClassHeritageClauses",e[e.ClassMembers=65]="ClassMembers",e[e.InterfaceMembers=65]="InterfaceMembers",e[e.EnumMembers=81]="EnumMembers",e[e.CaseBlockClauses=65]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=432]="NamedImportsOrExportsElements",e[e.JsxElementChildren=131072]="JsxElementChildren",e[e.JsxElementAttributes=131328]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=81985]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=272]="HeritageClauseTypes",e[e.SourceFileStatements=65537]="SourceFileStatements",e[e.Decorators=24577]="Decorators",e[e.TypeArguments=26960]="TypeArguments",e[e.TypeParameters=26960]="TypeParameters",e[e.Parameters=1360]="Parameters",e[e.IndexSignatureParameters=4432]="IndexSignatureParameters";}(u||(u={}));}(r||(r={}));!function(e){function t(t,n,r){for(void 0===r&&(r="tsconfig.json");;){var a=e.combinePaths(t,r);if(n(a))return a;var i=e.getDirectoryPath(t);if(i===t)break;t=i;}}function n(t,n){var r=e.getDirectoryPath(n),a=e.isRootedDiskPath(t)?t:e.combinePaths(r,t);return e.normalizePath(a)}function r(t,n,r){var a;return e.forEach(t,function(t){var i=e.getNormalizedPathComponents(t,n);if(i.pop(),a){for(var o=Math.min(a.length,i.length),s=0;se.getRootLength(t)&&!i(t)&&(o(e.getDirectoryPath(t)),e.sys.createDirectory(t));}function s(t,n,r){l||(l=e.createMap());var a=e.sys.createHash(n),i=e.sys.getModifiedTime(t);if(i){var o=l.get(t);if(o&&o.byteOrderMark===r&&o.hash===a&&o.mtime.getTime()===i.getTime())return}e.sys.writeFile(t,n,r);var s=e.sys.getModifiedTime(t);l.set(t,{hash:a,byteOrderMark:r,mtime:s});}function c(n,r,a,i){try{e.performance.mark("beforeIOWrite"),o(e.getDirectoryPath(e.normalizePath(n))),e.isWatchSet(t)&&e.sys.createHash&&e.sys.getModifiedTime?s(n,r,a):e.sys.writeFile(n,r,a),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite");}catch(e){i&&i(e.message);}}function u(){return e.getDirectoryPath(e.normalizePath(e.sys.getExecutingFilePath()))}var l,_=e.createMap(),d=e.getNewLineCharacter(t),p=e.sys.realpath&&function(t){return e.sys.realpath(t)};return{getSourceFile:a,getDefaultLibLocation:u,getDefaultLibFileName:function(t){return e.combinePaths(u(),e.getDefaultLibFileName(t))},writeFile:c,getCurrentDirectory:e.memoize(function(){return e.sys.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return e.sys.useCaseSensitiveFileNames},getCanonicalFileName:r,getNewLine:function(){return d},fileExists:function(t){return e.sys.fileExists(t)},readFile:function(t){return e.sys.readFile(t)},trace:function(t){return e.sys.write(t+d)},directoryExists:function(t){return e.sys.directoryExists(t)},getEnvironmentVariable:function(t){return e.sys.getEnvironmentVariable?e.sys.getEnvironmentVariable(t):""},getDirectories:function(t){return e.sys.getDirectories(t)},realpath:p}}function i(t,n,r){var a=t.getOptionsDiagnostics(r).concat(t.getSyntacticDiagnostics(n,r),t.getGlobalDiagnostics(r),t.getSemanticDiagnostics(n,r));return t.getCompilerOptions().declaration&&(a=a.concat(t.getDeclarationDiagnostics(n,r))),e.sortAndDeduplicateDiagnostics(a)}function o(t,n){for(var r="",a=0,i=t;a0||c.length>0)return{diagnostics:e.concatenate(u,c),sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0}}var l=y().getEmitResolver(i.outFile||i.out?void 0:n);e.performance.mark("beforeEmit");var _=o?[]:e.getTransformers(i,s),d=e.emitFiles(l,m(r),n,o,_);return e.performance.mark("afterEmit"),e.performance.measure("Emit","beforeEmit","afterEmit"),d}function S(t){return T(e.toPath(t,ke,Z))}function T(e){return Ne.get(e)}function C(t,n,r){if(t)return n(t,r);var a=[];return e.forEach(ae.getSourceFiles(),function(t){r&&r.throwIfCancellationRequested(),e.addRange(a,n(t,r));}),e.sortAndDeduplicateDiagnostics(a)}function E(e,t){return C(e,A,t)}function D(e,t){return C(e,O,t)}function N(e,t){var n=ae.getCompilerOptions();return!e||n.out||n.outFile?R(e,t):C(e,B,t)}function A(t){return e.isSourceFileJavaScript(t)?(t.additionalSyntacticDiagnostics||(t.additionalSyntacticDiagnostics=I(t)),e.concatenate(t.additionalSyntacticDiagnostics,t.parseDiagnostics)):t.parseDiagnostics}function w(t){try{return t()}catch(t){throw t instanceof e.OperationCanceledException&&(se=void 0,oe=void 0),t}}function O(e,t){return L(e,t,le,P)}function P(t,n){return w(function(){if(i.skipLibCheck&&t.isDeclarationFile||i.skipDefaultLibCheck&&t.hasNoDefaultLib)return _;var r=y();e.Debug.assert(!!t.bindDiagnostics);var a=t.bindDiagnostics,o=!e.isSourceFileJavaScript(t)||e.isCheckJsEnabledForFile(t,i)?r.getDiagnostics(t,n):[],s=pe.getDiagnostics(t.fileName),c=xe.getDiagnostics(t.fileName),u=a.concat(o,s,c);return e.isSourceFileJavaScript(t)?e.filter(u,F):u})}function F(t){var n=t.file,r=t.start;if(n)for(var a=e.getLineStarts(n),i=e.computeLineAndCharacterOfPosition(a,r).line;i>0;){var o=n.text.slice(a[i-1],a[i]),s=d.exec(o);if(!s)return!0;if(s[3])return!1;i--;}return!0}function I(t){return w(function(){function n(t){switch(u.kind){case 146:case 149:if(u.questionToken===t)return void c.push(s(t,e.Diagnostics._0_can_only_be_used_in_a_ts_file,"?"));case 151:case 150:case 152:case 153:case 154:case 186:case 228:case 187:case 228:case 226:if(u.type===t)return void c.push(s(t,e.Diagnostics.types_can_only_be_used_in_a_ts_file))}switch(t.kind){case 237:return void c.push(s(t,e.Diagnostics.import_can_only_be_used_in_a_ts_file));case 243:if(t.isExportEquals)return void c.push(s(t,e.Diagnostics.export_can_only_be_used_in_a_ts_file));break;case 259:if(108===t.token)return void c.push(s(t,e.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file));break;case 230:return void c.push(s(t,e.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file));case 233:return void c.push(s(t,e.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file));case 231:return void c.push(s(t,e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file));case 232:return void c.push(s(t,e.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file));case 184:var a=t;return void c.push(s(a.type,e.Diagnostics.type_assertion_expressions_can_only_be_used_in_a_ts_file))}var i=u;u=t,e.forEachChild(t,n,r),u=i;}function r(t){switch(u.decorators!==t||i.experimentalDecorators||c.push(s(u,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning)),u.kind){case 229:case 151:case 150:case 152:case 153:case 154:case 186:case 228:case 187:case 228:if(t===u.typeParameters)return void c.push(o(t,e.Diagnostics.type_parameter_declarations_can_only_be_used_in_a_ts_file));case 208:if(t===u.modifiers)return a(t,208===u.kind);break;case 149:if(t===u.modifiers){for(var r=0,l=t;r0),l.path=n,o.useCaseSensitiveFileNames()){var _=Ae.get(n);_?G(t,_.fileName,a,s,c):Ae.set(n,l);}be=be||l.hasNoDefaultLib,i.noResolve||(H(l,r),X(l)),ee(l),r?ue.unshift(l):ue.push(l);}return l}function H(t,r){e.forEach(t.referencedFiles,function(e){$(n(e.fileName,t.fileName),r,t,e.pos,e.end);});}function X(t){for(var n=e.map(t.typeReferenceDirectives,function(e){return e.fileName.toLocaleLowerCase()}),r=Ee(n,t.fileName),a=0;afe,p=_&&!l(i,s)&&!i.noResolve&&o1})&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));}if(!i.noEmit&&i.allowJs&&i.declaration&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs","declaration")),i.checkJs&&!i.allowJs&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs")),i.emitDecoratorMetadata&&!i.experimentalDecorators&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators")),i.jsxFactory?(i.reactNamespace&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory")),e.parseIsolatedEntityName(i.jsxFactory,l)||xe.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,i.jsxFactory))):i.reactNamespace&&!e.isIdentifierText(i.reactNamespace,l)&&xe.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,i.reactNamespace)),!i.noEmit&&!i.suppressOutputPathCheck){var v=m(),b=e.createFileMap(o.useCaseSensitiveFileNames()?void 0:function(e){return e.toLocaleLowerCase()});e.forEachEmittedFile(v,function(e){t(e.jsFilePath,b),t(e.declarationFilePath,b);});}}(),e.performance.mark("afterProgram"),e.performance.measure("Program","beforeProgram","afterProgram"),ae}function l(t,n){function r(){return t.jsx?void 0:e.Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set}function a(){return t.allowJs?void 0:e.Diagnostics.Module_0_was_resolved_to_1_but_allowJs_is_not_set}switch(n.extension){case e.Extension.Ts:case e.Extension.Dts:return;case e.Extension.Tsx:return r();case e.Extension.Jsx:return r()||a();case e.Extension.Js:return a()}}var _=[],d=/(^\s*$)|(^\s*\/\/\/?\s*(@ts-ignore)?)/;e.findConfigFile=t,e.resolveTripleslashReference=n,e.computeCommonSourceDirectoryOfFilenames=r,e.createCompilerHost=a,e.getPreEmitDiagnostics=i,e.formatDiagnostics=o,e.flattenDiagnosticMessageText=s,e.createProgram=u,e.getResolutionDiagnostic=l;}(r||(r={}));!function(e){function t(e){return e&&void 0!==e.enableAutoDiscovery&&void 0===e.enable?{enable:e.enableAutoDiscovery,include:e.include||[],exclude:e.exclude||[]}:e}function n(){if(F)return F;var t=e.createMap(),n=e.createMap();return e.forEach(e.optionDeclarations,function(e){t.set(e.name.toLowerCase(),e),e.shortName&&n.set(e.shortName,e.name);}),F={optionNameMap:t,shortOptionNames:n}}function r(t){var n=e.arrayFrom(t.type.keys()).map(function(e){return"'"+e+"'"}).join(", ");return e.createCompilerDiagnostic(e.Diagnostics.Argument_for_0_option_must_be_Colon_1,"--"+t.name,n)}function a(e,t,n){return b(e,k(t||""),n)}function i(t,n,r){if(void 0===n&&(n=""),n=k(n),!e.startsWith(n,"-")){if(""===n)return[];var i=n.split(",");switch(t.element.type){case"number":return e.map(i,parseInt);case"string":return e.map(i,function(e){return e||""});default:return e.filter(e.map(i,function(e){return a(t.element,e,r)}),function(e){return!!e})}}}function o(t,n){function r(t){for(var n=0;n=a.length)break;var s=o;if(34===a.charCodeAt(s)){for(o++;o32;)o++;i.push(a.substring(s,o));}}r(i);}else l.push(e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,t));}var c={},u=[],l=[];return r(t),{options:c,fileNames:u,errors:l}}function s(e,t){void 0===t&&(t=!1),e=e.toLowerCase();var r=n(),a=r.optionNameMap,i=r.shortOptionNames;if(t){var o=i.get(e);void 0!==o&&(e=o);}return a.get(e)}function c(t,n){var r="";try{r=n(t);}catch(n){return{error:e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,n.message)}}return u(t,r)}function u(t,n,r){void 0===r&&(r=!0);try{var a=r?_(n):n;return{config:/\S/.test(a)?JSON.parse(a):{}}}catch(n){return{error:e.createCompilerDiagnostic(e.Diagnostics.Failed_to_parse_file_0_Colon_1,t,n.message)}}}function l(t,r,a){function i(e){return"string"===e.type||"number"===e.type||"boolean"===e.type?void 0:"list"===e.type?i(e.element):e.type}function o(t,n){return e.forEachEntry(n,function(e,n){if(e===t)return n})}function s(t){switch(t.type){case"number":return 1;case"boolean":return!0;case"string":return t.isFilePath?"./":"";case"list":return[];case"object":return{};default:return e.arrayFrom(t.type.keys())[0]}}function c(e){return Array(e+1).join(" ")}var u={compilerOptions:function(t){var r={},a=n().optionNameMap;for(var s in t)if(e.hasProperty(t,s)){if(a.has(s)&&a.get(s).category===e.Diagnostics.Command_line_Options)continue;var c=t[s],u=a.get(s.toLowerCase());if(u){var l=i(u);if(l)if("list"===u.type){for(var _=[],d=0,p=c;d=0)return{options:{},fileNames:[],typeAcquisition:{},raw:t,errors:[e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,o.concat([_]).join(" -> "))],wildcardDirectories:{}};var f,m=g(t.compilerOptions,r,u,i),h=y(t.typeAcquisition||t.typingOptions,r,u,i);if(t.extends){var v=[void 0,void 0,void 0,{}],b=v[0],x=v[1],k=v[2],T=v[3];"string"==typeof t.extends?(b=(A=function(a){if(e.isRootedDiskPath(a)||e.startsWith(e.normalizeSlashes(a),"./")||e.startsWith(e.normalizeSlashes(a),"../")){var i=e.toPath(a,r,l);if(n.fileExists(i)||e.endsWith(i,".json")||(i+=".json",n.fileExists(i))){var s=c(i,function(e){return n.readFile(e)});if(!s.error){var p=e.getDirectoryPath(i),f=e.convertToRelativePath(p,r,l),m=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f,t)},g=d(s.config,n,p,void 0,e.getBaseFileName(i),o.concat([_]));u.push.apply(u,g.errors);var y=e.map(["include","exclude","files"],function(n){if(!t[n]&&s.config[n])return e.map(s.config[n],m)});return[y[0],y[1],y[2],g.compileOnSave,g.options]}u.push(s.error);}else u.push(e.createCompilerDiagnostic(e.Diagnostics.File_0_does_not_exist,a));}else u.push(e.createCompilerDiagnostic(e.Diagnostics.A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not,a));}(t.extends)||[b,x,k,f,T])[0],x=A[1],k=A[2],f=A[3],T=A[4]):u.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string")),b&&!t.include&&(t.include=b),x&&!t.exclude&&(t.exclude=x),k&&!t.files&&(t.files=k),m=e.assign({},T,m);}(m=e.extend(a,m)).configFilePath=i;var C=function(a){var c;e.hasProperty(t,"files")&&(e.isArray(t.files)?0===(c=t.files).length&&a.push(e.createCompilerDiagnostic(e.Diagnostics.The_files_list_in_config_file_0_is_empty,i||"tsconfig.json")):a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"files","Array")));var u;e.hasProperty(t,"include")&&(e.isArray(t.include)?u=t.include:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"include","Array")));var l;if(e.hasProperty(t,"exclude"))e.isArray(t.exclude)?l=t.exclude:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"exclude","Array"));else if(e.hasProperty(t,"excludes"))a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));else{l=u?[]:["node_modules","bower_components","jspm_packages"];var _=t.compilerOptions&&t.compilerOptions.outDir;_&&l.push(_);}void 0===c&&void 0===u&&(u=["**/*"]);var d=S(c,u,l,r,m,n,a,s);return 0!==d.fileNames.length||e.hasProperty(t,"files")||0!==o.length||a.push(e.createCompilerDiagnostic(e.Diagnostics.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,i||"tsconfig.json",JSON.stringify(u||[]),JSON.stringify(l||[]))),d}(u),E=C.fileNames,D=C.wildcardDirectories,N=p(t,r,u);return f&&void 0===t[e.compileOnSaveCommandLineOption.name]&&(N=f),{options:m,fileNames:E,typeAcquisition:h,raw:t,errors:u,wildcardDirectories:D,compileOnSave:N};var A;}function p(t,n,r){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var a=v(e.compileOnSaveCommandLineOption,t.compileOnSave,n,r);return!("boolean"!=typeof a||!a)&&a}function f(e,t,n){var r=[];return{options:g(e,t,r,n),errors:r}}function m(e,t,n){var r=[];return{options:y(e,t,r,n),errors:r}}function g(t,n,r,a){var i="jsconfig.json"===e.getBaseFileName(a)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0}:{};return h(e.optionDeclarations,t,n,i,e.Diagnostics.Unknown_compiler_option_0,r),i}function y(n,r,a,i){var o={enable:"jsconfig.json"===e.getBaseFileName(i),include:[],exclude:[]},s=t(n);return h(e.typeAcquisitionDeclarations,s,r,o,e.Diagnostics.Unknown_type_acquisition_option_0,a),o}function h(t,n,r,a,i,o){if(n){var s=e.arrayToMap(t,function(e){return e.name});for(var c in n){var u=s.get(c);u?a[u.name]=v(u,n[c],r,o):o.push(e.createCompilerDiagnostic(i,c));}}}function v(t,n,r,a){var i=t.type,o="string"==typeof i?i:"string";return"list"===i&&e.isArray(n)?x(t,n,r,a):typeof n===o?"string"!=typeof i?b(t,n,a):(t.isFilePath&&""===(n=e.normalizePath(e.combinePaths(r,n)))&&(n="."),n):void a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,o))}function b(e,t,n){var a=t.toLowerCase(),i=e.type.get(a);if(void 0!==i)return i;n.push(r(e));}function x(t,n,r,a){return e.filter(e.map(n,function(e){return v(t.element,e,r,a)}),function(e){return!!e})}function k(e){return"function"==typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}function S(t,n,r,a,i,o,s,c){a=e.normalizePath(a);var u=o.useCaseSensitiveFileNames?A:w,l=e.createMap(),_=e.createMap();n&&(n=T(n,s,!1)),r&&(r=T(r,s,!0));var d=C(n,r,a,o.useCaseSensitiveFileNames),p=e.getSupportedExtensions(i,c);if(t)for(var f=0,m=t;f0)for(var h=0,v=o.readDirectory(a,p,r,n);h=n.end}function w(e,t,n){return e.pos<=t&&e.end>=n}function O(e,t,n){return P(e.pos,e.end,t,n)}function P(e,t,n,r){return Math.max(e,n)t||!I(e,n)}function I(t,n){if(e.nodeIsMissing(t))return!1;switch(t.kind){case 229:case 230:case 232:case 178:case 174:case 163:case 207:case 234:case 235:case 241:case 245:return R(t,18,n);case 260:return I(t.block,n);case 182:if(!t.arguments)return!0;case 181:case 185:case 168:return R(t,20,n);case 160:case 161:return I(t.type,n);case 152:case 153:case 154:case 228:case 186:case 151:case 150:case 156:case 155:case 187:return t.body?I(t.body,n):t.type?I(t.type,n):L(t,20,n);case 233:return t.body&&I(t.body,n);case 211:return t.elseStatement?I(t.elseStatement,n):I(t.thenStatement,n);case 210:return I(t.expression,n)||L(t,25);case 177:case 175:case 180:case 144:case 165:return R(t,22,n);case 157:return t.type?I(t.type,n):L(t,22,n);case 257:case 258:return!1;case 214:case 215:case 216:case 213:return I(t.statement,n);case 212:return B(t,106,n)?R(t,20,n):I(t.statement,n);case 162:return I(t.exprName,n);case 189:case 188:case 190:case 197:case 198:return I(t.expression,n);case 183:return I(t.template,n);case 196:return I(e.lastOrUndefined(t.templateSpans),n);case 205:return e.nodeIsPresent(t.literal);case 244:case 238:return e.nodeIsPresent(t.moduleSpecifier);case 192:return I(t.operand,n);case 194:return I(t.right,n);case 195:return I(t.whenFalse,n);default:return!0}}function R(t,n,r){var a=t.getChildren(r);if(a.length){var i=e.lastOrUndefined(a);if(i.kind===n)return!0;if(25===i.kind&&1!==a.length)return a[a.length-2].kind===n}return!1}function M(t){var n=K(t);if(n){var r=n.getChildren();return{listItemIndex:e.indexOf(r,t),list:n}}}function L(e,t,n){return!!B(e,t,n)}function B(t,n,r){return e.forEach(t.getChildren(r),function(e){return e.kind===n&&e})}function K(t){var n=e.forEach(t.parent.getChildren(),function(e){if(294===e.kind&&e.pos<=t.pos&&e.end>=t.end)return e});return e.Debug.assert(!n||e.contains(n.getChildren(),t)),n}function j(e,t,n){return void 0===n&&(n=!1),z(e,t,function(e){return ae(e.kind)},n)}function J(e,t,n){return void 0===n&&(n=!1),z(e,t,function(e){return ie(e.kind)},n)}function z(e,t,n,r){return void 0===r&&(r=!1),V(e,t,!1,n,r)}function U(e,t,n){return void 0===n&&(n=!1),V(e,t,!0,void 0,n)}function V(t,n,r,a,i){void 0===i&&(i=!1);var o=t;e:for(;;){if(e.isToken(o))return o;if(i)for(var s=0,c=e.filter(o.getChildren(),e.isJSDocNode);sr.getStart(t)&&nt.end||o.pos===t.end)&&te(o))return r(o)}}return r(n)}function G(t,n,r){function a(t){if(e.isToken(t))return t;var n=t.getChildren(),r=o(n,n.length);return r&&a(r)}function i(s){if(e.isToken(s))return s;for(var c=s.getChildren(),u=0;u=t||10===l.kind&&_===l.end?(d=o(c,u))&&a(d):i(l)}}if(e.Debug.assert(void 0!==r||265===s.kind),c.length){var d=o(c,c.length);return d&&a(d)}}function o(e,t){for(var n=t-1;n>=0;n--)if(te(e[n]))return e[n]}return i(r||n)}function W(e,t){var n=G(t,e);if(n&&9===n.kind){var r=n.getStart(),a=n.getEnd();if(rr.getStart(t)}function Q(t,n,r){var a=U(t,n);if(a&&n<=a.getStart(t)){var i=e.getLeadingCommentRanges(t.text,a.pos);return r?e.forEach(i,function(e){return e.pos=e.pos+3&&"/"===n[e.pos]&&"*"===n[e.pos+1]&&"*"===n[e.pos+2]}var a=U(t,n),i=e.getLeadingCommentRanges(t.text,a.pos);return e.forEach(i,r)}function ee(t,n){var r=e.getTokenAtPosition(t,n);if(e.isToken(r))switch(r.kind){case 104:case 110:case 76:r=void 0===r.parent?void 0:r.parent.parent;break;default:r=r.parent;}if(r&&r.jsDoc)for(var a=0,i=r.jsDoc;a0?r.join(","):e.ScriptElementKindModifier.none}function re(t){return 159===t.kind||181===t.kind?t.typeArguments:e.isFunctionLike(t)||229===t.kind||230===t.kind?t.typeParameters:void 0}function ae(t){return 71===t||e.isKeyword(t)}function ie(e){return 9===e||8===e||ae(e)}function oe(e){return 2===e||3===e}function se(t){return!(9!==t&&12!==t&&!e.isTemplateLiteralKind(t))}function ce(e){return 17<=e&&e<=70}function ue(t,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart()0&&146===e.declarations[0].kind}function n(n,a){return r(n,function(n){var r=n.flags;return 3&r?t(n)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:4&r?e.SymbolDisplayPartKind.propertyName:32768&r?e.SymbolDisplayPartKind.propertyName:65536&r?e.SymbolDisplayPartKind.propertyName:8&r?e.SymbolDisplayPartKind.enumMemberName:16&r?e.SymbolDisplayPartKind.functionName:32&r?e.SymbolDisplayPartKind.className:64&r?e.SymbolDisplayPartKind.interfaceName:384&r?e.SymbolDisplayPartKind.enumName:1536&r?e.SymbolDisplayPartKind.moduleName:8192&r?e.SymbolDisplayPartKind.methodName:262144&r?e.SymbolDisplayPartKind.typeParameterName:524288&r?e.SymbolDisplayPartKind.aliasName:8388608&r?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}(a))}function r(t,n){return{text:t,kind:e.SymbolDisplayPartKind[n]}}function a(){return r(" ",e.SymbolDisplayPartKind.space)}function i(t){return r(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function o(t){return r(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)}function s(t){return r(e.tokenToString(t),e.SymbolDisplayPartKind.operator)}function c(t){var n=e.stringToToken(t);return void 0===n?u(t):i(n)}function u(t){return r(t,e.SymbolDisplayPartKind.text)}function l(e){return e.getNewLine?e.getNewLine():E}function _(){return r("\n",e.SymbolDisplayPartKind.lineBreak)}function d(e){e(C);var t=C.displayParts();return C.clear(),t}function p(e,t,n,r){return d(function(a){e.getSymbolDisplayBuilder().buildTypeDisplay(t,a,n,r);})}function f(e,t,n,r,a){return d(function(i){e.getSymbolDisplayBuilder().buildSymbolDisplay(t,i,n,r,a);})}function m(e,t,n,r){return d(function(a){e.getSymbolDisplayBuilder().buildSignatureDisplay(t,a,n,r);})}function g(t,n,r){if(y(r)||e.isStringOrNumericLiteral(r)&&144===r.parent.kind)return r.text;var a=e.getLocalSymbolForExportDefault(n);return t.symbolToString(a||n)}function y(e){return e.parent&&(242===e.parent.kind||246===e.parent.kind)&&e.parent.propertyName===e}function h(e){var t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&(34===e.charCodeAt(0)||39===e.charCodeAt(0))?e.substring(1,t-1):e}function v(t,n){for(var r=[],a=2;a=0){var _=c-o;_>0&&a.push({length:_,classification:e.TokenClass.Whitespace});}a.push({length:u,classification:r(l)}),o=c+u;}var d=n.length-o;return d>0&&a.push({length:d,classification:e.TokenClass.Whitespace}),{entries:a,finalLexState:t.endOfLineState}}function r(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:default:return e.TokenClass.Identifier}}function a(e,t,r){return n(i(e,t,r),e)}function i(n,r,a){function i(e,t,n){if(8!==n){0===e&&o>0&&(e+=o);var r=(t-=o)-(e-=o);r>0&&(f.spans.push(e),f.spans.push(r),f.spans.push(n));}}for(var o=0,s=0,p=0;d.length>0;)d.pop();switch(r){case 3:n='"\\\n'+n,o=3;break;case 2:n="'\\\n"+n,o=3;break;case 1:n="/*\n"+n,o=3;break;case 4:n="`\n"+n,o=2;break;case 5:n="}\n"+n,o=2;case 6:d.push(14);}l.setText(n);var f={endOfLineState:0,spans:[]},m=0;do{if(s=l.scan(),!e.isTrivia(s)){if(41!==s&&63!==s||_[p]){if(23===p&&c(s))s=71;else if(c(p)&&c(s)&&!t(p,s))s=71;else if(71===p&&27===s)m++;else if(29===s&&m>0)m--;else if(119===s||136===s||133===s||122===s||137===s)m>0&&!a&&(s=71);else if(14===s)d.push(s);else if(17===s)d.length>0&&d.push(s);else if(18===s&&d.length>0){var g=e.lastOrUndefined(d);14===g?16===(s=l.reScanTemplateToken())?d.pop():e.Debug.assert(15===s,"Should have been a template middle. Was "+s):(e.Debug.assert(17===g,"Should have been an open brace. Was: "+s),d.pop());}}else 12===l.reScanSlashToken()&&(s=12);p=s;}!function(){var t=l.getTokenPos(),r=l.getTextPos();if(i(t,r,u(s)),r>=n.length)if(9===s){var a=l.getTokenText();if(l.isUnterminated()){for(var o=a.length-1,c=0;92===a.charCodeAt(o-c);)c++;if(1&c){var _=a.charCodeAt(0);f.endOfLineState=34===_?3:2;}}}else 3===s?l.isUnterminated()&&(f.endOfLineState=1):e.isTemplateLiteralKind(s)?l.isUnterminated()&&(16===s?f.endOfLineState=5:13===s?f.endOfLineState=4:e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+s)):d.length>0&&14===e.lastOrUndefined(d)&&(f.endOfLineState=6);}();}while(1!==s);return f}function o(e){switch(e){case 39:case 41:case 42:case 37:case 38:case 45:case 46:case 47:case 27:case 29:case 30:case 31:case 93:case 92:case 118:case 32:case 33:case 34:case 35:case 48:case 50:case 49:case 53:case 54:case 69:case 68:case 70:case 65:case 66:case 67:case 59:case 60:case 61:case 63:case 64:case 58:case 26:return!0;default:return!1}}function s(e){switch(e){case 37:case 38:case 52:case 51:case 43:case 44:return!0;default:return!1}}function c(e){return e>=72&&e<=142}function u(t){if(c(t))return 3;if(o(t)||s(t))return 5;if(t>=17&&t<=70)return 10;switch(t){case 8:return 4;case 9:return 6;case 12:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 71:default:return e.isTemplateLiteralKind(t)?6:2}}var l=e.createScanner(5,!1),_=[];_[71]=!0,_[9]=!0,_[8]=!0,_[12]=!0,_[99]=!0,_[43]=!0,_[44]=!0,_[20]=!0,_[22]=!0,_[18]=!0,_[101]=!0,_[86]=!0;var d=[];return{getClassificationsForLine:a,getEncodedLexicalClassifications:i}}function n(e,t,n,r,i){return o(a(e,t,n,r,i))}function r(e,t){switch(t){case 233:case 229:case 230:case 228:e.throwIfCancellationRequested();}}function a(t,n,a,i,o){function s(e,t,n){l.push(e),l.push(t),l.push(n);}function c(t,n){var r=t.getFlags();if(0!=(788448&r)){if(32&r)return 11;if(384&r)return 12;if(524288&r)return 16;if(2&n){if(64&r)return 13;if(262144&r)return 15}else if(1536&r&&(4&n||1&n&&function(t){return e.forEach(t.declarations,function(t){return 233===t.kind&&1===e.getModuleInstanceState(t)})}(t)))return 14}}function u(a){if(a&&e.textSpanIntersectsWith(o,a.getFullStart(),a.getFullWidth())){var l=a.kind;if(r(n,l),71===l&&!e.nodeIsMissing(a)){var _=a;if(i.get(_.text)){var d=t.getSymbolAtLocation(a);if(d){var p=c(d,e.getMeaningFromLocation(a));p&&s(a.getStart(),a.getWidth(),p);}}}e.forEachChild(a,u);}}var l=[];return u(a),{spans:l,endOfLineState:0}}function i(t){switch(t){case 1:return e.ClassificationTypeNames.comment;case 2:return e.ClassificationTypeNames.identifier;case 3:return e.ClassificationTypeNames.keyword;case 4:return e.ClassificationTypeNames.numericLiteral;case 5:return e.ClassificationTypeNames.operator;case 6:return e.ClassificationTypeNames.stringLiteral;case 8:return e.ClassificationTypeNames.whiteSpace;case 9:return e.ClassificationTypeNames.text;case 10:return e.ClassificationTypeNames.punctuation;case 11:return e.ClassificationTypeNames.className;case 12:return e.ClassificationTypeNames.enumName;case 13:return e.ClassificationTypeNames.interfaceName;case 14:return e.ClassificationTypeNames.moduleName;case 15:return e.ClassificationTypeNames.typeParameterName;case 16:return e.ClassificationTypeNames.typeAliasName;case 17:return e.ClassificationTypeNames.parameterName;case 18:return e.ClassificationTypeNames.docCommentTagName;case 19:return e.ClassificationTypeNames.jsxOpenTagName;case 20:return e.ClassificationTypeNames.jsxCloseTagName;case 21:return e.ClassificationTypeNames.jsxSelfClosingTagName;case 22:return e.ClassificationTypeNames.jsxAttribute;case 23:return e.ClassificationTypeNames.jsxText;case 24:return e.ClassificationTypeNames.jsxAttributeStringLiteralValue}}function o(t){e.Debug.assert(t.spans.length%3==0);for(var n=t.spans,r=[],a=0;a=0),a>0){var s=n||m(t.kind,t);s&&i(r,a,s);}return!0}function f(e){switch(e.parent&&e.parent.kind){case 251:if(e.parent.tagName===e)return 19;break;case 252:if(e.parent.tagName===e)return 20;break;case 250:if(e.parent.tagName===e)return 21;break;case 253:if(e.parent.name===e)return 22}}function m(t,n){if(e.isKeyword(t))return 3;if((27===t||29===t)&&n&&e.getTypeArgumentOrTypeParameterList(n.parent))return 10;if(e.isPunctuation(t)){if(n){if(58===t&&(226===n.parent.kind||149===n.parent.kind||146===n.parent.kind||253===n.parent.kind))return 5;if(194===n.parent.kind||192===n.parent.kind||193===n.parent.kind||195===n.parent.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 253===n.parent.kind?24:6;if(12===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(10===t)return 23;if(71===t){if(n)switch(n.parent.kind){case 229:if(n.parent.name===n)return 11;return;case 145:if(n.parent.name===n)return 15;return;case 230:if(n.parent.name===n)return 13;return;case 232:if(n.parent.name===n)return 12;return;case 233:if(n.parent.name===n)return 14;return;case 146:if(n.parent.name===n)return e.isThisIdentifier(n)?3:17;return}return 2}}function g(a){if(a&&e.decodedTextSpanIntersectsWith(y,h,a.pos,a.getFullWidth())){r(t,a.kind);for(var i=0,o=a.getChildren(n);i=e.pos&&n<=e.end&&e});if(c){var u={isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:[]},_=t.text.substr(c.pos,n-c.pos),d=T.exec(_);if(d){var p=d[1],f=d[2],g=d[3],y=e.getDirectoryPath(t.path);if("path"===f){var h=m(g,c.pos+p.length);u.entries=i(g,y,e.getSupportedExtensions(r),!0,h,a,t.path);}else{var v={start:c.pos+p.length,length:d[0].length-p.length};u.entries=l(a,r,y,v);}}return u}}}}function l(t,n,r,a,i){if(void 0===i&&(i=[]),n.types)for(var o=0,s=n.types;o=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,n=e.charCodeAt(t);return 47===n||92===n}return!1}function y(t){return e.hasTrailingDirectorySeparator(t)?e.ensureTrailingDirectorySeparator(e.normalizePath(t)):e.normalizePath(t)}function h(e,t){return S(e,e.getDirectories)}function v(e,t,n,r,a){return S(e,e.readDirectory)}function b(e,t){return S(e,e.readFile)}function x(e,t){return S(e,e.fileExists)}function k(t,n){try{return e.directoryProbablyExists(n,t)}catch(e){}}function S(e,t){for(var n=[],r=2;r0&&(q=b(s,a)),!0}function d(n){var r=241===n.kind?238:244,a=e.getAncestor(n,r).moduleSpecifier;if(!a)return!1;J=!0,z=!1;var i=t.getSymbolAtLocation(a);if(!i)return q=e.emptyArray,!0;var o=t.getExportsAndPropertiesOfModule(i);return q=v(o,n.elements),!0}function p(e){if(e)switch(e.kind){case 17:case 26:var t=e.parent;if(t&&(178===t.kind||174===t.kind))return t}}function f(e){if(e)switch(e.kind){case 17:case 26:switch(e.parent.kind){case 241:case 245:return e.parent}}}function m(e){if(e){var t=e.parent;switch(e.kind){case 28:case 41:case 71:case 179:case 254:case 253:case 255:if(t&&(250===t.kind||251===t.kind))return t;if(253===t.kind)return t.parent.parent;break;case 9:if(t&&(253===t.kind||255===t.kind))return t.parent.parent;break;case 18:if(t&&256===t.kind&&t.parent&&253===t.parent.kind)return t.parent.parent.parent;if(t&&255===t.kind)return t.parent.parent}}}function g(t){if(!e.isFunctionLikeKind(t))return!1;switch(t){case 152:case 161:case 160:return!1;default:return!0}}function y(e){var t=e.parent.kind;switch(e.kind){case 26:return 226===t||227===t||208===t||232===t||g(t)||229===t||199===t||230===t||175===t||231===t;case 23:return 175===t;case 56:return 176===t;case 21:return 175===t;case 19:return 260===t||g(t);case 17:return 232===t||230===t||163===t;case 25:return 148===t&&e.parent&&e.parent.parent&&(230===e.parent.parent.kind||163===e.parent.parent.kind);case 27:return 229===t||199===t||230===t||231===t||g(t);case 115:return 149===t;case 24:return 146===t||e.parent&&e.parent.parent&&175===e.parent.parent.kind;case 114:case 112:case 113:return 146===t;case 118:return 242===t||246===t||240===t;case 75:case 83:case 109:case 89:case 104:case 125:case 135:case 91:case 110:case 76:case 116:case 138:return!0}switch(e.getText()){case"abstract":case"async":case"class":case"const":case"declare":case"enum":case"function":case"interface":case"let":case"private":case"protected":case"public":case"static":case"var":case"yield":return!0}return!1}function h(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}function v(t,n){for(var r=e.createMap(),i=0,o=n;i=0&&!g(n,r[a],106);a--);var i=d(t.statement);return e.forEach(i,function(e){p(t,e)&&g(n,e.getFirstToken(),72,77);}),n}function b(e){var t=f(e);if(t)switch(t.kind){case 214:case 215:case 216:case 212:case 213:return v(t);case 221:return x(t)}}function x(t){var n=[];return g(n,t.getFirstToken(),98),e.forEach(t.caseBlock.clauses,function(r){g(n,r.getFirstToken(),73,79);var a=d(r);e.forEach(a,function(e){p(t,e)&&g(n,e.getFirstToken(),72);});}),n}function k(t,n){var r=[];return g(r,t.getFirstToken(),102),t.catchClause&&g(r,t.catchClause.getFirstToken(),74),t.finallyBlock&&g(r,e.findChildOfKind(t,87,n),87),r}function S(t){var n=_(t);if(n){var r=[];return e.forEach(l(n),function(e){g(r,e.getFirstToken(),100);}),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,function(e){g(r,e.getFirstToken(),96);}),r}}function T(t){var n=e.getContainingFunction(t);if(n&&s(n.body,207)){var r=[];return e.forEachReturnStatement(n.body,function(e){g(r,e.getFirstToken(),96);}),e.forEach(l(n.body),function(e){g(r,e.getFirstToken(),100);}),r}}function C(t,n){for(var a=[];s(t.parent,211)&&t.parent.elseStatement===t;)t=t.parent;for(;t;){var i=t.getChildren();g(a,i[0],90);for(c=i.length-1;c>=0&&!g(a,i[c],82);c--);if(!s(t.elseStatement,211))break;t=t.elseStatement;}for(var o=[],c=0;c=u.end;d--)if(!e.isWhiteSpaceSingleLine(n.text.charCodeAt(d))){_=!1;break}if(_){o.push({fileName:n.fileName,textSpan:e.createTextSpanFromBounds(u.getStart(),l.end),kind:e.HighlightSpanKind.reference}),c++;continue}}o.push(r(a[c],n));}return o}function E(e,t){for(var n=e.parent;222===n.kind;n=n.parent)if(n.label.text===t)return!0;return!1}t.getDocumentHighlights=n;}(e.DocumentHighlights||(e.DocumentHighlights={}));}(r||(r={}));!function(e){function t(t,n){function r(e){return"_"+e.target+"|"+e.module+"|"+e.noResolve+"|"+e.jsx+"|"+e.allowJs+"|"+e.baseUrl+"|"+JSON.stringify(e.typeRoots)+"|"+JSON.stringify(e.rootDirs)+"|"+JSON.stringify(e.paths)}function a(t,n){var r=p.get(t);return!r&&n&&p.set(t,r=e.createFileMap()),r}function i(){var t=e.arrayFrom(p.keys()).filter(function(e){return e&&"_"===e.charAt(0)}).map(function(e){var t=[];return p.get(e).forEachValue(function(e,n){t.push({name:e,refCount:n.languageServiceRefCount,references:n.owners.slice(0)});}),t.sort(function(e,t){return t.refCount-e.refCount}),{bucket:e,sourceFiles:t}});return JSON.stringify(t,void 0,2)}function o(t,a,i,o,c){return s(t,e.toPath(t,n,f),a,r(a),i,o,c)}function s(e,t,n,r,a,i,o){return l(e,t,n,r,a,i,!0,o)}function c(t,a,i,o,s){return u(t,e.toPath(t,n,f),a,r(a),i,o,s)}function u(e,t,n,r,a,i,o){return l(e,t,n,r,a,i,!1,o)}function l(t,n,r,i,o,s,c,u){var l=a(i,!0),_=l.get(n);return _?_.sourceFile.version!==s&&(_.sourceFile=e.updateLanguageServiceSourceFile(_.sourceFile,o,s,o.getChangeRange(_.sourceFile.scriptSnapshot))):(e.Debug.assert(c,"How could we be trying to update a document that the registry doesn't have?"),_={sourceFile:e.createLanguageServiceSourceFile(t,o,r.target,s,!1,u),languageServiceRefCount:0,owners:[]},l.set(n,_)),c&&_.languageServiceRefCount++,_.sourceFile}function _(t,a){return d(e.toPath(t,n,f),r(a))}function d(t,n){var r=a(n,!1);e.Debug.assert(void 0!==r);var i=r.get(t);i.languageServiceRefCount--,e.Debug.assert(i.languageServiceRefCount>=0),0===i.languageServiceRefCount&&r.remove(t);}void 0===n&&(n="");var p=e.createMap(),f=e.createGetCanonicalFileName(!!t);return{acquireDocument:o,acquireDocumentWithKey:s,updateDocument:c,updateDocumentWithKey:u,releaseDocument:_,releaseDocumentWithKey:d,reportStats:i,getKeyForCompilationSettings:r}}e.createDocumentRegistry=t;}(r||(r={}));!function(e){!function(n){function r(e,n,r){var o=s(e,n,r);return function(s,c,u){var l=a(e,o,c,n,r),_=l.directImports,d=l.indirectUsers;return t({indirectUsers:d},i(_,s,c.exportKind,n,u))}}function a(t,n,r,a,i){function s(t){var n=_(t);if(n)for(var r=0,o=n;r=0&&!(u>a);){var l=u+c;0!==u&&e.isIdentifierPart(o.charCodeAt(u-1),5)||l!==s&&e.isIdentifierPart(o.charCodeAt(l),5)||i.push(u),u=o.indexOf(n,u+c+1);}return i}function y(t,r){for(var a=[],i=t.getSourceFile(),o=r.text,s=0,c=g(i,o,t.getStart(),t.getEnd());s0);for(var n=0,r=t;n0);for(var n=e.PatternMatchKind.camelCase,r=0,a=t;r0)return r}switch(t.kind){case 265:var a=t;return e.isExternalModule(a)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(a.fileName))))+'"':"";case 187:case 228:case 186:case 229:case 199:return 512&e.getModifierFlags(t)?"default":w(t);case 152:return"constructor";case 156:return"new()";case 155:return"()";case 157:return"[]";case 290:return b(t);default:return""}}function b(e){if(e.name)return e.name.text;var t=e.parent&&e.parent.parent;if(t&&208===t.kind&&t.declarationList.declarations.length>0){var n=t.declarationList.declarations[0].name;if(71===n.kind)return n.text}return""}function x(t){function n(e){if(r(e)&&(a.push(e),e.children))for(var t=0,i=e.children;t0?e.declarationNameToString(t.name):226===t.parent.kind?e.declarationNameToString(t.parent.name):194===t.parent.kind&&58===t.parent.operatorToken.kind?i(t.parent.left).replace(R,""):261===t.parent.kind&&t.parent.name?i(t.parent.name):512&e.getModifierFlags(t)?"default":e.isClassLike(t)?"":""}function O(e){return 186===e.kind||187===e.kind||199===e.kind}var P,F,I,R=/\s+/g,M=[],L=[];t.getNavigationBarItems=n,t.getNavigationTree=r;}(e.NavigationBar||(e.NavigationBar={}));}(r||(r={}));!function(e){!function(t){function n(t,n){function r(n,r,a,i){if(n&&r&&a){var o={textSpan:e.createTextSpanFromBounds(r.pos,a.end),hintSpan:e.createTextSpanFromNode(n,t),bannerText:l,autoCollapse:i};u.push(o);}}function a(t,n){if(t){var r={textSpan:e.createTextSpanFromBounds(t.pos,t.end),hintSpan:e.createTextSpanFromBounds(t.pos,t.end),bannerText:l,autoCollapse:n};u.push(r);}}function i(r){var i=e.getLeadingCommentRangesOfNode(r,t);if(i){for(var s=-1,c=-1,u=!0,l=0,_=0,d=i;_1&&a({kind:2,pos:t,end:n},!1);}function s(t){return e.isFunctionBlock(t)&&187!==t.parent.kind}function c(a){if(n.throwIfCancellationRequested(),!(_>d)){switch(e.isDeclaration(a)&&i(a),a.kind){case 207:if(!e.isFunctionBlock(a)){var o=a.parent,p=e.findChildOfKind(a,17,t),f=e.findChildOfKind(a,18,t);if(212===o.kind||215===o.kind||216===o.kind||214===o.kind||211===o.kind||213===o.kind||220===o.kind||260===o.kind){r(o,p,f,s(a));break}if(224===o.kind){var m=o;if(m.tryBlock===a){r(o,p,f,s(a));break}if(m.finallyBlock===a){var g=e.findChildOfKind(m,87,t);if(g){r(g,p,f,s(a));break}}}var y=e.createTextSpanFromNode(a);u.push({textSpan:y,hintSpan:y,bannerText:l,autoCollapse:s(a)});break}case 234:var p=e.findChildOfKind(a,17,t),f=e.findChildOfKind(a,18,t);r(a.parent,p,f,s(a));break;case 229:case 230:case 232:case 178:case 235:r(a,p=e.findChildOfKind(a,17,t),f=e.findChildOfKind(a,18,t),s(a));break;case 177:r(a,e.findChildOfKind(a,21,t),e.findChildOfKind(a,22,t),s(a));}_++,e.forEachChild(a,c),_--;}}var u=[],l="...",_=0,d=20;return c(t),u}t.collectElements=n;}(e.OutliningElementsCollector||(e.OutliningElementsCollector={}));}(r||(r={}));!function(e){function t(e,t,n,r){return{kind:e,punctuationStripped:t,isCaseSensitive:n,camelCaseWeight:r}}function n(n){function o(e){return b||!e}function c(t){if(!o(t))return f(t,e.lastOrUndefined(v))}function l(t,n){if(!o(n)){var r=f(n,e.lastOrUndefined(v));if(r&&(t=t||[],!(v.length-1>t.length))){for(var a=r,i=v.length-2,s=t.length-1;i>=0;i-=1,s-=1){var c=v[i],u=f(t[s],c);if(!u)return;e.addRange(a,u);}return a}}}function _(e){var t=h.get(e);return t||h.set(e,t=m(e)),t}function d(n,r,a){var o=s(n,r.textLowerCase);if(0===o)return r.text.length===n.length?t(x.exact,a,n===r.text):t(x.prefix,a,e.startsWith(n,r.text));var c=r.isLowerCase;if(c){if(o>0)for(var u=0,l=_(n);u0)return t(x.substring,a,!0);if(!c&&r.characterSpans.length>0){var p=_(n),f=y(n,p,r,!1);if(void 0!==f)return t(x.camelCase,a,!0,f);if(void 0!==(f=y(n,p,r,!0)))return t(x.camelCase,a,!1,f)}return c&&r.text.length0&&i(n.charCodeAt(o))?t(x.substring,a,!1):void 0}function p(e){for(var t=0;tt.length)return!1;if(r)for(l=0;l1}}function r(e){return{totalTextChunk:p(e),subWordTextChunks:d(e)}}function a(e){return 0===e.subWordTextChunks.length}function i(t){if(t>=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,5))return!1;var n=String.fromCharCode(t);return n===n.toUpperCase()}function o(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,5))return!1;var n=String.fromCharCode(t);return n===n.toLowerCase()}function s(e,t){for(var n=e.length-t.length,r=0;r<=n;r++)if(c(e,t,r))return r;return-1}function c(e,t,n){for(var r=0;r=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function l(e){return e>=48&&e<=57}function _(e){return i(e)||o(e)||l(e)||95===e||36===e}function d(e){for(var t=[],n=0,r=0,a=0;a0&&(t.push(p(e.substr(n,r))),r=0);return r>0&&t.push(p(e.substr(n,r))),t}function p(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:f(e)}}function f(e){return g(e,!1)}function m(e){return g(e,!0)}function g(t,n){for(var r=[],a=0,i=1;i0){if(e.some(c,o))return i(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);if(71===t.kind&&79===t.originalKeywordKind&&1536&s.parent.flags)return;var u=e.stripQuotes(e.getDeclaredName(n,s,t)),l=e.SymbolDisplay.getSymbolKind(n,s,t);return l?a(u,n.getFullyQualifiedName(s),l,e.SymbolDisplay.getSymbolModifiers(s),t,r):void 0}}else if(9===t.kind)return o(t)?i(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library):a(u=e.stripQuotes(t.text),u,e.ScriptElementKind.variableElement,e.ScriptElementKindModifier.none,t,r)}function a(e,t,n,r,a,i){return{canRename:!0,kind:n,displayName:e,localizedErrorMessage:void 0,fullDisplayName:t,kindModifiers:r,triggerSpan:o(a,i)}}function i(t){return{canRename:!1,localizedErrorMessage:e.getLocaleSpecificMessage(t),displayName:void 0,fullDisplayName:void 0,kind:void 0,kindModifiers:void 0,triggerSpan:void 0}}function o(t,n){var r=t.getStart(n),a=t.getWidth(n);return 9===t.kind&&(r+=1,a-=2),e.createTextSpan(r,a)}function s(t){return 71===t.kind||9===t.kind||e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t)||e.isThis(t)}t.getRenameInfo=n;}(e.Rename||(e.Rename={}));}(r||(r={}));!function(e){!function(t){function n(t,n,a,i){var o=t.getTypeChecker(),s=e.findTokenOnLeftOfPosition(n,a);if(s){var c=_(s,a,n);if(i.throwIfCancellationRequested(),c){var u=c.invocation,l=[],d=o.getResolvedSignature(u,l);if(i.throwIfCancellationRequested(),l.length)return f(l,d,c,o);if(e.isSourceFileJavaScript(n))return r(c,t)}}}function r(e,t){if(181===e.invocation.kind){var n=e.invocation.expression,r=71===n.kind?n:179===n.kind?n.name:void 0;if(r&&r.text)for(var a=t.getTypeChecker(),i=0,o=t.getSourceFiles();i0&&26===e.lastOrUndefined(n).kind&&r++,r}function s(t,n,r){return e.Debug.assert(r>=n.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralKind(n.kind)?e.isInsideTemplateLiteral(n,r)?0:t+2:t+1}function c(t,n,r){var a=13===t.template.kind?1:t.template.templateSpans.length+1;return e.Debug.assert(0===n||ni.parent.end)&&e.Debug.fail("Node of kind "+i.kind+" is not a subspan of its parent of kind "+i.parent.kind);var o=a(i,n,r);if(o)return o}}function d(t,n,r){var a=t.getChildren(r),i=a.indexOf(n);return e.Debug.assert(i>=0&&a.length>i+1),a[i+1]}function p(e,t){for(var n=-1,r=-1,a=0;a=t)return a;i.parameters.length>r&&(r=i.parameters.length,n=a);}return n}function f(t,n,r,a){function i(t){var n=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildParameterDisplay(t,e,u)});return{name:t.name,documentation:t.getDocumentationComment(),displayParts:n,isOptional:a.isOptionalParameter(t.valueDeclaration)}}function o(t){var n=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildTypeParameterDisplay(t,e,u)});return{name:t.symbol.name,documentation:m,displayParts:n,isOptional:!1}}var s=r.argumentsSpan,c=0===r.kind,u=r.invocation,l=e.getInvokedExpression(u),_=a.getSymbolAtLocation(l),d=_&&e.symbolToDisplayParts(a,_,void 0,void 0),f=e.map(t,function(t){var n,r=[],s=[];d&&e.addRange(r,d);var l;if(c){l=!1,r.push(e.punctuationPart(27));var _=t.typeParameters;n=_&&_.length>0?e.map(_,o):m,s.push(e.punctuationPart(29));var p=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(t.thisParameter,t.parameters,e,u)});e.addRange(s,p);}else{l=t.hasRestParameter;var f=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(t.typeParameters,e,u)});e.addRange(r,f),r.push(e.punctuationPart(19));var g=t.parameters;n=g.length>0?e.map(g,i):m,s.push(e.punctuationPart(20));}var y=e.mapToDisplayParts(function(e){return a.getSymbolDisplayBuilder().buildReturnTypeDisplay(t,e,u)});return e.addRange(s,y),{isVariadic:l,prefixDisplayParts:r,suffixDisplayParts:s,separatorDisplayParts:[e.punctuationPart(26),e.spacePart()],parameters:n,documentation:t.getDocumentationComment(),tags:t.getJsDocTags()}}),g=r.argumentIndex,y=r.argumentCount,h=t.indexOf(n);return h<0&&(h=p(t,y)),e.Debug.assert(0===g||g0?e.getNodeModifiers(t.declarations[0]):e.ScriptElementKindModifier.none}function i(t,a,i,o,s,c){function u(){b.length&&b.push(e.lineBreakPart());}function l(){b.push(e.spacePart()),b.push(e.keywordPart(92)),b.push(e.spacePart());}function _(n,r){var a=e.symbolToDisplayParts(t,n,r||i,void 0,3);e.addRange(b,a);}function d(t,n){u(),n&&(p(n),b.push(e.spacePart()),_(t));}function p(t){switch(t){case e.ScriptElementKind.variableElement:case e.ScriptElementKind.functionElement:case e.ScriptElementKind.letElement:case e.ScriptElementKind.constElement:case e.ScriptElementKind.constructorImplementationElement:return void b.push(e.textOrKeywordPart(t));default:return b.push(e.punctuationPart(19)),b.push(e.textOrKeywordPart(t)),void b.push(e.punctuationPart(20))}}function f(n,r,a){e.addRange(b,e.signatureToDisplayParts(t,n,o,32|a)),r.length>1&&(b.push(e.spacePart()),b.push(e.punctuationPart(19)),b.push(e.operatorPart(37)),b.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),b.push(e.spacePart()),b.push(e.textPart(2===r.length?"overload":"overloads")),b.push(e.punctuationPart(20))),g=n.getDocumentationComment(),y=n.getJsDocTags();}function m(n,r){var a=e.mapToDisplayParts(function(e){t.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(n,e,r);});e.addRange(b,a);}void 0===c&&(c=e.getMeaningFromLocation(s));var g,y,h,v,b=[],x=a.flags,k=r(t,a,s),S=99===s.kind&&e.isExpression(s);if(k!==e.ScriptElementKind.unknown||32&x||8388608&x){k!==e.ScriptElementKind.memberGetAccessorElement&&k!==e.ScriptElementKind.memberSetAccessorElement||(k=e.ScriptElementKind.memberVariableElement);P=void 0;if(v=S?t.getTypeAtLocation(s):t.getTypeOfSymbolAtLocation(a,s)){if(s.parent&&179===s.parent.kind){var T=s.parent.name;(T===s||T&&0===T.getFullWidth())&&(s=s.parent);}var C=void 0;if(181===s.kind||182===s.kind?C=s:e.isCallExpressionTarget(s)||e.isNewExpressionTarget(s)?C=s.parent:s.parent&&e.isJsxOpeningLikeElement(s.parent)&&e.isFunctionLike(a.valueDeclaration)&&(C=s.parent),C){var E=[];!(P=t.getResolvedSignature(C,E))&&E.length&&(P=E[0]);var D=182===C.kind||e.isCallExpression(C)&&97===C.expression.kind,N=D?v.getConstructSignatures():v.getCallSignatures();if(e.contains(N,P.target)||e.contains(N,P)||(P=N.length?N[0]:void 0),P){switch(D&&32&x?(k=e.ScriptElementKind.constructorImplementationElement,d(v.symbol,k)):8388608&x?(p(k=e.ScriptElementKind.alias),b.push(e.spacePart()),D&&(b.push(e.keywordPart(94)),b.push(e.spacePart())),_(a)):d(a,k),k){case e.ScriptElementKind.jsxAttribute:case e.ScriptElementKind.memberVariableElement:case e.ScriptElementKind.variableElement:case e.ScriptElementKind.constElement:case e.ScriptElementKind.letElement:case e.ScriptElementKind.parameterElement:case e.ScriptElementKind.localVariableElement:b.push(e.punctuationPart(56)),b.push(e.spacePart()),D&&(b.push(e.keywordPart(94)),b.push(e.spacePart())),32768&v.flags&&16&v.objectFlags||!v.symbol||e.addRange(b,e.symbolToDisplayParts(t,v.symbol,o,void 0,1)),f(P,N,8);break;default:f(P,N);}h=!0;}}else if(e.isNameOfFunctionDeclaration(s)&&!(98304&a.flags)||123===s.kind&&152===s.parent.kind){var A=s.parent,N=152===A.kind?v.getNonNullableType().getConstructSignatures():v.getNonNullableType().getCallSignatures();P=t.isImplementationOfOverload(A)?N[0]:t.getSignatureFromDeclaration(A),152===A.kind?(k=e.ScriptElementKind.constructorImplementationElement,d(v.symbol,k)):d(155!==A.kind||2048&v.symbol.flags||4096&v.symbol.flags?a:v.symbol,k),f(P,N),h=!0;}}}if(32&x&&!h&&!S&&(e.getDeclarationOfKind(a,199)?p(e.ScriptElementKind.localClassElement):b.push(e.keywordPart(75)),b.push(e.spacePart()),_(a),m(a,i)),64&x&&2&c&&(u(),b.push(e.keywordPart(109)),b.push(e.spacePart()),_(a),m(a,i)),524288&x&&(u(),b.push(e.keywordPart(138)),b.push(e.spacePart()),_(a),m(a,i),b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),e.addRange(b,e.typeToDisplayParts(t,t.getDeclaredTypeOfSymbol(a),o,512))),384&x&&(u(),e.forEach(a.declarations,e.isConstEnumDeclaration)&&(b.push(e.keywordPart(76)),b.push(e.spacePart())),b.push(e.keywordPart(83)),b.push(e.spacePart()),_(a)),1536&x){u();var w=(O=e.getDeclarationOfKind(a,233))&&O.name&&71===O.name.kind;b.push(e.keywordPart(w?129:128)),b.push(e.spacePart()),_(a);}if(262144&x&&2&c)if(u(),b.push(e.punctuationPart(19)),b.push(e.textPart("type parameter")),b.push(e.punctuationPart(20)),b.push(e.spacePart()),_(a),a.parent)l(),_(a.parent,o),m(a.parent,o);else{var O=e.getDeclarationOfKind(a,145);if(e.Debug.assert(void 0!==O),O=O.parent)if(e.isFunctionLikeKind(O.kind)){l();var P=t.getSignatureFromDeclaration(O);156===O.kind?(b.push(e.keywordPart(94)),b.push(e.spacePart())):155!==O.kind&&O.name&&_(O.symbol),e.addRange(b,e.signatureToDisplayParts(t,P,i,32));}else 231===O.kind&&(l(),b.push(e.keywordPart(138)),b.push(e.spacePart()),_(O.symbol),m(O.symbol,i));}if(8&x&&(k=e.ScriptElementKind.enumMemberElement,d(a,"enum member"),264===(O=a.declarations[0]).kind)){var F=t.getConstantValue(O);void 0!==F&&(b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),b.push(e.displayPart(F.toString(),e.SymbolDisplayPartKind.numericLiteral)));}if(8388608&x&&(u(),236===a.declarations[0].kind?(b.push(e.keywordPart(84)),b.push(e.spacePart()),b.push(e.keywordPart(129))):b.push(e.keywordPart(91)),b.push(e.spacePart()),_(a),e.forEach(a.declarations,function(n){if(237===n.kind){var r=n;if(e.isExternalModuleImportEqualsDeclaration(r))b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),b.push(e.keywordPart(132)),b.push(e.punctuationPart(19)),b.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),b.push(e.punctuationPart(20));else{var a=t.getSymbolAtLocation(r.moduleReference);a&&(b.push(e.spacePart()),b.push(e.operatorPart(58)),b.push(e.spacePart()),_(a,o));}return!0}})),!h)if(k!==e.ScriptElementKind.unknown){if(v)if(S?(u(),b.push(e.keywordPart(99))):d(a,k),k===e.ScriptElementKind.memberVariableElement||k===e.ScriptElementKind.jsxAttribute||3&x||k===e.ScriptElementKind.localVariableElement||S)if(b.push(e.punctuationPart(56)),b.push(e.spacePart()),v.symbol&&262144&v.symbol.flags){var I=e.mapToDisplayParts(function(e){t.getSymbolDisplayBuilder().buildTypeParameterDisplay(v,e,o);});e.addRange(b,I);}else e.addRange(b,e.typeToDisplayParts(t,v,o));else(16&x||8192&x||16384&x||131072&x||98304&x||k===e.ScriptElementKind.memberFunctionElement)&&f((N=v.getNonNullableType().getCallSignatures())[0],N);}else k=n(t,a,s);if(!g&&(g=a.getDocumentationComment(),y=a.getJsDocTags(),0===g.length&&4&a.flags&&a.parent&&e.forEach(a.parent.declarations,function(e){return 265===e.kind})))for(var R=0,M=a.declarations;R0))break}return{displayParts:b,documentation:g,symbolKind:k,tags:y}}function o(t){return!t.parent&&e.forEach(t.declarations,function(t){if(186===t.kind)return!0;if(226!==t.kind&&228!==t.kind)return!1;for(var n=t.parent;!e.isFunctionBlock(n);n=n.parent)if(265===n.kind||234===n.kind)return!1;return!0})}t.getSymbolKind=n,t.getSymbolModifiers=a,t.getSymbolDisplayPartsDocumentationAndSymbolKind=i;}(e.SymbolDisplay||(e.SymbolDisplay={}));}(r||(r={}));!function(e){function t(t,n){var a=[],i=n.compilerOptions?r(n.compilerOptions,a):e.getDefaultCompilerOptions();i.isolatedModules=!0,i.suppressOutputPathCheck=!0,i.allowNonTsExtensions=!0,i.noLib=!0,i.lib=void 0,i.types=void 0,i.noEmit=void 0,i.noEmitOnError=void 0,i.paths=void 0,i.rootDirs=void 0,i.declaration=void 0,i.declarationDir=void 0,i.out=void 0,i.outFile=void 0,i.noResolve=!0;var o=n.fileName||(i.jsx?"module.tsx":"module.ts"),s=e.createSourceFile(o,t,i.target);n.moduleName&&(s.moduleName=n.moduleName),n.renamedDependencies&&(s.renamedDependencies=e.createMapFromTemplate(n.renamedDependencies));var c,u,l=e.getNewLineCharacter(i),_={getSourceFile:function(t){return t===e.normalizePath(o)?s:void 0},writeFile:function(t,n){e.fileExtensionIs(t,".map")?(e.Debug.assert(void 0===u,"Unexpected multiple source map outputs for the file '"+t+"'"),u=n):(e.Debug.assert(void 0===c,"Unexpected multiple outputs for the file: '"+t+"'"),c=n);},getDefaultLibFileName:function(){return"lib.d.ts"},useCaseSensitiveFileNames:function(){return!1},getCanonicalFileName:function(e){return e},getCurrentDirectory:function(){return""},getNewLine:function(){return l},fileExists:function(e){return e===o},readFile:function(){return""},directoryExists:function(){return!0},getDirectories:function(){return[]}},d=e.createProgram([o],i,_);return n.reportDiagnostics&&(e.addRange(a,d.getSyntacticDiagnostics(s)),e.addRange(a,d.getOptionsDiagnostics())),d.emit(),e.Debug.assert(void 0!==c,"Output generation failed"),{outputText:c,diagnostics:a,sourceMapText:u}}function n(n,r,a,i,o){var s=t(n,{compilerOptions:r,fileName:a,reportDiagnostics:!!i,moduleName:o});return e.addRange(i,s.diagnostics),s.outputText}function r(t,n){a=a||e.filter(e.optionDeclarations,function(t){return"object"==typeof t.type&&!e.forEachEntry(t.type,function(e){return"number"!=typeof e})}),t=e.clone(t);for(var r=0,i=a;r>=5,n+=5;return t},t.prototype.IncreaseInsertionIndex=function(t){var n=this.rulesInsertionIndexBitmap>>t&31;n++,e.Debug.assert((31&n)===n,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.");var r=this.rulesInsertionIndexBitmap&~(31<=0},t}();t.TokenRangeAccess=n;var r=function(){function e(e){this.tokens=e&&e.length?e:[];}return e.prototype.GetTokens=function(){return this.tokens},e.prototype.Contains=function(e){return this.tokens.indexOf(e)>=0},e}();t.TokenValuesAccess=r;var a=function(){function e(e){this.token=e;}return e.prototype.GetTokens=function(){return[this.token]},e.prototype.Contains=function(e){return e===this.token},e}();t.TokenSingleValueAccess=a;var i=function(){function e(){}return e.prototype.GetTokens=function(){for(var e=[],t=0;t<=142;t++)e.push(t);return e},e.prototype.Contains=function(){return!0},e.prototype.toString=function(){return"[allTokens]"},e}();t.TokenAllAccess=i;var o=function(){function e(e){this.tokenAccess=e;}return e.FromToken=function(t){return new e(new a(t))},e.FromTokens=function(t){return new e(new r(t))},e.FromRange=function(t,r,a){return void 0===a&&(a=[]),new e(new n(t,r,a))},e.AllTokens=function(){return new e(new i)},e.prototype.GetTokens=function(){return this.tokenAccess.GetTokens()},e.prototype.Contains=function(e){return this.tokenAccess.Contains(e)},e.prototype.toString=function(){return this.tokenAccess.toString()},e}();o.Any=o.AllTokens(),o.AnyIncludingMultilineComments=o.FromTokens(o.Any.GetTokens().concat([3])),o.Keywords=o.FromRange(72,142),o.BinaryOperators=o.FromRange(27,70),o.BinaryKeywordOperators=o.FromTokens([92,93,142,118,126]),o.UnaryPrefixOperators=o.FromTokens([43,44,52,51]),o.UnaryPrefixExpressions=o.FromTokens([8,71,19,21,17,99,94]),o.UnaryPreincrementExpressions=o.FromTokens([71,19,99,94]),o.UnaryPostincrementExpressions=o.FromTokens([71,20,22,94]),o.UnaryPredecrementExpressions=o.FromTokens([71,19,99,94]),o.UnaryPostdecrementExpressions=o.FromTokens([71,20,22,94]),o.Comments=o.FromTokens([2,3]),o.TypeNames=o.FromTokens([71,133,136,122,137,105,119]),t.TokenRange=o;}(t.Shared||(t.Shared={}));}(e.formatting||(e.formatting={}));}(r||(r={}));!function(e){!function(t){var n=function(){function n(){this.globalRules=new t.Rules;var e=this.globalRules.HighPriorityCommonRules.slice(0).concat(this.globalRules.UserConfigurableRules).concat(this.globalRules.LowPriorityCommonRules);this.rulesMap=t.RulesMap.create(e);}return n.prototype.getRuleName=function(e){return this.globalRules.getRuleName(e)},n.prototype.getRuleByName=function(e){return this.globalRules[e]},n.prototype.getRulesMap=function(){return this.rulesMap},n.prototype.getFormatOptions=function(){return this.options},n.prototype.ensureUpToDate=function(t){this.options&&e.compareDataObjects(this.options,t)||(this.options=e.clone(t));},n}();t.RulesProvider=n;}(e.formatting||(e.formatting={}));}(r||(r={}));!function(e){!function(t){function n(t,n,r,a){var i=n.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var o=e.getEndLinePosition(i,n);e.isWhiteSpaceSingleLine(n.text.charCodeAt(o));)o--;return e.isLineBreak(n.text.charCodeAt(o))&&o--,m({pos:e.getStartPositionOfLine(i-1,n),end:o+1},n,a,r,2)}function r(e,t,n,r){return s(e,25,t,r,n,3)}function a(e,t,n,r){return s(e,18,t,r,n,4)}function i(e,t,n){return m({pos:0,end:e.text.length},e,n,t,0)}function o(t,n,r,a,i){return m({pos:e.getLineStartPositionForPosition(t,r),end:n},r,i,a,1)}function s(t,n,r,a,i,o){var s=c(t,n,r);return s?m({pos:e.getLineStartPositionForPosition(s.getStart(r),r),end:s.end},r,a,i,o):[]}function c(t,n,r){var a=e.findPrecedingToken(t,r);if(a&&a.kind===n&&t===a.getEnd()){for(var i=a;i&&i.parent&&i.parent.end===a.end&&!u(i.parent,i);)i=i.parent;return i}}function u(t,n){switch(t.kind){case 229:case 230:return e.rangeContainsRange(t.members,n);case 233:var r=t.body;return r&&234===r.kind&&e.rangeContainsRange(r.statements,n);case 265:case 207:case 234:return e.rangeContainsRange(t.statements,n);case 260:return e.rangeContainsRange(t.block.statements,n)}return!1}function l(t,n){function r(a){var i=e.forEachChild(a,function(r){return e.startEndContainsRange(r.getStart(n),r.end,t)&&r});if(i){var o=r(i);if(o)return o}return a}return r(n)}function _(t,n){function r(){return!1}if(!t.length)return r;var a=t.filter(function(t){return e.rangeOverlapsWithStartEnd(n,t.start,t.start+t.length)}).sort(function(e,t){return e.start-t.start});if(!a.length)return r;var i=0;return function(t){for(;;){if(i>=a.length)return!1;var n=a[i];if(t.end<=n.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,n.start,n.start+n.length))return!0;i++;}}}function d(t,n,r){var a=t.getStart(r);if(a===n.pos&&t.end===n.end)return a;var i=e.findPrecedingToken(n.pos,r);return i?i.end>=n.pos?t.pos:i.end:t.pos}function p(e,n,r){for(var a,i=-1;e;){var o=r.getLineAndCharacterOfPosition(e.getStart(r)).line;if(-1!==i&&o!==i)break;if(t.SmartIndenter.shouldIndentChildNode(e,a))return n.indentSize;i=o,a=e,e=e.parent;}return 0}function f(e,n,r,a,i,o){var s={pos:0,end:n.text.length};return g(s,e,a,i,t.getFormattingScanner(n.text,r,s.pos,s.end),o.getFormatOptions(),o,1,function(e){return!1},n)}function m(e,n,r,a,i){var o=l(e,n);return g(e,o,t.SmartIndenter.getIndentationForNode(o,e,n,r),p(o,r,n),t.getFormattingScanner(n.text,n.languageVariant,d(o,e,n),e.end),r,a,i,_(n.parseDiagnostics,e),n)}function g(n,r,a,i,o,s,c,u,l,_){function d(n,r,a,i,o){if(e.rangeOverlapsWithStartEnd(i,n,r)||e.rangeContainsStartEnd(i,n,r)){if(-1!==o)return o}else{var c=_.getLineAndCharacterOfPosition(n).line,u=e.getLineStartPositionForPosition(n,_),l=t.SmartIndenter.findFirstNonWhitespaceColumn(u,n,_,s);if(c!==a||n===l){var d=t.SmartIndenter.getBaseIndentation(s);return d>l?d:l}}return-1}function p(e,n,r,a,i,o){var c=r,u=t.SmartIndenter.shouldIndentChildNode(e)?s.indentSize:0;return o===n?(c=n===L?B:i.getIndentation(),u=Math.min(s.indentSize,i.getDelta(e)+u)):-1===c&&(c=t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(a,e,n,_)?i.getIndentation():i.getIndentation()+i.getDelta(e)),{indentation:c,delta:u}}function f(t){if(t.modifiers&&t.modifiers.length)return t.modifiers[0].kind;switch(t.kind){case 229:return 75;case 230:return 109;case 228:return 89;case 232:return 232;case 153:return 125;case 154:return 135;case 151:if(t.asteriskToken)return 39;case 149:case 146:return e.getNameOfDeclaration(t).kind}}function m(e,n,r,a){function i(n,r){return t.SmartIndenter.nodeWillIndentChild(e,r,!0)?n:0}return{getIndentationForComment:function(e,t,n){switch(e){case 18:case 22:case 20:return r+i(a,n)}return-1!==t?t:r},getIndentationForToken:function(t,o,s){if(n!==t&&e.decorators&&o===f(e))return r;switch(o){case 17:case 18:case 19:case 20:case 82:case 106:case 57:return r;case 41:case 29:if(251===s.kind||252===s.kind||250===s.kind)return r;break;case 21:case 22:if(172!==s.kind)return r}return n!==t?r+i(a,s):r},getIndentation:function(){return r},getDelta:function(e){return i(a,e)},recomputeIndentation:function(n){e.parent&&t.SmartIndenter.shouldIndentChildNode(e.parent,e)&&(n?r+=s.indentSize:r-=s.indentSize,a=t.SmartIndenter.shouldIndentChildNode(e)?s.indentSize:0);}}}function g(t,r,a,i,s,c){function u(r,a,i,s,c,u,l,f){var m=r.getStart(_),y=_.getLineAndCharacterOfPosition(m).line,h=y;r.decorators&&(h=_.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(r,_)).line);var b=-1;if(l&&-1!==(b=d(m,r.end,c,n,a))&&(a=b),!e.rangeOverlapsWithStartEnd(n,r.pos,r.end))return r.endm);)v(x,t,s,t);if(!o.isOnToken())return a;if(e.isToken(r)&&10!==r.kind){var x=o.readTokenInfo(r);return e.Debug.assert(x.token.end===r.end,"Token end is child end"),v(x,t,s,r),a}var k=147===r.kind?y:u,S=p(r,y,b,t,s,k);return g(r,T,y,h,S.indentation,S.delta),T=t,f&&177===i.kind&&-1===a&&(a=S.indentation),a}function f(n,r,a,i){var s=y(r,n),c=h(s),l=i,d=a;if(0!==s)for(;o.isOnToken()&&!((x=o.readTokenInfo(r)).token.end>n.pos);)if(x.token.kind===s){d=_.getLineAndCharacterOfPosition(x.token.pos).line;var f=p(x.token,d,-1,r,i,a);v(x,r,l=m(r,a,f.indentation,f.delta),r);}else v(x,r,i,r);for(var g=-1,b=0;bt.end)break;v(C,t,k,t);}}}function b(t,r,a,i){for(var o=0,s=t;o0){var k=v(x,s);O(h,b.character,k);}else w(h,b.character);}}}else a||S(n.pos,r,!1);}function D(t,n,r){for(var a=t;ao)){var s=N(i,o);-1!==s&&(e.Debug.assert(s===i||!e.isWhiteSpaceSingleLine(_.text.charCodeAt(s-1))),w(s,o+1-s));}}}function N(t,n){for(var r=n;r>=t&&e.isWhiteSpaceSingleLine(_.text.charCodeAt(r));)r--;return r!==n?r+1:-1}function A(t,n,r){return{span:e.createTextSpan(t,n),newText:r}}function w(e,t){t&&j.push(A(e,t,""));}function O(e,t,n){(t||n)&&j.push(A(e,t,n));}function P(e,t,n,r,a){switch(e.Operation.Action){case 1:return;case 8:t.end!==r.pos&&w(t.end,r.pos-t.end);break;case 4:if(1!==e.Flag&&n!==a)return;1!==a-n&&O(t.end,r.pos-t.end,s.newLineCharacter);break;case 2:if(1!==e.Flag&&n!==a)return;1===r.pos-t.end&&32===_.text.charCodeAt(t.end)||O(t.end,r.pos-t.end," ");}}var F,I,R,M,L,B,K=new t.FormattingContext(_,u,s),j=[];if(o.advance(),o.isOnToken()){var J=_.getLineAndCharacterOfPosition(r.getStart(_)).line,z=J;r.decorators&&(z=_.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(r,_)).line),g(r,r,J,z,a,i);}if(!o.isOnToken()){var U=o.getCurrentLeadingTrivia();U&&(b(U,r,r,void 0),function(){var e=I?I.end:n.pos;D(_.getLineAndCharacterOfPosition(e).line,_.getLineAndCharacterOfPosition(n.end).line+1,I);}());}return o.close(),j}function y(e,t){switch(e.kind){case 152:case 228:case 186:case 151:case 150:case 187:if(e.typeParameters===t)return 27;if(e.parameters===t)return 19;break;case 181:case 182:if(e.typeArguments===t)return 27;if(e.arguments===t)return 19;break;case 159:if(e.typeArguments===t)return 27}return 0}function h(e){switch(e){case 19:return 20;case 27:return 29}return 0}function v(e,t){function n(e,t){for(var n="",r=0;rr.text.length)return a(o);if(o.indentStyle===e.IndentStyle.None)return 0;var _=e.findPrecedingToken(n,r);if(!_)return a(o);if(e.isStringOrRegularExpressionOrTemplateLiteral(_.kind)&&_.getStart(r)<=n&&_.end>n)return 0;var d=r.getLineAndCharacterOfPosition(n).line;if(o.indentStyle===e.IndentStyle.Block){for(var p=n;p>0;){var g=r.text.charCodeAt(p);if(!e.isWhiteSpaceLike(g))break;p--;}var y=e.getLineStartPositionForPosition(p,r);return t.findFirstNonWhitespaceColumn(y,p,r,o)}if(26===_.kind&&194!==_.parent.kind&&-1!==(T=s(_,r,o)))return T;for(var h,v,b,x=_;x;){if(e.positionBelongsToNode(x,n,r)&&k(x,h)){v=l(x,r);var S=u(_,x,d,r);b=0!==S?c&&2===S?o.indentSize:0:d!==v.line?o.indentSize:0;break}var T=f(x,r,o);if(-1!==T)return T;if(-1!==(T=m(x,r,o)))return T+o.indentSize;h=x,x=x.parent;}return x?i(x,v,void 0,b,r,o):a(o)}function r(e,t,n,r){return i(e,n.getLineAndCharacterOfPosition(e.getStart(n)),t,0,n,r)}function a(e){return e.baseIndentSize||0}function i(e,t,n,r,i,s){for(var u,l=e.parent;l;){var d=!0;if(n){var p=e.getStart(i);d=pn.end;}if(d&&-1!==(y=f(e,i,s)))return y+r;var g=(u=o(l,e,i)).line===t.line||_(l,e,t.line,i);if(d){var y=c(e,l,t,g,i,s);if(-1!==y)return y+r;if(-1!==(y=m(e,i,s)))return y+r}k(l,e)&&!g&&(r+=s.indentSize),t=u,l=(e=l).parent;}return r+a(s)}function o(e,t,n){var r=p(t,n);return r?n.getLineAndCharacterOfPosition(r.pos):n.getLineAndCharacterOfPosition(e.getStart(n))}function s(t,n,r){var a=e.findListItemInfo(t);return a&&a.listItemIndex>0?g(a.list.getChildren(),a.listItemIndex-1,n,r):-1}function c(t,n,r,a,i,o){return(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(265===n.kind||!a)?y(r,i,o):-1}function u(t,n,r,a){var i=e.findNextToken(t,n);return i?17===i.kind?1:18===i.kind&&r===l(i,a).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function _(t,n,r,a){if(211===t.kind&&t.elseStatement===n){var i=e.findChildOfKind(t,82,a);return e.Debug.assert(void 0!==i),l(i,a).line===r}return!1}function d(t,n,r){return t&&e.rangeContainsStartEnd(t,n,r)?t:void 0}function p(e,t){if(e.parent)switch(e.parent.kind){case 159:return d(e.parent.typeArguments,e.getStart(t),e.getEnd());case 178:return e.parent.properties;case 177:return e.parent.elements;case 228:case 186:case 187:case 151:case 150:case 155:case 152:case 161:case 156:n=e.getStart(t);return d(e.parent.typeParameters,n,e.getEnd())||d(e.parent.parameters,n,e.getEnd());case 229:return d(e.parent.typeParameters,e.getStart(t),e.getEnd());case 182:case 181:var n=e.getStart(t);return d(e.parent.typeArguments,n,e.getEnd())||d(e.parent.arguments,n,e.getEnd());case 227:return d(e.parent.declarations,e.getStart(t),e.getEnd());case 241:case 245:return d(e.parent.elements,e.getStart(t),e.getEnd())}}function f(t,n,r){var a=p(t,n);return a?function(a){var i=e.indexOf(a,t);return-1!==i?g(a,i,n,r):-1}(a):-1}function m(e,t,n){if(20===e.kind)return-1;if(e.parent&&(181===e.parent.kind||182===e.parent.kind)&&e.parent.expression!==e){var r=e.parent.expression,a=function(e){for(;;)switch(e.kind){case 181:case 182:case 179:case 180:e=e.expression;break;default:return e}}(r);if(r===a)return-1;var i=t.getLineAndCharacterOfPosition(r.end),o=t.getLineAndCharacterOfPosition(a.end);return i.line===o.line?-1:y(i,t,n)}return-1}function g(t,n,r,a){e.Debug.assert(n>=0&&n=0;o--)if(26!==t[o].kind){if(r.getLineAndCharacterOfPosition(t[o].end).line!==i.line)return y(i,r,a);i=l(t[o],r);}return-1}function y(e,t,n){var r=t.getPositionOfLineAndCharacter(e.line,0);return v(r,r+e.character,t,n)}function h(t,n,r,a){for(var i=0,o=0,s=t;s=0;r--){var a=n[r];t=""+t.substring(0,a.span.start)+a.newText+t.substring(e.textSpanEnd(a.span));}return t}function g(t){return e.skipTrivia(t,0)===t.length}function y(t){function r(){}var i=e.visitEachChild(t,y,x,h,y),o=e.nodeIsSynthesized(i)?i:(r.prototype=i,new r);return o.pos=n(t),o.end=a(t),o}function h(t,r,i,o,s){var c=e.visitNodes(t,r,i,o,s);if(!c)return c;var u=c===t?e.createNodeArray(c.slice(0)):c;return u.pos=n(t),u.end=a(t),u}var v;!function(e){e[e.FullStart=0]="FullStart",e[e.Start=1]="Start";}(v=t.Position||(t.Position={})),t.getSeparatorCharacter=c,t.getAdjustedStartPosition=u,t.getAdjustedEndPosition=l;var b=function(){function t(t,n,r){this.newLine=t,this.rulesProvider=n,this.validator=r,this.changes=[],this.newLineCharacter=e.getNewLineCharacter({newLine:t});}return t.fromCodeFixContext=function(e){return new t("\n"===e.newLineCharacter?1:0,e.rulesProvider)},t.prototype.deleteNode=function(e,t,n){void 0===n&&(n={});var r=u(e,t,n,v.FullStart),a=l(e,t,n);return this.changes.push({sourceFile:e,options:n,range:{pos:r,end:a}}),this},t.prototype.deleteRange=function(e,t){return this.changes.push({sourceFile:e,range:t}),this},t.prototype.deleteNodeRange=function(e,t,n,r){void 0===r&&(r={});var a=u(e,t,r,v.FullStart),i=l(e,n,r);return this.changes.push({sourceFile:e,options:r,range:{pos:a,end:i}}),this},t.prototype.deleteNodeInList=function(t,n){var r=e.formatting.SmartIndenter.getContainingList(n,t);if(!r)return e.Debug.fail("node is not a list element"),this;var a=r.indexOf(n);if(a<0)return this;if(1===r.length)return this.deleteNode(t,n),this;if(a!==r.length-1){var i=e.getTokenAtPosition(t,n.end);if(i&&_(n,i)){var o=e.skipTrivia(t.text,u(t,n,{},v.FullStart),!1,!0),s=r[a+1],c=e.skipTrivia(t.text,u(t,s,{},v.FullStart),!1,!0);this.deleteRange(t,{pos:o,end:c});}}else{var l=e.getTokenAtPosition(t,r[a-1].end);l&&_(n,l)&&this.deleteNodeRange(t,l,n);}return this},t.prototype.replaceRange=function(e,t,n,r){return void 0===r&&(r={}),this.changes.push({sourceFile:e,range:t,options:r,node:n}),this},t.prototype.replaceNode=function(e,t,n,r){void 0===r&&(r={});var a=u(e,t,r,v.Start),i=l(e,t,r);return this.changes.push({sourceFile:e,options:r,useIndentationFromFile:!0,node:n,range:{pos:a,end:i}}),this},t.prototype.replaceNodeRange=function(e,t,n,r,a){void 0===a&&(a={});var i=u(e,t,a,v.Start),o=l(e,n,a);return this.changes.push({sourceFile:e,options:a,useIndentationFromFile:!0,node:r,range:{pos:i,end:o}}),this},t.prototype.insertNodeAt=function(e,t,n,r){return void 0===r&&(r={}),this.changes.push({sourceFile:e,options:r,node:n,range:{pos:t,end:t}}),this},t.prototype.insertNodeBefore=function(e,t,n,r){void 0===r&&(r={});var a=u(e,t,r,v.Start);return this.changes.push({sourceFile:e,options:r,useIndentationFromFile:!0,node:n,range:{pos:a,end:a}}),this},t.prototype.insertNodeAfter=function(t,n,r,a){void 0===a&&(a={}),(e.isStatementButNotDeclaration(n)||149===n.kind||148===n.kind||150===n.kind)&&59!==t.text.charCodeAt(n.end-1)&&this.changes.push({sourceFile:t,options:{},range:{pos:n.end,end:n.end},node:e.createToken(25)});var i=l(t,n,a);return this.changes.push({sourceFile:t,options:a,useIndentationFromFile:!0,node:r,range:{pos:i,end:i}}),this},t.prototype.insertNodeInListAfter=function(t,n,r){var a=e.formatting.SmartIndenter.getContainingList(n,t);if(!a)return e.Debug.fail("node is not a list element"),this;var i=a.indexOf(n);if(i<0)return this;var c=n.getEnd();if(i!==a.length-1){var u=e.getTokenAtPosition(t,n.end);if(u&&_(n,u)){var l=e.getLineAndCharacterOfPosition(t,o(t.text,a[i+1].getFullStart())),p=e.getLineAndCharacterOfPosition(t,u.end),f=void 0,m=void 0;p.line===l.line?(m=u.end,f=d(l.character-p.character)):m=e.getStartPositionOfLine(l.line,t),this.changes.push({sourceFile:t,range:{pos:m,end:a[i+1].getStart(t)},node:r,useIndentationFromFile:!0,options:{prefix:f,suffix:""+e.tokenToString(u.kind)+t.text.substring(u.end,a[i+1].getStart(t))}});}}else{var g=n.getStart(t),y=e.getLineStartPositionForPosition(g,t),h=void 0,v=!1;if(1===a.length)h=26;else{var b=e.findPrecedingToken(n.pos,t);h=_(n,b)?b.kind:26,v=e.getLineStartPositionForPosition(a[i-1].getStart(t),t)!==y;}if(s(t.text,n.end)&&(v=!0),v){this.changes.push({sourceFile:t,range:{pos:c,end:c},node:e.createToken(h),options:{}});var x=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(y,g,t,this.rulesProvider.getFormatOptions()),k=e.skipTrivia(t.text,c,!0,!1);k!==c&&e.isLineBreak(t.text.charCodeAt(k-1))&&k--,this.changes.push({sourceFile:t,range:{pos:k,end:k},node:r,options:{indentation:x,prefix:this.newLineCharacter}});}else this.changes.push({sourceFile:t,range:{pos:c,end:c},node:r,options:{prefix:e.tokenToString(h)+" "}});}return this},t.prototype.getChanges=function(){for(var n=this,r=e.createFileMap(),a=0,i=this.changes;a0&&(r=r.concat(n));}),r}var i=[];t.registerCodeFix=n,t.getSupportedErrorCodes=r,t.getFixes=a;}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(n){function r(e,t,n,r){if(!n){var a=s.getIndexInfoOfType(e,t);if(a){var i=s.indexInfoToIndexSignatureDeclaration(a,t,c);r.push(i);}}}var a=n.sourceFile,i=n.span.start,o=e.getTokenAtPosition(a,i),s=n.program.getTypeChecker(),c=e.getContainingClass(o);if(c){for(var u=e.getOpenBraceOfClassLike(c,a),l=s.getTypeAtLocation(c),_=e.getClassImplementsHeritageClauseElements(c),d=!!s.getIndexTypeOfType(l,1),p=!!s.getIndexTypeOfType(l,0),f=[],m=0,g=_;m0&&function(e,r,a){var i={description:a,changes:t.newNodesToChanges(r,u,n)};e.push(i);}(f,b,x);}return f}}t.registerCodeFix({errorCodes:[e.Diagnostics.Class_0_incorrectly_implements_interface_1.code],getCodeActions:n});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(t){var n=t.sourceFile,r=t.span.start,a=e.getTokenAtPosition(n,r);if(71===a.kind&&e.isPropertyAccessExpression(a.parent)&&99===a.parent.expression.kind){var i=e.getThisContainer(a,!1);if(e.isClassElement(i)){var o=i.parent;if(o&&e.isClassLike(o)){var s=e.hasModifier(i,32);return e.isInJavaScriptFile(n)?function(){var r=a.getText();if(s){if(199===o.kind)return;var i=o.name.getText();return[{description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Initialize_static_property_0),[r]),changes:[{fileName:n.fileName,textChanges:[{span:{start:o.getEnd(),length:0},newText:""+t.newLineCharacter+i+"."+r+" = undefined;"+t.newLineCharacter}]}]}]}var c=e.getFirstConstructorWithBody(o);if(c)return[{description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Initialize_property_0_in_the_constructor),[r]),changes:[{fileName:n.fileName,textChanges:[{span:{start:c.body.getEnd()-1,length:0},newText:"this."+r+" = undefined;"+t.newLineCharacter}]}]}]}():function(){var r;if(194===a.parent.parent.kind){var i=a.parent.parent,c=t.program.getTypeChecker(),u=c.getWidenedType(c.getBaseTypeOfLiteralType(c.getTypeAtLocation(i.right)));r=c.typeToTypeNode(u,o);}r=r||e.createKeywordTypeNode(119);var l=e.getOpenBraceOfClassLike(o,n),_=e.createProperty(void 0,s?[e.createToken(115)]:void 0,a.getText(n),void 0,r,void 0),d=e.textChanges.ChangeTracker.fromCodeFixContext(t);d.insertNodeAfter(n,l,_,{suffix:t.newLineCharacter});var p=[{description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Add_declaration_for_missing_property_0),[a.getText()]),changes:d.getChanges()}];if(!s){var f=e.createKeywordTypeNode(136),m=e.createParameter(void 0,void 0,void 0,"x",void 0,f,void 0),g=e.createIndexSignatureDeclaration(void 0,void 0,[m],r),y=e.textChanges.ChangeTracker.fromCodeFixContext(t);y.insertNodeAfter(n,l,g,{suffix:t.newLineCharacter}),p.push({description:e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Add_index_signature_for_missing_property_0),[a.getText()]),changes:y.getChanges()});}return p}()}}}}t.registerCodeFix({errorCodes:[e.Diagnostics.Property_0_does_not_exist_on_type_1.code],getCodeActions:n});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(n){var a=n.sourceFile,i=n.span.start,o=e.getTokenAtPosition(a,i),s=n.program.getTypeChecker();if(e.isClassLike(o.parent)){var c=o.parent,u=e.getClassExtendsHeritageClauseElement(c),l=s.getTypeAtLocation(u),_=s.getPropertiesOfType(l).filter(r),d=t.createMissingMemberNodes(c,_,s),p=t.newNodesToChanges(d,e.getOpenBraceOfClassLike(c,a),n);if(p&&p.length>0)return[{description:e.getLocaleSpecificMessage(e.Diagnostics.Implement_inherited_abstract_class),changes:p}]}}function r(t){var n=t.getDeclarations();e.Debug.assert(!!(n&&n.length>0));var r=e.getModifierFlags(n[0]);return!(8&r||!(128&r))}t.registerCodeFix({errorCodes:[e.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code],getCodeActions:n}),t.registerCodeFix({errorCodes:[e.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1.code],getCodeActions:n});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){t.registerCodeFix({errorCodes:[e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code],getCodeActions:function(t){function n(t){if(210===t.kind&&e.isSuperCall(t.expression))return t;if(!e.isFunctionLike(t))return e.forEachChild(t,n)}var r=t.sourceFile,a=e.getTokenAtPosition(r,t.span.start);if(99===a.kind){var i=e.getContainingFunction(a),o=n(i.body);if(o){if(o.expression&&181===o.expression.kind)for(var s=o.expression.arguments,c=0;c0){var s=o[0].getFirstToken();if(s&&85===s.kind){var c=e.textChanges.ChangeTracker.fromCodeFixContext(t);c.replaceNode(n,s,e.createToken(108));for(var u=1;u=0;g--){var y=l.statements[g];if(237===y.kind||238===y.kind){u=y;break}}var h=e.createGetCanonicalFileName(p),v=e.stripQuotes(n||function(){var n=l.fileName,a=r.valueDeclaration.getSourceFile().fileName,i=e.getDirectoryPath(n),s=t.program.getCompilerOptions();return function(){if(265!==r.valueDeclaration.kind)return r.name}()||function(){var n=e.getEffectiveTypeRoots(s,t.host);if(n)for(var r=0,i=e.map(n,function(t){return e.toPath(t,void 0,h)});r=l.length+p.length&&e.startsWith(t,l)&&e.endsWith(t,p)){var f=t.substr(l.length,t.length-p.length);return r.replace("*",f)}}else if(c===t||c===n)return r}return t}}}()||function(){if(s.rootDirs){var t=o(a,s.rootDirs),n=o(i,s.rootDirs);if(void 0!==t){var r=void 0!==n?f(t,n):t;return e.removeFileExtension(r)}}}()||e.removeFileExtension(f(a,i))}()),b=s(),x=a?e.createImportClause(e.createIdentifier(m),void 0):i?e.createImportClause(void 0,e.createNamespaceImport(e.createIdentifier(m))):e.createImportClause(void 0,e.createNamedImports([e.createImportSpecifier(void 0,e.createIdentifier(m))])),k=e.createImportDeclaration(void 0,void 0,x,e.createLiteral(v));return u?b.insertNodeAfter(l,u,k,{suffix:t.newLineCharacter}):b.insertNodeAt(l,l.getStart(),k,{suffix:""+t.newLineCharacter+t.newLineCharacter}),c(e.Diagnostics.Import_0_from_1,[m,'"'+v+'"'],b.getChanges(),"NewImport",v)}var _=n(r);return _.length>0?function(t){for(var n,r,a,u=[],_=0,d=t;_=o)return{span:{start:o,length:0},newText:"// @ts-ignore"+r}}return{span:{start:n,length:0},newText:(n===o?"":r)+"// @ts-ignore"+r}}function r(t){var r=t.sourceFile,a=t.program,i=t.newLineCharacter,o=t.span;if(e.isInJavaScriptFile(r)&&e.isCheckJsEnabledForFile(r,a.getCompilerOptions()))return[{description:e.getLocaleSpecificMessage(e.Diagnostics.Ignore_this_error_message),changes:[{fileName:r.fileName,textChanges:[n(r,o.start,i)]}]},{description:e.getLocaleSpecificMessage(e.Diagnostics.Disable_checking_for_this_file),changes:[{fileName:r.fileName,textChanges:[{span:{start:r.checkJsDirective?r.checkJsDirective.pos:0,length:r.checkJsDirective?r.checkJsDirective.end-r.checkJsDirective.pos:0},newText:"// @ts-nocheck"+i}]}]}]}t.registerCodeFix({errorCodes:function(){var t=e.Diagnostics;return Object.keys(t).filter(function(n){return t[n]&&t[n].category===e.DiagnosticCategory.Error}).map(function(e){return t[e].code})}(),getCodeActions:r});}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){!function(t){function n(t,n,r){for(var a=r.sourceFile,i=e.textChanges.ChangeTracker.fromCodeFixContext(r),o=0,s=t;og.length){var v=r.getSignatureFromDeclaration(o[o.length-1]),b=a(v,n,s());b&&y.push(b);}else{e.Debug.assert(o.length===g.length);var x=i(g,l,f,d);y.push(x);}return y;default:return}}}function i(t,n,r,a){for(var i=t[0],s=t[0].minArgumentCount,c=!1,u=0;u=i.parameters.length&&(!l.hasRestParameter||i.hasRestParameter)&&(i=l);}for(var _=i.parameters.length-(i.hasRestParameter?1:0),d=i.parameters.map(function(e){return e.getName()}),p=[],u=0;u<_;u++){var f=e.createKeywordTypeNode(119),m=e.createParameter(void 0,void 0,void 0,d[u],u>=s?e.createToken(55):void 0,f,void 0);p.push(m);}if(c){var g=e.createArrayTypeNode(e.createKeywordTypeNode(119)),y=e.createParameter(void 0,void 0,e.createToken(24),d[_]||"rest",_>=s?e.createToken(55):void 0,g,void 0);p.push(y);}return o(a,n,r,void 0,p,void 0)}function o(t,n,r,a,i,o){return e.createMethodDeclaration(void 0,t,void 0,n,r?e.createToken(55):void 0,a,i,o,s())}function s(){return e.createBlock([e.createThrow(e.createNew(e.createIdentifier("Error"),void 0,[e.createLiteral("Method not implemented.")]))],!0)}function c(t){return 4&t?e.createToken(114):16&t?e.createToken(113):void 0}t.newNodesToChanges=n,t.createMissingMemberNodes=r,t.createStubbedMethod=o;}(e.codefix||(e.codefix={}));}(r||(r={}));!function(e){function t(e,t,n,r){var a=e>=143?new b(e,t,n):71===e?new T(71,t,n):new S(e,t,n);return a.parent=r,a}function r(t){var n=!0;for(var r in t)if(e.hasProperty(t,r)&&!a(r)){n=!1;break}if(n)return t;var i={};for(var r in t)e.hasProperty(t,r)&&(i[a(r)?r:r.charAt(0).toLowerCase()+r.substr(1)]=t[r]);return i}function a(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function i(t){return t?e.map(t,function(e){return e.text}).join(""):""}function o(){return{target:1,jsx:1}}function s(){return e.codefix.getSupportedErrorCodes()}function c(e,t,n){e.version=n,e.scriptSnapshot=t;}function u(t,n,r,a,i,o){var s=n.getText(0,n.getLength()),u=e.createSourceFile(t,s,r,i,o);return c(u,n,a),u}function l(t,n,r,a,i){if(a&&r!==t.version&&!e.disableIncrementalParsing){var o=void 0,s=0!==a.span.start?t.text.substr(0,a.span.start):"",l=e.textSpanEnd(a.span)!==t.text.length?t.text.substr(e.textSpanEnd(a.span)):"";if(0===a.newLength)o=s&&l?s+l:s||l;else{var _=n.getText(a.span.start,a.span.start+a.newLength);o=s&&l?s+_+l:s?s+_:_+l;}var d=e.updateSourceFile(t,o,a,i);return c(d,n,r),d.nameTable=void 0,t!==d&&t.scriptSnapshot&&(t.scriptSnapshot.dispose&&t.scriptSnapshot.dispose(),t.scriptSnapshot=void 0),d}return u(t.fileName,n,t.languageVersion,r,!0,t.scriptKind)}function _(t,n){function a(e){t.log&&t.log(e);}function i(e){var t=ae.getSourceFile(e);if(!t)throw new Error("Could not find file: '"+e+"'.");return t}function o(e){return v.ensureUpToDate(e),v}function s(){function r(t){return i(t,e.toPath(t,ue,le))}function i(t,r){e.Debug.assert(void 0!==u);var a=u.getOrCreateEntryByPath(t,r);if(a){if(!d){var i=ae&&ae.getSourceFileByPath(r);if(i)return e.Debug.assert(a.scriptKind===i.scriptKind,"Registered script kind ("+i.scriptKind+") should match new script kind ("+a.scriptKind+") for file: "+r),n.updateDocumentWithKey(t,r,_,f,a.scriptSnapshot,a.version,a.scriptKind)}return n.acquireDocumentWithKey(t,r,_,f,a.scriptSnapshot,a.version,a.scriptKind)}}function o(t){if(!t)return!1;var n=t.path||e.toPath(t.fileName,ue,le);return t.version===u.getVersion(n)}if(t.getProjectVersion){var s=t.getProjectVersion();if(s){if(ie===s)return;ie=s;}}var c=t.getTypeRootsVersion?t.getTypeRootsVersion():0;oe!==c&&(a("TypeRoots version has changed; provide new program"),ae=void 0,oe=c);var u=new N(t,le);if(!function(){if(!ae)return!1;var t=u.getRootFileNames();if(ae.getSourceFiles().length!==t.length)return!1;for(var n=0,r=t;n0)for(var u=function(){var t=/(?:\/\/+\s*)/.source,a=/(?:\/\*+\s*)/.source,i="("+/(?:^(?:\s|\*)*)/.source+"|"+t+"|"+a+")",o="(?:"+e.map(n,function(e){return"("+r(e.text)+")"}).join("|")+")",s=/(?:$|\*\/)/.source,c=i+("("+o+/(?:.*?)/.source+")")+s;return new RegExp(c,"gim")}(),l=void 0;l=u.exec(o);){ce.throwIfCancellationRequested();e.Debug.assert(l.length===n.length+3);var _=l[1],d=l.index+_.length,p=e.getTokenAtPosition(a,d);if(e.isInsideComment(a,p,d)){for(var f=void 0,m=0;m=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}(o.charCodeAt(d+f.text.length))){var g=l[2];c.push({descriptor:f,message:g,position:d});}}}return c}function ne(n,r){s();var a=t.getDefaultLibFileName(t.getCompilationSettings());return e.Rename.getRenameInfo(ae.getTypeChecker(),a,le,i(n),r)}void 0===n&&(n=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory()));var re=new A(t);v=v||new e.formatting.RulesProvider;var ae,ie,oe=0,se=t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),ce=new w(t.getCancellationToken&&t.getCancellationToken()),ue=t.getCurrentDirectory();!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages&&(e.localizedDiagnosticMessages=t.getLocalizedDiagnosticMessages());var le=e.createGetCanonicalFileName(se);return{dispose:l,cleanupSemanticCache:u,getSyntacticDiagnostics:_,getSemanticDiagnostics:d,getCompilerOptionsDiagnostics:p,getSyntacticClassifications:V,getSemanticClassifications:z,getEncodedSyntacticClassifications:q,getEncodedSemanticClassifications:U,getCompletionsAtPosition:f,getCompletionEntryDetails:m,getCompletionEntrySymbol:g,getSignatureHelpItems:I,getQuickInfoAtPosition:y,getDefinitionAtPosition:h,getImplementationAtPosition:x,getTypeDefinitionAtPosition:b,getReferencesAtPosition:E,findReferences:O,getOccurrencesAtPosition:k,getDocumentHighlights:S,getNameOrDottedNameSpan:L,getBreakpointStatementAtPosition:B,getNavigateToItems:P,getRenameInfo:ne,findRenameLocations:C,getNavigationBarItems:K,getNavigationTree:j,getOutliningSpans:$,getTodoComments:te,getBraceMatchingAtPosition:G,getIndentationAtPosition:W,getFormattingEditsForRange:H,getFormattingEditsForDocument:X,getFormattingEditsAfterKeystroke:Y,getDocCommentTemplateAtPosition:Z,isValidBraceCompletionAtPosition:ee,getCodeFixesAtPosition:Q,getEmitOutput:F,getNonBoundSourceFile:R,getSourceFile:M,getProgram:c}}function d(e){return e.nameTable||p(e),e.nameTable}function p(t){function n(t){switch(t.kind){case 71:r(t.text,t);break;case 9:case 8:(e.isDeclarationName(t)||248===t.parent.kind||y(t)||e.isLiteralComputedPropertyDeclarationName(t))&&r(t.text,t);break;default:if(e.forEachChild(t,n),t.jsDoc)for(var a=0,i=t.jsDoc;a=143){e.scanner.setText((t||this.getSourceFile()).text),n=[];var a=this.pos,i=this.kind>=283&&this.kind<=293,o=function(t){var o=e.isJSDocTag(t);!o&&a293});return r.kind<143?r:r.getFirstToken(t)}},n.prototype.getLastToken=function(t){var n=this.getChildren(t),r=e.lastOrUndefined(n);if(r)return r.kind<143?r:r.getLastToken(t)},n.prototype.forEachChild=function(t,n){return e.forEachChild(this,t,n)},n}(),x=function(){function t(e,t){this.pos=e,this.end=t,this.flags=0,this.parent=void 0;}return t.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},t.prototype.getStart=function(t,n){return e.getTokenPosOfNode(this,t,n)},t.prototype.getFullStart=function(){return this.pos},t.prototype.getEnd=function(){return this.end},t.prototype.getWidth=function(e){return this.getEnd()-this.getStart(e)},t.prototype.getFullWidth=function(){return this.end-this.pos},t.prototype.getLeadingTriviaWidth=function(e){return this.getStart(e)-this.pos},t.prototype.getFullText=function(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)},t.prototype.getText=function(e){return(e||this.getSourceFile()).text.substring(this.getStart(),this.getEnd())},t.prototype.getChildCount=function(){return 0},t.prototype.getChildAt=function(){},t.prototype.getChildren=function(){return e.emptyArray},t.prototype.getFirstToken=function(){},t.prototype.getLastToken=function(){},t.prototype.forEachChild=function(){},t}(),k=function(){function t(e,t){this.flags=e,this.name=t;}return t.prototype.getFlags=function(){return this.flags},t.prototype.getName=function(){return this.name},t.prototype.getDeclarations=function(){return this.declarations},t.prototype.getDocumentationComment=function(){return void 0===this.documentationComment&&(this.documentationComment=e.JsDoc.getJsDocCommentsFromDeclarations(this.declarations)),this.documentationComment},t.prototype.getJsDocTags=function(){return void 0===this.tags&&(this.tags=e.JsDoc.getJsDocTagsFromDeclarations(this.declarations)),this.tags},t}(),S=function(e){function t(t,n,r){var a=e.call(this,n,r)||this;return a.kind=t,a}return n(t,e),t}(x),T=function(e){function t(t,n,r){return e.call(this,n,r)||this}return n(t,e),t}(x);T.prototype.kind=71;var C=function(){function e(e,t){this.checker=e,this.flags=t;}return e.prototype.getFlags=function(){return this.flags},e.prototype.getSymbol=function(){return this.symbol},e.prototype.getProperties=function(){return this.checker.getPropertiesOfType(this)},e.prototype.getProperty=function(e){return this.checker.getPropertyOfType(this,e)},e.prototype.getApparentProperties=function(){return this.checker.getAugmentedPropertiesOfType(this)},e.prototype.getCallSignatures=function(){return this.checker.getSignaturesOfType(this,0)},e.prototype.getConstructSignatures=function(){return this.checker.getSignaturesOfType(this,1)},e.prototype.getStringIndexType=function(){return this.checker.getIndexTypeOfType(this,0)},e.prototype.getNumberIndexType=function(){return this.checker.getIndexTypeOfType(this,1)},e.prototype.getBaseTypes=function(){return 32768&this.flags&&3&this.objectFlags?this.checker.getBaseTypes(this):void 0},e.prototype.getNonNullableType=function(){return this.checker.getNonNullableType(this)},e}(),E=function(){function t(e){this.checker=e;}return t.prototype.getDeclaration=function(){return this.declaration},t.prototype.getTypeParameters=function(){return this.typeParameters},t.prototype.getParameters=function(){return this.parameters},t.prototype.getReturnType=function(){return this.checker.getReturnTypeOfSignature(this)},t.prototype.getDocumentationComment=function(){return void 0===this.documentationComment&&(this.documentationComment=this.declaration?e.JsDoc.getJsDocCommentsFromDeclarations([this.declaration]):[]),this.documentationComment},t.prototype.getJsDocTags=function(){return void 0===this.jsDocTags&&(this.jsDocTags=this.declaration?e.JsDoc.getJsDocTagsFromDeclarations([this.declaration]):[]),this.jsDocTags},t}(),D=function(t){function r(e,n,r){return t.call(this,e,n,r)||this}return n(r,t),r.prototype.update=function(t,n){return e.updateSourceFile(this,t,n)},r.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},r.prototype.getLineStarts=function(){return e.getLineStarts(this)},r.prototype.getPositionOfLineAndCharacter=function(t,n){return e.getPositionOfLineAndCharacter(this,t,n)},r.prototype.getLineEndOfPosition=function(e){var t,n=this.getLineAndCharacterOfPosition(e).line,r=this.getLineStarts();n+1>=r.length&&(t=this.getEnd()),t||(t=r[n+1]-1);var a=this.getFullText();return"\n"===a[t]&&"\r"===a[t-1]?t-1:t},r.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},r.prototype.computeNamedDeclarations=function(){function t(e){var t=r(e);t&&o.add(t,e);}function n(e){var t=o.get(e);return t||o.set(e,t=[]),t}function r(t){var n=e.getNameOfDeclaration(t);if(n){var r=a(n);if(void 0!==r)return r;if(144===n.kind){var i=n.expression;return 179===i.kind?i.name.text:a(i)}}}function a(e){if(e&&(71===e.kind||9===e.kind||8===e.kind))return e.text}function i(a){switch(a.kind){case 228:case 186:case 151:case 150:var o=a,s=r(o);if(s){var c=n(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o);}e.forEachChild(a,i);break;case 229:case 199:case 230:case 231:case 232:case 233:case 237:case 246:case 242:case 237:case 239:case 240:case 153:case 154:case 163:t(a),e.forEachChild(a,i);break;case 146:if(!e.hasModifier(a,92))break;case 226:case 176:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 264:case 149:case 148:t(a);break;case 244:a.exportClause&&e.forEach(a.exportClause.elements,i);break;case 238:var _=a.importClause;_&&(_.name&&t(_),_.namedBindings&&(240===_.namedBindings.kind?t(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;default:e.forEachChild(a,i);}}var o=e.createMultiMap();return e.forEachChild(this,i),o},r}(b);e.toEditorSettings=r,e.displayPartsToString=i,e.getDefaultCompilerOptions=o,e.getSupportedCodeFixes=s;var N=function(){function t(t,n){this.host=t,this.getCanonicalFileName=n,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=e.createFileMap();for(var r=0,a=t.getScriptFileNames();r=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw new e.OperationCanceledException},t}();e.ThrottledCancellationToken=O,e.createLanguageService=_,e.getNameTable=d,e.getContainingObjectLiteralElement=m,e.getPropertySymbolsFromContextualType=g,e.getDefaultLibFilePath=h,e.objectAllocator=function(){return{getNodeConstructor:function(){return b},getTokenConstructor:function(){return S},getIdentifierConstructor:function(){return T},getSourceFileConstructor:function(){return D},getSymbolConstructor:function(){return k},getTypeConstructor:function(){return C},getSignatureConstructor:function(){return E}}}();}(r||(r={}));!function(e){!function(t){function n(t,n){function r(n,r){var a=n.decorators?e.skipTrivia(t.text,n.decorators.end):n.getStart(t);return e.createTextSpanFromBounds(a,(r||n).getEnd())}function a(t,n){return r(t,e.findNextToken(n,n.parent))}function i(e,n){return u(e&&_===t.getLineAndCharacterOfPosition(e.getStart(t)).line?e:n)}function o(n){return e.createTextSpanFromBounds(e.skipTrivia(t.text,n.pos),n.end)}function s(n){return u(e.findPrecedingToken(n.pos,t))}function c(t){return u(e.findNextToken(t,t.parent))}function u(n){function l(n){return 227===n.parent.kind&&n.parent.declarations[0]===n?r(e.findPrecedingToken(n.pos,t,n.parent),n):r(n)}function _(n){return 215===n.parent.parent.kind?u(n.parent.parent):e.isBindingPattern(n.name)?y(n.name):n.initializer||e.hasModifier(n,1)||216===n.parent.parent.kind?l(n):227===n.parent.kind&&n.parent.declarations[0]!==n?u(e.findPrecedingToken(n.pos,t,n.parent)):void 0}function d(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasModifier(t,12)}function p(t){if(e.isBindingPattern(t.name))return y(t.name);if(d(t))return r(t);var n=t.parent,a=e.indexOf(n.parameters,t);return a?p(n.parameters[a-1]):u(n.body)}function f(t){return e.hasModifier(t,1)||229===t.parent.kind&&152!==t.kind}function m(n){switch(n.parent.kind){case 233:if(1!==e.getModuleInstanceState(n.parent))return;case 213:case 211:case 215:return i(n.parent,n.statements[0]);case 214:case 216:return i(e.findPrecedingToken(n.pos,t,n.parent),n.statements[0])}return u(n.statements[0])}function g(e){if(227!==e.initializer.kind)return u(e.initializer);var t=e.initializer;return t.declarations.length>0?u(t.declarations[0]):void 0}function y(t){var n=e.forEach(t.elements,function(e){return 200!==e.kind?e:void 0});return n?u(n):176===t.parent.kind?r(t.parent):l(t.parent)}function h(t){e.Debug.assert(175!==t.kind&&174!==t.kind);var n=177===t.kind?t.elements:t.properties,a=e.forEach(n,function(e){return 200!==e.kind?e:void 0});return a?u(a):r(194===t.parent.kind?t.parent:t)}if(n)switch(n.kind){case 208:return _(n.declarationList.declarations[0]);case 226:case 149:case 148:return _(n);case 146:return p(n);case 228:case 151:case 150:case 153:case 154:case 152:case 186:case 187:return function(e){if(e.body)return f(e)?r(e):u(e.body)}(n);case 207:if(e.isFunctionBlock(n))return function(e){var t=e.statements.length?e.statements[0]:e.getLastToken();return f(e.parent)?i(e.parent,t):u(t)}(n);case 234:return m(n);case 260:return m(n.block);case 210:return r(n.expression);case 219:return r(n.getChildAt(0),n.expression);case 213:return a(n,n.expression);case 212:return u(n.statement);case 225:return r(n.getChildAt(0));case 211:return a(n,n.expression);case 222:return u(n.statement);case 218:case 217:return r(n.getChildAt(0),n.label);case 214:return function(e){return e.initializer?g(e):e.condition?r(e.condition):e.incrementor?r(e.incrementor):void 0}(n);case 215:return a(n,n.expression);case 216:return g(n);case 221:return a(n,n.expression);case 257:case 258:return u(n.statements[0]);case 224:return m(n.tryBlock);case 223:case 243:return r(n,n.expression);case 237:return r(n,n.moduleReference);case 238:case 244:return r(n,n.moduleSpecifier);case 233:if(1!==e.getModuleInstanceState(n))return;case 229:case 232:case 264:case 176:return r(n);case 220:return u(n.statement);case 147:return o(n.parent.decorators);case 174:case 175:return y(n);case 230:case 231:return;case 25:case 1:return i(e.findPrecedingToken(n.pos,t));case 26:return s(n);case 17:return function(n){switch(n.parent.kind){case 232:var r=n.parent;return i(e.findPrecedingToken(n.pos,t,n.parent),r.members.length?r.members[0]:r.getLastToken(t));case 229:var a=n.parent;return i(e.findPrecedingToken(n.pos,t,n.parent),a.members.length?a.members[0]:a.getLastToken(t));case 235:return i(n.parent.parent,n.parent.clauses[0])}return u(n.parent)}(n);case 18:return function(t){switch(t.parent.kind){case 234:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 232:case 229:return r(t);case 207:if(e.isFunctionBlock(t.parent))return r(t);case 260:return u(e.lastOrUndefined(t.parent.statements));case 235:var n=t.parent,a=e.lastOrUndefined(n.clauses);if(a)return u(e.lastOrUndefined(a.statements));return;case 174:var i=t.parent;return u(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var o=t.parent;return r(e.lastOrUndefined(o.properties)||o)}return u(t.parent)}}(n);case 22:return function(t){switch(t.parent.kind){case 175:var n=t.parent;return r(e.lastOrUndefined(n.elements)||n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return r(e.lastOrUndefined(a.elements)||a)}return u(t.parent)}}(n);case 19:return function(e){return 212===e.parent.kind||181===e.parent.kind||182===e.parent.kind?s(e):185===e.parent.kind?c(e):u(e.parent)}(n);case 20:return function(e){switch(e.parent.kind){case 186:case 228:case 187:case 151:case 150:case 153:case 154:case 152:case 213:case 212:case 214:case 216:case 181:case 182:case 185:return s(e);default:return u(e.parent)}}(n);case 56:return function(t){return e.isFunctionLike(t.parent)||261===t.parent.kind||146===t.parent.kind?s(t):u(t.parent)}(n);case 29:case 27:return function(e){return 184===e.parent.kind?c(e):u(e.parent)}(n);case 106:return function(e){return 212===e.parent.kind?a(e,e.parent.expression):u(e.parent)}(n);case 82:case 74:case 87:return c(n);case 142:return function(e){return 216===e.parent.kind?c(e):u(e.parent)}(n);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return h(n);if((71===n.kind||198===n.kind||261===n.kind||262===n.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent))return r(n);if(194===n.kind){b=n;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(b.left))return h(b.left);if(58===b.operatorToken.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(b.parent))return r(n);if(26===b.operatorToken.kind)return u(b.left)}if(e.isPartOfExpression(n))switch(n.parent.kind){case 212:return s(n);case 147:return u(n.parent);case 214:case 216:return r(n);case 194:if(26===n.parent.operatorToken.kind)return r(n);break;case 187:if(n.parent.body===n)return r(n)}if(261===n.parent.kind&&n.parent.name===n&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent.parent))return u(n.parent.initializer);if(184===n.parent.kind&&n.parent.type===n)return c(n.parent.type);if(e.isFunctionLike(n.parent)&&n.parent.type===n)return s(n);if(226===n.parent.kind||146===n.parent.kind){var v=n.parent;if(v.initializer===n||v.type===n||e.isAssignmentOperator(n.kind))return s(n)}if(194===n.parent.kind){var b=n.parent;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(b.left)&&(b.right===n||b.operatorToken===n))return s(n)}return u(n.parent)}}if(!t.isDeclarationFile){var l=e.getTokenAtPosition(t,n),_=t.getLineAndCharacterOfPosition(n).line;if((!(t.getLineAndCharacterOfPosition(l.getStart(t)).line>_)||(l=e.findPrecedingToken(l.pos,t))&&t.getLineAndCharacterOfPosition(l.getEnd()).line===_)&&!e.isInAmbientContext(l))return u(l)}}t.spanInSourceFileAtLocation=n;}(e.BreakpointResolver||(e.BreakpointResolver={}));}(r||(r={}));!function(e){function t(t,n,r){var a=[];r=e.fixupCompilerOptions(r,a);var i=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,r,i,n,!0);return o.diagnostics=e.concatenate(o.diagnostics,a),o}e.transform=t;}(r||(r={}));var r,a=function(){return this}();!function(t){function r(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message);}function i(e,n,r,a){var i;a&&(e.log(n),i=t.timestamp());var o=r();if(a){var s=t.timestamp();if(e.log(n+" completed in "+(s-i)+" msec"),"string"==typeof o){var c=o;c.length>128&&(c=c.substring(0,128)+"..."),e.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'");}}return o}function o(e,t,n,r){return s(e,t,!0,n,r)}function s(e,n,a,o,s){try{var c=i(e,n,o,s);return a?JSON.stringify({result:c}):c}catch(a){return a instanceof t.OperationCanceledException?JSON.stringify({canceled:!0}):(r(e,a),a.description=n,JSON.stringify({error:a}))}}function c(e,t){return e.map(function(e){return u(e,t)})}function u(e,n){return{message:t.flattenDiagnosticMessageText(e.messageText,n),start:e.start,length:e.length,category:t.DiagnosticCategory[e.category].toLowerCase(),code:e.code}}function l(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var _=function(){function e(e){this.scriptSnapshotShim=e;}return e.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},e.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},e.prototype.getChangeRange=function(e){var n=e,r=this.scriptSnapshotShim.getChangeRange(n.scriptSnapshotShim);if(null===r)return null;var a=JSON.parse(r);return t.createTextChangeRange(t.createTextSpan(a.span.start,a.span.length),a.newLength)},e.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose();},e}(),d=function(){function e(e){var n=this;this.shimHost=e,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(e,r){var a=JSON.parse(n.shimHost.getModuleResolutionsForFile(r));return t.map(e,function(e){var n=t.getProperty(a,e);return n?{resolvedFileName:n,extension:t.extensionFromPath(n),isExternalLibraryImport:!1}:void 0})}),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return n.shimHost.directoryExists(e)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(e,r){var a=JSON.parse(n.shimHost.getTypeReferenceDirectiveResolutionsForFile(r));return t.map(e,function(e){return t.getProperty(a,e)})});}return e.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e);},e.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e);},e.prototype.error=function(e){this.shimHost.error(e);},e.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},e.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},e.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},e.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||""===e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},e.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return this.files=JSON.parse(e)},e.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new _(t)},e.prototype.getScriptKind=function(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0},e.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},e.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||""===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},e.prototype.getCancellationToken=function(){var e=this.shimHost.getCancellationToken();return new t.ThrottledCancellationToken(e)},e.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},e.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},e.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},e.prototype.readDirectory=function(e,n,r,a,i){var o=t.getFileMatcherPatterns(e,r,a,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,i))},e.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},e.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},e}();t.LanguageServiceShimHostAdapter=d;var p=function(){function e(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return t.shimHost.directoryExists(e)}),"realpath"in this.shimHost&&(this.realpath=function(e){return t.shimHost.realpath(e)});}return e.prototype.readDirectory=function(e,n,r,a,i){try{var o=t.getFileMatcherPatterns(e,r,a,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(e,JSON.stringify(n),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,i))}catch(a){for(var s=[],c=0,u=n;c",""":'"',"'":"'","`":"`"},freeGlobal="object"==typeof commonjsGlobal$$1&&commonjsGlobal$$1&&commonjsGlobal$$1.Object===Object&&commonjsGlobal$$1,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),unescapeHtmlChar=basePropertyOf(htmlUnescapes),objectProto=Object.prototype,objectToString=objectProto.toString,Symbol=root.Symbol,symbolProto=Symbol?Symbol.prototype:void 0,symbolToString=symbolProto?symbolProto.toString:void 0,index=unescape$1;const ts$1=typescript,unescape=index,SyntaxKind$1=ts$1.SyntaxKind,ASSIGNMENT_OPERATORS=[SyntaxKind$1.EqualsToken,SyntaxKind$1.PlusEqualsToken,SyntaxKind$1.MinusEqualsToken,SyntaxKind$1.AsteriskEqualsToken,SyntaxKind$1.SlashEqualsToken,SyntaxKind$1.PercentEqualsToken,SyntaxKind$1.LessThanLessThanEqualsToken,SyntaxKind$1.GreaterThanGreaterThanEqualsToken,SyntaxKind$1.GreaterThanGreaterThanGreaterThanEqualsToken,SyntaxKind$1.AmpersandEqualsToken,SyntaxKind$1.BarEqualsToken,SyntaxKind$1.CaretEqualsToken],LOGICAL_OPERATORS=[SyntaxKind$1.BarBarToken,SyntaxKind$1.AmpersandAmpersandToken],TOKEN_TO_TEXT={};TOKEN_TO_TEXT[SyntaxKind$1.OpenBraceToken]="{",TOKEN_TO_TEXT[SyntaxKind$1.CloseBraceToken]="}",TOKEN_TO_TEXT[SyntaxKind$1.OpenParenToken]="(",TOKEN_TO_TEXT[SyntaxKind$1.CloseParenToken]=")",TOKEN_TO_TEXT[SyntaxKind$1.OpenBracketToken]="[",TOKEN_TO_TEXT[SyntaxKind$1.CloseBracketToken]="]",TOKEN_TO_TEXT[SyntaxKind$1.DotToken]=".",TOKEN_TO_TEXT[SyntaxKind$1.DotDotDotToken]="...",TOKEN_TO_TEXT[SyntaxKind$1.SemicolonToken]=";",TOKEN_TO_TEXT[SyntaxKind$1.CommaToken]=",",TOKEN_TO_TEXT[SyntaxKind$1.LessThanToken]="<",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanToken]=">",TOKEN_TO_TEXT[SyntaxKind$1.LessThanEqualsToken]="<=",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanEqualsToken]=">=",TOKEN_TO_TEXT[SyntaxKind$1.EqualsEqualsToken]="==",TOKEN_TO_TEXT[SyntaxKind$1.ExclamationEqualsToken]="!=",TOKEN_TO_TEXT[SyntaxKind$1.EqualsEqualsEqualsToken]="===",TOKEN_TO_TEXT[SyntaxKind$1.InstanceOfKeyword]="instanceof",TOKEN_TO_TEXT[SyntaxKind$1.ExclamationEqualsEqualsToken]="!==",TOKEN_TO_TEXT[SyntaxKind$1.EqualsGreaterThanToken]="=>",TOKEN_TO_TEXT[SyntaxKind$1.PlusToken]="+",TOKEN_TO_TEXT[SyntaxKind$1.MinusToken]="-",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskToken]="*",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskAsteriskToken]="**",TOKEN_TO_TEXT[SyntaxKind$1.SlashToken]="/",TOKEN_TO_TEXT[SyntaxKind$1.PercentToken]="%",TOKEN_TO_TEXT[SyntaxKind$1.PlusPlusToken]="++",TOKEN_TO_TEXT[SyntaxKind$1.MinusMinusToken]="--",TOKEN_TO_TEXT[SyntaxKind$1.LessThanLessThanToken]="<<",TOKEN_TO_TEXT[SyntaxKind$1.LessThanSlashToken]=">",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanGreaterThanGreaterThanToken]=">>>",TOKEN_TO_TEXT[SyntaxKind$1.AmpersandToken]="&",TOKEN_TO_TEXT[SyntaxKind$1.BarToken]="|",TOKEN_TO_TEXT[SyntaxKind$1.CaretToken]="^",TOKEN_TO_TEXT[SyntaxKind$1.ExclamationToken]="!",TOKEN_TO_TEXT[SyntaxKind$1.TildeToken]="~",TOKEN_TO_TEXT[SyntaxKind$1.AmpersandAmpersandToken]="&&",TOKEN_TO_TEXT[SyntaxKind$1.BarBarToken]="||",TOKEN_TO_TEXT[SyntaxKind$1.QuestionToken]="?",TOKEN_TO_TEXT[SyntaxKind$1.ColonToken]=":",TOKEN_TO_TEXT[SyntaxKind$1.EqualsToken]="=",TOKEN_TO_TEXT[SyntaxKind$1.PlusEqualsToken]="+=",TOKEN_TO_TEXT[SyntaxKind$1.MinusEqualsToken]="-=",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskEqualsToken]="*=",TOKEN_TO_TEXT[SyntaxKind$1.AsteriskAsteriskEqualsToken]="**=",TOKEN_TO_TEXT[SyntaxKind$1.SlashEqualsToken]="/=",TOKEN_TO_TEXT[SyntaxKind$1.PercentEqualsToken]="%=",TOKEN_TO_TEXT[SyntaxKind$1.LessThanLessThanEqualsToken]="<<=",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanGreaterThanEqualsToken]=">>=",TOKEN_TO_TEXT[SyntaxKind$1.GreaterThanGreaterThanGreaterThanEqualsToken]=">>>=",TOKEN_TO_TEXT[SyntaxKind$1.AmpersandEqualsToken]="&=",TOKEN_TO_TEXT[SyntaxKind$1.BarEqualsToken]="|=",TOKEN_TO_TEXT[SyntaxKind$1.CaretEqualsToken]="^=",TOKEN_TO_TEXT[SyntaxKind$1.AtToken]="@",TOKEN_TO_TEXT[SyntaxKind$1.InKeyword]="in";var nodeUtils$2={SyntaxKind:SyntaxKind$1,isAssignmentOperator:isAssignmentOperator,isLogicalOperator:isLogicalOperator,getTextForTokenKind:getTextForTokenKind,isESTreeClassMember:isESTreeClassMember,hasModifier:hasModifier,isComma:isComma,getBinaryExpressionType:getBinaryExpressionType,getLocFor:getLocFor,getLoc:getLoc,isToken:isToken,isJSXToken:isJSXToken,getDeclarationKind:getDeclarationKind,getTSNodeAccessibility:getTSNodeAccessibility,hasStaticModifierFlag:hasStaticModifierFlag,findNextToken:findNextToken,findChildOfKind:findChildOfKind,findAncestorOfKind:findAncestorOfKind,hasJSXAncestor:hasJSXAncestor,unescapeIdentifier:unescapeIdentifier,unescapeStringLiteralText:unescapeStringLiteralText,isComputedProperty:isComputedProperty,isOptional:isOptional,fixExports:fixExports,getTokenType:getTokenType,convertToken:convertToken,convertTokens:convertTokens,getNodeContainer:getNodeContainer};const nodeUtils$1=nodeUtils$2,AST_NODE_TYPES=astNodeTypes$1,SyntaxKind=nodeUtils$1.SyntaxKind;var convert$2=function e(t){function n(t){return e({node:t,parent:l,ast:d,additionalOptions:p})}function r(e){const t=n(e);return{type:AST_NODE_TYPES.TypeAnnotation,loc:t.loc,range:t.range,typeAnnotation:t}}function a(e){const t=e[0],r=e[e.length-1];return{type:AST_NODE_TYPES.TypeParameterInstantiation,range:[t.pos-1,r.end+1],loc:nodeUtils$1.getLocFor(t.pos-1,r.end+1,d),params:e.map(e=>({type:AST_NODE_TYPES.GenericTypeAnnotation,range:[e.getStart(),e.getEnd()],loc:nodeUtils$1.getLoc(e,d),id:n(e.typeName||e),typeParameters:e.typeArguments?a(e.typeArguments):null}))}}function i(t){const n=t[0],a=t[t.length-1];return{type:AST_NODE_TYPES.TypeParameterDeclaration,range:[n.pos-1,a.end+1],loc:nodeUtils$1.getLocFor(n.pos-1,a.end+1,d),params:t.map(t=>{const n=nodeUtils$1.unescapeIdentifier(t.name.text);const a=t.default?e({node:t.default,parent:t,ast:d,additionalOptions:p}):t.default;return{type:AST_NODE_TYPES.TypeParameter,range:[t.getStart(),t.getEnd()],loc:nodeUtils$1.getLoc(t,d),name:n,constraint:t.constraint?r(t.constraint):null,default:a}})}}function o(e){const t=n(e.expression),r={type:AST_NODE_TYPES.ClassImplements,loc:t.loc,range:t.range,id:t};return e.typeArguments&&e.typeArguments.length&&(r.typeParameters=a(e.typeArguments)),r}function s(e){const t=n(e.expression),r={type:AST_NODE_TYPES.TSInterfaceHeritage,loc:t.loc,range:t.range,id:t};return e.typeArguments&&e.typeArguments.length&&(r.typeParameters=a(e.typeArguments)),r}function c(e){return e&&e.length?e.map(e=>{const t=n(e.expression);return{type:AST_NODE_TYPES.Decorator,range:[e.getStart(),e.end],loc:nodeUtils$1.getLoc(e,d),expression:t}}):[]}function u(e){const t=nodeUtils$1.convertToken(e,d);if(t.type===AST_NODE_TYPES.JSXMemberExpression){const e=l.tagName.expression.kind===SyntaxKind.PropertyAccessExpression;t.object=n(l.tagName.expression),t.property=n(l.tagName.name),t.object.type=e?AST_NODE_TYPES.JSXMemberExpression:AST_NODE_TYPES.JSXIdentifier,t.property.type=AST_NODE_TYPES.JSXIdentifier;}else t.name=t.value;return delete t.value,t}const l=t.node,_=t.parent,d=t.ast,p=t.additionalOptions||{};if(!l)return null;let f={type:"",range:[l.getStart(),l.end],loc:nodeUtils$1.getLoc(l,d)};switch(l.kind){case SyntaxKind.SourceFile:Object.assign(f,{type:AST_NODE_TYPES.Program,body:[],sourceType:l.externalModuleIndicator?"module":"script"}),l.statements.forEach(e=>{const t=n(e);t&&f.body.push(t);}),f.range[1]=l.endOfFileToken.pos,f.loc=nodeUtils$1.getLocFor(l.getStart(),f.range[1],d);break;case SyntaxKind.Block:Object.assign(f,{type:AST_NODE_TYPES.BlockStatement,body:l.statements.map(n)});break;case SyntaxKind.Identifier:Object.assign(f,{type:AST_NODE_TYPES.Identifier,name:nodeUtils$1.unescapeIdentifier(l.text)});break;case SyntaxKind.WithStatement:Object.assign(f,{type:AST_NODE_TYPES.WithStatement,object:n(l.expression),body:n(l.statement)});break;case SyntaxKind.ReturnStatement:Object.assign(f,{type:AST_NODE_TYPES.ReturnStatement,argument:n(l.expression)});break;case SyntaxKind.LabeledStatement:Object.assign(f,{type:AST_NODE_TYPES.LabeledStatement,label:n(l.label),body:n(l.statement)});break;case SyntaxKind.BreakStatement:case SyntaxKind.ContinueStatement:Object.assign(f,{type:SyntaxKind[l.kind],label:n(l.label)});break;case SyntaxKind.IfStatement:Object.assign(f,{type:AST_NODE_TYPES.IfStatement,test:n(l.expression),consequent:n(l.thenStatement),alternate:n(l.elseStatement)});break;case SyntaxKind.SwitchStatement:Object.assign(f,{type:AST_NODE_TYPES.SwitchStatement,discriminant:n(l.expression),cases:l.caseBlock.clauses.map(n)});break;case SyntaxKind.CaseClause:case SyntaxKind.DefaultClause:Object.assign(f,{type:AST_NODE_TYPES.SwitchCase,test:n(l.expression),consequent:l.statements.map(n)});break;case SyntaxKind.ThrowStatement:Object.assign(f,{type:AST_NODE_TYPES.ThrowStatement,argument:n(l.expression)});break;case SyntaxKind.TryStatement:Object.assign(f,{type:AST_NODE_TYPES.TryStatement,block:e({node:l.tryBlock,parent:null,ast:d,additionalOptions:p}),handler:n(l.catchClause),finalizer:n(l.finallyBlock)});break;case SyntaxKind.CatchClause:Object.assign(f,{type:AST_NODE_TYPES.CatchClause,param:n(l.variableDeclaration.name),body:n(l.block)});break;case SyntaxKind.WhileStatement:Object.assign(f,{type:AST_NODE_TYPES.WhileStatement,test:n(l.expression),body:n(l.statement)});break;case SyntaxKind.DoStatement:Object.assign(f,{type:AST_NODE_TYPES.DoWhileStatement,test:n(l.expression),body:n(l.statement)});break;case SyntaxKind.ForStatement:Object.assign(f,{type:AST_NODE_TYPES.ForStatement,init:n(l.initializer),test:n(l.condition),update:n(l.incrementor),body:n(l.statement)});break;case SyntaxKind.ForInStatement:case SyntaxKind.ForOfStatement:{const e=l.awaitModifier&&l.awaitModifier.kind===SyntaxKind.AwaitKeyword;Object.assign(f,{type:SyntaxKind[l.kind],left:n(l.initializer),right:n(l.expression),body:n(l.statement),await:e});break}case SyntaxKind.FunctionDeclaration:{let e=AST_NODE_TYPES.FunctionDeclaration;if(l.modifiers&&l.modifiers.length){const t=nodeUtils$1.hasModifier(SyntaxKind.DeclareKeyword,l);t&&(e=AST_NODE_TYPES.DeclareFunction);}l.parent&&l.parent.kind===SyntaxKind.ModuleBlock&&(e=AST_NODE_TYPES.TSNamespaceFunctionDeclaration),Object.assign(f,{type:e,id:n(l.name),generator:!!l.asteriskToken,expression:!1,async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),params:l.parameters.map(n),body:n(l.body)}),l.type&&(f.returnType=r(l.type)),l.typeParameters&&l.typeParameters.length&&(f.typeParameters=i(l.typeParameters)),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.VariableDeclaration:Object.assign(f,{type:AST_NODE_TYPES.VariableDeclarator,id:n(l.name),init:n(l.initializer)}),l.type&&(f.id.typeAnnotation=r(l.type));break;case SyntaxKind.VariableStatement:Object.assign(f,{type:AST_NODE_TYPES.VariableDeclaration,declarations:l.declarationList.declarations.map(n),kind:nodeUtils$1.getDeclarationKind(l.declarationList)}),f=nodeUtils$1.fixExports(l,f,d);break;case SyntaxKind.VariableDeclarationList:Object.assign(f,{type:AST_NODE_TYPES.VariableDeclaration,declarations:l.declarations.map(n),kind:nodeUtils$1.getDeclarationKind(l)});break;case SyntaxKind.ExpressionStatement:Object.assign(f,{type:AST_NODE_TYPES.ExpressionStatement,expression:n(l.expression)});break;case SyntaxKind.ThisKeyword:Object.assign(f,{type:AST_NODE_TYPES.ThisExpression});break;case SyntaxKind.ArrayLiteralExpression:{const e=nodeUtils$1.findAncestorOfKind(l,SyntaxKind.BinaryExpression),t=l.parent&&l.parent.kind===SyntaxKind.ForOfStatement,r=l.parent&&l.parent.kind===SyntaxKind.ForInStatement;let a;e&&(a=e.left===l||nodeUtils$1.findChildOfKind(e.left,SyntaxKind.ArrayLiteralExpression,d)===l),a||t||r?Object.assign(f,{type:AST_NODE_TYPES.ArrayPattern,elements:l.elements.map(n)}):Object.assign(f,{type:AST_NODE_TYPES.ArrayExpression,elements:l.elements.map(n)});break}case SyntaxKind.ObjectLiteralExpression:{const e=nodeUtils$1.findAncestorOfKind(l,SyntaxKind.BinaryExpression);let t;e&&(t=e.left===l||nodeUtils$1.findChildOfKind(e.left,SyntaxKind.ObjectLiteralExpression,d)===l),t?Object.assign(f,{type:AST_NODE_TYPES.ObjectPattern,properties:l.properties.map(n)}):Object.assign(f,{type:AST_NODE_TYPES.ObjectExpression,properties:l.properties.map(n)});break}case SyntaxKind.PropertyAssignment:Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:n(l.initializer),computed:nodeUtils$1.isComputedProperty(l.name),method:!1,shorthand:!1,kind:"init"});break;case SyntaxKind.ShorthandPropertyAssignment:Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:n(l.name),computed:!1,method:!1,shorthand:!0,kind:"init"});break;case SyntaxKind.ComputedPropertyName:if(_.kind!==SyntaxKind.ObjectLiteralExpression)return n(l.expression);Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:n(l.name),computed:!1,method:!1,shorthand:!0,kind:"init"});break;case SyntaxKind.PropertyDeclaration:{const e=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l);Object.assign(f,{type:e?AST_NODE_TYPES.TSAbstractClassProperty:AST_NODE_TYPES.ClassProperty,key:n(l.name),value:n(l.initializer),computed:nodeUtils$1.isComputedProperty(l.name),static:nodeUtils$1.hasStaticModifierFlag(l),accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),decorators:c(l.decorators),typeAnnotation:l.type?r(l.type):null}),l.name.kind===SyntaxKind.Identifier&&l.questionToken&&(f.key.optional=!0),f.key.type===AST_NODE_TYPES.Literal&&l.questionToken&&(f.optional=!0);break}case SyntaxKind.GetAccessor:case SyntaxKind.SetAccessor:case SyntaxKind.MethodDeclaration:{const e=d.getLineAndCharacterOfPosition(l.name.end+1),t=l.kind===SyntaxKind.MethodDeclaration,a={type:AST_NODE_TYPES.FunctionExpression,id:null,generator:!!l.asteriskToken,expression:!1,async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),body:n(l.body),range:[l.parameters.pos-1,f.range[1]],loc:{start:{line:e.line+1,column:e.character-1},end:f.loc.end}};if(l.type&&(a.returnType=r(l.type)),_.kind===SyntaxKind.ObjectLiteralExpression)a.params=l.parameters.map(n),Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.name),value:a,computed:nodeUtils$1.isComputedProperty(l.name),method:t,shorthand:!1,kind:"init"});else{a.params=l.parameters.map(e=>{const t=n(e);t.decorators=c(e.decorators);return t});const e=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l)?AST_NODE_TYPES.TSAbstractMethodDefinition:AST_NODE_TYPES.MethodDefinition;Object.assign(f,{type:e,key:n(l.name),value:a,computed:nodeUtils$1.isComputedProperty(l.name),static:nodeUtils$1.hasStaticModifierFlag(l),kind:"method",accessibility:nodeUtils$1.getTSNodeAccessibility(l),decorators:c(l.decorators)});}f.key.type===AST_NODE_TYPES.Identifier&&l.questionToken&&(f.key.optional=!0),l.kind===SyntaxKind.GetAccessor?f.kind="get":l.kind===SyntaxKind.SetAccessor?f.kind="set":f.static||l.name.kind!==SyntaxKind.StringLiteral||"constructor"!==l.name.text||(f.kind="constructor"),l.typeParameters&&l.typeParameters.length&&(a.typeParameters=i(l.typeParameters));break}case SyntaxKind.Constructor:{const e=nodeUtils$1.hasStaticModifierFlag(l),t=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l),r=e?nodeUtils$1.findNextToken(l.getFirstToken(),d):l.getFirstToken(),a=d.getLineAndCharacterOfPosition(l.parameters.pos-1),i={type:AST_NODE_TYPES.FunctionExpression,id:null,params:l.parameters.map(e=>{const t=n(e);const r=c(e.decorators);return Object.assign(t,{decorators:r})}),generator:!1,expression:!1,async:!1,body:n(l.body),range:[l.parameters.pos-1,f.range[1]],loc:{start:{line:a.line+1,column:a.character},end:f.loc.end}},o=d.getLineAndCharacterOfPosition(r.getStart()),s=!!l.name&&nodeUtils$1.isComputedProperty(l.name);let u;u=s?{type:AST_NODE_TYPES.Literal,value:"constructor",raw:l.name.getText(),range:[r.getStart(),r.end],loc:{start:{line:o.line+1,column:o.character},end:{line:i.loc.start.line,column:i.loc.start.column}}}:{type:AST_NODE_TYPES.Identifier,name:"constructor",range:[r.getStart(),r.end],loc:{start:{line:o.line+1,column:o.character},end:{line:i.loc.start.line,column:i.loc.start.column}}},Object.assign(f,{type:t?AST_NODE_TYPES.TSAbstractMethodDefinition:AST_NODE_TYPES.MethodDefinition,key:u,value:i,computed:s,accessibility:nodeUtils$1.getTSNodeAccessibility(l),static:e,kind:e||s?"method":"constructor"});break}case SyntaxKind.FunctionExpression:Object.assign(f,{type:AST_NODE_TYPES.FunctionExpression,id:n(l.name),generator:!!l.asteriskToken,params:l.parameters.map(n),body:n(l.body),async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),expression:!1}),l.type&&(f.returnType=r(l.type)),l.typeParameters&&l.typeParameters.length&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.SuperKeyword:Object.assign(f,{type:AST_NODE_TYPES.Super});break;case SyntaxKind.ArrayBindingPattern:Object.assign(f,{type:AST_NODE_TYPES.ArrayPattern,elements:l.elements.map(n)});break;case SyntaxKind.OmittedExpression:return null;case SyntaxKind.ObjectBindingPattern:Object.assign(f,{type:AST_NODE_TYPES.ObjectPattern,properties:l.elements.map(n)});break;case SyntaxKind.BindingElement:if(_.kind===SyntaxKind.ArrayBindingPattern){const t=e({node:l.name,parent:_,ast:d,additionalOptions:p});if(l.initializer)Object.assign(f,{type:AST_NODE_TYPES.AssignmentPattern,left:t,right:n(l.initializer)});else{if(!l.dotDotDotToken)return t;Object.assign(f,{type:AST_NODE_TYPES.RestElement,argument:t});}}else _.kind===SyntaxKind.ObjectBindingPattern&&(l.dotDotDotToken?Object.assign(f,{type:AST_NODE_TYPES.ExperimentalRestProperty,argument:n(l.propertyName||l.name),computed:Boolean(l.propertyName&&l.propertyName.kind===SyntaxKind.ComputedPropertyName),shorthand:!l.propertyName}):Object.assign(f,{type:AST_NODE_TYPES.Property,key:n(l.propertyName||l.name),value:n(l.name),computed:Boolean(l.propertyName&&l.propertyName.kind===SyntaxKind.ComputedPropertyName),method:!1,shorthand:!l.propertyName,kind:"init"}),l.initializer&&(f.value={type:AST_NODE_TYPES.AssignmentPattern,left:n(l.name),right:n(l.initializer),range:[l.name.getStart(),l.initializer.end],loc:nodeUtils$1.getLocFor(l.name.getStart(),l.initializer.end,d)}));break;case SyntaxKind.ArrowFunction:Object.assign(f,{type:AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:l.parameters.map(n),body:n(l.body),async:nodeUtils$1.hasModifier(SyntaxKind.AsyncKeyword,l),expression:l.body.kind!==SyntaxKind.Block}),l.type&&(f.returnType=r(l.type)),l.typeParameters&&l.typeParameters.length&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.YieldExpression:Object.assign(f,{type:AST_NODE_TYPES.YieldExpression,delegate:!!l.asteriskToken,argument:n(l.expression)});break;case SyntaxKind.AwaitExpression:Object.assign(f,{type:AST_NODE_TYPES.AwaitExpression,argument:n(l.expression)});break;case SyntaxKind.NoSubstitutionTemplateLiteral:Object.assign(f,{type:AST_NODE_TYPES.TemplateLiteral,quasis:[{type:AST_NODE_TYPES.TemplateElement,value:{raw:d.text.slice(l.getStart()+1,l.end-1),cooked:l.text},tail:!0,range:f.range,loc:f.loc}],expressions:[]});break;case SyntaxKind.TemplateExpression:Object.assign(f,{type:AST_NODE_TYPES.TemplateLiteral,quasis:[n(l.head)],expressions:[]}),l.templateSpans.forEach(e=>{f.expressions.push(n(e.expression));f.quasis.push(n(e.literal));});break;case SyntaxKind.TaggedTemplateExpression:Object.assign(f,{type:AST_NODE_TYPES.TaggedTemplateExpression,tag:n(l.tag),quasi:n(l.template)});break;case SyntaxKind.TemplateHead:case SyntaxKind.TemplateMiddle:case SyntaxKind.TemplateTail:{const e=l.kind===SyntaxKind.TemplateTail;Object.assign(f,{type:AST_NODE_TYPES.TemplateElement,value:{raw:d.text.slice(l.getStart()+1,l.end-(e?1:2)),cooked:l.text},tail:e});break}case SyntaxKind.SpreadElement:{let e=AST_NODE_TYPES.SpreadElement;l.parent&&l.parent.parent&&l.parent.parent.kind===SyntaxKind.BinaryExpression&&(l.parent.parent.left===l.parent?e=AST_NODE_TYPES.RestElement:l.parent.parent.right===l.parent&&(e=AST_NODE_TYPES.SpreadElement)),Object.assign(f,{type:e,argument:n(l.expression)});break}case SyntaxKind.SpreadAssignment:{let e=AST_NODE_TYPES.ExperimentalSpreadProperty;l.parent&&l.parent.parent&&l.parent.parent.kind===SyntaxKind.BinaryExpression&&(l.parent.parent.right===l.parent?e=AST_NODE_TYPES.ExperimentalSpreadProperty:l.parent.parent.left===l.parent&&(e=AST_NODE_TYPES.ExperimentalRestProperty)),Object.assign(f,{type:e,argument:n(l.expression)});break}case SyntaxKind.Parameter:{let t;if(l.dotDotDotToken?(t=n(l.name),Object.assign(f,{type:AST_NODE_TYPES.RestElement,argument:t})):l.initializer?(t=n(l.name),Object.assign(f,{type:AST_NODE_TYPES.AssignmentPattern,left:t,right:n(l.initializer)})):(t=e({node:l.name,parent:_,ast:d,additionalOptions:p}),f=t),l.type&&Object.assign(t,{typeAnnotation:r(l.type)}),l.questionToken&&(t.optional=!0),l.modifiers)return{type:AST_NODE_TYPES.TSParameterProperty,range:[l.getStart(),l.end],loc:nodeUtils$1.getLoc(l,d),accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l),parameter:f};break}case SyntaxKind.ClassDeclaration:case SyntaxKind.ClassExpression:{const e=l.heritageClauses||[];let t=SyntaxKind[l.kind],r=e.length?e[e.length-1]:l.name;if(l.typeParameters&&l.typeParameters.length){const e=l.typeParameters[l.typeParameters.length-1];(!r||e.pos>r.pos)&&(r=nodeUtils$1.findNextToken(e,d)),f.typeParameters=i(l.typeParameters);}if(l.modifiers&&l.modifiers.length){l.kind===SyntaxKind.ClassDeclaration&&nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l)&&(t=`TSAbstract${t}`);const e=l.modifiers[l.modifiers.length-1];(!r||e.pos>r.pos)&&(r=nodeUtils$1.findNextToken(e,d));}else r||(r=l.getFirstToken());const s=nodeUtils$1.findNextToken(r,d),u=e.length&&l.heritageClauses[0].token===SyntaxKind.ExtendsKeyword;let _,p=!1;u&&e[0].types.length>0&&(_=e.shift()).types[0]&&_.types[0].typeArguments&&(f.superTypeParameters=a(_.types[0].typeArguments)),p=e.length>0,Object.assign(f,{type:t,id:n(l.name),body:{type:AST_NODE_TYPES.ClassBody,body:[],range:[s.getStart(),f.range[1]],loc:nodeUtils$1.getLocFor(s.getStart(),l.end,d)},superClass:_?n(_.types[0].expression):null,implements:p?e[0].types.map(o):[],decorators:c(l.decorators)});const m=l.members.filter(nodeUtils$1.isESTreeClassMember);m.length&&(f.body.body=m.map(n)),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.ModuleBlock:Object.assign(f,{type:AST_NODE_TYPES.TSModuleBlock,body:l.statements.map(n)});break;case SyntaxKind.ImportDeclaration:Object.assign(f,{type:AST_NODE_TYPES.ImportDeclaration,source:n(l.moduleSpecifier),specifiers:[]}),l.importClause&&(l.importClause.name&&f.specifiers.push(n(l.importClause)),l.importClause.namedBindings&&(l.importClause.namedBindings.kind===SyntaxKind.NamespaceImport?f.specifiers.push(n(l.importClause.namedBindings)):f.specifiers=f.specifiers.concat(l.importClause.namedBindings.elements.map(n))));break;case SyntaxKind.NamespaceImport:Object.assign(f,{type:AST_NODE_TYPES.ImportNamespaceSpecifier,local:n(l.name)});break;case SyntaxKind.ImportSpecifier:Object.assign(f,{type:AST_NODE_TYPES.ImportSpecifier,local:n(l.name),imported:n(l.propertyName||l.name)});break;case SyntaxKind.ImportClause:Object.assign(f,{type:AST_NODE_TYPES.ImportDefaultSpecifier,local:n(l.name)}),f.range[1]=l.name.end,f.loc=nodeUtils$1.getLocFor(f.range[0],f.range[1],d);break;case SyntaxKind.NamedImports:Object.assign(f,{type:AST_NODE_TYPES.ImportDefaultSpecifier,local:n(l.name)});break;case SyntaxKind.ExportDeclaration:l.exportClause?Object.assign(f,{type:AST_NODE_TYPES.ExportNamedDeclaration,source:n(l.moduleSpecifier),specifiers:l.exportClause.elements.map(n),declaration:null}):Object.assign(f,{type:AST_NODE_TYPES.ExportAllDeclaration,source:n(l.moduleSpecifier)});break;case SyntaxKind.ExportSpecifier:Object.assign(f,{type:AST_NODE_TYPES.ExportSpecifier,local:n(l.propertyName||l.name),exported:n(l.name)});break;case SyntaxKind.ExportAssignment:Object.assign(f,{type:AST_NODE_TYPES.ExportDefaultDeclaration,declaration:n(l.expression)});break;case SyntaxKind.PrefixUnaryExpression:case SyntaxKind.PostfixUnaryExpression:{const e=nodeUtils$1.getTextForTokenKind(l.operator);Object.assign(f,{type:/^(?:\+\+|--)$/.test(e)?AST_NODE_TYPES.UpdateExpression:AST_NODE_TYPES.UnaryExpression,operator:e,prefix:l.kind===SyntaxKind.PrefixUnaryExpression,argument:n(l.operand)});break}case SyntaxKind.DeleteExpression:Object.assign(f,{type:AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:n(l.expression)});break;case SyntaxKind.VoidExpression:Object.assign(f,{type:AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:n(l.expression)});break;case SyntaxKind.TypeOfExpression:Object.assign(f,{type:AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:n(l.expression)});break;case SyntaxKind.BinaryExpression:if(nodeUtils$1.isComma(l.operatorToken)){Object.assign(f,{type:AST_NODE_TYPES.SequenceExpression,expressions:[]});const e=n(l.left),t=n(l.right);e.type===AST_NODE_TYPES.SequenceExpression?f.expressions=f.expressions.concat(e.expressions):f.expressions.push(e),t.type===AST_NODE_TYPES.SequenceExpression?f.expressions=f.expressions.concat(t.expressions):f.expressions.push(t);}else if(Object.assign(f,{type:nodeUtils$1.getBinaryExpressionType(l.operatorToken),operator:nodeUtils$1.getTextForTokenKind(l.operatorToken.kind),left:n(l.left),right:n(l.right)}),f.type===AST_NODE_TYPES.AssignmentExpression){const e=nodeUtils$1.findAncestorOfKind(l,SyntaxKind.ArrayLiteralExpression),t=e&&nodeUtils$1.findAncestorOfKind(e,SyntaxKind.BinaryExpression);let n;t&&(n=t.left===e||nodeUtils$1.findChildOfKind(t.left,SyntaxKind.ArrayLiteralExpression,d)===e),n&&(delete f.operator,f.type=AST_NODE_TYPES.AssignmentPattern);}break;case SyntaxKind.PropertyAccessExpression:if(nodeUtils$1.isJSXToken(_)){const e={type:AST_NODE_TYPES.MemberExpression,object:n(l.expression),property:n(l.name)},t=l.expression.kind===SyntaxKind.PropertyAccessExpression;l.expression.kind===SyntaxKind.ThisKeyword&&(e.object.name="this"),e.object.type=t?AST_NODE_TYPES.MemberExpression:AST_NODE_TYPES.JSXIdentifier,e.property.type=AST_NODE_TYPES.JSXIdentifier,Object.assign(f,e);}else Object.assign(f,{type:AST_NODE_TYPES.MemberExpression,object:n(l.expression),property:n(l.name),computed:!1});break;case SyntaxKind.ElementAccessExpression:Object.assign(f,{type:AST_NODE_TYPES.MemberExpression,object:n(l.expression),property:n(l.argumentExpression),computed:!0});break;case SyntaxKind.ConditionalExpression:Object.assign(f,{type:AST_NODE_TYPES.ConditionalExpression,test:n(l.condition),consequent:n(l.whenTrue),alternate:n(l.whenFalse)});break;case SyntaxKind.CallExpression:Object.assign(f,{type:AST_NODE_TYPES.CallExpression,callee:n(l.expression),arguments:l.arguments.map(n)}),l.typeArguments&&l.typeArguments.length&&(f.typeParameters=a(l.typeArguments));break;case SyntaxKind.NewExpression:Object.assign(f,{type:AST_NODE_TYPES.NewExpression,callee:n(l.expression),arguments:l.arguments?l.arguments.map(n):[]}),l.typeArguments&&l.typeArguments.length&&(f.typeParameters=a(l.typeArguments));break;case SyntaxKind.MetaProperty:{const e=nodeUtils$1.convertToken(l.getFirstToken(),d);Object.assign(f,{type:AST_NODE_TYPES.MetaProperty,meta:{type:AST_NODE_TYPES.Identifier,range:e.range,loc:e.loc,name:"new"},property:n(l.name)});break}case SyntaxKind.StringLiteral:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:nodeUtils$1.unescapeStringLiteralText(l.text),raw:d.text.slice(f.range[0],f.range[1])});break;case SyntaxKind.NumericLiteral:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:Number(l.text),raw:d.text.slice(f.range[0],f.range[1])});break;case SyntaxKind.RegularExpressionLiteral:{const e=l.text.slice(1,l.text.lastIndexOf("/")),t=l.text.slice(l.text.lastIndexOf("/")+1);let n=null;try{n=new RegExp(e,t);}catch(e){n=null;}Object.assign(f,{type:AST_NODE_TYPES.Literal,value:n,raw:l.text,regex:{pattern:e,flags:t}});break}case SyntaxKind.TrueKeyword:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:!0,raw:"true"});break;case SyntaxKind.FalseKeyword:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:!1,raw:"false"});break;case SyntaxKind.NullKeyword:Object.assign(f,{type:AST_NODE_TYPES.Literal,value:null,raw:"null"});break;case SyntaxKind.EmptyStatement:case SyntaxKind.DebuggerStatement:!function(){Object.assign(f,{type:SyntaxKind[l.kind]});}();break;case SyntaxKind.JsxElement:Object.assign(f,{type:AST_NODE_TYPES.JSXElement,openingElement:n(l.openingElement),closingElement:n(l.closingElement),children:l.children.map(n)});break;case SyntaxKind.JsxSelfClosingElement:{l.kind=SyntaxKind.JsxOpeningElement;const e=n(l);e.selfClosing=!0,Object.assign(f,{type:AST_NODE_TYPES.JSXElement,openingElement:e,closingElement:null,children:[]});break}case SyntaxKind.JsxOpeningElement:Object.assign(f,{type:AST_NODE_TYPES.JSXOpeningElement,selfClosing:!1,name:u(l.tagName),attributes:l.attributes.properties.map(n)});break;case SyntaxKind.JsxClosingElement:Object.assign(f,{type:AST_NODE_TYPES.JSXClosingElement,name:u(l.tagName)});break;case SyntaxKind.JsxExpression:{const e=d.getLineAndCharacterOfPosition(f.range[0]+1),t=l.expression?n(l.expression):{type:AST_NODE_TYPES.JSXEmptyExpression,loc:{start:{line:e.line+1,column:e.character},end:{line:f.loc.end.line,column:f.loc.end.column-1}},range:[f.range[0]+1,f.range[1]-1]};Object.assign(f,{type:AST_NODE_TYPES.JSXExpressionContainer,expression:t});break}case SyntaxKind.JsxAttribute:{const e=nodeUtils$1.convertToken(l.name,d);e.type=AST_NODE_TYPES.JSXIdentifier,e.name=e.value,delete e.value,Object.assign(f,{type:AST_NODE_TYPES.JSXAttribute,name:e,value:n(l.initializer)});break}case SyntaxKind.JsxText:{const e=l.getFullStart(),t=l.getEnd(),n=p.useJSXTextNode?AST_NODE_TYPES.JSXText:AST_NODE_TYPES.Literal;Object.assign(f,{type:n,value:d.text.slice(e,t),raw:d.text.slice(e,t)}),f.loc=nodeUtils$1.getLocFor(e,t,d),f.range=[e,t];break}case SyntaxKind.JsxSpreadAttribute:Object.assign(f,{type:AST_NODE_TYPES.JSXSpreadAttribute,argument:n(l.expression)});break;case SyntaxKind.FirstNode:Object.assign(f,{type:AST_NODE_TYPES.TSQualifiedName,left:n(l.left),right:n(l.right)});break;case SyntaxKind.ParenthesizedExpression:return e({node:l.expression,parent:_,ast:d,additionalOptions:p});case SyntaxKind.TypeAliasDeclaration:{const e={type:AST_NODE_TYPES.VariableDeclarator,id:n(l.name),init:n(l.type),range:[l.name.getStart(),l.end]};e.loc=nodeUtils$1.getLocFor(e.range[0],e.range[1],d),l.typeParameters&&l.typeParameters.length&&(e.typeParameters=i(l.typeParameters)),Object.assign(f,{type:AST_NODE_TYPES.VariableDeclaration,kind:nodeUtils$1.getDeclarationKind(l),declarations:[e]}),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.MethodSignature:Object.assign(f,{type:AST_NODE_TYPES.TSMethodSignature,optional:nodeUtils$1.isOptional(l),computed:nodeUtils$1.isComputedProperty(l.name),key:n(l.name),params:l.parameters.map(e=>n(e)),typeAnnotation:l.type?r(l.type):null,accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l)}),l.typeParameters&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.PropertySignature:Object.assign(f,{type:AST_NODE_TYPES.TSPropertySignature,optional:nodeUtils$1.isOptional(l),computed:nodeUtils$1.isComputedProperty(l.name),key:n(l.name),typeAnnotation:l.type?r(l.type):null,initializer:n(l.initializer),accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l)});break;case SyntaxKind.IndexSignature:Object.assign(f,{type:AST_NODE_TYPES.TSIndexSignature,index:n(l.parameters[0]),typeAnnotation:l.type?r(l.type):null,accessibility:nodeUtils$1.getTSNodeAccessibility(l),readonly:nodeUtils$1.hasModifier(SyntaxKind.ReadonlyKeyword,l),static:nodeUtils$1.hasModifier(SyntaxKind.StaticKeyword,l),export:nodeUtils$1.hasModifier(SyntaxKind.ExportKeyword,l)});break;case SyntaxKind.ConstructSignature:Object.assign(f,{type:AST_NODE_TYPES.TSConstructSignature,params:l.parameters.map(e=>n(e)),typeAnnotation:l.type?r(l.type):null}),l.typeParameters&&(f.typeParameters=i(l.typeParameters));break;case SyntaxKind.InterfaceDeclaration:{const e=l.heritageClauses||[];let t=e.length?e[e.length-1]:l.name;if(l.typeParameters&&l.typeParameters.length){const e=l.typeParameters[l.typeParameters.length-1];(!t||e.pos>t.pos)&&(t=nodeUtils$1.findNextToken(e,d)),f.typeParameters=i(l.typeParameters);}const r=e.length>0,a=nodeUtils$1.hasModifier(SyntaxKind.AbstractKeyword,l),o=nodeUtils$1.findNextToken(t,d),c={type:AST_NODE_TYPES.TSInterfaceBody,body:l.members.map(e=>n(e)),range:[o.getStart(),f.range[1]],loc:nodeUtils$1.getLocFor(o.getStart(),l.end,d)};Object.assign(f,{abstract:a,type:AST_NODE_TYPES.TSInterfaceDeclaration,body:c,id:n(l.name),heritage:r?e[0].types.map(s):[]}),f=nodeUtils$1.fixExports(l,f,d);break}case SyntaxKind.FirstTypeNode:Object.assign(f,{type:AST_NODE_TYPES.TSTypePredicate,parameterName:n(l.parameterName),typeAnnotation:r(l.type)});break;default:!function(){const e=`TS${SyntaxKind[l.kind]}`;if(p.errorOnUnknownASTType&&!AST_NODE_TYPES[e])throw new Error(`Unknown AST_NODE_TYPE: "${e}"`);f.type=e,Object.keys(l).filter(e=>!/^(?:kind|parent|pos|end|flags|modifierFlagsCache|jsDoc)$/.test(e)).forEach(e=>{if("type"===e)f.typeAnnotation=l.type?r(l.type):null;else if("typeArguments"===e)f.typeParameters=l.typeArguments?a(l.typeArguments):null;else if("typeParameters"===e)f.typeParameters=l.typeParameters?i(l.typeParameters):null;else if("decorators"===e){const e=c(l.decorators);e&&e.length&&(f.decorators=e);}else Array.isArray(l[e])?f[e]=l[e].map(n):l[e]&&"object"==typeof l[e]?f[e]=n(l[e]):f[e]=l[e];});}();}return f};const ts$2=typescript,nodeUtils$4=nodeUtils$2;var convertComments_1={convertComments:convertComments$1};const convert$1=convert$2,convertComments=convertComments_1.convertComments,nodeUtils=nodeUtils$2;var astConverter=(e,t)=>{if(e.parseDiagnostics.length)throw convertError(e.parseDiagnostics[0]);const n=convert$1({node:e,parent:null,ast:e,additionalOptions:{errorOnUnknownASTType:t.errorOnUnknownASTType||!1,useJSXTextNode:t.useJSXTextNode||!1}});t.tokens&&(n.tokens=nodeUtils.convertTokens(e));t.comment&&(n.comments=convertComments(e,t.code));return n},semver$1=createCommonjsModule$$1(function(e,t){function n(e,t){if(e instanceof i)return e;if("string"!=typeof e)return null;if(e.length>W)return null;if(!(t?X[pe]:X[le]).test(e))return null;try{return new i(e,t)}catch(e){return null}}function r(e,t){var r=n(e,t);return r?r.version:null}function a(e,t){var r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}function i(e,t){if(e instanceof i){if(e.loose===t)return e;e=e.version;}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>W)throw new TypeError("version is longer than "+W+" characters");if(!(this instanceof i))return new i(e,t);G("SemVer",e,t),this.loose=t;var n=e.trim().match(t?X[pe]:X[le]);if(!n)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>H||this.major<0)throw new TypeError("Invalid major version");if(this.minor>H||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>H||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&tt?1:0}function u(e,t){return c(t,e)}function l(e,t){return new i(e,t).major}function _(e,t){return new i(e,t).minor}function d(e,t){return new i(e,t).patch}function p(e,t,n){return new i(e,n).compare(t)}function f(e,t){return p(e,t,!0)}function m(e,t,n){return p(t,e,n)}function g(e,n){return e.sort(function(e,r){return t.compare(e,r,n)})}function y(e,n){return e.sort(function(e,r){return t.rcompare(e,r,n)})}function h(e,t,n){return p(e,t,n)>0}function v(e,t,n){return p(e,t,n)<0}function b(e,t,n){return 0===p(e,t,n)}function x(e,t,n){return 0!==p(e,t,n)}function k(e,t,n){return p(e,t,n)>=0}function S(e,t,n){return p(e,t,n)<=0}function T(e,t,n,r){var a;switch(t){case"===":"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),a=e===n;break;case"!==":"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),a=e!==n;break;case"":case"=":case"==":a=b(e,n,r);break;case"!=":a=x(e,n,r);break;case">":a=h(e,n,r);break;case">=":a=k(e,n,r);break;case"<":a=v(e,n,r);break;case"<=":a=S(e,n,r);break;default:throw new TypeError("Invalid operator: "+t)}return a}function C(e,t){if(e instanceof C){if(e.loose===t)return e;e=e.value;}if(!(this instanceof C))return new C(e,t);G("comparator",e,t),this.loose=t,this.parse(e),this.semver===Le?this.value="":this.value=this.operator+this.semver.version,G("comp",this);}function E(e,t){if(e instanceof E&&e.loose===t)return e;if(!(this instanceof E))return new E(e,t);if(this.loose=t,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format();}function D(e,t){return new E(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function N(e,t){return G("comp",e),e=P(e,t),G("caret",e),e=w(e,t),G("tildes",e),e=I(e,t),G("xrange",e),e=M(e,t),G("stars",e),e}function A(e){return!e||"x"===e.toLowerCase()||"*"===e}function w(e,t){return e.trim().split(/\s+/).map(function(e){return O(e,t)}).join(" ")}function O(e,t){var n=t?X[Te]:X[Se];return e.replace(n,function(t,n,r,a,i){G("tilde",e,t,n,r,a,i);var o;return A(n)?o="":A(r)?o=">="+n+".0.0 <"+(+n+1)+".0.0":A(a)?o=">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":i?(G("replaceTilde pr",i),"-"!==i.charAt(0)&&(i="-"+i),o=">="+n+"."+r+"."+a+i+" <"+n+"."+(+r+1)+".0"):o=">="+n+"."+r+"."+a+" <"+n+"."+(+r+1)+".0",G("tilde return",o),o})}function P(e,t){return e.trim().split(/\s+/).map(function(e){return F(e,t)}).join(" ")}function F(e,t){G("caret",e,t);var n=t?X[Ne]:X[De];return e.replace(n,function(t,n,r,a,i){G("caret",e,t,n,r,a,i);var o;return A(n)?o="":A(r)?o=">="+n+".0.0 <"+(+n+1)+".0.0":A(a)?o="0"===n?">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":">="+n+"."+r+".0 <"+(+n+1)+".0.0":i?(G("replaceCaret pr",i),"-"!==i.charAt(0)&&(i="-"+i),o="0"===n?"0"===r?">="+n+"."+r+"."+a+i+" <"+n+"."+r+"."+(+a+1):">="+n+"."+r+"."+a+i+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+a+i+" <"+(+n+1)+".0.0"):(G("no pr"),o="0"===n?"0"===r?">="+n+"."+r+"."+a+" <"+n+"."+r+"."+(+a+1):">="+n+"."+r+"."+a+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+a+" <"+(+n+1)+".0.0"),G("caret return",o),o})}function I(e,t){return G("replaceXRanges",e,t),e.split(/\s+/).map(function(e){return R(e,t)}).join(" ")}function R(e,t){e=e.trim();var n=t?X[be]:X[ve];return e.replace(n,function(t,n,r,a,i,o){G("xRange",e,t,n,r,a,i,o);var s=A(r),c=s||A(a),u=c||A(i),l=u;return"="===n&&l&&(n=""),s?t=">"===n||"<"===n?"<0.0.0":"*":n&&l?(c&&(a=0),u&&(i=0),">"===n?(n=">=",c?(r=+r+1,a=0,i=0):u&&(a=+a+1,i=0)):"<="===n&&(n="<",c?r=+r+1:a=+a+1),t=n+r+"."+a+"."+i):c?t=">="+r+".0.0 <"+(+r+1)+".0.0":u&&(t=">="+r+"."+a+".0 <"+r+"."+(+a+1)+".0"),G("xRange return",t),t})}function M(e,t){return G("replaceStars",e,t),e.trim().replace(X[Ie],"")}function L(e,t,n,r,a,i,o,s,c,u,l,_,d){return t=A(n)?"":A(r)?">="+n+".0.0":A(a)?">="+n+"."+r+".0":">="+t,s=A(c)?"":A(u)?"<"+(+c+1)+".0.0":A(l)?"<"+c+"."+(+u+1)+".0":_?"<="+c+"."+u+"."+l+"-"+_:"<="+s,(t+" "+s).trim()}function B(e,t){for(n=0;n0){var r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}function K(e,t,n){try{t=new E(t,n);}catch(e){return!1}return t.test(e)}function j(e,t,n){return e.filter(function(e){return K(e,t,n)}).sort(function(e,t){return m(e,t,n)})[0]||null}function J(e,t,n){return e.filter(function(e){return K(e,t,n)}).sort(function(e,t){return p(e,t,n)})[0]||null}function z(e,t){try{return new E(e,t).range||"*"}catch(e){return null}}function U(e,t,n){return q(e,t,"<",n)}function V(e,t,n){return q(e,t,">",n)}function q(e,t,n,r){e=new i(e,r),t=new E(t,r);var a,o,s,c,u;switch(n){case">":a=h,o=S,s=v,c=">",u=">=";break;case"<":a=v,o=k,s=h,c="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(K(e,t,r))return!1;for(var l=0;l=0.0.0")),_=_||e,d=d||e,a(e.semver,_.semver,r)?_=e:s(e.semver,d.semver,r)&&(d=e);}),_.operator===c||_.operator===u)return!1;if((!d.operator||d.operator===c)&&o(e,d.semver))return!1;if(d.operator===u&&s(e,d.semver))return!1}return!0}function $(e,t){var r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}t=e.exports=i;var G;G="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e);}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var W=256,H=Number.MAX_SAFE_INTEGER||9007199254740991,X=t.re=[],Y=t.src=[],Q=0,Z=Q++;Y[Z]="0|[1-9]\\d*";var ee=Q++;Y[ee]="[0-9]+";var te=Q++;Y[te]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var ne=Q++;Y[ne]="("+Y[Z]+")\\.("+Y[Z]+")\\.("+Y[Z]+")";var re=Q++;Y[re]="("+Y[ee]+")\\.("+Y[ee]+")\\.("+Y[ee]+")";var ae=Q++;Y[ae]="(?:"+Y[Z]+"|"+Y[te]+")";var ie=Q++;Y[ie]="(?:"+Y[ee]+"|"+Y[te]+")";var oe=Q++;Y[oe]="(?:-("+Y[ae]+"(?:\\."+Y[ae]+")*))";var se=Q++;Y[se]="(?:-?("+Y[ie]+"(?:\\."+Y[ie]+")*))";var ce=Q++;Y[ce]="[0-9A-Za-z-]+";var ue=Q++;Y[ue]="(?:\\+("+Y[ce]+"(?:\\."+Y[ce]+")*))";var le=Q++,_e="v?"+Y[ne]+Y[oe]+"?"+Y[ue]+"?";Y[le]="^"+_e+"$";var de="[v=\\s]*"+Y[re]+Y[se]+"?"+Y[ue]+"?",pe=Q++;Y[pe]="^"+de+"$";var fe=Q++;Y[fe]="((?:<|>)?=?)";var me=Q++;Y[me]=Y[ee]+"|x|X|\\*";var ge=Q++;Y[ge]=Y[Z]+"|x|X|\\*";var ye=Q++;Y[ye]="[v=\\s]*("+Y[ge]+")(?:\\.("+Y[ge]+")(?:\\.("+Y[ge]+")(?:"+Y[oe]+")?"+Y[ue]+"?)?)?";var he=Q++;Y[he]="[v=\\s]*("+Y[me]+")(?:\\.("+Y[me]+")(?:\\.("+Y[me]+")(?:"+Y[se]+")?"+Y[ue]+"?)?)?";var ve=Q++;Y[ve]="^"+Y[fe]+"\\s*"+Y[ye]+"$";var be=Q++;Y[be]="^"+Y[fe]+"\\s*"+Y[he]+"$";var xe=Q++;Y[xe]="(?:~>?)";var ke=Q++;Y[ke]="(\\s*)"+Y[xe]+"\\s+",X[ke]=new RegExp(Y[ke],"g");var Se=Q++;Y[Se]="^"+Y[xe]+Y[ye]+"$";var Te=Q++;Y[Te]="^"+Y[xe]+Y[he]+"$";var Ce=Q++;Y[Ce]="(?:\\^)";var Ee=Q++;Y[Ee]="(\\s*)"+Y[Ce]+"\\s+",X[Ee]=new RegExp(Y[Ee],"g");var De=Q++;Y[De]="^"+Y[Ce]+Y[ye]+"$";var Ne=Q++;Y[Ne]="^"+Y[Ce]+Y[he]+"$";var Ae=Q++;Y[Ae]="^"+Y[fe]+"\\s*("+de+")$|^$";var we=Q++;Y[we]="^"+Y[fe]+"\\s*("+_e+")$|^$";var Oe=Q++;Y[Oe]="(\\s*)"+Y[fe]+"\\s*("+de+"|"+Y[ye]+")",X[Oe]=new RegExp(Y[Oe],"g");var Pe=Q++;Y[Pe]="^\\s*("+Y[ye]+")\\s+-\\s+("+Y[ye]+")\\s*$";var Fe=Q++;Y[Fe]="^\\s*("+Y[he]+")\\s+-\\s+("+Y[he]+")\\s*$";var Ie=Q++;Y[Ie]="(<|>)?=?\\s*\\*";for(var Re=0;Re=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0);}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=o,t.diff=s,t.compareIdentifiers=c;var Me=/^[0-9]+$/;t.rcompareIdentifiers=u,t.major=l,t.minor=_,t.patch=d,t.compare=p,t.compareLoose=f,t.rcompare=m,t.sort=g,t.rsort=y,t.gt=h,t.lt=v,t.eq=b,t.neq=x,t.gte=k,t.lte=S,t.cmp=T,t.Comparator=C;var Le={};C.prototype.parse=function(e){var t=this.loose?X[Ae]:X[we],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1],"="===this.operator&&(this.operator=""),n[2]?this.semver=new i(n[2],this.loose):this.semver=Le;},C.prototype.toString=function(){return this.value},C.prototype.test=function(e){return G("Comparator.test",e,this.loose),this.semver===Le||("string"==typeof e&&(e=new i(e,this.loose)),T(e,this.operator,this.semver,this.loose))},t.Range=E,E.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range},E.prototype.toString=function(){return this.range},E.prototype.parseRange=function(e){var t=this.loose;e=e.trim(),G("range",e,t);var n=t?X[Fe]:X[Pe];e=e.replace(n,L),G("hyphen replace",e),e=e.replace(X[Oe],"$1$2$3"),G("comparator trim",e,X[Oe]),e=(e=(e=e.replace(X[ke],"$1~")).replace(X[Ee],"$1^")).split(/\s+/).join(" ");var r=t?X[Ae]:X[we],a=e.split(" ").map(function(e){return N(e,t)}).join(" ").split(/\s+/);return this.loose&&(a=a.filter(function(e){return!!e.match(r)})),a=a.map(function(e){return new C(e,t)})},t.toComparators=D,E.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new i(e,this.loose));for(var t=0;t=4"},repository="eslint/typescript-eslint-parser",bugs={url:"https://github.com/eslint/typescript-eslint-parser/issues"},license="BSD-2-Clause",devDependencies={eslint:"3.19.0","eslint-config-eslint":"4.0.0","eslint-plugin-node":"4.2.2","eslint-release":"0.10.3",jest:"20.0.4","npm-license":"0.3.3",shelljs:"0.7.7","shelljs-nodecli":"0.1.1",typescript:"~2.3.2"},keywords=["ast","ecmascript","javascript","typescript","parser","syntax","eslint"],scripts={test:"node Makefile.js test",jest:"jest",lint:"node Makefile.js lint",release:"eslint-release","ci-release":"eslint-ci-release","gh-release":"eslint-gh-release",alpharelease:"eslint-prerelease alpha",betarelease:"eslint-prerelease beta"},dependencies={"lodash.unescape":"4.0.1",semver:"5.3.0"},peerDependencies={typescript:"*"},jest={testRegex:"tests/lib/.+\\.js$",testPathIgnorePatterns:[],collectCoverage:!0,coverageReporters:["text-summary"]},_package={name:name,description:description,author:author,homepage:homepage,main:main,version:version$1,files:files,engines:engines,repository:repository,bugs:bugs,license:license,devDependencies:devDependencies,keywords:keywords,scripts:scripts,dependencies:dependencies,peerDependencies:peerDependencies,jest:jest},_package$1=Object.freeze({name:name,description:description,author:author,homepage:homepage,main:main,version:version$1,files:files,engines:engines,repository:repository,bugs:bugs,license:license,devDependencies:devDependencies,keywords:keywords,scripts:scripts,dependencies:dependencies,peerDependencies:peerDependencies,jest:jest,default:_package}),require$$4$2=_package$1&&_package$1.default||_package$1;const astNodeTypes=astNodeTypes$1,ts=typescript,convert=astConverter,semver=semver$1,SUPPORTED_TYPESCRIPT_VERSIONS=require$$4$2.devDependencies.typescript,ACTIVE_TYPESCRIPT_VERSION=ts.version,isRunningSupportedTypeScriptVersion=semver.satisfies(ACTIVE_TYPESCRIPT_VERSION,SUPPORTED_TYPESCRIPT_VERSIONS);if(!isRunningSupportedTypeScriptVersion){const e="=============",t=[e,"WARNING: You are currently running a version of TypeScript which is not officially supported by typescript-eslint-parser.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${SUPPORTED_TYPESCRIPT_VERSIONS}`,`YOUR TYPESCRIPT VERSION: ${ACTIVE_TYPESCRIPT_VERSION}`,"Please only submit bug reports when using the officially supported version.",e];console.warn(t.join("\n\n"));}let extra;var version$$1=require$$4$2.version,parse_1=parse$1;!function(){let e,t={};"function"==typeof Object.create&&(t=Object.create(null));for(e in astNodeTypes)astNodeTypes.hasOwnProperty(e)&&(t[e]=astNodeTypes[e]);"function"==typeof Object.freeze&&Object.freeze(t);}();var parser={version:version$$1,parse:parse_1};const createError=parserCreateError,includeShebang=parserIncludeShebang;var parserTypescript=parse;module.exports=parserTypescript; }); var parserTypescript = unwrapExports(parserTypescript_1); diff --git a/package.json b/package.json index f12c3a26..a892a63f 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,9 @@ "main": "./index.js", "dependencies": {}, "devDependencies": { + "babel-cli": "6.24.1", "babel-code-frame": "7.0.0-alpha.12", + "babel-preset-es2015": "6.24.1", "babylon": "7.0.0-beta.10", "chalk": "1.1.3", "cross-spawn": "5.1.0", @@ -51,8 +53,7 @@ "test": "jest", "test-integration": "jest tests_integration", "lint": "eslint .", - "build": "./scripts/build/build.sh", - "build:docs": "rollup -c docs/rollup.config.js" + "build": "./scripts/build/build.sh" }, "jest": { "setupFiles": [ diff --git a/scripts/build/build.sh b/scripts/build/build.sh index ddd9635d..ba169ceb 100755 --- a/scripts/build/build.sh +++ b/scripts/build/build.sh @@ -6,8 +6,6 @@ cd ../..; rm -Rf dist/ rm -f docs/*.js -echo 'The warning about eval being strongly discouraged is normal.' - ## --- Lib --- echo 'Bundling lib index...'; @@ -37,13 +35,17 @@ echo "module.exports =" > dist/src/parser-postcss.js.tmp cat dist/src/parser-postcss.js >> dist/src/parser-postcss.js.tmp mv dist/src/parser-postcss.js.tmp dist/src/parser-postcss.js +echo; + ## --- Docs --- echo 'Bundling docs index...'; cp dist/index.js docs/index.js +node_modules/babel-cli/bin/babel.js dist/index.js --out-file docs/index.js --presets=es2015 echo 'Bundling docs babylon...'; node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment filepath:src/parser-babylon.js +node_modules/babel-cli/bin/babel.js docs/parser-babylon.js --out-file docs/parser-babylon.js --presets=es2015 echo 'Bundling docs flow...'; node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment filepath:src/parser-flow.js @@ -57,6 +59,8 @@ node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment fi echo 'Bundling docs postcss...'; node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment filepath:src/parser-postcss.js +echo; + ## --- Misc --- echo 'Remove eval' diff --git a/scripts/build/rollup.base.config.js b/scripts/build/rollup.base.config.js new file mode 100644 index 00000000..06677b92 --- /dev/null +++ b/scripts/build/rollup.base.config.js @@ -0,0 +1,16 @@ +export default { + onwarn: function(warning) { + if ( + [ + 'EVAL', + 'MISSING_GLOBAL_NAME', + 'MISSING_NODE_BUILTINS', + 'UNRESOLVED_IMPORT', + ].find(code => code === warning.code) + ) { + return; + } + + console.warn(warning.message); + }, +}; diff --git a/scripts/build/rollup.bin.config.js b/scripts/build/rollup.bin.config.js index a0db03fa..af6da83f 100644 --- a/scripts/build/rollup.bin.config.js +++ b/scripts/build/rollup.bin.config.js @@ -1,3 +1,4 @@ +import baseConfig from './rollup.base.config.js'; import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; import json from 'rollup-plugin-json'; @@ -5,18 +6,18 @@ import replace from 'rollup-plugin-replace'; const parser = process.env.parser; -export default { +export default Object.assign(baseConfig, { entry: 'bin/prettier.js', dest: 'dist/bin/prettier.js', format: 'cjs', banner: '#!/usr/bin/env node', plugins: [ replace({ - '#!/usr/bin/env node': '' + '#!/usr/bin/env node': '', }), json(), - resolve(), + resolve({ preferBuiltins: true }), commonjs(), ], external: ['fs', 'readline', 'path', 'module', 'assert', 'util', 'events'], -}; +}); diff --git a/scripts/build/rollup.docs.config.js b/scripts/build/rollup.docs.config.js index 22bb63a8..f967ac7d 100644 --- a/scripts/build/rollup.docs.config.js +++ b/scripts/build/rollup.docs.config.js @@ -1,6 +1,6 @@ +import baseConfig from './rollup.base.config.js'; import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; -import builtins from 'rollup-plugin-node-builtins'; import globals from 'rollup-plugin-node-globals'; import json from 'rollup-plugin-json'; @@ -8,17 +8,12 @@ const filepath = process.env.filepath; const filename = filepath.replace(/.+\//, ''); const basename = filename.replace(/\..+/, ''); -export default { +export default Object.assign(baseConfig, { entry: 'dist/' + filepath, dest: 'docs/' + filename, format: 'iife', - plugins: [ - json(), - resolve(), - commonjs(), - globals(), - ], + plugins: [json(), resolve({ preferBuiltins: true }), commonjs(), globals()], useStrict: false, moduleName: basename.replace(/.+-/, ''), - external: ['assert', 'fs', 'module'] -}; + external: ['assert', 'fs', 'module'], +}); diff --git a/scripts/build/rollup.index.config.js b/scripts/build/rollup.index.config.js index ec50b29d..bca90937 100644 --- a/scripts/build/rollup.index.config.js +++ b/scripts/build/rollup.index.config.js @@ -1,15 +1,12 @@ +import baseConfig from './rollup.base.config.js'; import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; import json from 'rollup-plugin-json'; -export default { +export default Object.assign(baseConfig, { entry: 'index.js', dest: 'dist/index.js', format: 'cjs', - plugins: [ - json(), - resolve(), - commonjs(), - ], + plugins: [json(), resolve({ preferBuiltins: true }), commonjs()], external: ['assert'], -}; +}); diff --git a/scripts/build/rollup.parser.config.js b/scripts/build/rollup.parser.config.js index 25edae5a..0f9e8439 100644 --- a/scripts/build/rollup.parser.config.js +++ b/scripts/build/rollup.parser.config.js @@ -1,3 +1,4 @@ +import baseConfig from './rollup.base.config.js'; import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; import json from 'rollup-plugin-json'; @@ -6,27 +7,37 @@ import uglify from 'uglify-es'; const parser = process.env.parser; -export default { +export default Object.assign(baseConfig, { entry: 'src/parser-' + parser + '.js', dest: 'dist/src/parser-' + parser + '.js', format: 'cjs', plugins: [ - parser === 'typescript' ? replace({ - 'exports\.Syntax =': '1,', - include: 'node_modules/typescript-eslint-parser/parser.js', - }) : {}, + parser === 'typescript' + ? replace({ + 'exports.Syntax =': '1,', + include: 'node_modules/typescript-eslint-parser/parser.js', + }) + : {}, json(), - resolve(), + resolve({ preferBuiltins: true }), commonjs(), { transformBundle(code) { const result = uglify.minify(code, {}); if (result.error) throw result.error; return result; - } - } + }, + }, ], - external: ['fs', 'buffer', 'path', 'module', 'assert', 'util', 'os', 'crypto'], - useStrict: parser === "flow" ? false : true, -}; - + external: [ + 'fs', + 'buffer', + 'path', + 'module', + 'assert', + 'util', + 'os', + 'crypto', + ], + useStrict: parser === 'flow' ? false : true, +}); diff --git a/yarn.lock b/yarn.lock index 61506871..b37111de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -195,6 +195,27 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +babel-cli@6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283" + dependencies: + babel-core "^6.24.1" + babel-polyfill "^6.23.0" + babel-register "^6.24.1" + babel-runtime "^6.22.0" + commander "^2.8.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.0.0" + glob "^7.0.0" + lodash "^4.2.0" + output-file-sync "^1.1.0" + path-is-absolute "^1.0.0" + slash "^1.0.0" + source-map "^0.5.0" + v8flags "^2.0.10" + optionalDependencies: + chokidar "^1.6.1" + babel-code-frame@7.0.0-alpha.12: version "7.0.0-alpha.12" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-7.0.0-alpha.12.tgz#26fbb2eab1c20763271fecb6b04a108756fae61f" @@ -248,6 +269,74 @@ babel-generator@^6.18.0, babel-generator@^6.24.1: source-map "^0.5.0" trim-right "^1.0.1" +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + lodash "^4.2.0" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + lodash "^4.2.0" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" @@ -269,6 +358,12 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-istanbul@^4.0.0: version "4.1.3" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.3.tgz#6ee6280410dcf59c7747518c3dfd98680958f102" @@ -281,6 +376,224 @@ babel-plugin-jest-hoist@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz#afedc853bd3f8dc3548ea671fbe69d03cc2c1767" +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" + dependencies: + regenerator-transform "0.9.11" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + dependencies: + babel-runtime "^6.22.0" + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-preset-es2015@6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + babel-preset-jest@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz#cbacaadecb5d689ca1e1de1360ebfc66862c178a" @@ -299,7 +612,7 @@ babel-register@^6.24.1: mkdirp "^0.5.1" source-map-support "^0.4.2" -babel-runtime@^6.22.0: +babel-runtime@^6.18.0, babel-runtime@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" dependencies: @@ -330,7 +643,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.24.1: invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.18.0, babel-types@^6.24.1: +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" dependencies: @@ -544,7 +857,7 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chokidar@^1.4.3: +chokidar@^1.4.3, chokidar@^1.6.1: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: @@ -623,7 +936,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@~2.9.0: +commander@^2.8.1, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1211,6 +1524,10 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" +fs-readdir-recursive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -1315,7 +1632,7 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -1977,6 +2294,10 @@ jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + json-loader@^0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" @@ -2374,6 +2695,14 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +output-file-sync@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + p-limit@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" @@ -2683,10 +3012,22 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + regenerator-runtime@^0.10.0: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" +regenerator-transform@0.9.11: + version "0.9.11" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + regex-cache@^0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" @@ -2694,6 +3035,24 @@ regex-cache@^0.4.2: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + remove-trailing-separator@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" @@ -3259,6 +3618,10 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + user-home@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" @@ -3279,6 +3642,12 @@ uuid@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" +v8flags@^2.0.10: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" + validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"