diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 0d1402a..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -module.exports = { - root: true, - extends: ["@peggyjs", "@peggyjs/eslint-config/typescript"], - ignorePatterns: [ - "coverage/", - "docs/", - "lib/", // Generated - "node_modules/", - "src/parser.ts", // Generated - ], - overrides: [ - { - files: ["*.js"], - parserOptions: { - ecmaVersion: 2020, - }, - }, - { - files: ["test/**/*.js"], - extends: [ - "plugin:mocha/recommended", - ], - rules: { - "mocha/no-mocha-arrows": "off", - }, - }, - ], -}; diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index ba0bc4a..4685ed4 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -12,26 +12,26 @@ jobs: strategy: matrix: - node-version: [14.x, 16.x, 18.x, 19.x] + node-version: [18.x, 20.x, 21.x] os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} timeout-minutes: 10 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: npm - name: Install dependencies run: npm install - name: Check coding standards - if: matrix.node-version == '19.x' && matrix.os == 'ubuntu-latest' + if: matrix.node-version == '20.x' && matrix.os == 'ubuntu-latest' run: npm run lint - name: Test run: npm run ci - - uses: codecov/codecov-action@v3 + - uses: codecov/codecov-action@v4 with: files: coverage/lcov.info diff --git a/.gitignore b/.gitignore index 39dc981..3204179 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ .nyc_output *.map coverage/ +lib/ node_modules/ pnpm-lock.yaml +src/parser.js diff --git a/.mocharc.js b/.mocharc.js index 51a95af..4e756fd 100644 --- a/.mocharc.js +++ b/.mocharc.js @@ -1,9 +1,9 @@ "use strict"; module.exports = { - diff: true, + "diff": true, "full-trace": true, - recursive: true, - reporter: "progress", - require: "source-map-support/register", + "recursive": true, + "reporter": "progress", + "require": "source-map-support/register", }; diff --git a/.npmignore b/.npmignore index 0dff358..1139d4a 100644 --- a/.npmignore +++ b/.npmignore @@ -16,3 +16,4 @@ tsconfig.json .peggy.js .mocharc.js tools/ +eslint.config.js diff --git a/.peggy.js b/.peggy.js deleted file mode 100644 index 212f9ef..0000000 --- a/.peggy.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -module.exports = { - "tspegjs": { - "customHeader": ` -import type * as ast from "./ast"; -import type * as ESTree from "estree"; -`, - }, -}; diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..1689f0b --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,36 @@ +"use strict"; +const mocha = require("eslint-plugin-mocha"); + +module.exports = [ + { + ignores: [ + "coverage/**", + "docs/**", + "lib/**", + "node_modules/**", + "src/parser.d.ts", + "src/parser.js", + ], + }, + require("@peggyjs/eslint-config/flat/js"), + require("@peggyjs/eslint-config/flat/mocha"), + require("@peggyjs/eslint-config/flat/ts"), + { + files: ["test/**", "tools/**"], + languageOptions: { + globals: require("@peggyjs/eslint-config/flat/globals").node, + ecmaVersion: 2022, + sourceType: "commonjs", + }, + }, + { + files: ["test/**/*.js"], + plugins: { + mocha, + }, + rules: { + ...mocha.configs.recommended.rules, + "mocha/no-mocha-arrows": "off", + }, + }, +]; diff --git a/lib/ast.d.ts b/lib/ast.d.ts deleted file mode 100644 index ab87a1a..0000000 --- a/lib/ast.d.ts +++ /dev/null @@ -1,174 +0,0 @@ -import type * as ESlint from "eslint"; -import type * as EStree from "estree"; -/** - * ESlint uses these for visiting the AST. We'll do the same in visitor.ts. - */ -export declare const visitorKeys: { - Program: string[]; - grammar: string[]; - top_level_initializer: string[]; - initializer: string[]; - rule: string[]; - named: string[]; - repeated: string[]; - boundaries: string[]; - delimiter: string[]; - constant: never[]; - variable: never[]; - function: string[]; - choice: string[]; - action: string[]; - sequence: string[]; - labeled: string[]; - text: string[]; - simple_and: string[]; - simple_not: string[]; - optional: string[]; - zero_or_more: string[]; - one_or_more: string[]; - group: string[]; - semantic_and: string[]; - semantic_not: string[]; - rule_ref: string[]; - literal: string[]; - display: string[]; - class: never[]; - any: never[]; - name: never[]; - code: string[]; - punc: never[]; - Block: never[]; - Line: never[]; -}; -export type NodeTypes = keyof typeof visitorKeys; -export interface BaseNode { - type: T; - parent?: Node; - loc: EStree.SourceLocation; - range: [number, number]; -} -interface Coded { - code: Code; -} -interface Bracketed { - open: Punctuation; - close: Punctuation; -} -interface Terminated { - semi?: Punctuation[]; -} -interface Op { - operator: Punctuation; -} -interface ExpressionExpression extends BaseNode { - expression: Expression; -} -export interface Program extends BaseNode<"Program"> { - sourceType: "peggy"; - body: Grammar; - comments: EStree.Comment[]; - tokens: ESlint.AST.Token[]; -} -export interface Grammar extends BaseNode<"grammar"> { - topLevelInitializer?: TopLevelInitializer; - initializer?: Initializer; - rules: Rule[]; -} -export type TopLevelInitializer = BaseNode<"top_level_initializer"> & Bracketed & Coded & Terminated; -export type Initializer = BaseNode<"initializer"> & Coded & Terminated; -export interface Rule extends BaseNode<"rule">, Terminated { - name: Name; - equals: Punctuation; - expression: Expression; -} -export interface NamedExpression extends BaseNode<"named"> { - name: Name; - expression: Expression; -} -export interface RepeatedExpression extends BaseNode<"repeated"> { - expression: Expression; - pipe1: Punctuation; - boundaries: Boundaries; - delimiter?: Delimiter; - pipe2: Punctuation; -} -export interface Boundaries extends BaseNode<"boundaries"> { - min?: Boundary; - dots?: Punctuation; - max?: Boundary; -} -export type Boundary = BoundaryConstant | BoundaryFunction | BoundaryVariable; -export interface BoundaryConstant extends BaseNode<"constant"> { - value: number; -} -export interface BoundaryVariable extends BaseNode<"variable"> { - value: string; -} -export interface BoundaryFunction extends BaseNode<"function"> { - code: Code; -} -export interface Delimiter extends BaseNode<"delimiter"> { - comma: Punctuation; - expression: Expression; -} -export interface ChoiceExpression extends BaseNode<"choice"> { - alternatives: Expression[]; - slashes: Punctuation[]; -} -export type ActionExpression = Coded & ExpressionExpression<"action">; -export interface SequenceExpression extends BaseNode<"sequence"> { - elements: Expression[]; -} -export interface LabeledExpression extends ExpressionExpression<"labeled"> { - name: Name; - at: Punctuation; - colon: Punctuation; - pick: boolean; -} -type OpEx = ExpressionExpression & Op; -export type TextExpression = OpEx<"text">; -export type SimpleAndExpression = OpEx<"simple_and">; -export type SimpleNotExpression = OpEx<"simple_not">; -export type OptionalExpression = OpEx<"optional">; -export type ZeroOrMoreExpression = OpEx<"zero_or_more">; -export type OneOrMoreExpression = OpEx<"one_or_more">; -export type SemanticAndExpression = BaseNode<"semantic_and"> & Coded & Op; -export type SemanticNotExpression = BaseNode<"semantic_not"> & Coded & Op; -export type GroupExpression = Bracketed & ExpressionExpression<"group">; -export interface ValueExpression extends BaseNode { - value: string; -} -export interface RuleReferenceExpression extends BaseNode<"rule_ref"> { - name: Name; -} -interface QuotedString extends ValueExpression { - before: Punctuation; - after: Punctuation; - raw: string; -} -export interface LiteralExpression extends QuotedString<"literal"> { - ignoreCase: boolean; -} -export type DisplayName = QuotedString<"display">; -export interface ClassExpression extends BaseNode<"class"> { - parts: (string[] | string)[]; - inverted: boolean; - ignoreCase: boolean; -} -export type AnyExpression = BaseNode<"any">; -export type Name = ValueExpression<"name">; -export type Punctuation = ValueExpression<"punc">; -export type Code = Bracketed & ValueExpression<"code">; -export type BlockComment = BaseNode<"Block"> & EStree.Comment; -export type LineComment = BaseNode<"Line"> & EStree.Comment; -export type Comment = BlockComment | LineComment; -export type OperatorExpression = OneOrMoreExpression | OptionalExpression | SemanticAndExpression | SemanticNotExpression | SimpleAndExpression | SimpleNotExpression | TextExpression | ZeroOrMoreExpression; -export type ValueNode = Code | DisplayName | LiteralExpression | Name | Punctuation; -export type PrefixedExpression = SimpleAndExpression | SimpleNotExpression | TextExpression; -export type PrefixedOperatorExpression = PrefixedExpression | SemanticPredicateExpression; -export type SuffixedExpression = OneOrMoreExpression | OptionalExpression | ZeroOrMoreExpression; -export type SemanticPredicateExpression = SemanticAndExpression | SemanticNotExpression; -export type PrimaryExpression = AnyExpression | ClassExpression | GroupExpression | LiteralExpression | RuleReferenceExpression | SemanticPredicateExpression; -export type Expression = ActionExpression | ChoiceExpression | LabeledExpression | NamedExpression | PrefixedExpression | PrimaryExpression | RepeatedExpression | SequenceExpression | SuffixedExpression; -export type Node = Boundaries | Boundary | BoundaryConstant | BoundaryFunction | BoundaryVariable | Code | Comment | Delimiter | DisplayName | Expression | Grammar | Initializer | Name | Program | Punctuation | Rule | TopLevelInitializer; -export {}; diff --git a/lib/ast.js b/lib/ast.js deleted file mode 100644 index 2cdf49d..0000000 --- a/lib/ast.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.visitorKeys = void 0; -/** - * ESlint uses these for visiting the AST. We'll do the same in visitor.ts. - */ -exports.visitorKeys = { - Program: ["body", "comments"], - grammar: ["topLevelInitializer", "initializer", "rules"], - top_level_initializer: ["open", "code", "close", "semi"], - initializer: ["code", "semi"], - rule: ["name", "equals", "expression", "semi"], - named: ["name", "expression"], - repeated: ["expression", "pipe1", "boundaries", "delimiter", "pipe2"], - boundaries: ["min", "dots", "max"], - delimiter: ["comma", "expression"], - constant: [], - variable: [], - function: ["code"], - choice: ["alternatives", "slashes"], - action: ["expression", "code"], - sequence: ["elements"], - labeled: ["at", "name", "colon", "expression"], - text: ["operator", "expression"], - simple_and: ["operator", "expression"], - simple_not: ["operator", "expression"], - optional: ["expression", "operator"], - zero_or_more: ["expression", "operator"], - one_or_more: ["expression", "operator"], - group: ["open", "expression", "close"], - semantic_and: ["operator", "code"], - semantic_not: ["operator", "code"], - rule_ref: ["name"], - literal: ["before", "after"], - display: ["before", "after"], - class: [], - any: [], - name: [], - code: ["open", "close"], - punc: [], - Block: [], - Line: [], -}; diff --git a/lib/index.d.ts b/lib/index.d.ts deleted file mode 100644 index ca58c15..0000000 --- a/lib/index.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type * as ESlint from "eslint"; -import * as visitor from "./visitor"; -export { visitor }; -interface parseOptions { - /** - * The file that `code` was read from, used as grammarSource. - */ - filePath?: string; -} -/** - * Parse Peggy text and return the format that eslint requires. - */ -export declare function parseForESLint(code: string, options?: parseOptions): ESlint.Linter.ESLintParseResult; diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index dc4c5db..0000000 --- a/lib/index.js +++ /dev/null @@ -1,147 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseForESLint = exports.visitor = void 0; -const visitor = __importStar(require("./visitor")); -exports.visitor = visitor; -const parser_1 = require("./parser"); -const RESERVED_WORDS = [ - // Reserved keywords as of ECMAScript 2015 - "break", - "case", - "catch", - "class", - "const", - "continue", - "debugger", - "default", - "delete", - "do", - "else", - "export", - "extends", - "finally", - "for", - "function", - "if", - "import", - "in", - "instanceof", - "new", - "return", - "super", - "switch", - "this", - "throw", - "try", - "typeof", - "var", - "void", - "while", - "with", - // Special constants - "null", - "true", - "false", - // These are always reserved: - "enum", - // The following are only reserved when they are found in strict mode code - // Peggy generates code in strict mode, so they are applicable - "implements", - "interface", - "let", - "package", - "private", - "protected", - "public", - "static", - "yield", - // The following are only reserved when they are found in module code: - "await", - // The following are reserved as future keywords by ECMAScript 1..3 - // specifications, but not any more in modern ECMAScript. We don't need these - // because the code-generation of Peggy only targets ECMAScript >= 5. - // - // - abstract - // - boolean - // - byte - // - char - // - double - // - final - // - float - // - goto - // - int - // - long - // - native - // - short - // - synchronized - // - throws - // - transient - // - volatile - // These are not reserved keywords, but using them as variable names is problematic. - "arguments", - "eval", // Redeclaring eval() is prohibited in strict mode - // A few identifiers have a special meaning in some contexts without being - // reserved words of any kind. These we don't need to worry about as they can - // all be safely used as variable names. - // - // - as - // - async - // - from - // - get - // - of - // - set -]; -/** - * Parse Peggy text and return the format that eslint requires. - */ -function parseForESLint(code, options = {}) { - try { - const ast = (0, parser_1.parse)(code, { - grammarSource: options.filePath, - reservedWords: RESERVED_WORDS, - }); - return { - ast: ast, - visitorKeys: visitor.Visitor.visitorKeys, - }; - } - catch (ex) { - if (ex instanceof parser_1.PeggySyntaxError) { - if (options.filePath) { - ex.message = ex.format([{ - source: options.filePath, - text: code, - }]); - } - // @ts-expect-error Extending type - ex.lineNumber = ex.location?.start?.line; - // @ts-expect-error Extending type - ex.column = ex.location?.start?.column; - } - throw ex; - } -} -exports.parseForESLint = parseForESLint; diff --git a/lib/parser.js b/lib/parser.js deleted file mode 100644 index d05284c..0000000 --- a/lib/parser.js +++ /dev/null @@ -1,7046 +0,0 @@ -"use strict"; -/* eslint-disable */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PeggySyntaxError = exports.parse = void 0; -const peggyParser = // Generated by Peggy 3.0.2. - -// -// https://peggyjs.org/ -// @ts-ignore -(function () { - // @ts-ignore - "use strict"; - // @ts-ignore - const OPS_TO_PREFIXED_TYPES = { - // @ts-ignore - "$": "text", - // @ts-ignore - "&": "simple_and", - // @ts-ignore - "!": "simple_not" - }; - // @ts-ignore - const OPS_TO_SUFFIXED_TYPES = { - // @ts-ignore - "?": "optional", - // @ts-ignore - "*": "zero_or_more", - // @ts-ignore - "+": "one_or_more" - }; - // @ts-ignore - const OPS_TO_SEMANTIC_PREDICATE_TYPES = { - // @ts-ignore - "&": "semantic_and", - // @ts-ignore - "!": "semantic_not" - }; - // @ts-ignore - function peg$subclass(child, parent) { - // @ts-ignore - function C() { this.constructor = child; } - // @ts-ignore - C.prototype = parent.prototype; - // @ts-ignore - child.prototype = new C(); - } - // @ts-ignore - function peg$SyntaxError(message, expected, found, location) { - // @ts-ignore - var self = Error.call(this, message); - // istanbul ignore next Check is a necessary evil to support older environments - // @ts-ignore - if (Object.setPrototypeOf) { - // @ts-ignore - Object.setPrototypeOf(self, peg$SyntaxError.prototype); - } - // @ts-ignore - self.expected = expected; - // @ts-ignore - self.found = found; - // @ts-ignore - self.location = location; - // @ts-ignore - self.name = "SyntaxError"; - // @ts-ignore - return self; - } - // @ts-ignore - peg$subclass(peg$SyntaxError, Error); - // @ts-ignore - function peg$padEnd(str, targetLength, padString) { - // @ts-ignore - padString = padString || " "; - // @ts-ignore - if (str.length > targetLength) { - return str; - } - // @ts-ignore - targetLength -= str.length; - // @ts-ignore - padString += padString.repeat(targetLength); - // @ts-ignore - return str + padString.slice(0, targetLength); - } - // @ts-ignore - peg$SyntaxError.prototype.format = function (sources) { - // @ts-ignore - var str = "Error: " + this.message; - // @ts-ignore - if (this.location) { - // @ts-ignore - var src = null; - // @ts-ignore - var k; - // @ts-ignore - for (k = 0; k < sources.length; k++) { - // @ts-ignore - if (sources[k].source === this.location.source) { - // @ts-ignore - src = sources[k].text.split(/\r\n|\n|\r/g); - // @ts-ignore - break; - } - } - // @ts-ignore - var s = this.location.start; - // @ts-ignore - var offset_s = (this.location.source && (typeof this.location.source.offset === "function")) - // @ts-ignore - ? this.location.source.offset(s) - // @ts-ignore - : s; - // @ts-ignore - var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column; - // @ts-ignore - if (src) { - // @ts-ignore - var e = this.location.end; - // @ts-ignore - var filler = peg$padEnd("", offset_s.line.toString().length, ' '); - // @ts-ignore - var line = src[s.line - 1]; - // @ts-ignore - var last = s.line === e.line ? e.column : line.length + 1; - // @ts-ignore - var hatLen = (last - s.column) || 1; - // @ts-ignore - str += "\n --> " + loc + "\n" - // @ts-ignore - + filler + " |\n" - // @ts-ignore - + offset_s.line + " | " + line + "\n" - // @ts-ignore - + filler + " | " + peg$padEnd("", s.column - 1, ' ') - // @ts-ignore - + peg$padEnd("", hatLen, "^"); - // @ts-ignore - } - else { - // @ts-ignore - str += "\n at " + loc; - } - } - // @ts-ignore - return str; - }; - // @ts-ignore - peg$SyntaxError.buildMessage = function (expected, found) { - // @ts-ignore - var DESCRIBE_EXPECTATION_FNS = { - // @ts-ignore - literal: function (expectation) { - // @ts-ignore - return "\"" + literalEscape(expectation.text) + "\""; - }, - // @ts-ignore - class: function (expectation) { - // @ts-ignore - var escapedParts = expectation.parts.map(function (part) { - // @ts-ignore - return Array.isArray(part) - // @ts-ignore - ? classEscape(part[0]) + "-" + classEscape(part[1]) - // @ts-ignore - : classEscape(part); - }); - // @ts-ignore - return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]"; - }, - // @ts-ignore - any: function () { - // @ts-ignore - return "any character"; - }, - // @ts-ignore - end: function () { - // @ts-ignore - return "end of input"; - }, - // @ts-ignore - other: function (expectation) { - // @ts-ignore - return expectation.description; - } - }; - // @ts-ignore - function hex(ch) { - // @ts-ignore - return ch.charCodeAt(0).toString(16).toUpperCase(); - } - // @ts-ignore - function literalEscape(s) { - // @ts-ignore - return s - // @ts-ignore - .replace(/\\/g, "\\\\") - // @ts-ignore - .replace(/"/g, "\\\"") - // @ts-ignore - .replace(/\0/g, "\\0") - // @ts-ignore - .replace(/\t/g, "\\t") - // @ts-ignore - .replace(/\n/g, "\\n") - // @ts-ignore - .replace(/\r/g, "\\r") - // @ts-ignore - .replace(/[\x00-\x0F]/g, function (ch) { return "\\x0" + hex(ch); }) - // @ts-ignore - .replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) { return "\\x" + hex(ch); }); - } - // @ts-ignore - function classEscape(s) { - // @ts-ignore - return s - // @ts-ignore - .replace(/\\/g, "\\\\") - // @ts-ignore - .replace(/\]/g, "\\]") - // @ts-ignore - .replace(/\^/g, "\\^") - // @ts-ignore - .replace(/-/g, "\\-") - // @ts-ignore - .replace(/\0/g, "\\0") - // @ts-ignore - .replace(/\t/g, "\\t") - // @ts-ignore - .replace(/\n/g, "\\n") - // @ts-ignore - .replace(/\r/g, "\\r") - // @ts-ignore - .replace(/[\x00-\x0F]/g, function (ch) { return "\\x0" + hex(ch); }) - // @ts-ignore - .replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) { return "\\x" + hex(ch); }); - } - // @ts-ignore - function describeExpectation(expectation) { - // @ts-ignore - return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); - } - // @ts-ignore - function describeExpected(expected) { - // @ts-ignore - var descriptions = expected.map(describeExpectation); - // @ts-ignore - var i, j; - // @ts-ignore - descriptions.sort(); - // @ts-ignore - if (descriptions.length > 0) { - // @ts-ignore - for (i = 1, j = 1; i < descriptions.length; i++) { - // @ts-ignore - if (descriptions[i - 1] !== descriptions[i]) { - // @ts-ignore - descriptions[j] = descriptions[i]; - // @ts-ignore - j++; - } - } - // @ts-ignore - descriptions.length = j; - } - // @ts-ignore - switch (descriptions.length) { - // @ts-ignore - case 1: - // @ts-ignore - return descriptions[0]; - // @ts-ignore - case 2: - // @ts-ignore - return descriptions[0] + " or " + descriptions[1]; - // @ts-ignore - default: - // @ts-ignore - return descriptions.slice(0, -1).join(", ") - // @ts-ignore - + ", or " - // @ts-ignore - + descriptions[descriptions.length - 1]; - } - } - // @ts-ignore - function describeFound(found) { - // @ts-ignore - return found ? "\"" + literalEscape(found) + "\"" : "end of input"; - } - // @ts-ignore - return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; - }; - // @ts-ignore - function peg$parse(input, options) { - // @ts-ignore - options = options !== undefined ? options : {}; - // @ts-ignore - var peg$FAILED = {}; - // @ts-ignore - var peg$source = options.grammarSource; - // @ts-ignore - var peg$startRuleFunctions = { Program: peg$parseProgram }; - // @ts-ignore - var peg$startRuleFunction = peg$parseProgram; - // @ts-ignore - var peg$c0 = "$"; - var peg$c1 = "&"; - var peg$c2 = "!"; - var peg$c3 = "?"; - var peg$c4 = "*"; - var peg$c5 = "+"; - var peg$c6 = "="; - var peg$c7 = "\u200C"; - var peg$c8 = "\u200D"; - var peg$c9 = "_"; - var peg$c10 = "\\"; - var peg$c11 = "i"; - var peg$c12 = "\""; - var peg$c13 = "'"; - var peg$c14 = "["; - var peg$c15 = "^"; - var peg$c16 = "]"; - var peg$c17 = "-"; - var peg$c18 = "0"; - var peg$c19 = "x"; - var peg$c20 = "u"; - var peg$c21 = "b"; - var peg$c22 = "f"; - var peg$c23 = "n"; - var peg$c24 = "r"; - var peg$c25 = "t"; - var peg$c26 = "v"; - var peg$c27 = "."; - var peg$c28 = "{"; - var peg$c29 = "}"; - var peg$c30 = "\t"; - var peg$c31 = "\v"; - var peg$c32 = "\f"; - var peg$c33 = " "; - var peg$c34 = "\xA0"; - var peg$c35 = "\uFEFF"; - var peg$c36 = "/*"; - var peg$c37 = "*/"; - var peg$c38 = "//"; - var peg$c39 = "\n"; - var peg$c40 = "\r\n"; - var peg$c41 = "\r"; - var peg$c42 = "\u2028"; - var peg$c43 = "\u2029"; - var peg$c44 = "/"; - var peg$c45 = "("; - var peg$c46 = ")"; - var peg$c47 = ":"; - var peg$c48 = "@"; - var peg$c49 = ";"; - var peg$c50 = "|"; - var peg$c51 = ","; - var peg$c52 = ".."; - var peg$r0 = /^[0-9]/; - var peg$r1 = /^[0-9a-f]/i; - var peg$r2 = /^[{}]/; - var peg$r3 = /^[\n\r\u2028\u2029]/; - var peg$r4 = /^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/; - var peg$r5 = /^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/; - var peg$r6 = /^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\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\u0AF9\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-\u0C5A\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\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\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\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\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\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/; - var peg$r7 = /^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/; - var peg$r8 = /^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/; - var peg$r9 = /^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/; - var peg$r10 = /^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/; - var peg$r11 = /^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/; - var peg$r12 = /^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/; - var peg$r13 = /^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/; - var peg$r14 = /^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/; - var peg$e0 = peg$literalExpectation("$", false); - var peg$e1 = peg$literalExpectation("&", false); - var peg$e2 = peg$literalExpectation("!", false); - var peg$e3 = peg$literalExpectation("?", false); - var peg$e4 = peg$literalExpectation("*", false); - var peg$e5 = peg$literalExpectation("+", false); - var peg$e6 = peg$literalExpectation("=", false); - var peg$e7 = peg$otherExpectation("identifier"); - var peg$e8 = peg$literalExpectation("\u200C", false); - var peg$e9 = peg$literalExpectation("\u200D", false); - var peg$e10 = peg$literalExpectation("_", false); - var peg$e11 = peg$literalExpectation("\\", false); - var peg$e12 = peg$otherExpectation("literal"); - var peg$e13 = peg$literalExpectation("i", false); - var peg$e14 = peg$otherExpectation("string"); - var peg$e15 = peg$literalExpectation("\"", false); - var peg$e16 = peg$literalExpectation("'", false); - var peg$e17 = peg$otherExpectation("character class"); - var peg$e18 = peg$literalExpectation("[", false); - var peg$e19 = peg$literalExpectation("^", false); - var peg$e20 = peg$literalExpectation("]", false); - var peg$e21 = peg$literalExpectation("-", false); - var peg$e22 = peg$literalExpectation("0", false); - var peg$e23 = peg$literalExpectation("x", false); - var peg$e24 = peg$literalExpectation("u", false); - var peg$e25 = peg$literalExpectation("b", false); - var peg$e26 = peg$literalExpectation("f", false); - var peg$e27 = peg$literalExpectation("n", false); - var peg$e28 = peg$literalExpectation("r", false); - var peg$e29 = peg$literalExpectation("t", false); - var peg$e30 = peg$literalExpectation("v", false); - var peg$e31 = peg$classExpectation([["0", "9"]], false, false); - var peg$e32 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true); - var peg$e33 = peg$literalExpectation(".", false); - var peg$e34 = peg$otherExpectation("code block"); - var peg$e35 = peg$classExpectation(["{", "}"], false, false); - var peg$e36 = peg$literalExpectation("{", false); - var peg$e37 = peg$literalExpectation("}", false); - var peg$e38 = peg$anyExpectation(); - var peg$e39 = peg$otherExpectation("whitespace"); - var peg$e40 = peg$literalExpectation("\t", false); - var peg$e41 = peg$literalExpectation("\v", false); - var peg$e42 = peg$literalExpectation("\f", false); - var peg$e43 = peg$literalExpectation(" ", false); - var peg$e44 = peg$literalExpectation("\xA0", false); - var peg$e45 = peg$literalExpectation("\uFEFF", false); - var peg$e46 = peg$otherExpectation("comment"); - var peg$e47 = peg$literalExpectation("/*", false); - var peg$e48 = peg$literalExpectation("*/", false); - var peg$e49 = peg$literalExpectation("//", false); - var peg$e50 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false); - var peg$e51 = peg$otherExpectation("end of line"); - var peg$e52 = peg$literalExpectation("\n", false); - var peg$e53 = peg$literalExpectation("\r\n", false); - var peg$e54 = peg$literalExpectation("\r", false); - var peg$e55 = peg$literalExpectation("\u2028", false); - var peg$e56 = peg$literalExpectation("\u2029", false); - var peg$e57 = peg$classExpectation([["a", "z"], "\xB5", ["\xDF", "\xF6"], ["\xF8", "\xFF"], "\u0101", "\u0103", "\u0105", "\u0107", "\u0109", "\u010B", "\u010D", "\u010F", "\u0111", "\u0113", "\u0115", "\u0117", "\u0119", "\u011B", "\u011D", "\u011F", "\u0121", "\u0123", "\u0125", "\u0127", "\u0129", "\u012B", "\u012D", "\u012F", "\u0131", "\u0133", "\u0135", ["\u0137", "\u0138"], "\u013A", "\u013C", "\u013E", "\u0140", "\u0142", "\u0144", "\u0146", ["\u0148", "\u0149"], "\u014B", "\u014D", "\u014F", "\u0151", "\u0153", "\u0155", "\u0157", "\u0159", "\u015B", "\u015D", "\u015F", "\u0161", "\u0163", "\u0165", "\u0167", "\u0169", "\u016B", "\u016D", "\u016F", "\u0171", "\u0173", "\u0175", "\u0177", "\u017A", "\u017C", ["\u017E", "\u0180"], "\u0183", "\u0185", "\u0188", ["\u018C", "\u018D"], "\u0192", "\u0195", ["\u0199", "\u019B"], "\u019E", "\u01A1", "\u01A3", "\u01A5", "\u01A8", ["\u01AA", "\u01AB"], "\u01AD", "\u01B0", "\u01B4", "\u01B6", ["\u01B9", "\u01BA"], ["\u01BD", "\u01BF"], "\u01C6", "\u01C9", "\u01CC", "\u01CE", "\u01D0", "\u01D2", "\u01D4", "\u01D6", "\u01D8", "\u01DA", ["\u01DC", "\u01DD"], "\u01DF", "\u01E1", "\u01E3", "\u01E5", "\u01E7", "\u01E9", "\u01EB", "\u01ED", ["\u01EF", "\u01F0"], "\u01F3", "\u01F5", "\u01F9", "\u01FB", "\u01FD", "\u01FF", "\u0201", "\u0203", "\u0205", "\u0207", "\u0209", "\u020B", "\u020D", "\u020F", "\u0211", "\u0213", "\u0215", "\u0217", "\u0219", "\u021B", "\u021D", "\u021F", "\u0221", "\u0223", "\u0225", "\u0227", "\u0229", "\u022B", "\u022D", "\u022F", "\u0231", ["\u0233", "\u0239"], "\u023C", ["\u023F", "\u0240"], "\u0242", "\u0247", "\u0249", "\u024B", "\u024D", ["\u024F", "\u0293"], ["\u0295", "\u02AF"], "\u0371", "\u0373", "\u0377", ["\u037B", "\u037D"], "\u0390", ["\u03AC", "\u03CE"], ["\u03D0", "\u03D1"], ["\u03D5", "\u03D7"], "\u03D9", "\u03DB", "\u03DD", "\u03DF", "\u03E1", "\u03E3", "\u03E5", "\u03E7", "\u03E9", "\u03EB", "\u03ED", ["\u03EF", "\u03F3"], "\u03F5", "\u03F8", ["\u03FB", "\u03FC"], ["\u0430", "\u045F"], "\u0461", "\u0463", "\u0465", "\u0467", "\u0469", "\u046B", "\u046D", "\u046F", "\u0471", "\u0473", "\u0475", "\u0477", "\u0479", "\u047B", "\u047D", "\u047F", "\u0481", "\u048B", "\u048D", "\u048F", "\u0491", "\u0493", "\u0495", "\u0497", "\u0499", "\u049B", "\u049D", "\u049F", "\u04A1", "\u04A3", "\u04A5", "\u04A7", "\u04A9", "\u04AB", "\u04AD", "\u04AF", "\u04B1", "\u04B3", "\u04B5", "\u04B7", "\u04B9", "\u04BB", "\u04BD", "\u04BF", "\u04C2", "\u04C4", "\u04C6", "\u04C8", "\u04CA", "\u04CC", ["\u04CE", "\u04CF"], "\u04D1", "\u04D3", "\u04D5", "\u04D7", "\u04D9", "\u04DB", "\u04DD", "\u04DF", "\u04E1", "\u04E3", "\u04E5", "\u04E7", "\u04E9", "\u04EB", "\u04ED", "\u04EF", "\u04F1", "\u04F3", "\u04F5", "\u04F7", "\u04F9", "\u04FB", "\u04FD", "\u04FF", "\u0501", "\u0503", "\u0505", "\u0507", "\u0509", "\u050B", "\u050D", "\u050F", "\u0511", "\u0513", "\u0515", "\u0517", "\u0519", "\u051B", "\u051D", "\u051F", "\u0521", "\u0523", "\u0525", "\u0527", "\u0529", "\u052B", "\u052D", "\u052F", ["\u0561", "\u0587"], ["\u13F8", "\u13FD"], ["\u1D00", "\u1D2B"], ["\u1D6B", "\u1D77"], ["\u1D79", "\u1D9A"], "\u1E01", "\u1E03", "\u1E05", "\u1E07", "\u1E09", "\u1E0B", "\u1E0D", "\u1E0F", "\u1E11", "\u1E13", "\u1E15", "\u1E17", "\u1E19", "\u1E1B", "\u1E1D", "\u1E1F", "\u1E21", "\u1E23", "\u1E25", "\u1E27", "\u1E29", "\u1E2B", "\u1E2D", "\u1E2F", "\u1E31", "\u1E33", "\u1E35", "\u1E37", "\u1E39", "\u1E3B", "\u1E3D", "\u1E3F", "\u1E41", "\u1E43", "\u1E45", "\u1E47", "\u1E49", "\u1E4B", "\u1E4D", "\u1E4F", "\u1E51", "\u1E53", "\u1E55", "\u1E57", "\u1E59", "\u1E5B", "\u1E5D", "\u1E5F", "\u1E61", "\u1E63", "\u1E65", "\u1E67", "\u1E69", "\u1E6B", "\u1E6D", "\u1E6F", "\u1E71", "\u1E73", "\u1E75", "\u1E77", "\u1E79", "\u1E7B", "\u1E7D", "\u1E7F", "\u1E81", "\u1E83", "\u1E85", "\u1E87", "\u1E89", "\u1E8B", "\u1E8D", "\u1E8F", "\u1E91", "\u1E93", ["\u1E95", "\u1E9D"], "\u1E9F", "\u1EA1", "\u1EA3", "\u1EA5", "\u1EA7", "\u1EA9", "\u1EAB", "\u1EAD", "\u1EAF", "\u1EB1", "\u1EB3", "\u1EB5", "\u1EB7", "\u1EB9", "\u1EBB", "\u1EBD", "\u1EBF", "\u1EC1", "\u1EC3", "\u1EC5", "\u1EC7", "\u1EC9", "\u1ECB", "\u1ECD", "\u1ECF", "\u1ED1", "\u1ED3", "\u1ED5", "\u1ED7", "\u1ED9", "\u1EDB", "\u1EDD", "\u1EDF", "\u1EE1", "\u1EE3", "\u1EE5", "\u1EE7", "\u1EE9", "\u1EEB", "\u1EED", "\u1EEF", "\u1EF1", "\u1EF3", "\u1EF5", "\u1EF7", "\u1EF9", "\u1EFB", "\u1EFD", ["\u1EFF", "\u1F07"], ["\u1F10", "\u1F15"], ["\u1F20", "\u1F27"], ["\u1F30", "\u1F37"], ["\u1F40", "\u1F45"], ["\u1F50", "\u1F57"], ["\u1F60", "\u1F67"], ["\u1F70", "\u1F7D"], ["\u1F80", "\u1F87"], ["\u1F90", "\u1F97"], ["\u1FA0", "\u1FA7"], ["\u1FB0", "\u1FB4"], ["\u1FB6", "\u1FB7"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FC7"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FD7"], ["\u1FE0", "\u1FE7"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FF7"], "\u210A", ["\u210E", "\u210F"], "\u2113", "\u212F", "\u2134", "\u2139", ["\u213C", "\u213D"], ["\u2146", "\u2149"], "\u214E", "\u2184", ["\u2C30", "\u2C5E"], "\u2C61", ["\u2C65", "\u2C66"], "\u2C68", "\u2C6A", "\u2C6C", "\u2C71", ["\u2C73", "\u2C74"], ["\u2C76", "\u2C7B"], "\u2C81", "\u2C83", "\u2C85", "\u2C87", "\u2C89", "\u2C8B", "\u2C8D", "\u2C8F", "\u2C91", "\u2C93", "\u2C95", "\u2C97", "\u2C99", "\u2C9B", "\u2C9D", "\u2C9F", "\u2CA1", "\u2CA3", "\u2CA5", "\u2CA7", "\u2CA9", "\u2CAB", "\u2CAD", "\u2CAF", "\u2CB1", "\u2CB3", "\u2CB5", "\u2CB7", "\u2CB9", "\u2CBB", "\u2CBD", "\u2CBF", "\u2CC1", "\u2CC3", "\u2CC5", "\u2CC7", "\u2CC9", "\u2CCB", "\u2CCD", "\u2CCF", "\u2CD1", "\u2CD3", "\u2CD5", "\u2CD7", "\u2CD9", "\u2CDB", "\u2CDD", "\u2CDF", "\u2CE1", ["\u2CE3", "\u2CE4"], "\u2CEC", "\u2CEE", "\u2CF3", ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", "\uA641", "\uA643", "\uA645", "\uA647", "\uA649", "\uA64B", "\uA64D", "\uA64F", "\uA651", "\uA653", "\uA655", "\uA657", "\uA659", "\uA65B", "\uA65D", "\uA65F", "\uA661", "\uA663", "\uA665", "\uA667", "\uA669", "\uA66B", "\uA66D", "\uA681", "\uA683", "\uA685", "\uA687", "\uA689", "\uA68B", "\uA68D", "\uA68F", "\uA691", "\uA693", "\uA695", "\uA697", "\uA699", "\uA69B", "\uA723", "\uA725", "\uA727", "\uA729", "\uA72B", "\uA72D", ["\uA72F", "\uA731"], "\uA733", "\uA735", "\uA737", "\uA739", "\uA73B", "\uA73D", "\uA73F", "\uA741", "\uA743", "\uA745", "\uA747", "\uA749", "\uA74B", "\uA74D", "\uA74F", "\uA751", "\uA753", "\uA755", "\uA757", "\uA759", "\uA75B", "\uA75D", "\uA75F", "\uA761", "\uA763", "\uA765", "\uA767", "\uA769", "\uA76B", "\uA76D", "\uA76F", ["\uA771", "\uA778"], "\uA77A", "\uA77C", "\uA77F", "\uA781", "\uA783", "\uA785", "\uA787", "\uA78C", "\uA78E", "\uA791", ["\uA793", "\uA795"], "\uA797", "\uA799", "\uA79B", "\uA79D", "\uA79F", "\uA7A1", "\uA7A3", "\uA7A5", "\uA7A7", "\uA7A9", "\uA7B5", "\uA7B7", "\uA7FA", ["\uAB30", "\uAB5A"], ["\uAB60", "\uAB65"], ["\uAB70", "\uABBF"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], ["\uFF41", "\uFF5A"]], false, false); - var peg$e58 = peg$classExpectation([["\u02B0", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", "\u0374", "\u037A", "\u0559", "\u0640", ["\u06E5", "\u06E6"], ["\u07F4", "\u07F5"], "\u07FA", "\u081A", "\u0824", "\u0828", "\u0971", "\u0E46", "\u0EC6", "\u10FC", "\u17D7", "\u1843", "\u1AA7", ["\u1C78", "\u1C7D"], ["\u1D2C", "\u1D6A"], "\u1D78", ["\u1D9B", "\u1DBF"], "\u2071", "\u207F", ["\u2090", "\u209C"], ["\u2C7C", "\u2C7D"], "\u2D6F", "\u2E2F", "\u3005", ["\u3031", "\u3035"], "\u303B", ["\u309D", "\u309E"], ["\u30FC", "\u30FE"], "\uA015", ["\uA4F8", "\uA4FD"], "\uA60C", "\uA67F", ["\uA69C", "\uA69D"], ["\uA717", "\uA71F"], "\uA770", "\uA788", ["\uA7F8", "\uA7F9"], "\uA9CF", "\uA9E6", "\uAA70", "\uAADD", ["\uAAF3", "\uAAF4"], ["\uAB5C", "\uAB5F"], "\uFF70", ["\uFF9E", "\uFF9F"]], false, false); - var peg$e59 = peg$classExpectation(["\xAA", "\xBA", "\u01BB", ["\u01C0", "\u01C3"], "\u0294", ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u063F"], ["\u0641", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u0800", "\u0815"], ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0972", "\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"], "\u0AF9", ["\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", "\u0C5A"], ["\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", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E45"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10D0", "\u10FA"], ["\u10FD", "\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"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16F1", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17DC", ["\u1820", "\u1842"], ["\u1844", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C77"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u2135", "\u2138"], ["\u2D30", "\u2D67"], ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u3006", "\u303C", ["\u3041", "\u3096"], "\u309F", ["\u30A1", "\u30FA"], "\u30FF", ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA014"], ["\uA016", "\uA48C"], ["\uA4D0", "\uA4F7"], ["\uA500", "\uA60B"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], "\uA66E", ["\uA6A0", "\uA6E5"], "\uA78F", "\uA7F7", ["\uA7FB", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], ["\uA9E0", "\uA9E4"], ["\uA9E7", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA6F"], ["\uAA71", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADC"], ["\uAAE0", "\uAAEA"], "\uAAF2", ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uABC0", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], "\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"], ["\uFF66", "\uFF6F"], ["\uFF71", "\uFF9D"], ["\uFFA0", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); - var peg$e60 = peg$classExpectation(["\u01C5", "\u01C8", "\u01CB", "\u01F2", ["\u1F88", "\u1F8F"], ["\u1F98", "\u1F9F"], ["\u1FA8", "\u1FAF"], "\u1FBC", "\u1FCC", "\u1FFC"], false, false); - var peg$e61 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], "\u0100", "\u0102", "\u0104", "\u0106", "\u0108", "\u010A", "\u010C", "\u010E", "\u0110", "\u0112", "\u0114", "\u0116", "\u0118", "\u011A", "\u011C", "\u011E", "\u0120", "\u0122", "\u0124", "\u0126", "\u0128", "\u012A", "\u012C", "\u012E", "\u0130", "\u0132", "\u0134", "\u0136", "\u0139", "\u013B", "\u013D", "\u013F", "\u0141", "\u0143", "\u0145", "\u0147", "\u014A", "\u014C", "\u014E", "\u0150", "\u0152", "\u0154", "\u0156", "\u0158", "\u015A", "\u015C", "\u015E", "\u0160", "\u0162", "\u0164", "\u0166", "\u0168", "\u016A", "\u016C", "\u016E", "\u0170", "\u0172", "\u0174", "\u0176", ["\u0178", "\u0179"], "\u017B", "\u017D", ["\u0181", "\u0182"], "\u0184", ["\u0186", "\u0187"], ["\u0189", "\u018B"], ["\u018E", "\u0191"], ["\u0193", "\u0194"], ["\u0196", "\u0198"], ["\u019C", "\u019D"], ["\u019F", "\u01A0"], "\u01A2", "\u01A4", ["\u01A6", "\u01A7"], "\u01A9", "\u01AC", ["\u01AE", "\u01AF"], ["\u01B1", "\u01B3"], "\u01B5", ["\u01B7", "\u01B8"], "\u01BC", "\u01C4", "\u01C7", "\u01CA", "\u01CD", "\u01CF", "\u01D1", "\u01D3", "\u01D5", "\u01D7", "\u01D9", "\u01DB", "\u01DE", "\u01E0", "\u01E2", "\u01E4", "\u01E6", "\u01E8", "\u01EA", "\u01EC", "\u01EE", "\u01F1", "\u01F4", ["\u01F6", "\u01F8"], "\u01FA", "\u01FC", "\u01FE", "\u0200", "\u0202", "\u0204", "\u0206", "\u0208", "\u020A", "\u020C", "\u020E", "\u0210", "\u0212", "\u0214", "\u0216", "\u0218", "\u021A", "\u021C", "\u021E", "\u0220", "\u0222", "\u0224", "\u0226", "\u0228", "\u022A", "\u022C", "\u022E", "\u0230", "\u0232", ["\u023A", "\u023B"], ["\u023D", "\u023E"], "\u0241", ["\u0243", "\u0246"], "\u0248", "\u024A", "\u024C", "\u024E", "\u0370", "\u0372", "\u0376", "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u038F"], ["\u0391", "\u03A1"], ["\u03A3", "\u03AB"], "\u03CF", ["\u03D2", "\u03D4"], "\u03D8", "\u03DA", "\u03DC", "\u03DE", "\u03E0", "\u03E2", "\u03E4", "\u03E6", "\u03E8", "\u03EA", "\u03EC", "\u03EE", "\u03F4", "\u03F7", ["\u03F9", "\u03FA"], ["\u03FD", "\u042F"], "\u0460", "\u0462", "\u0464", "\u0466", "\u0468", "\u046A", "\u046C", "\u046E", "\u0470", "\u0472", "\u0474", "\u0476", "\u0478", "\u047A", "\u047C", "\u047E", "\u0480", "\u048A", "\u048C", "\u048E", "\u0490", "\u0492", "\u0494", "\u0496", "\u0498", "\u049A", "\u049C", "\u049E", "\u04A0", "\u04A2", "\u04A4", "\u04A6", "\u04A8", "\u04AA", "\u04AC", "\u04AE", "\u04B0", "\u04B2", "\u04B4", "\u04B6", "\u04B8", "\u04BA", "\u04BC", "\u04BE", ["\u04C0", "\u04C1"], "\u04C3", "\u04C5", "\u04C7", "\u04C9", "\u04CB", "\u04CD", "\u04D0", "\u04D2", "\u04D4", "\u04D6", "\u04D8", "\u04DA", "\u04DC", "\u04DE", "\u04E0", "\u04E2", "\u04E4", "\u04E6", "\u04E8", "\u04EA", "\u04EC", "\u04EE", "\u04F0", "\u04F2", "\u04F4", "\u04F6", "\u04F8", "\u04FA", "\u04FC", "\u04FE", "\u0500", "\u0502", "\u0504", "\u0506", "\u0508", "\u050A", "\u050C", "\u050E", "\u0510", "\u0512", "\u0514", "\u0516", "\u0518", "\u051A", "\u051C", "\u051E", "\u0520", "\u0522", "\u0524", "\u0526", "\u0528", "\u052A", "\u052C", "\u052E", ["\u0531", "\u0556"], ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u13A0", "\u13F5"], "\u1E00", "\u1E02", "\u1E04", "\u1E06", "\u1E08", "\u1E0A", "\u1E0C", "\u1E0E", "\u1E10", "\u1E12", "\u1E14", "\u1E16", "\u1E18", "\u1E1A", "\u1E1C", "\u1E1E", "\u1E20", "\u1E22", "\u1E24", "\u1E26", "\u1E28", "\u1E2A", "\u1E2C", "\u1E2E", "\u1E30", "\u1E32", "\u1E34", "\u1E36", "\u1E38", "\u1E3A", "\u1E3C", "\u1E3E", "\u1E40", "\u1E42", "\u1E44", "\u1E46", "\u1E48", "\u1E4A", "\u1E4C", "\u1E4E", "\u1E50", "\u1E52", "\u1E54", "\u1E56", "\u1E58", "\u1E5A", "\u1E5C", "\u1E5E", "\u1E60", "\u1E62", "\u1E64", "\u1E66", "\u1E68", "\u1E6A", "\u1E6C", "\u1E6E", "\u1E70", "\u1E72", "\u1E74", "\u1E76", "\u1E78", "\u1E7A", "\u1E7C", "\u1E7E", "\u1E80", "\u1E82", "\u1E84", "\u1E86", "\u1E88", "\u1E8A", "\u1E8C", "\u1E8E", "\u1E90", "\u1E92", "\u1E94", "\u1E9E", "\u1EA0", "\u1EA2", "\u1EA4", "\u1EA6", "\u1EA8", "\u1EAA", "\u1EAC", "\u1EAE", "\u1EB0", "\u1EB2", "\u1EB4", "\u1EB6", "\u1EB8", "\u1EBA", "\u1EBC", "\u1EBE", "\u1EC0", "\u1EC2", "\u1EC4", "\u1EC6", "\u1EC8", "\u1ECA", "\u1ECC", "\u1ECE", "\u1ED0", "\u1ED2", "\u1ED4", "\u1ED6", "\u1ED8", "\u1EDA", "\u1EDC", "\u1EDE", "\u1EE0", "\u1EE2", "\u1EE4", "\u1EE6", "\u1EE8", "\u1EEA", "\u1EEC", "\u1EEE", "\u1EF0", "\u1EF2", "\u1EF4", "\u1EF6", "\u1EF8", "\u1EFA", "\u1EFC", "\u1EFE", ["\u1F08", "\u1F0F"], ["\u1F18", "\u1F1D"], ["\u1F28", "\u1F2F"], ["\u1F38", "\u1F3F"], ["\u1F48", "\u1F4D"], "\u1F59", "\u1F5B", "\u1F5D", "\u1F5F", ["\u1F68", "\u1F6F"], ["\u1FB8", "\u1FBB"], ["\u1FC8", "\u1FCB"], ["\u1FD8", "\u1FDB"], ["\u1FE8", "\u1FEC"], ["\u1FF8", "\u1FFB"], "\u2102", "\u2107", ["\u210B", "\u210D"], ["\u2110", "\u2112"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u2130", "\u2133"], ["\u213E", "\u213F"], "\u2145", "\u2183", ["\u2C00", "\u2C2E"], "\u2C60", ["\u2C62", "\u2C64"], "\u2C67", "\u2C69", "\u2C6B", ["\u2C6D", "\u2C70"], "\u2C72", "\u2C75", ["\u2C7E", "\u2C80"], "\u2C82", "\u2C84", "\u2C86", "\u2C88", "\u2C8A", "\u2C8C", "\u2C8E", "\u2C90", "\u2C92", "\u2C94", "\u2C96", "\u2C98", "\u2C9A", "\u2C9C", "\u2C9E", "\u2CA0", "\u2CA2", "\u2CA4", "\u2CA6", "\u2CA8", "\u2CAA", "\u2CAC", "\u2CAE", "\u2CB0", "\u2CB2", "\u2CB4", "\u2CB6", "\u2CB8", "\u2CBA", "\u2CBC", "\u2CBE", "\u2CC0", "\u2CC2", "\u2CC4", "\u2CC6", "\u2CC8", "\u2CCA", "\u2CCC", "\u2CCE", "\u2CD0", "\u2CD2", "\u2CD4", "\u2CD6", "\u2CD8", "\u2CDA", "\u2CDC", "\u2CDE", "\u2CE0", "\u2CE2", "\u2CEB", "\u2CED", "\u2CF2", "\uA640", "\uA642", "\uA644", "\uA646", "\uA648", "\uA64A", "\uA64C", "\uA64E", "\uA650", "\uA652", "\uA654", "\uA656", "\uA658", "\uA65A", "\uA65C", "\uA65E", "\uA660", "\uA662", "\uA664", "\uA666", "\uA668", "\uA66A", "\uA66C", "\uA680", "\uA682", "\uA684", "\uA686", "\uA688", "\uA68A", "\uA68C", "\uA68E", "\uA690", "\uA692", "\uA694", "\uA696", "\uA698", "\uA69A", "\uA722", "\uA724", "\uA726", "\uA728", "\uA72A", "\uA72C", "\uA72E", "\uA732", "\uA734", "\uA736", "\uA738", "\uA73A", "\uA73C", "\uA73E", "\uA740", "\uA742", "\uA744", "\uA746", "\uA748", "\uA74A", "\uA74C", "\uA74E", "\uA750", "\uA752", "\uA754", "\uA756", "\uA758", "\uA75A", "\uA75C", "\uA75E", "\uA760", "\uA762", "\uA764", "\uA766", "\uA768", "\uA76A", "\uA76C", "\uA76E", "\uA779", "\uA77B", ["\uA77D", "\uA77E"], "\uA780", "\uA782", "\uA784", "\uA786", "\uA78B", "\uA78D", "\uA790", "\uA792", "\uA796", "\uA798", "\uA79A", "\uA79C", "\uA79E", "\uA7A0", "\uA7A2", "\uA7A4", "\uA7A6", "\uA7A8", ["\uA7AA", "\uA7AD"], ["\uA7B0", "\uA7B4"], "\uA7B6", ["\uFF21", "\uFF3A"]], false, false); - var peg$e62 = peg$classExpectation(["\u0903", "\u093B", ["\u093E", "\u0940"], ["\u0949", "\u094C"], ["\u094E", "\u094F"], ["\u0982", "\u0983"], ["\u09BE", "\u09C0"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CC"], "\u09D7", "\u0A03", ["\u0A3E", "\u0A40"], "\u0A83", ["\u0ABE", "\u0AC0"], "\u0AC9", ["\u0ACB", "\u0ACC"], ["\u0B02", "\u0B03"], "\u0B3E", "\u0B40", ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4C"], "\u0B57", ["\u0BBE", "\u0BBF"], ["\u0BC1", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCC"], "\u0BD7", ["\u0C01", "\u0C03"], ["\u0C41", "\u0C44"], ["\u0C82", "\u0C83"], "\u0CBE", ["\u0CC0", "\u0CC4"], ["\u0CC7", "\u0CC8"], ["\u0CCA", "\u0CCB"], ["\u0CD5", "\u0CD6"], ["\u0D02", "\u0D03"], ["\u0D3E", "\u0D40"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4C"], "\u0D57", ["\u0D82", "\u0D83"], ["\u0DCF", "\u0DD1"], ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], ["\u0F3E", "\u0F3F"], "\u0F7F", ["\u102B", "\u102C"], "\u1031", "\u1038", ["\u103B", "\u103C"], ["\u1056", "\u1057"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1083", "\u1084"], ["\u1087", "\u108C"], "\u108F", ["\u109A", "\u109C"], "\u17B6", ["\u17BE", "\u17C5"], ["\u17C7", "\u17C8"], ["\u1923", "\u1926"], ["\u1929", "\u192B"], ["\u1930", "\u1931"], ["\u1933", "\u1938"], ["\u1A19", "\u1A1A"], "\u1A55", "\u1A57", "\u1A61", ["\u1A63", "\u1A64"], ["\u1A6D", "\u1A72"], "\u1B04", "\u1B35", "\u1B3B", ["\u1B3D", "\u1B41"], ["\u1B43", "\u1B44"], "\u1B82", "\u1BA1", ["\u1BA6", "\u1BA7"], "\u1BAA", "\u1BE7", ["\u1BEA", "\u1BEC"], "\u1BEE", ["\u1BF2", "\u1BF3"], ["\u1C24", "\u1C2B"], ["\u1C34", "\u1C35"], "\u1CE1", ["\u1CF2", "\u1CF3"], ["\u302E", "\u302F"], ["\uA823", "\uA824"], "\uA827", ["\uA880", "\uA881"], ["\uA8B4", "\uA8C3"], ["\uA952", "\uA953"], "\uA983", ["\uA9B4", "\uA9B5"], ["\uA9BA", "\uA9BB"], ["\uA9BD", "\uA9C0"], ["\uAA2F", "\uAA30"], ["\uAA33", "\uAA34"], "\uAA4D", "\uAA7B", "\uAA7D", "\uAAEB", ["\uAAEE", "\uAAEF"], "\uAAF5", ["\uABE3", "\uABE4"], ["\uABE6", "\uABE7"], ["\uABE9", "\uABEA"], "\uABEC"], false, false); - var peg$e63 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0902"], "\u093A", "\u093C", ["\u0941", "\u0948"], "\u094D", ["\u0951", "\u0957"], ["\u0962", "\u0963"], "\u0981", "\u09BC", ["\u09C1", "\u09C4"], "\u09CD", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A02"], "\u0A3C", ["\u0A41", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A82"], "\u0ABC", ["\u0AC1", "\u0AC5"], ["\u0AC7", "\u0AC8"], "\u0ACD", ["\u0AE2", "\u0AE3"], "\u0B01", "\u0B3C", "\u0B3F", ["\u0B41", "\u0B44"], "\u0B4D", "\u0B56", ["\u0B62", "\u0B63"], "\u0B82", "\u0BC0", "\u0BCD", "\u0C00", ["\u0C3E", "\u0C40"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], "\u0C81", "\u0CBC", "\u0CBF", "\u0CC6", ["\u0CCC", "\u0CCD"], ["\u0CE2", "\u0CE3"], "\u0D01", ["\u0D41", "\u0D44"], "\u0D4D", ["\u0D62", "\u0D63"], "\u0DCA", ["\u0DD2", "\u0DD4"], "\u0DD6", "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F71", "\u0F7E"], ["\u0F80", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102D", "\u1030"], ["\u1032", "\u1037"], ["\u1039", "\u103A"], ["\u103D", "\u103E"], ["\u1058", "\u1059"], ["\u105E", "\u1060"], ["\u1071", "\u1074"], "\u1082", ["\u1085", "\u1086"], "\u108D", "\u109D", ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17B5"], ["\u17B7", "\u17BD"], "\u17C6", ["\u17C9", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u1922"], ["\u1927", "\u1928"], "\u1932", ["\u1939", "\u193B"], ["\u1A17", "\u1A18"], "\u1A1B", "\u1A56", ["\u1A58", "\u1A5E"], "\u1A60", "\u1A62", ["\u1A65", "\u1A6C"], ["\u1A73", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B03"], "\u1B34", ["\u1B36", "\u1B3A"], "\u1B3C", "\u1B42", ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B81"], ["\u1BA2", "\u1BA5"], ["\u1BA8", "\u1BA9"], ["\u1BAB", "\u1BAD"], "\u1BE6", ["\u1BE8", "\u1BE9"], "\u1BED", ["\u1BEF", "\u1BF1"], ["\u1C2C", "\u1C33"], ["\u1C36", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE0"], ["\u1CE2", "\u1CE8"], "\u1CED", "\u1CF4", ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302D"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA825", "\uA826"], "\uA8C4", ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA951"], ["\uA980", "\uA982"], "\uA9B3", ["\uA9B6", "\uA9B9"], "\uA9BC", "\uA9E5", ["\uAA29", "\uAA2E"], ["\uAA31", "\uAA32"], ["\uAA35", "\uAA36"], "\uAA43", "\uAA4C", "\uAA7C", "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEC", "\uAAED"], "\uAAF6", "\uABE5", "\uABE8", "\uABED", "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); - var peg$e64 = peg$classExpectation([["0", "9"], ["\u0660", "\u0669"], ["\u06F0", "\u06F9"], ["\u07C0", "\u07C9"], ["\u0966", "\u096F"], ["\u09E6", "\u09EF"], ["\u0A66", "\u0A6F"], ["\u0AE6", "\u0AEF"], ["\u0B66", "\u0B6F"], ["\u0BE6", "\u0BEF"], ["\u0C66", "\u0C6F"], ["\u0CE6", "\u0CEF"], ["\u0D66", "\u0D6F"], ["\u0DE6", "\u0DEF"], ["\u0E50", "\u0E59"], ["\u0ED0", "\u0ED9"], ["\u0F20", "\u0F29"], ["\u1040", "\u1049"], ["\u1090", "\u1099"], ["\u17E0", "\u17E9"], ["\u1810", "\u1819"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A80", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1B50", "\u1B59"], ["\u1BB0", "\u1BB9"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\uA620", "\uA629"], ["\uA8D0", "\uA8D9"], ["\uA900", "\uA909"], ["\uA9D0", "\uA9D9"], ["\uA9F0", "\uA9F9"], ["\uAA50", "\uAA59"], ["\uABF0", "\uABF9"], ["\uFF10", "\uFF19"]], false, false); - var peg$e65 = peg$classExpectation([["\u16EE", "\u16F0"], ["\u2160", "\u2182"], ["\u2185", "\u2188"], "\u3007", ["\u3021", "\u3029"], ["\u3038", "\u303A"], ["\uA6E6", "\uA6EF"]], false, false); - var peg$e66 = peg$classExpectation(["_", ["\u203F", "\u2040"], "\u2054", ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], "\uFF3F"], false, false); - var peg$e67 = peg$classExpectation([" ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], false, false); - var peg$e68 = peg$literalExpectation("/", false); - var peg$e69 = peg$literalExpectation("(", false); - var peg$e70 = peg$literalExpectation(")", false); - var peg$e71 = peg$literalExpectation(":", false); - var peg$e72 = peg$literalExpectation("@", false); - var peg$e73 = peg$literalExpectation(";", false); - var peg$e74 = peg$literalExpectation("|", false); - var peg$e75 = peg$literalExpectation(",", false); - var peg$e76 = peg$literalExpectation("..", false); - // @ts-ignore - var peg$f0 = function (body) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "Program", - // @ts-ignore - sourceType: "peggy", - // @ts-ignore - body, - // @ts-ignore - comments, - // @ts-ignore - tokens: [], - }); - }; // @ts-ignore - var peg$f1 = function (topLevelInitializer, initializer, rules) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "grammar", - // @ts-ignore - topLevelInitializer, - // @ts-ignore - initializer, - // @ts-ignore - rules, - }); - }; // @ts-ignore - var peg$f2 = function (open, code, close, semi) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "top_level_initializer", - // @ts-ignore - open, - // @ts-ignore - code, - // @ts-ignore - close, - // @ts-ignore - semi, - }); - }; // @ts-ignore - var peg$f3 = function (code, semi) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "initializer", - // @ts-ignore - code, - // @ts-ignore - semi, - }); - }; // @ts-ignore - var peg$f4 = function (name, displayName, equals, expression, semi) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "rule", - // @ts-ignore - name, - // @ts-ignore - equals, - // @ts-ignore - expression: displayName !== null - // @ts-ignore - ? loc({ - // @ts-ignore - type: "named", - // @ts-ignore - name: displayName, - // @ts-ignore - expression, - }) - // @ts-ignore - : expression, - // @ts-ignore - semi, - }); - }; // @ts-ignore - var peg$f5 = function (lit) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "display", - // @ts-ignore - ...lit, - }); - }; // @ts-ignore - var peg$f6 = function (head, tail) { - // @ts-ignore - return tail.length > 0 - // @ts-ignore - ? loc({ - // @ts-ignore - type: "choice", - // @ts-ignore - alternatives: [head, ...tail.map((v) => v[1])], - // @ts-ignore - slashes: tail.map((v) => v[0]), - }) - // @ts-ignore - : head; - }; // @ts-ignore - var peg$f7 = function (expression, code) { - // @ts-ignore - return code !== null - // @ts-ignore - ? loc({ - // @ts-ignore - type: "action", - // @ts-ignore - expression, - // @ts-ignore - code, - }) - // @ts-ignore - : expression; - }; // @ts-ignore - var peg$f8 = function (head, tail) { - // @ts-ignore - return ((tail.length > 0) || (head.type === "labeled" && head.pick)) - // @ts-ignore - ? loc({ - // @ts-ignore - type: "sequence", - // @ts-ignore - elements: [head, ...tail], - }) - // @ts-ignore - : head; - }; // @ts-ignore - var peg$f9 = function (at, lc, expression) { - // @ts-ignore - if (expression.type.startsWith("semantic_")) { - // @ts-ignore - error("\"@\" cannot be used on a semantic predicate"); - } - // @ts-ignore - return loc({ - // @ts-ignore - type: "labeled", - // @ts-ignore - ...lc, - // @ts-ignore - at, - // @ts-ignore - pick: true, - // @ts-ignore - expression, - }); - }; // @ts-ignore - var peg$f10 = function (lc, expression) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "labeled", - // @ts-ignore - ...lc, - // @ts-ignore - pick: false, - // @ts-ignore - expression, - }); - }; // @ts-ignore - var peg$f11 = function (name, colon) { - // @ts-ignore - if (reservedWords.indexOf(name.value) >= 0) { - // @ts-ignore - error(`Label can't be a reserved word "${name.value}"`); - } - // @ts-ignore - return { name, colon }; - }; // @ts-ignore - var peg$f12 = function (operator, expression) { - // @ts-ignore - return loc({ - // @ts-ignore - type: OPS_TO_PREFIXED_TYPES[operator.value], - // @ts-ignore - expression, - // @ts-ignore - operator - }); - }; // @ts-ignore - var peg$f13 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f14 = function (expression, operator) { - // @ts-ignore - return loc({ - // @ts-ignore - type: OPS_TO_SUFFIXED_TYPES[operator.value], - // @ts-ignore - expression, - // @ts-ignore - operator - }); - }; // @ts-ignore - var peg$f15 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f16 = function (expression, pipe1, boundaries, delimiter, pipe2) { - // @ts-ignore - const { min, max } = boundaries; - // @ts-ignore - if (max.type === "constant" && max.value === 0) { - // @ts-ignore - error("The maximum count of repetitions of the rule must be > 0", max.location); - } - // @ts-ignore - return loc({ - // @ts-ignore - type: "repeated", - // @ts-ignore - expression, - // @ts-ignore - pipe1, - // @ts-ignore - boundaries, - // @ts-ignore - delimiter, - // @ts-ignore - pipe2 - }); - }; // @ts-ignore - var peg$f17 = function (min, dots, max) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "boundaries", - // @ts-ignore - min: min !== null ? min : loc({ type: "constant", value: 0 }), - // @ts-ignore - max: max !== null ? max : loc({ type: "constant", value: undefined }), - // @ts-ignore - dots - }); - }; // @ts-ignore - var peg$f18 = function (max) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "boundaries", - // @ts-ignore - min: undefined, - // @ts-ignore - max, - // @ts-ignore - dots: undefined - }); - }; // @ts-ignore - var peg$f19 = function (value) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "constant", - // @ts-ignore - value - }); - }; // @ts-ignore - var peg$f20 = function (value) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "variable", - // @ts-ignore - value - }); - }; // @ts-ignore - var peg$f21 = function (code) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "function", - // @ts-ignore - code - }); - }; // @ts-ignore - var peg$f22 = function (comma, expression) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "delimiter", - // @ts-ignore - comma, - // @ts-ignore - expression - }); - }; // @ts-ignore - var peg$f23 = function (open, expression, close) { - // @ts-ignore - return loc({ type: "group", expression, open, close }); - }; // @ts-ignore - var peg$f24 = function (name) { - // @ts-ignore - return loc({ type: "rule_ref", name }); - }; // @ts-ignore - var peg$f25 = function (operator, code) { - // @ts-ignore - return loc({ - // @ts-ignore - type: OPS_TO_SEMANTIC_PREDICATE_TYPES[operator.value], - // @ts-ignore - code, - // @ts-ignore - operator - }); - }; // @ts-ignore - var peg$f26 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f27 = function (value) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "name", - // @ts-ignore - value, - }); - }; // @ts-ignore - var peg$f28 = function (lit, ignoreCase) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "literal", - // @ts-ignore - ...lit, - // @ts-ignore - ignoreCase: ignoreCase !== null, - }); - }; // @ts-ignore - var peg$f29 = function (before, value, after) { - // @ts-ignore - return { - // @ts-ignore - ...value, - // @ts-ignore - before, - // @ts-ignore - after, - }; - }; // @ts-ignore - var peg$f30 = function (before, value, after) { - // @ts-ignore - return { - // @ts-ignore - ...value, - // @ts-ignore - before, - // @ts-ignore - after, - }; - }; // @ts-ignore - var peg$f31 = function (chars) { - // @ts-ignore - return { - // @ts-ignore - value: chars.join(""), - // @ts-ignore - raw: text(), - }; - }; // @ts-ignore - var peg$f32 = function (chars) { - // @ts-ignore - return { - // @ts-ignore - value: chars.join(""), - // @ts-ignore - raw: text(), - }; - }; // @ts-ignore - var peg$f33 = function (inverted, parts, ignoreCase) { - // @ts-ignore - return loc({ - // @ts-ignore - type: "class", - // @ts-ignore - parts: parts.filter((part) => part !== ""), - // @ts-ignore - inverted: inverted !== null, - // @ts-ignore - ignoreCase: ignoreCase !== null, - }); - }; // @ts-ignore - var peg$f34 = function (begin, end) { - // @ts-ignore - if (begin.charCodeAt(0) > end.charCodeAt(0)) { - // @ts-ignore - error( - // @ts-ignore - "Invalid character range: " + text() + "."); - } - // @ts-ignore - return [begin, end]; - }; // @ts-ignore - var peg$f35 = function () { - return ""; - }; // @ts-ignore - var peg$f36 = function () { - return "\0"; - }; // @ts-ignore - var peg$f37 = function () { - return "\b"; - }; // @ts-ignore - var peg$f38 = function () { - return "\f"; - }; // @ts-ignore - var peg$f39 = function () { - return "\n"; - }; // @ts-ignore - var peg$f40 = function () { - return "\r"; - }; // @ts-ignore - var peg$f41 = function () { - return "\t"; - }; // @ts-ignore - var peg$f42 = function () { - return "\v"; - }; // @ts-ignore - var peg$f43 = function (digits) { - // @ts-ignore - return String.fromCharCode(parseInt(digits, 16)); - }; // @ts-ignore - var peg$f44 = function (digits) { - // @ts-ignore - return String.fromCharCode(parseInt(digits, 16)); - }; // @ts-ignore - var peg$f45 = function () { - return loc({ type: "any" }); - }; // @ts-ignore - var peg$f46 = function (open, bare, close) { - // @ts-ignore - bare.open = open; - // @ts-ignore - bare.close = close; - // @ts-ignore - return bare; - }; // @ts-ignore - var peg$f47 = function (value) { - return loc({ type: "code", value }); - }; // @ts-ignore - var peg$f48 = function (digits) { - return parseInt(digits, 10); - }; // @ts-ignore - var peg$f49 = function () { - return undefined; - }; // @ts-ignore - var peg$f50 = function () { - return undefined; - }; // @ts-ignore - var peg$f51 = function (value) { - // @ts-ignore - comments.push(loc({ type: "Block", value })); - }; // @ts-ignore - var peg$f52 = function (value) { - // @ts-ignore - comments.push(loc({ type: "Block", value })); - }; // @ts-ignore - var peg$f53 = function (value) { - // @ts-ignore - comments.push(loc({ type: "Line", value })); - }; // @ts-ignore - var peg$f54 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f55 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f56 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f57 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f58 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f59 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f60 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f61 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f62 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f63 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f64 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f65 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f66 = function (value) { - return loc({ type: "punc", value }); - }; // @ts-ignore - var peg$f67 = function (value) { - return loc({ type: "punc", value }); - }; - // @ts-ignore - var peg$currPos = 0; - // @ts-ignore - var peg$savedPos = 0; - // @ts-ignore - var peg$posDetailsCache = [{ line: 1, column: 1 }]; - // @ts-ignore - var peg$maxFailPos = 0; - // @ts-ignore - var peg$maxFailExpected = []; - // @ts-ignore - var peg$silentFails = 0; - // @ts-ignore - var peg$result; - // @ts-ignore - if ("startRule" in options) { - // @ts-ignore - if (!(options.startRule in peg$startRuleFunctions)) { - // @ts-ignore - throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); - } - // @ts-ignore - peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; - } - // @ts-ignore - function text() { - // @ts-ignore - return input.substring(peg$savedPos, peg$currPos); - } - // @ts-ignore - function offset() { - // @ts-ignore - return peg$savedPos; - } - // @ts-ignore - function range() { - // @ts-ignore - return { - // @ts-ignore - source: peg$source, - // @ts-ignore - start: peg$savedPos, - // @ts-ignore - end: peg$currPos - }; - } - // @ts-ignore - function location() { - // @ts-ignore - return peg$computeLocation(peg$savedPos, peg$currPos); - } - // @ts-ignore - function expected(description, location) { - // @ts-ignore - location = location !== undefined - // @ts-ignore - ? location - // @ts-ignore - : peg$computeLocation(peg$savedPos, peg$currPos); - // @ts-ignore - throw peg$buildStructuredError( - // @ts-ignore - [peg$otherExpectation(description)], - // @ts-ignore - input.substring(peg$savedPos, peg$currPos), - // @ts-ignore - location); - } - // @ts-ignore - function error(message, location) { - // @ts-ignore - location = location !== undefined - // @ts-ignore - ? location - // @ts-ignore - : peg$computeLocation(peg$savedPos, peg$currPos); - // @ts-ignore - throw peg$buildSimpleError(message, location); - } - // @ts-ignore - function peg$literalExpectation(text, ignoreCase) { - // @ts-ignore - return { type: "literal", text: text, ignoreCase: ignoreCase }; - } - // @ts-ignore - function peg$classExpectation(parts, inverted, ignoreCase) { - // @ts-ignore - return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; - } - // @ts-ignore - function peg$anyExpectation() { - // @ts-ignore - return { type: "any" }; - } - // @ts-ignore - function peg$endExpectation() { - // @ts-ignore - return { type: "end" }; - } - // @ts-ignore - function peg$otherExpectation(description) { - // @ts-ignore - return { type: "other", description: description }; - } - // @ts-ignore - function peg$computePosDetails(pos) { - // @ts-ignore - var details = peg$posDetailsCache[pos]; - // @ts-ignore - var p; - // @ts-ignore - if (details) { - // @ts-ignore - return details; - // @ts-ignore - } - else { - // @ts-ignore - p = pos - 1; - // @ts-ignore - while (!peg$posDetailsCache[p]) { - // @ts-ignore - p--; - } - // @ts-ignore - details = peg$posDetailsCache[p]; - // @ts-ignore - details = { - // @ts-ignore - line: details.line, - // @ts-ignore - column: details.column - }; - // @ts-ignore - while (p < pos) { - // @ts-ignore - if (input.charCodeAt(p) === 10) { - // @ts-ignore - details.line++; - // @ts-ignore - details.column = 1; - // @ts-ignore - } - else { - // @ts-ignore - details.column++; - } - // @ts-ignore - p++; - } - // @ts-ignore - peg$posDetailsCache[pos] = details; - // @ts-ignore - return details; - } - } - // @ts-ignore - function peg$computeLocation(startPos, endPos, offset) { - // @ts-ignore - var startPosDetails = peg$computePosDetails(startPos); - // @ts-ignore - var endPosDetails = peg$computePosDetails(endPos); - // @ts-ignore - var res = { - // @ts-ignore - source: peg$source, - // @ts-ignore - start: { - // @ts-ignore - offset: startPos, - // @ts-ignore - line: startPosDetails.line, - // @ts-ignore - column: startPosDetails.column - }, - // @ts-ignore - end: { - // @ts-ignore - offset: endPos, - // @ts-ignore - line: endPosDetails.line, - // @ts-ignore - column: endPosDetails.column - } - }; - // @ts-ignore - if (offset && peg$source && (typeof peg$source.offset === "function")) { - // @ts-ignore - res.start = peg$source.offset(res.start); - // @ts-ignore - res.end = peg$source.offset(res.end); - } - // @ts-ignore - return res; - } - // @ts-ignore - function peg$fail(expected) { - // @ts-ignore - if (peg$currPos < peg$maxFailPos) { - return; - } - // @ts-ignore - if (peg$currPos > peg$maxFailPos) { - // @ts-ignore - peg$maxFailPos = peg$currPos; - // @ts-ignore - peg$maxFailExpected = []; - } - // @ts-ignore - peg$maxFailExpected.push(expected); - } - // @ts-ignore - function peg$buildSimpleError(message, location) { - // @ts-ignore - return new peg$SyntaxError(message, null, null, location); - } - // @ts-ignore - function peg$buildStructuredError(expected, found, location) { - // @ts-ignore - return new peg$SyntaxError( - // @ts-ignore - peg$SyntaxError.buildMessage(expected, found), - // @ts-ignore - expected, - // @ts-ignore - found, - // @ts-ignore - location); - } - // @ts-ignore - function peg$parseProgram() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseGrammar(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f0(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseGrammar() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parse__(); - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - s3 = peg$parseTopLevelInitializer(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s2 = s3; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 === peg$FAILED) { - // @ts-ignore - s2 = null; - } - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parseInitializer(); - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parse__(); - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s3 = null; - } - // @ts-ignore - s4 = []; - // @ts-ignore - s5 = peg$currPos; - // @ts-ignore - s6 = peg$parseRule(); - // @ts-ignore - if (s6 !== peg$FAILED) { - // @ts-ignore - s7 = peg$parse__(); - // @ts-ignore - s5 = s6; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s5; - // @ts-ignore - s5 = peg$FAILED; - } - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - while (s5 !== peg$FAILED) { - // @ts-ignore - s4.push(s5); - // @ts-ignore - s5 = peg$currPos; - // @ts-ignore - s6 = peg$parseRule(); - // @ts-ignore - if (s6 !== peg$FAILED) { - // @ts-ignore - s7 = peg$parse__(); - // @ts-ignore - s5 = s6; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s5; - // @ts-ignore - s5 = peg$FAILED; - } - } - // @ts-ignore - } - else { - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f1(s2, s3, s4); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseTopLevelInitializer() { - // @ts-ignore - var s0, s1, s2, s3, s4; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseOpenCurly(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseCodeBlock(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s3 = peg$parseCloseCurly(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parseEOS(); - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f2(s1, s2, s3, s4); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseInitializer() { - // @ts-ignore - var s0, s1, s2; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseCodeBlock(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseEOS(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f3(s1, s2); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseRule() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseIdentifierName(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parseDisplayName(); - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parse__(); - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s3 = null; - } - // @ts-ignore - s4 = peg$parseEquals(); - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parse__(); - // @ts-ignore - s6 = peg$parseChoiceExpression(); - // @ts-ignore - if (s6 !== peg$FAILED) { - // @ts-ignore - s7 = peg$parseEOS(); - // @ts-ignore - if (s7 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f4(s1, s3, s4, s6, s7); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseDisplayName() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseStringLiteral(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f5(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseChoiceExpression() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseActionExpression(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parseSlash(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s6 = peg$parse__(); - // @ts-ignore - s7 = peg$parseActionExpression(); - // @ts-ignore - if (s7 !== peg$FAILED) { - // @ts-ignore - s3 = [s5, s7]; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parseSlash(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s6 = peg$parse__(); - // @ts-ignore - s7 = peg$parseActionExpression(); - // @ts-ignore - if (s7 !== peg$FAILED) { - // @ts-ignore - s3 = [s5, s7]; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f6(s1, s2); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseActionExpression() { - // @ts-ignore - var s0, s1, s2, s3, s4; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseSequenceExpression(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - s3 = peg$parse__(); - // @ts-ignore - s4 = peg$parseCodeBlock(); - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s2 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 === peg$FAILED) { - // @ts-ignore - s2 = null; - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f7(s1, s2); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSequenceExpression() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseLabeledExpression(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parseLabeledExpression(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s3 = s5; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parseLabeledExpression(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s3 = s5; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f8(s1, s2); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLabeledExpression() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseAt(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseLabelColon(); - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s3 = null; - } - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parsePrefixedExpression(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f9(s1, s3, s5); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseLabelColon(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parsePrefixedExpression(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f10(s1, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parsePrefixedExpression(); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLabelColon() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseIdentifierName(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseColon(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f11(s1, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parsePrefixedExpression() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parsePrefixedOperator(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseSuffixedExpression(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f12(s1, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseSuffixedExpression(); - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parsePrefixedOperator() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 36) { - // @ts-ignore - s1 = peg$c0; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e0); - } - } - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 38) { - // @ts-ignore - s1 = peg$c1; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e1); - } - } - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 33) { - // @ts-ignore - s1 = peg$c2; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e2); - } - } - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f13(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSuffixedExpression() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parsePrimaryExpression(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseSuffixedOperator(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f14(s1, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseRepeatedExpression(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parsePrimaryExpression(); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSuffixedOperator() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 63) { - // @ts-ignore - s1 = peg$c3; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e3); - } - } - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 42) { - // @ts-ignore - s1 = peg$c4; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e4); - } - } - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 43) { - // @ts-ignore - s1 = peg$c5; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e5); - } - } - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f15(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseRepeatedExpression() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7, s8; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parsePrimaryExpression(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parsePipe(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parseBoundaries(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s6 = peg$parse__(); - // @ts-ignore - s7 = peg$parseDelimiter(); - // @ts-ignore - if (s7 === peg$FAILED) { - // @ts-ignore - s7 = null; - } - // @ts-ignore - s8 = peg$parsePipe(); - // @ts-ignore - if (s8 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f16(s1, s3, s5, s7, s8); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseBoundaries() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseBoundary(); - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s1 = null; - } - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseDotDot(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parseBoundary(); - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s5 = null; - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f17(s1, s3, s5); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseBoundary(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f18(s1); - } - // @ts-ignore - s0 = s1; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseBoundary() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseInteger(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f19(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseIdentifierName(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f20(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseCodeBlock(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f21(s1); - } - // @ts-ignore - s0 = s1; - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseDelimiter() { - // @ts-ignore - var s0, s1, s2, s3, s4; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseComma(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseChoiceExpression(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f22(s1, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parsePrimaryExpression() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$parseLiteralMatcher(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseCharacterClassMatcher(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseAnyMatcher(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseRuleReferenceExpression(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseSemanticPredicateExpression(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseOpenParen(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseChoiceExpression(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$parseCloseParen(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f23(s1, s3, s5); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - } - } - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseRuleReferenceExpression() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseIdentifierName(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parse__(); - // @ts-ignore - s5 = peg$currPos; - // @ts-ignore - s6 = peg$parseStringLiteral(); - // @ts-ignore - if (s6 !== peg$FAILED) { - // @ts-ignore - s7 = peg$parse__(); - // @ts-ignore - s6 = [s6, s7]; - // @ts-ignore - s5 = s6; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s5; - // @ts-ignore - s5 = peg$FAILED; - } - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s5 = null; - } - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 61) { - // @ts-ignore - s6 = peg$c6; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s6 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e6); - } - } - // @ts-ignore - if (s6 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5, s6]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s2 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f24(s1); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSemanticPredicateExpression() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseSemanticPredicateOperator(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseCodeBlock(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f25(s1, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSemanticPredicateOperator() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 38) { - // @ts-ignore - s1 = peg$c1; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e1); - } - } - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 33) { - // @ts-ignore - s1 = peg$c2; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e2); - } - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f26(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseIdentifierName() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - s3 = peg$parseIdentifierStart(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = []; - // @ts-ignore - s5 = peg$parseIdentifierPart(); - // @ts-ignore - while (s5 !== peg$FAILED) { - // @ts-ignore - s4.push(s5); - // @ts-ignore - s5 = peg$parseIdentifierPart(); - } - // @ts-ignore - s3 = [s3, s4]; - // @ts-ignore - s2 = s3; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s1 = input.substring(s1, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s1 = s2; - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f27(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e7); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseIdentifierPart() { - // @ts-ignore - var s0; - // @ts-ignore - s0 = peg$parseIdentifierStart(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseUnicodeCombiningMark(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseNd(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parsePc(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 8204) { - // @ts-ignore - s0 = peg$c7; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e8); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 8205) { - // @ts-ignore - s0 = peg$c8; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e9); - } - } - } - } - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseIdentifierStart() { - // @ts-ignore - var s0, s1, s2; - // @ts-ignore - s0 = peg$parseUnicodeLetter(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 36) { - // @ts-ignore - s0 = peg$c0; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e0); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 95) { - // @ts-ignore - s0 = peg$c9; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e10); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s1 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseUnicodeEscapeSequence(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s0 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseUnicodeLetter() { - // @ts-ignore - var s0; - // @ts-ignore - s0 = peg$parseLu(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseLl(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseLt(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseLm(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseLo(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseNl(); - } - } - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseUnicodeCombiningMark() { - // @ts-ignore - var s0; - // @ts-ignore - s0 = peg$parseMn(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseMc(); - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLiteralMatcher() { - // @ts-ignore - var s0, s1, s2; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseStringLiteral(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 105) { - // @ts-ignore - s2 = peg$c11; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s2 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e13); - } - } - // @ts-ignore - if (s2 === peg$FAILED) { - // @ts-ignore - s2 = null; - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f28(s1, s2); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e12); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseStringLiteral() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseDquote(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseDoubleRawCooked(); - // @ts-ignore - s3 = peg$parseDquote(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f29(s1, s2, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseSquote(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseSingleRawCooked(); - // @ts-ignore - s3 = peg$parseSquote(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f30(s1, s2, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e14); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseDoubleRawCooked() { - // @ts-ignore - var s0, s1, s2; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = []; - // @ts-ignore - s2 = peg$parseDoubleStringCharacter(); - // @ts-ignore - while (s2 !== peg$FAILED) { - // @ts-ignore - s1.push(s2); - // @ts-ignore - s2 = peg$parseDoubleStringCharacter(); - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f31(s1); - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseDoubleStringCharacter() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 34) { - // @ts-ignore - s3 = peg$c12; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e15); - } - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s3 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s3 = peg$parseLineTerminator(); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s2 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s3 = peg$parseSourceCharacter(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s2 = [s2, s3]; - // @ts-ignore - s1 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s0 = input.substring(s0, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s0 = s1; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s1 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseEscapeSequence(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s0 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseLineContinuation(); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSingleRawCooked() { - // @ts-ignore - var s0, s1, s2; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = []; - // @ts-ignore - s2 = peg$parseSingleStringCharacter(); - // @ts-ignore - while (s2 !== peg$FAILED) { - // @ts-ignore - s1.push(s2); - // @ts-ignore - s2 = peg$parseSingleStringCharacter(); - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f32(s1); - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSingleStringCharacter() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 39) { - // @ts-ignore - s3 = peg$c13; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e16); - } - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s3 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s3 = peg$parseLineTerminator(); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s2 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s3 = peg$parseSourceCharacter(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s2 = [s2, s3]; - // @ts-ignore - s1 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s0 = input.substring(s0, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s0 = s1; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s1 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseEscapeSequence(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s0 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseLineContinuation(); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseCharacterClassMatcher() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 91) { - // @ts-ignore - s1 = peg$c14; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e18); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 94) { - // @ts-ignore - s2 = peg$c15; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s2 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e19); - } - } - // @ts-ignore - if (s2 === peg$FAILED) { - // @ts-ignore - s2 = null; - } - // @ts-ignore - s3 = []; - // @ts-ignore - s4 = peg$parseClassCharacterRange(); - // @ts-ignore - if (s4 === peg$FAILED) { - // @ts-ignore - s4 = peg$parseClassCharacter(); - } - // @ts-ignore - while (s4 !== peg$FAILED) { - // @ts-ignore - s3.push(s4); - // @ts-ignore - s4 = peg$parseClassCharacterRange(); - // @ts-ignore - if (s4 === peg$FAILED) { - // @ts-ignore - s4 = peg$parseClassCharacter(); - } - } - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 93) { - // @ts-ignore - s4 = peg$c16; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s4 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e20); - } - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 105) { - // @ts-ignore - s5 = peg$c11; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e13); - } - } - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s5 = null; - } - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f33(s2, s3, s5); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e17); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseClassCharacterRange() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseClassCharacter(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 45) { - // @ts-ignore - s2 = peg$c17; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s2 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e21); - } - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s3 = peg$parseClassCharacter(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f34(s1, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseClassCharacter() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 93) { - // @ts-ignore - s3 = peg$c16; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e20); - } - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s3 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s3 = peg$parseLineTerminator(); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s2 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s3 = peg$parseSourceCharacter(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s2 = [s2, s3]; - // @ts-ignore - s1 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s0 = input.substring(s0, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s0 = s1; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s1 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseEscapeSequence(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s0 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseLineContinuation(); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLineContinuation() { - // @ts-ignore - var s0, s1, s2; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s1 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseLineTerminatorSequence(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f35(); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseEscapeSequence() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$parseCharacterEscapeSequence(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 48) { - // @ts-ignore - s1 = peg$c18; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e22); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s3 = peg$parseDecimalDigit(); - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s2 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f36(); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseHexEscapeSequence(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseUnicodeEscapeSequence(); - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseCharacterEscapeSequence() { - // @ts-ignore - var s0; - // @ts-ignore - s0 = peg$parseSingleEscapeCharacter(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseNonEscapeCharacter(); - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseNonEscapeCharacter() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s3 = peg$parseEscapeCharacter(); - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s3 = peg$parseLineTerminator(); - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s3 === peg$FAILED) { - // @ts-ignore - s2 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s3 = peg$parseSourceCharacter(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s2 = [s2, s3]; - // @ts-ignore - s1 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s0 = input.substring(s0, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s0 = s1; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseEscapeCharacter() { - // @ts-ignore - var s0; - // @ts-ignore - s0 = peg$parseSingleEscapeCharacter(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseDecimalDigit(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 120) { - // @ts-ignore - s0 = peg$c19; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e23); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 117) { - // @ts-ignore - s0 = peg$c20; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e24); - } - } - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSingleEscapeCharacter() { - // @ts-ignore - var s0, s1; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 39) { - // @ts-ignore - s0 = peg$c13; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e16); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 34) { - // @ts-ignore - s0 = peg$c12; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e15); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { - // @ts-ignore - s0 = peg$c10; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e11); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 98) { - // @ts-ignore - s1 = peg$c21; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e25); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f37(); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 102) { - // @ts-ignore - s1 = peg$c22; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e26); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f38(); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 110) { - // @ts-ignore - s1 = peg$c23; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e27); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f39(); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 114) { - // @ts-ignore - s1 = peg$c24; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e28); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f40(); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 116) { - // @ts-ignore - s1 = peg$c25; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e29); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f41(); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 118) { - // @ts-ignore - s1 = peg$c26; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e30); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f42(); - } - // @ts-ignore - s0 = s1; - } - } - } - } - } - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseHexEscapeSequence() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 120) { - // @ts-ignore - s1 = peg$c19; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e23); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parseHexDigit(); - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseHexDigit(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s2 = input.substring(s2, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s2 = s3; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f43(s2); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseUnicodeEscapeSequence() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 117) { - // @ts-ignore - s1 = peg$c20; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e24); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$parseHexDigit(); - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseHexDigit(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s6 = peg$parseHexDigit(); - // @ts-ignore - if (s6 !== peg$FAILED) { - // @ts-ignore - s7 = peg$parseHexDigit(); - // @ts-ignore - if (s7 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5, s6, s7]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s2 = input.substring(s2, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s2 = s3; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f44(s2); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseDecimalDigit() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r0.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e31); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseHexDigit() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r1.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e32); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseAnyMatcher() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 46) { - // @ts-ignore - s1 = peg$c27; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e33); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f45(); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseCodeBlock() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseOpenCurly(); - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseBareCodeBlock(); - // @ts-ignore - s3 = peg$parseCloseCurly(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f46(s1, s2, s3); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e34); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseBareCodeBlock() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parseCode(); - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f47(s1); - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseCode() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = []; - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { - // @ts-ignore - s5 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e35); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { - // @ts-ignore - s5 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e35); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - } - // @ts-ignore - } - else { - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 === peg$FAILED) { - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 123) { - // @ts-ignore - s3 = peg$c28; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e36); - } - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parseCode(); - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 125) { - // @ts-ignore - s5 = peg$c29; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e37); - } - } - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s3 = [s3, s4, s5]; - // @ts-ignore - s2 = s3; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - } - // @ts-ignore - while (s2 !== peg$FAILED) { - // @ts-ignore - s1.push(s2); - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { - // @ts-ignore - s5 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e35); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { - // @ts-ignore - s5 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e35); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - } - // @ts-ignore - } - else { - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 === peg$FAILED) { - // @ts-ignore - s2 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 123) { - // @ts-ignore - s3 = peg$c28; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e36); - } - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s4 = peg$parseCode(); - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 125) { - // @ts-ignore - s5 = peg$c29; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e37); - } - } - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s3 = [s3, s4, s5]; - // @ts-ignore - s2 = s3; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s2; - // @ts-ignore - s2 = peg$FAILED; - } - } - } - // @ts-ignore - s0 = input.substring(s0, peg$currPos); - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseInteger() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$parseDecimalDigit(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$parseDecimalDigit(); - } - // @ts-ignore - } - else { - // @ts-ignore - s2 = peg$FAILED; - } - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - s1 = input.substring(s1, peg$currPos); - // @ts-ignore - } - else { - // @ts-ignore - s1 = s2; - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f48(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseEOS() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = []; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseSemicolon(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s1 = s3; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - while (s1 !== peg$FAILED) { - // @ts-ignore - s0.push(s1); - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = peg$parse__(); - // @ts-ignore - s3 = peg$parseSemicolon(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s1 = s3; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s1; - // @ts-ignore - s1 = peg$FAILED; - } - } - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parse_(); - // @ts-ignore - s2 = peg$parseSingleLineComment(); - // @ts-ignore - if (s2 === peg$FAILED) { - // @ts-ignore - s2 = null; - } - // @ts-ignore - s3 = peg$parseLineTerminatorSequence(); - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f49(); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$parse__(); - // @ts-ignore - s2 = peg$parseEOF(); - // @ts-ignore - if (s2 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s0 = peg$f50(); - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseEOF() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.length > peg$currPos) { - // @ts-ignore - s1 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e38); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s0 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parse__() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = []; - // @ts-ignore - s1 = peg$parseWhiteSpace(); - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s1 = peg$parseLineTerminatorSequence(); - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s1 = peg$parseComment(); - } - } - // @ts-ignore - while (s1 !== peg$FAILED) { - // @ts-ignore - s0.push(s1); - // @ts-ignore - s1 = peg$parseWhiteSpace(); - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s1 = peg$parseLineTerminatorSequence(); - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s1 = peg$parseComment(); - } - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parse_() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = []; - // @ts-ignore - s1 = peg$parseWhiteSpace(); - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s1 = peg$parseMultiLineCommentNoLineTerminator(); - } - // @ts-ignore - while (s1 !== peg$FAILED) { - // @ts-ignore - s0.push(s1); - // @ts-ignore - s1 = peg$parseWhiteSpace(); - // @ts-ignore - if (s1 === peg$FAILED) { - // @ts-ignore - s1 = peg$parseMultiLineCommentNoLineTerminator(); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseWhiteSpace() { - // @ts-ignore - var s0, s1; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 9) { - // @ts-ignore - s0 = peg$c30; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e40); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 11) { - // @ts-ignore - s0 = peg$c31; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e41); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 12) { - // @ts-ignore - s0 = peg$c32; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e42); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 32) { - // @ts-ignore - s0 = peg$c33; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e43); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 160) { - // @ts-ignore - s0 = peg$c34; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e44); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 65279) { - // @ts-ignore - s0 = peg$c35; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e45); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseZs(); - } - } - } - } - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e39); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseComment() { - // @ts-ignore - var s0, s1; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s0 = peg$parseMultiLineComment(); - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s0 = peg$parseSingleLineComment(); - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e46); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseMultiLineComment() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c36) { - // @ts-ignore - s1 = peg$c36; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e47); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseMultiLineCommentChars(); - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { - // @ts-ignore - s3 = peg$c37; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e48); - } - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s0 = s2; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseMultiLineCommentChars() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { - // @ts-ignore - s5 = peg$c37; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e48); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { - // @ts-ignore - s5 = peg$c37; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e48); - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - } - // @ts-ignore - s1 = input.substring(s1, peg$currPos); - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f51(s1); - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseMultiLineCommentNoLineTerminator() { - // @ts-ignore - var s0, s1, s2, s3; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c36) { - // @ts-ignore - s1 = peg$c36; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e47); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseMultiLineCommentNoLineTerminatorChars(); - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { - // @ts-ignore - s3 = peg$c37; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s3 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e48); - } - } - // @ts-ignore - if (s3 !== peg$FAILED) { - // @ts-ignore - s1 = [s1, s2, s3]; - // @ts-ignore - s0 = s1; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseMultiLineCommentNoLineTerminatorChars() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { - // @ts-ignore - s5 = peg$c37; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e48); - } - } - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s5 = peg$parseLineTerminator(); - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { - // @ts-ignore - s5 = peg$c37; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s5 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e48); - } - } - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s5 = peg$parseLineTerminator(); - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - } - // @ts-ignore - s1 = input.substring(s1, peg$currPos); - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f52(s1); - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSingleLineComment() { - // @ts-ignore - var s0, s1, s2; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c38) { - // @ts-ignore - s1 = peg$c38; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e49); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - s2 = peg$parseSingleLineCommentChars(); - // @ts-ignore - s1 = [s1, s2]; - // @ts-ignore - s0 = s1; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s0; - // @ts-ignore - s0 = peg$FAILED; - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSingleLineCommentChars() { - // @ts-ignore - var s0, s1, s2, s3, s4, s5; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - s1 = peg$currPos; - // @ts-ignore - s2 = []; - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s5 = peg$parseLineTerminator(); - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - while (s3 !== peg$FAILED) { - // @ts-ignore - s2.push(s3); - // @ts-ignore - s3 = peg$currPos; - // @ts-ignore - s4 = peg$currPos; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - s5 = peg$parseLineTerminator(); - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s5 === peg$FAILED) { - // @ts-ignore - s4 = undefined; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s4; - // @ts-ignore - s4 = peg$FAILED; - } - // @ts-ignore - if (s4 !== peg$FAILED) { - // @ts-ignore - s5 = peg$parseSourceCharacter(); - // @ts-ignore - if (s5 !== peg$FAILED) { - // @ts-ignore - s4 = [s4, s5]; - // @ts-ignore - s3 = s4; - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - // @ts-ignore - } - else { - // @ts-ignore - peg$currPos = s3; - // @ts-ignore - s3 = peg$FAILED; - } - } - // @ts-ignore - s1 = input.substring(s1, peg$currPos); - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f53(s1); - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSourceCharacter() { - // @ts-ignore - var s0; - // @ts-ignore - if (input.length > peg$currPos) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e38); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLineTerminator() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r3.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e50); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLineTerminatorSequence() { - // @ts-ignore - var s0, s1; - // @ts-ignore - peg$silentFails++; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 10) { - // @ts-ignore - s0 = peg$c39; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e52); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c40) { - // @ts-ignore - s0 = peg$c40; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e53); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 13) { - // @ts-ignore - s0 = peg$c41; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e54); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 8232) { - // @ts-ignore - s0 = peg$c42; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e55); - } - } - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 8233) { - // @ts-ignore - s0 = peg$c43; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e56); - } - } - } - } - } - } - // @ts-ignore - peg$silentFails--; - // @ts-ignore - if (s0 === peg$FAILED) { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e51); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLl() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r4.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e57); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLm() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r5.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e58); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLo() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r6.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e59); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLt() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r7.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e60); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseLu() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r8.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e61); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseMc() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r9.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e62); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseMn() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r10.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e63); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseNd() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r11.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e64); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseNl() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r12.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e65); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parsePc() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r13.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e66); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseZs() { - // @ts-ignore - var s0; - // @ts-ignore - if (peg$r14.test(input.charAt(peg$currPos))) { - // @ts-ignore - s0 = input.charAt(peg$currPos); - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s0 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e67); - } - } - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseEquals() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 61) { - // @ts-ignore - s1 = peg$c6; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e6); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f54(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSlash() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 47) { - // @ts-ignore - s1 = peg$c44; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e68); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f55(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseOpenCurly() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 123) { - // @ts-ignore - s1 = peg$c28; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e36); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f56(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseCloseCurly() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 125) { - // @ts-ignore - s1 = peg$c29; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e37); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f57(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseOpenParen() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 40) { - // @ts-ignore - s1 = peg$c45; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e69); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f58(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseCloseParen() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 41) { - // @ts-ignore - s1 = peg$c46; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e70); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f59(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSquote() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 39) { - // @ts-ignore - s1 = peg$c13; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e16); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f60(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseDquote() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 34) { - // @ts-ignore - s1 = peg$c12; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e15); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f61(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseColon() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 58) { - // @ts-ignore - s1 = peg$c47; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e71); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f62(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseAt() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 64) { - // @ts-ignore - s1 = peg$c48; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e72); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f63(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseSemicolon() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 59) { - // @ts-ignore - s1 = peg$c49; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e73); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f64(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parsePipe() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 124) { - // @ts-ignore - s1 = peg$c50; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e74); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f65(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseComma() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.charCodeAt(peg$currPos) === 44) { - // @ts-ignore - s1 = peg$c51; - // @ts-ignore - peg$currPos++; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e75); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f66(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - function peg$parseDotDot() { - // @ts-ignore - var s0, s1; - // @ts-ignore - s0 = peg$currPos; - // @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c52) { - // @ts-ignore - s1 = peg$c52; - // @ts-ignore - peg$currPos += 2; - // @ts-ignore - } - else { - // @ts-ignore - s1 = peg$FAILED; - // @ts-ignore - if (peg$silentFails === 0) { - peg$fail(peg$e76); - } - } - // @ts-ignore - if (s1 !== peg$FAILED) { - // @ts-ignore - peg$savedPos = s0; - // @ts-ignore - s1 = peg$f67(s1); - } - // @ts-ignore - s0 = s1; - // @ts-ignore - return s0; - } - // @ts-ignore - const reservedWords = options.reservedWords || []; - // @ts-ignore - const comments = []; - // @ts-ignore - function loc(node) { - // Convert to estree-style location - // @ts-ignore - const l = location(); - // @ts-ignore - node.loc = { - // @ts-ignore - source: l.source, - // @ts-ignore - start: { - // @ts-ignore - line: l.start.line, - // @ts-ignore - column: l.start.column - 1, - }, - // @ts-ignore - end: { - // @ts-ignore - line: l.end.line, - // @ts-ignore - column: l.end.column - 1, - }, - }; - // @ts-ignore - node.range = [ - // @ts-ignore - l.start.offset, - // @ts-ignore - l.end.offset, - ]; - // @ts-ignore - return node; - } - // @ts-ignore - peg$result = peg$startRuleFunction(); - // @ts-ignore - if (peg$result !== peg$FAILED && peg$currPos === input.length) { - // @ts-ignore - return peg$result; - // @ts-ignore - } - else { - // @ts-ignore - if (peg$result !== peg$FAILED && peg$currPos < input.length) { - // @ts-ignore - peg$fail(peg$endExpectation()); - } - // @ts-ignore - throw peg$buildStructuredError( - // @ts-ignore - peg$maxFailExpected, - // @ts-ignore - peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, - // @ts-ignore - peg$maxFailPos < input.length - // @ts-ignore - ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) - // @ts-ignore - : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)); - } - } - // @ts-ignore - return { - SyntaxError: peg$SyntaxError, - parse: peg$parse - }; -})(); -peggyParser.SyntaxError.prototype.name = "PeggySyntaxError"; -exports.parse = peggyParser.parse; -exports.PeggySyntaxError = peggyParser.SyntaxError; diff --git a/lib/visitor.d.ts b/lib/visitor.d.ts deleted file mode 100644 index ca554ce..0000000 --- a/lib/visitor.d.ts +++ /dev/null @@ -1,102 +0,0 @@ -import * as AST from "./ast"; -import type ESlint from "eslint"; -export type { AST }; -interface VisitorOptions { - name?: string; - parent?: AST.Node; - array: boolean; - parentResult?: T; - thisResult?: T; -} -type VisitorFunction = (node: U, opts: VisitorOptions) => T | undefined; -interface VisitorFunctionMap { - grammar?: VisitorFunction; - top_level_initializer?: VisitorFunction; - initializer?: VisitorFunction; - rule?: VisitorFunction; - named?: VisitorFunction; - repeated?: VisitorFunction; - boundaries?: VisitorFunction; - delimiter?: VisitorFunction; - constant?: VisitorFunction; - variable?: VisitorFunction; - function?: VisitorFunction; - choice?: VisitorFunction; - action?: VisitorFunction; - sequence?: VisitorFunction; - labeled?: VisitorFunction; - text?: VisitorFunction; - simple_and?: VisitorFunction; - simple_not?: VisitorFunction; - optional?: VisitorFunction; - zero_or_more?: VisitorFunction; - one_or_more?: VisitorFunction; - group?: VisitorFunction; - semantic_and?: VisitorFunction; - semantic_not?: VisitorFunction; - rule_ref?: VisitorFunction; - literal?: VisitorFunction; - display?: VisitorFunction; - class?: VisitorFunction; - any?: VisitorFunction; - name?: VisitorFunction; - code?: VisitorFunction; - punc?: VisitorFunction; - Block?: VisitorFunction; - Line?: VisitorFunction; - "Program:exit"?: VisitorFunction; - "grammar:exit"?: VisitorFunction; - "top_level_initializer:exit"?: VisitorFunction; - "initializer:exit"?: VisitorFunction; - "rule:exit"?: VisitorFunction; - "named:exit"?: VisitorFunction; - "repeated:exit"?: VisitorFunction; - "boundaries:exit"?: VisitorFunction; - "delimiter:exit"?: VisitorFunction; - "constant:exit"?: VisitorFunction; - "variable:exit"?: VisitorFunction; - "function:exit"?: VisitorFunction; - "choice:exit"?: VisitorFunction; - "action:exit"?: VisitorFunction; - "sequence:exit"?: VisitorFunction; - "labeled:exit"?: VisitorFunction; - "text:exit"?: VisitorFunction; - "simple_and:exit"?: VisitorFunction; - "simple_not:exit"?: VisitorFunction; - "optional:exit"?: VisitorFunction; - "zero_or_more:exit"?: VisitorFunction; - "one_or_more:exit"?: VisitorFunction; - "group:exit"?: VisitorFunction; - "semantic_and:exit"?: VisitorFunction; - "semantic_not:exit"?: VisitorFunction; - "rule_ref:exit"?: VisitorFunction; - "literal:exit"?: VisitorFunction; - "display:exit"?: VisitorFunction; - "class:exit"?: VisitorFunction; - "any:exit"?: VisitorFunction; - "name:exit"?: VisitorFunction; - "code:exit"?: VisitorFunction; - "punc:exit"?: VisitorFunction; - "Block:exit"?: VisitorFunction; - "Line:exit"?: VisitorFunction; - "*:exit"?: VisitorFunction; - Program?(node: AST.Program): T | undefined; - "*"?(node: AST.Node, opts?: VisitorOptions): T | undefined; -} -/** - * Visit some or all of the nodes in an AST. - */ -export declare class Visitor { - static visitorKeys: ESlint.SourceCode.VisitorKeys; - private functions; - private star?; - private starExit?; - /** - * Create an instance. - */ - constructor(functions: VisitorFunctionMap); - /** - * Visit each node, applying any visitor functions found in our function map. - */ - visit(node: AST.Node, opts?: VisitorOptions): void; -} diff --git a/lib/visitor.js b/lib/visitor.js deleted file mode 100644 index 518b354..0000000 --- a/lib/visitor.js +++ /dev/null @@ -1,101 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Visitor = void 0; -const AST = __importStar(require("./ast")); -/** - * Visit some or all of the nodes in an AST. - */ -class Visitor { - /** - * Create an instance. - */ - constructor(functions) { - this.functions = functions; - this.star = this.functions["*"]; - this.starExit = this.functions["*:exit"]; - } - /** - * Visit each node, applying any visitor functions found in our function map. - */ - visit(node, opts) { - let parentResult = opts?.parentResult; - if (this.star) { - parentResult = this.star(node, opts); - } - const enterFun = this.functions[node.type]; - if (enterFun) { - // @ts-expect-error Can't get correct node type here - parentResult = enterFun(node, opts); - } - const vk = AST.visitorKeys[node.type]; - for (const name of vk) { - // @ts-expect-error Can't access objects by name in TS? - const child = node[name]; - if ((child !== null) && (child !== undefined)) { - if (Array.isArray(child)) { - for (const c of child) { - this.visit(c, { - name, - parent: node, - array: true, - parentResult, - }); - } - } - else { - this.visit(child, { - name, - parent: node, - array: false, - parentResult, - }); - } - } - } - const exitFun = this.functions[`${node.type}:exit`]; - if (this.starExit || exitFun) { - if (!opts) { - opts = { - name: undefined, - parent: undefined, - array: false, - parentResult: undefined, - }; - } - opts.thisResult = parentResult; - if (exitFun) { - opts.thisResult = parentResult; - // @ts-expect-error Something went wrong with the types. - exitFun(node, opts); - } - if (this.starExit) { - this.starExit(node, opts); - } - } - } -} -Visitor.visitorKeys = AST.visitorKeys; -exports.Visitor = Visitor; diff --git a/package-lock.json b/package-lock.json index 904fb34..7abe23b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,38 +9,74 @@ "version": "1.2.1", "license": "MIT", "devDependencies": { - "@peggyjs/eslint-config": "3.0.0", - "@types/eslint": "8.21.1", - "@typescript-eslint/eslint-plugin": "5.54.0", - "@typescript-eslint/parser": "5.54.0", - "c8": "7.13.0", - "eslint": "8.35.0", - "eslint-plugin-mocha": "10.1.0", - "mocha": "10.2.0", - "peggy": "2.0.1", + "@peggyjs/eslint-config": "3.2.1", + "@types/eslint": "8.56.2", + "@types/estree": "1.0.5", + "@types/node": "20.11.17", + "@typescript-eslint/eslint-plugin": "7.0.1", + "@typescript-eslint/parser": "7.0.1", + "c8": "9.1.0", + "copyfiles": "2.4.1", + "eslint": "8.56.0", + "eslint-plugin-mocha": "10.2.0", + "mocha": "10.3.0", + "peggy": "4.0.0", + "rimraf": "5.0.5", "source-map-support": "0.5.21", - "ts-pegjs": "3.1.0", - "typescript": "4.9.5" + "typescript": "5.3.3" }, "engines": { "node": ">=14.20" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", - "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -55,29 +91,88 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/js": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", - "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -92,11 +187,107 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -107,28 +298,28 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@nodelib/fs.scandir": { @@ -167,15 +358,22 @@ } }, "node_modules/@peggyjs/eslint-config": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@peggyjs/eslint-config/-/eslint-config-3.0.0.tgz", - "integrity": "sha512-2SlbrnMXWxD9cZdZDFijHTAtflcWDl8dBCLa8gbX7woi1L49ji7CdHgfwCaeiOq5f/970uifTMl8Rorlb2YVzg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@peggyjs/eslint-config/-/eslint-config-3.2.1.tgz", + "integrity": "sha512-v+xNYHb3irBDiQil39pplz2N/1dCTh67XtvfGT82K6woxGlGlT5J05T9PrxEswS9+oybVFenn2hL+H0cvysiKQ==", "dev": true, + "dependencies": { + "@stylistic/eslint-plugin": "1.6.1", + "globals": "14.0.0" + }, + "engines": { + "node": ">=18" + }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.30.7", - "eslint": "^8.20.0", - "typescript": "^4.7.4" + "@typescript-eslint/eslint-plugin": "~7", + "@typescript-eslint/parser": "~7", + "eslint": "~8", + "typescript": "~5" }, "peerDependenciesMeta": { "@typescript-eslint/eslint-plugin": { @@ -189,10 +387,101 @@ } } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@stylistic/eslint-plugin": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-1.6.1.tgz", + "integrity": "sha512-De7Sw86OtIf7SsMgjLCf4bTeI3085Plyh4l0Rg1V42BTFo/Q6Pz7Cbu31rEk/UHFiEna/YO8Hxj80jFP3ObrQw==", + "dev": true, + "dependencies": { + "@stylistic/eslint-plugin-js": "1.6.1", + "@stylistic/eslint-plugin-jsx": "1.6.1", + "@stylistic/eslint-plugin-plus": "1.6.1", + "@stylistic/eslint-plugin-ts": "1.6.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-js": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-1.6.1.tgz", + "integrity": "sha512-gHRxkbA5p8S1fnChE7Yf5NFltRZCzbCuQOcoTe93PSKBC4GqVjZmlWUSLz9pJKHvDAUTjWkfttWHIOaFYPEhRQ==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "escape-string-regexp": "^4.0.0", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-jsx": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-1.6.1.tgz", + "integrity": "sha512-uJQcg3iqrhm3EH15ZjxmZ1YmXXexkLKFEgxkWA3RYjgAVTx8k7xGJwClK/JnjKDGdbFRiDQPjxt964R1vsaFaQ==", + "dev": true, + "dependencies": { + "@stylistic/eslint-plugin-js": "^1.6.1", + "estraverse": "^5.3.0", + "picomatch": "^3.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-plus": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-1.6.1.tgz", + "integrity": "sha512-nYIXfdYN+pBVmm0vPCKQFg/IK35tf3ZGz+0WENUL6ww1+jKM6/i36FalRFculiHzO+wOpJ3/yXWJC3PCbwGFZQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^6.20.0" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@stylistic/eslint-plugin-ts": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-1.6.1.tgz", + "integrity": "sha512-eZxrFaLhPJVUQmtsRXKiuzSou0nlHevKc1WsfhxUJ9p8juv3G3YlbbGeYg4AP1fNlEmWs/lZQAP2WfzQOdBNvQ==", + "dev": true, + "dependencies": { + "@stylistic/eslint-plugin-js": "1.6.1", + "@typescript-eslint/utils": "^6.20.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, "node_modules/@types/eslint": { - "version": "8.21.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", - "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", "dev": true, "dependencies": { "@types/estree": "*", @@ -200,56 +489,66 @@ } }, "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, + "node_modules/@types/node": { + "version": "20.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz", + "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz", + "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", - "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.1.tgz", + "integrity": "sha512-OLvgeBv3vXlnnJGIAgCLYKjgMEU+wBGj07MQ/nxAaON+3mLzX7mJbhRYrVGiVvFiXtwFlkcBa/TtmglHy0UbzQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/type-utils": "5.54.0", - "@typescript-eslint/utils": "5.54.0", + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "7.0.1", + "@typescript-eslint/type-utils": "7.0.1", + "@typescript-eslint/utils": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -257,41 +556,52 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.0.1.tgz", + "integrity": "sha512-oe4his30JgPbnv+9Vef1h48jm0S6ft4mNwi9wj7bX10joGn07QRfqIqFHoMiajrtoU88cIhXf8ahwgrcbNLgPA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.0.1", + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/typescript-estree": "7.0.1", + "semver": "^7.5.4" }, "engines": { - "node": ">=10" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", - "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.0.1.tgz", + "integrity": "sha512-8GcRRZNzaHxKzBPU3tKtFNing571/GwPBeCvmAUw0yBtfE2XVd0zFKJIMSWkHJcPQi0ekxjIts6L/rrZq5cxGQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/typescript-estree": "5.54.0", + "@typescript-eslint/scope-manager": "7.0.1", + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/typescript-estree": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -300,16 +610,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", - "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.0.1.tgz", + "integrity": "sha512-v7/T7As10g3bcWOOPAcbnMDuvctHzCFYCG/8R4bK4iYzdFqsZTbXGln0cZNVcwQcwewsYU2BJLay8j0/4zOk4w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/visitor-keys": "5.54.0" + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -317,25 +627,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", - "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.0.1.tgz", + "integrity": "sha512-YtT9UcstTG5Yqy4xtLiClm1ZpM/pWVGFnkAa90UfdkkZsR1eP2mR/1jbHeYp8Ay1l1JHPyGvoUYR6o3On5Nhmw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.54.0", - "@typescript-eslint/utils": "5.54.0", + "@typescript-eslint/typescript-estree": "7.0.1", + "@typescript-eslint/utils": "7.0.1", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -343,13 +653,38 @@ } } }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.0.1.tgz", + "integrity": "sha512-oe4his30JgPbnv+9Vef1h48jm0S6ft4mNwi9wj7bX10joGn07QRfqIqFHoMiajrtoU88cIhXf8ahwgrcbNLgPA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.0.1", + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/typescript-estree": "7.0.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, "node_modules/@typescript-eslint/types": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", - "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.0.1.tgz", + "integrity": "sha512-uJDfmirz4FHib6ENju/7cz9SdMSkeVvJDK3VcMFvf/hAShg8C74FW+06MaQPODHfDJp/z/zHfgawIJRjlu0RLg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -357,21 +692,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", - "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.1.tgz", + "integrity": "sha512-SO9wHb6ph0/FN5OJxH4MiPscGah5wjOd0RRpaLvuBv9g8565Fgu0uMySFEPqwPHiQU90yzJ2FjRYKGrAhS1xig==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/visitor-keys": "5.54.0", + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -383,105 +719,133 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", - "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/typescript-estree": "5.54.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { - "node": ">=8.0.0" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "engines": { - "node": ">=4.0" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=10" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", - "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.1.tgz", + "integrity": "sha512-hwAgrOyk++RTXrP4KzCg7zB2U0xt7RUU0ZdMSCsqF3eKUwkdXUMyTb0qdCuji7VIbcpG62kKTU9M1J1c9UpFBw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "7.0.1", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -561,6 +925,18 @@ "node": ">= 8" } }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -592,13 +968,12 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -626,29 +1001,28 @@ "dev": true }, "node_modules/c8": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-7.13.0.tgz", - "integrity": "sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-9.1.0.tgz", + "integrity": "sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@istanbuljs/schema": "^0.1.3", "find-up": "^5.0.0", - "foreground-child": "^2.0.0", + "foreground-child": "^3.1.1", "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.1.4", - "rimraf": "^3.0.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.6", "test-exclude": "^6.0.0", "v8-to-istanbul": "^9.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9" + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1" }, "bin": { "c8": "bin/c8.js" }, "engines": { - "node": ">=10.12.0" + "node": ">=14.14.0" } }, "node_modules/callsites": { @@ -711,23 +1085,105 @@ "engines": { "node": ">= 8.10.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/copyfiles": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", + "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", + "dev": true, + "dependencies": { + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^16.1.0" + }, + "bin": { + "copyfiles": "copyfiles", + "copyup": "copyfiles" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/copyfiles/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/cliui": { + "node_modules/copyfiles/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", @@ -738,43 +1194,69 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/copyfiles/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/copyfiles/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } }, - "node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "node_modules/copyfiles/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, "engines": { - "node": "^12.20.0 || >=14" + "node": ">=10" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "node_modules/copyfiles/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "node_modules/cross-spawn": { @@ -859,6 +1341,12 @@ "node": ">=6.0.0" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -866,9 +1354,9 @@ "dev": true }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, "engines": { "node": ">=6" @@ -887,26 +1375,28 @@ } }, "node_modules/eslint": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", - "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^2.0.0", - "@eslint/js": "8.35.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -914,23 +1404,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -944,13 +1430,13 @@ } }, "node_modules/eslint-plugin-mocha": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.1.0.tgz", - "integrity": "sha512-xLqqWUF17llsogVOC+8C6/jvQ+4IoOREbN7ZCHuOHuD6cT5cDD4h7f2LgsZuzMAiwswWE21tO7ExaknHVDrSkw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz", + "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", - "rambda": "^7.1.0" + "rambda": "^7.4.0" }, "engines": { "node": ">=14.0.0" @@ -960,9 +1446,9 @@ } }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -970,6 +1456,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-utils": { @@ -1000,23 +1489,63 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1074,9 +1603,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -1114,9 +1643,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -1172,35 +1701,96 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/flat-cache/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat-cache/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/fs.realpath": { @@ -1210,9 +1800,9 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -1233,20 +1823,19 @@ } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1264,16 +1853,25 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1299,10 +1897,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/has-flag": { @@ -1330,9 +1928,9 @@ "dev": true }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -1460,6 +2058,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1467,32 +2071,32 @@ "dev": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -1502,14 +2106,22 @@ "node": ">=8" } }, - "node_modules/js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/js-yaml": { @@ -1524,6 +2136,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1536,6 +2154,15 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -1599,15 +2226,15 @@ } }, "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1635,22 +2262,58 @@ "node": ">=8.6" } }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", + "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", "dev": true, "dependencies": { "ansi-colors": "4.1.1", @@ -1660,13 +2323,12 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -1681,19 +2343,17 @@ }, "engines": { "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" } }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/mocha/node_modules/minimatch": { @@ -1729,6 +2389,24 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mocha/node_modules/yargs-parser": { "version": "20.2.4", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", @@ -1744,29 +2422,21 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "node_modules/noms": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", + "integrity": "sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + } }, "node_modules/normalize-path": { "version": "3.0.0", @@ -1787,17 +2457,17 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -1872,6 +2542,31 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -1882,28 +2577,28 @@ } }, "node_modules/peggy": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/peggy/-/peggy-2.0.1.tgz", - "integrity": "sha512-mBqfmdUAOVn7RILpXTbcRBhLfTR4Go0SresSnivGDdRylBOyVFJncFiVyCNNpPWq8HmgeRleXHs/Go4o8kQVXA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/peggy/-/peggy-4.0.0.tgz", + "integrity": "sha512-fg9oKdoLSiP24lEsH+5vtYawR9v46a9sNikmYWPtORv+wZKqf9bFVMC5m8NWiTfRu6GaednL96YcmSmMcLY8Dg==", "dev": true, "dependencies": { - "commander": "^9.3.0", + "commander": "^12.0.0", "source-map-generator": "0.8.0" }, "bin": { "peggy": "bin/peggy.js" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", "dev": true, "engines": { - "node": ">=8.6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -1918,10 +2613,16 @@ "node": ">= 0.8.0" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" @@ -1962,6 +2663,18 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -1974,16 +2687,16 @@ "node": ">=8.10.0" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/require-directory": { @@ -2015,15 +2728,40 @@ } }, "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "glob": "^10.3.7" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2073,12 +2811,18 @@ ] }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/serialize-javascript": { @@ -2112,10 +2856,16 @@ } }, "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/slash": { "version": "3.0.0", @@ -2154,6 +2904,12 @@ "source-map": "^0.6.0" } }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -2168,6 +2924,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -2180,6 +2951,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -2218,12 +3002,100 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -2236,37 +3108,16 @@ "node": ">=8.0" } }, - "node_modules/ts-pegjs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ts-pegjs/-/ts-pegjs-3.1.0.tgz", - "integrity": "sha512-CZ80MYdzoh/setHAcrOdWh7ws4GsIPAahFEZ1019xPLe2snSzwuCLDAwQ0r7xHLIuOuRJ7v87jvz/Lr5YTLN4g==", - "dev": true, - "bin": { - "tspegjs": "src/cli.js" - }, - "peerDependencies": { - "peggy": "^2.0.1" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/ts-api-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, "engines": { - "node": ">= 6" + "node": ">=16" }, "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "typescript": ">=4.2.0" } }, "node_modules/type-check": { @@ -2294,16 +3145,31 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/uri-js": { @@ -2315,15 +3181,21 @@ "punycode": "^2.1.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" @@ -2344,15 +3216,6 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -2376,12 +3239,39 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -2398,30 +3288,30 @@ "dev": true }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-unparser": { diff --git a/package.json b/package.json index 5ce109b..efdb4e1 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,14 @@ "description": "ESLint-style parser for Peggy grammars", "main": "lib/index.js", "scripts": { - "parser": "peggy -c .peggy.js --plugin ts-pegjs -o src/parser.ts src/parser.peggy", + "clean": "rimraf lib src/parser.js", + "parser": "peggy src/parser.peggy", "ts": "tsc", "ts:sourcemap": "tsc --inlineSourceMap", "build": "npm run parser && npm run ts", - "lint": "eslint . --ext js,ts", + "postbuild": "copyfiles -u -a -f src/parser.js src/parser.d.ts lib", + "lint": "eslint .", + "pretest": "npm run build", "test": "mocha", "precoverage": "npm run parser && npm run ts:sourcemap", "coverage": "c8 npm test", @@ -27,22 +30,23 @@ "repository": "peggyjs/peggyjs-eslint-parser", "bugs": "https://github.com/peggyjs/peggyjs-eslint-parser/issues", "devDependencies": { - "@peggyjs/eslint-config": "3.0.1", - "@types/eslint": "8.37.0", - "@types/estree": "1.0.0", - "@types/node": "18.15.11", - "@typescript-eslint/eslint-plugin": "5.59.0", - "@typescript-eslint/parser": "5.59.0", - "c8": "7.13.0", - "eslint": "8.38.0", - "eslint-plugin-mocha": "10.1.0", - "mocha": "10.2.0", - "peggy": "3.0.2", + "@peggyjs/eslint-config": "3.2.1", + "@types/eslint": "8.56.2", + "@types/estree": "1.0.5", + "@types/node": "20.11.17", + "@typescript-eslint/eslint-plugin": "7.0.1", + "@typescript-eslint/parser": "7.0.1", + "c8": "9.1.0", + "copyfiles": "2.4.1", + "eslint": "8.56.0", + "eslint-plugin-mocha": "10.2.0", + "mocha": "10.3.0", + "peggy": "4.0.0", + "rimraf": "5.0.5", "source-map-support": "0.5.21", - "ts-pegjs": "4.1.0", - "typescript": "5.0.4" + "typescript": "5.3.3" }, "engines": { - "node": ">=14.20" + "node": ">=18" } } diff --git a/src/index.ts b/src/index.ts index 804bf16..bbe828d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ import type * as ESlint from "eslint"; import * as visitor from "./visitor"; -import { PeggySyntaxError, parse } from "./parser"; +import { SyntaxError as PeggySyntaxError, parse } from "./parser.js"; export { visitor }; @@ -109,8 +109,10 @@ interface parseOptions { /** * Parse Peggy text and return the format that eslint requires. */ -export function parseForESLint(code: string, options: parseOptions = {}): - ESlint.Linter.ESLintParseResult { +export function parseForESLint( + code: string, + options: parseOptions = {} +): ESlint.Linter.ESLintParseResult { try { const ast = parse(code, { grammarSource: options.filePath, diff --git a/lib/parser.d.ts b/src/parser.d.ts similarity index 91% rename from lib/parser.d.ts rename to src/parser.d.ts index 1cf2d54..94365d6 100644 --- a/lib/parser.d.ts +++ b/src/parser.d.ts @@ -1,3 +1,5 @@ +// Originally generated with ts-pegjs, then hand-maintained. + import type * as ast from "./ast"; export interface FilePosition { offset: number; @@ -62,7 +64,7 @@ export type ParseFunction = (input: string, option startRule: infer StartRule; } ? StartRule extends "Program" ? Program : Program : Program; export declare const parse: ParseFunction; -export declare const PeggySyntaxError: typeof _PeggySyntaxError; -export type PeggySyntaxError = _PeggySyntaxError; +export declare const SyntaxError: typeof _PeggySyntaxError; +export type SyntaxError = _PeggySyntaxError; export type Program = ast.Node; export {}; diff --git a/src/parser.peggy b/src/parser.peggy index 612a03b..4b27f29 100644 --- a/src/parser.peggy +++ b/src/parser.peggy @@ -32,33 +32,32 @@ // // [1] http://www.ecma-international.org/publications/standards/Ecma-262.htm +// import {ImportDeclarations} from 'peggy/lib/parser.js' + {{ - const OPS_TO_PREFIXED_TYPES: - Record = { + const OPS_TO_PREFIXED_TYPES = { "$": "text", "&": "simple_and", "!": "simple_not" }; - const OPS_TO_SUFFIXED_TYPES: - Record = { + const OPS_TO_SUFFIXED_TYPES = { "?": "optional", "*": "zero_or_more", "+": "one_or_more" }; - const OPS_TO_SEMANTIC_PREDICATE_TYPES: - Record = { + const OPS_TO_SEMANTIC_PREDICATE_TYPES = { "&": "semantic_and", "!": "semantic_not" }; }} { const reservedWords = options.reservedWords || []; - const comments: ESTree.Comment[] = []; + const comments = []; - function loc(node: Partial): ast.Node { + function loc(node) { // Convert to estree-style location const l = location(); node.loc = { @@ -76,7 +75,7 @@ l.start.offset, l.end.offset, ]; - return node as ast.Node; + return node; } } // ---- Syntactic Grammar ----- @@ -93,11 +92,13 @@ Program } Grammar - = __ topLevelInitializer:( @TopLevelInitializer __ )? - initializer:( @Initializer __ )? - rules:( @Rule __ )+ { + // = imports:ImportDeclarations + = topLevelInitializer:(__ @TopLevelInitializer)? + initializer:(__ @Initializer)? __ + rules:(@Rule __)+ { return loc({ type: "grammar", + // imports, topLevelInitializer, initializer, rules, @@ -161,8 +162,8 @@ ChoiceExpression return tail.length > 0 ? loc({ type: "choice", - alternatives: [head, ...tail.map((v: ast.Node[]) => v[1])], - slashes: tail.map((v: ast.Node[]) => v[0]), + alternatives: [head, ...tail.map(v => v[1])], + slashes: tail.map(v => v[0]), }) : head; } @@ -440,7 +441,7 @@ CharacterClassMatcher "character class" { return loc({ type: "class", - parts: parts.filter((part:(string|unknown)) => part !== ""), + parts: parts.filter(part => part !== ""), inverted: inverted !== null, ignoreCase: ignoreCase !== null, }); @@ -565,7 +566,7 @@ MultiLineComment MultiLineCommentChars = value:$( !"*/" SourceCharacter )* { - comments.push(loc({ type: "Block", value }) as unknown as ESTree.Comment); + comments.push(loc({ type: "Block", value })); } MultiLineCommentNoLineTerminator @@ -573,7 +574,7 @@ MultiLineCommentNoLineTerminator MultiLineCommentNoLineTerminatorChars = value:$( !( "*/" / LineTerminator ) SourceCharacter )* { - comments.push(loc({ type: "Block", value }) as unknown as ESTree.Comment); + comments.push(loc({ type: "Block", value })); } SingleLineComment @@ -581,7 +582,7 @@ SingleLineComment SingleLineCommentChars = value:$( !LineTerminator SourceCharacter )* { - comments.push(loc({ type: "Line", value }) as unknown as ESTree.Comment); + comments.push(loc({ type: "Line", value })); } SourceCharacter diff --git a/src/parser.ts b/src/parser.ts deleted file mode 100644 index 4085307..0000000 --- a/src/parser.ts +++ /dev/null @@ -1,7259 +0,0 @@ -/* eslint-disable */ - - -import type * as ast from "./ast"; -import type * as ESTree from "estree"; - - - - -const peggyParser: {parse: any, SyntaxError: any, DefaultTracer?: any} = // Generated by Peggy 3.0.2. -// -// https://peggyjs.org/ -// @ts-ignore -(function() { -// @ts-ignore - "use strict"; - - - -// @ts-ignore - const OPS_TO_PREFIXED_TYPES: -// @ts-ignore - Record = { -// @ts-ignore - "$": "text", -// @ts-ignore - "&": "simple_and", -// @ts-ignore - "!": "simple_not" - }; - -// @ts-ignore - const OPS_TO_SUFFIXED_TYPES: -// @ts-ignore - Record = { -// @ts-ignore - "?": "optional", -// @ts-ignore - "*": "zero_or_more", -// @ts-ignore - "+": "one_or_more" - }; - -// @ts-ignore - const OPS_TO_SEMANTIC_PREDICATE_TYPES: -// @ts-ignore - Record = { -// @ts-ignore - "&": "semantic_and", -// @ts-ignore - "!": "semantic_not" - }; - -// @ts-ignore -function peg$subclass(child, parent) { -// @ts-ignore - function C() { this.constructor = child; } -// @ts-ignore - C.prototype = parent.prototype; -// @ts-ignore - child.prototype = new C(); -} - -// @ts-ignore -function peg$SyntaxError(message, expected, found, location) { -// @ts-ignore - var self = Error.call(this, message); - // istanbul ignore next Check is a necessary evil to support older environments -// @ts-ignore - if (Object.setPrototypeOf) { -// @ts-ignore - Object.setPrototypeOf(self, peg$SyntaxError.prototype); - } -// @ts-ignore - self.expected = expected; -// @ts-ignore - self.found = found; -// @ts-ignore - self.location = location; -// @ts-ignore - self.name = "SyntaxError"; -// @ts-ignore - return self; -} - -// @ts-ignore -peg$subclass(peg$SyntaxError, Error); - -// @ts-ignore -function peg$padEnd(str, targetLength, padString) { -// @ts-ignore - padString = padString || " "; -// @ts-ignore - if (str.length > targetLength) { return str; } -// @ts-ignore - targetLength -= str.length; -// @ts-ignore - padString += padString.repeat(targetLength); -// @ts-ignore - return str + padString.slice(0, targetLength); -} - -// @ts-ignore -peg$SyntaxError.prototype.format = function(sources) { -// @ts-ignore - var str = "Error: " + this.message; -// @ts-ignore - if (this.location) { -// @ts-ignore - var src = null; -// @ts-ignore - var k; -// @ts-ignore - for (k = 0; k < sources.length; k++) { -// @ts-ignore - if (sources[k].source === this.location.source) { -// @ts-ignore - src = sources[k].text.split(/\r\n|\n|\r/g); -// @ts-ignore - break; - } - } -// @ts-ignore - var s = this.location.start; -// @ts-ignore - var offset_s = (this.location.source && (typeof this.location.source.offset === "function")) -// @ts-ignore - ? this.location.source.offset(s) -// @ts-ignore - : s; -// @ts-ignore - var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column; -// @ts-ignore - if (src) { -// @ts-ignore - var e = this.location.end; -// @ts-ignore - var filler = peg$padEnd("", offset_s.line.toString().length, ' '); -// @ts-ignore - var line = src[s.line - 1]; -// @ts-ignore - var last = s.line === e.line ? e.column : line.length + 1; -// @ts-ignore - var hatLen = (last - s.column) || 1; -// @ts-ignore - str += "\n --> " + loc + "\n" -// @ts-ignore - + filler + " |\n" -// @ts-ignore - + offset_s.line + " | " + line + "\n" -// @ts-ignore - + filler + " | " + peg$padEnd("", s.column - 1, ' ') -// @ts-ignore - + peg$padEnd("", hatLen, "^"); -// @ts-ignore - } else { -// @ts-ignore - str += "\n at " + loc; - } - } -// @ts-ignore - return str; -}; - -// @ts-ignore -peg$SyntaxError.buildMessage = function(expected, found) { -// @ts-ignore - var DESCRIBE_EXPECTATION_FNS = { -// @ts-ignore - literal: function(expectation) { -// @ts-ignore - return "\"" + literalEscape(expectation.text) + "\""; - }, - -// @ts-ignore - class: function(expectation) { -// @ts-ignore - var escapedParts = expectation.parts.map(function(part) { -// @ts-ignore - return Array.isArray(part) -// @ts-ignore - ? classEscape(part[0]) + "-" + classEscape(part[1]) -// @ts-ignore - : classEscape(part); - }); - -// @ts-ignore - return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]"; - }, - -// @ts-ignore - any: function() { -// @ts-ignore - return "any character"; - }, - -// @ts-ignore - end: function() { -// @ts-ignore - return "end of input"; - }, - -// @ts-ignore - other: function(expectation) { -// @ts-ignore - return expectation.description; - } - }; - -// @ts-ignore - function hex(ch) { -// @ts-ignore - return ch.charCodeAt(0).toString(16).toUpperCase(); - } - -// @ts-ignore - function literalEscape(s) { -// @ts-ignore - return s -// @ts-ignore - .replace(/\\/g, "\\\\") -// @ts-ignore - .replace(/"/g, "\\\"") -// @ts-ignore - .replace(/\0/g, "\\0") -// @ts-ignore - .replace(/\t/g, "\\t") -// @ts-ignore - .replace(/\n/g, "\\n") -// @ts-ignore - .replace(/\r/g, "\\r") -// @ts-ignore - .replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }) -// @ts-ignore - .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); - } - -// @ts-ignore - function classEscape(s) { -// @ts-ignore - return s -// @ts-ignore - .replace(/\\/g, "\\\\") -// @ts-ignore - .replace(/\]/g, "\\]") -// @ts-ignore - .replace(/\^/g, "\\^") -// @ts-ignore - .replace(/-/g, "\\-") -// @ts-ignore - .replace(/\0/g, "\\0") -// @ts-ignore - .replace(/\t/g, "\\t") -// @ts-ignore - .replace(/\n/g, "\\n") -// @ts-ignore - .replace(/\r/g, "\\r") -// @ts-ignore - .replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }) -// @ts-ignore - .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); - } - -// @ts-ignore - function describeExpectation(expectation) { -// @ts-ignore - return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); - } - -// @ts-ignore - function describeExpected(expected) { -// @ts-ignore - var descriptions = expected.map(describeExpectation); -// @ts-ignore - var i, j; - -// @ts-ignore - descriptions.sort(); - -// @ts-ignore - if (descriptions.length > 0) { -// @ts-ignore - for (i = 1, j = 1; i < descriptions.length; i++) { -// @ts-ignore - if (descriptions[i - 1] !== descriptions[i]) { -// @ts-ignore - descriptions[j] = descriptions[i]; -// @ts-ignore - j++; - } - } -// @ts-ignore - descriptions.length = j; - } - -// @ts-ignore - switch (descriptions.length) { -// @ts-ignore - case 1: -// @ts-ignore - return descriptions[0]; - -// @ts-ignore - case 2: -// @ts-ignore - return descriptions[0] + " or " + descriptions[1]; - -// @ts-ignore - default: -// @ts-ignore - return descriptions.slice(0, -1).join(", ") -// @ts-ignore - + ", or " -// @ts-ignore - + descriptions[descriptions.length - 1]; - } - } - -// @ts-ignore - function describeFound(found) { -// @ts-ignore - return found ? "\"" + literalEscape(found) + "\"" : "end of input"; - } - -// @ts-ignore - return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; -}; - -// @ts-ignore -function peg$parse(input, options) { -// @ts-ignore - options = options !== undefined ? options : {}; - -// @ts-ignore - var peg$FAILED = {}; -// @ts-ignore - var peg$source = options.grammarSource; - -// @ts-ignore - var peg$startRuleFunctions = { Program: peg$parseProgram }; -// @ts-ignore - var peg$startRuleFunction = peg$parseProgram; - -// @ts-ignore - var peg$c0 = "$"; - var peg$c1 = "&"; - var peg$c2 = "!"; - var peg$c3 = "?"; - var peg$c4 = "*"; - var peg$c5 = "+"; - var peg$c6 = "="; - var peg$c7 = "\u200C"; - var peg$c8 = "\u200D"; - var peg$c9 = "_"; - var peg$c10 = "\\"; - var peg$c11 = "i"; - var peg$c12 = "\""; - var peg$c13 = "'"; - var peg$c14 = "["; - var peg$c15 = "^"; - var peg$c16 = "]"; - var peg$c17 = "-"; - var peg$c18 = "0"; - var peg$c19 = "x"; - var peg$c20 = "u"; - var peg$c21 = "b"; - var peg$c22 = "f"; - var peg$c23 = "n"; - var peg$c24 = "r"; - var peg$c25 = "t"; - var peg$c26 = "v"; - var peg$c27 = "."; - var peg$c28 = "{"; - var peg$c29 = "}"; - var peg$c30 = "\t"; - var peg$c31 = "\v"; - var peg$c32 = "\f"; - var peg$c33 = " "; - var peg$c34 = "\xA0"; - var peg$c35 = "\uFEFF"; - var peg$c36 = "/*"; - var peg$c37 = "*/"; - var peg$c38 = "//"; - var peg$c39 = "\n"; - var peg$c40 = "\r\n"; - var peg$c41 = "\r"; - var peg$c42 = "\u2028"; - var peg$c43 = "\u2029"; - var peg$c44 = "/"; - var peg$c45 = "("; - var peg$c46 = ")"; - var peg$c47 = ":"; - var peg$c48 = "@"; - var peg$c49 = ";"; - var peg$c50 = "|"; - var peg$c51 = ","; - var peg$c52 = ".."; - - var peg$r0 = /^[0-9]/; - var peg$r1 = /^[0-9a-f]/i; - var peg$r2 = /^[{}]/; - var peg$r3 = /^[\n\r\u2028\u2029]/; - var peg$r4 = /^[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137-\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148-\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C-\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA-\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9-\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC-\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF-\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F-\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0-\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB-\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE-\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6-\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FC7\u1FD0-\u1FD3\u1FD6-\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6-\u1FF7\u210A\u210E-\u210F\u2113\u212F\u2134\u2139\u213C-\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65-\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73-\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3-\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]/; - var peg$r5 = /^[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5-\u06E6\u07F4-\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C-\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D-\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C-\uA69D\uA717-\uA71F\uA770\uA788\uA7F8-\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3-\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E-\uFF9F]/; - var peg$r6 = /^[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\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\u0AF9\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-\u0C5A\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\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E45\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\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\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A-\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\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\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/; - var peg$r7 = /^[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]/; - var peg$r8 = /^[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178-\u0179\u017B\u017D\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018B\u018E-\u0191\u0193-\u0194\u0196-\u0198\u019C-\u019D\u019F-\u01A0\u01A2\u01A4\u01A6-\u01A7\u01A9\u01AC\u01AE-\u01AF\u01B1-\u01B3\u01B5\u01B7-\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A-\u023B\u023D-\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9-\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0-\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E-\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D-\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A]/; - var peg$r9 = /^[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E-\u094F\u0982-\u0983\u09BE-\u09C0\u09C7-\u09C8\u09CB-\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB-\u0ACC\u0B02-\u0B03\u0B3E\u0B40\u0B47-\u0B48\u0B4B-\u0B4C\u0B57\u0BBE-\u0BBF\u0BC1-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82-\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7-\u0CC8\u0CCA-\u0CCB\u0CD5-\u0CD6\u0D02-\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82-\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2-\u0DF3\u0F3E-\u0F3F\u0F7F\u102B-\u102C\u1031\u1038\u103B-\u103C\u1056-\u1057\u1062-\u1064\u1067-\u106D\u1083-\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7-\u17C8\u1923-\u1926\u1929-\u192B\u1930-\u1931\u1933-\u1938\u1A19-\u1A1A\u1A55\u1A57\u1A61\u1A63-\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B44\u1B82\u1BA1\u1BA6-\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2-\u1BF3\u1C24-\u1C2B\u1C34-\u1C35\u1CE1\u1CF2-\u1CF3\u302E-\u302F\uA823-\uA824\uA827\uA880-\uA881\uA8B4-\uA8C3\uA952-\uA953\uA983\uA9B4-\uA9B5\uA9BA-\uA9BB\uA9BD-\uA9C0\uAA2F-\uAA30\uAA33-\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE-\uAAEF\uAAF5\uABE3-\uABE4\uABE6-\uABE7\uABE9-\uABEA\uABEC]/; - var peg$r10 = /^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962-\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2-\u09E3\u0A01-\u0A02\u0A3C\u0A41-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7-\u0AC8\u0ACD\u0AE2-\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62-\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC-\u0CCD\u0CE2-\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62-\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039-\u103A\u103D-\u103E\u1058-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193B\u1A17-\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80-\u1B81\u1BA2-\u1BA5\u1BA8-\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8-\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8-\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA825-\uA826\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31-\uAA32\uAA35-\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEC-\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/; - var peg$r11 = /^[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/; - var peg$r12 = /^[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]/; - var peg$r13 = /^[_\u203F-\u2040\u2054\uFE33-\uFE34\uFE4D-\uFE4F\uFF3F]/; - var peg$r14 = /^[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/; - - var peg$e0 = peg$literalExpectation("$", false); - var peg$e1 = peg$literalExpectation("&", false); - var peg$e2 = peg$literalExpectation("!", false); - var peg$e3 = peg$literalExpectation("?", false); - var peg$e4 = peg$literalExpectation("*", false); - var peg$e5 = peg$literalExpectation("+", false); - var peg$e6 = peg$literalExpectation("=", false); - var peg$e7 = peg$otherExpectation("identifier"); - var peg$e8 = peg$literalExpectation("\u200C", false); - var peg$e9 = peg$literalExpectation("\u200D", false); - var peg$e10 = peg$literalExpectation("_", false); - var peg$e11 = peg$literalExpectation("\\", false); - var peg$e12 = peg$otherExpectation("literal"); - var peg$e13 = peg$literalExpectation("i", false); - var peg$e14 = peg$otherExpectation("string"); - var peg$e15 = peg$literalExpectation("\"", false); - var peg$e16 = peg$literalExpectation("'", false); - var peg$e17 = peg$otherExpectation("character class"); - var peg$e18 = peg$literalExpectation("[", false); - var peg$e19 = peg$literalExpectation("^", false); - var peg$e20 = peg$literalExpectation("]", false); - var peg$e21 = peg$literalExpectation("-", false); - var peg$e22 = peg$literalExpectation("0", false); - var peg$e23 = peg$literalExpectation("x", false); - var peg$e24 = peg$literalExpectation("u", false); - var peg$e25 = peg$literalExpectation("b", false); - var peg$e26 = peg$literalExpectation("f", false); - var peg$e27 = peg$literalExpectation("n", false); - var peg$e28 = peg$literalExpectation("r", false); - var peg$e29 = peg$literalExpectation("t", false); - var peg$e30 = peg$literalExpectation("v", false); - var peg$e31 = peg$classExpectation([["0", "9"]], false, false); - var peg$e32 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true); - var peg$e33 = peg$literalExpectation(".", false); - var peg$e34 = peg$otherExpectation("code block"); - var peg$e35 = peg$classExpectation(["{", "}"], false, false); - var peg$e36 = peg$literalExpectation("{", false); - var peg$e37 = peg$literalExpectation("}", false); - var peg$e38 = peg$anyExpectation(); - var peg$e39 = peg$otherExpectation("whitespace"); - var peg$e40 = peg$literalExpectation("\t", false); - var peg$e41 = peg$literalExpectation("\v", false); - var peg$e42 = peg$literalExpectation("\f", false); - var peg$e43 = peg$literalExpectation(" ", false); - var peg$e44 = peg$literalExpectation("\xA0", false); - var peg$e45 = peg$literalExpectation("\uFEFF", false); - var peg$e46 = peg$otherExpectation("comment"); - var peg$e47 = peg$literalExpectation("/*", false); - var peg$e48 = peg$literalExpectation("*/", false); - var peg$e49 = peg$literalExpectation("//", false); - var peg$e50 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false); - var peg$e51 = peg$otherExpectation("end of line"); - var peg$e52 = peg$literalExpectation("\n", false); - var peg$e53 = peg$literalExpectation("\r\n", false); - var peg$e54 = peg$literalExpectation("\r", false); - var peg$e55 = peg$literalExpectation("\u2028", false); - var peg$e56 = peg$literalExpectation("\u2029", false); - var peg$e57 = peg$classExpectation([["a", "z"], "\xB5", ["\xDF", "\xF6"], ["\xF8", "\xFF"], "\u0101", "\u0103", "\u0105", "\u0107", "\u0109", "\u010B", "\u010D", "\u010F", "\u0111", "\u0113", "\u0115", "\u0117", "\u0119", "\u011B", "\u011D", "\u011F", "\u0121", "\u0123", "\u0125", "\u0127", "\u0129", "\u012B", "\u012D", "\u012F", "\u0131", "\u0133", "\u0135", ["\u0137", "\u0138"], "\u013A", "\u013C", "\u013E", "\u0140", "\u0142", "\u0144", "\u0146", ["\u0148", "\u0149"], "\u014B", "\u014D", "\u014F", "\u0151", "\u0153", "\u0155", "\u0157", "\u0159", "\u015B", "\u015D", "\u015F", "\u0161", "\u0163", "\u0165", "\u0167", "\u0169", "\u016B", "\u016D", "\u016F", "\u0171", "\u0173", "\u0175", "\u0177", "\u017A", "\u017C", ["\u017E", "\u0180"], "\u0183", "\u0185", "\u0188", ["\u018C", "\u018D"], "\u0192", "\u0195", ["\u0199", "\u019B"], "\u019E", "\u01A1", "\u01A3", "\u01A5", "\u01A8", ["\u01AA", "\u01AB"], "\u01AD", "\u01B0", "\u01B4", "\u01B6", ["\u01B9", "\u01BA"], ["\u01BD", "\u01BF"], "\u01C6", "\u01C9", "\u01CC", "\u01CE", "\u01D0", "\u01D2", "\u01D4", "\u01D6", "\u01D8", "\u01DA", ["\u01DC", "\u01DD"], "\u01DF", "\u01E1", "\u01E3", "\u01E5", "\u01E7", "\u01E9", "\u01EB", "\u01ED", ["\u01EF", "\u01F0"], "\u01F3", "\u01F5", "\u01F9", "\u01FB", "\u01FD", "\u01FF", "\u0201", "\u0203", "\u0205", "\u0207", "\u0209", "\u020B", "\u020D", "\u020F", "\u0211", "\u0213", "\u0215", "\u0217", "\u0219", "\u021B", "\u021D", "\u021F", "\u0221", "\u0223", "\u0225", "\u0227", "\u0229", "\u022B", "\u022D", "\u022F", "\u0231", ["\u0233", "\u0239"], "\u023C", ["\u023F", "\u0240"], "\u0242", "\u0247", "\u0249", "\u024B", "\u024D", ["\u024F", "\u0293"], ["\u0295", "\u02AF"], "\u0371", "\u0373", "\u0377", ["\u037B", "\u037D"], "\u0390", ["\u03AC", "\u03CE"], ["\u03D0", "\u03D1"], ["\u03D5", "\u03D7"], "\u03D9", "\u03DB", "\u03DD", "\u03DF", "\u03E1", "\u03E3", "\u03E5", "\u03E7", "\u03E9", "\u03EB", "\u03ED", ["\u03EF", "\u03F3"], "\u03F5", "\u03F8", ["\u03FB", "\u03FC"], ["\u0430", "\u045F"], "\u0461", "\u0463", "\u0465", "\u0467", "\u0469", "\u046B", "\u046D", "\u046F", "\u0471", "\u0473", "\u0475", "\u0477", "\u0479", "\u047B", "\u047D", "\u047F", "\u0481", "\u048B", "\u048D", "\u048F", "\u0491", "\u0493", "\u0495", "\u0497", "\u0499", "\u049B", "\u049D", "\u049F", "\u04A1", "\u04A3", "\u04A5", "\u04A7", "\u04A9", "\u04AB", "\u04AD", "\u04AF", "\u04B1", "\u04B3", "\u04B5", "\u04B7", "\u04B9", "\u04BB", "\u04BD", "\u04BF", "\u04C2", "\u04C4", "\u04C6", "\u04C8", "\u04CA", "\u04CC", ["\u04CE", "\u04CF"], "\u04D1", "\u04D3", "\u04D5", "\u04D7", "\u04D9", "\u04DB", "\u04DD", "\u04DF", "\u04E1", "\u04E3", "\u04E5", "\u04E7", "\u04E9", "\u04EB", "\u04ED", "\u04EF", "\u04F1", "\u04F3", "\u04F5", "\u04F7", "\u04F9", "\u04FB", "\u04FD", "\u04FF", "\u0501", "\u0503", "\u0505", "\u0507", "\u0509", "\u050B", "\u050D", "\u050F", "\u0511", "\u0513", "\u0515", "\u0517", "\u0519", "\u051B", "\u051D", "\u051F", "\u0521", "\u0523", "\u0525", "\u0527", "\u0529", "\u052B", "\u052D", "\u052F", ["\u0561", "\u0587"], ["\u13F8", "\u13FD"], ["\u1D00", "\u1D2B"], ["\u1D6B", "\u1D77"], ["\u1D79", "\u1D9A"], "\u1E01", "\u1E03", "\u1E05", "\u1E07", "\u1E09", "\u1E0B", "\u1E0D", "\u1E0F", "\u1E11", "\u1E13", "\u1E15", "\u1E17", "\u1E19", "\u1E1B", "\u1E1D", "\u1E1F", "\u1E21", "\u1E23", "\u1E25", "\u1E27", "\u1E29", "\u1E2B", "\u1E2D", "\u1E2F", "\u1E31", "\u1E33", "\u1E35", "\u1E37", "\u1E39", "\u1E3B", "\u1E3D", "\u1E3F", "\u1E41", "\u1E43", "\u1E45", "\u1E47", "\u1E49", "\u1E4B", "\u1E4D", "\u1E4F", "\u1E51", "\u1E53", "\u1E55", "\u1E57", "\u1E59", "\u1E5B", "\u1E5D", "\u1E5F", "\u1E61", "\u1E63", "\u1E65", "\u1E67", "\u1E69", "\u1E6B", "\u1E6D", "\u1E6F", "\u1E71", "\u1E73", "\u1E75", "\u1E77", "\u1E79", "\u1E7B", "\u1E7D", "\u1E7F", "\u1E81", "\u1E83", "\u1E85", "\u1E87", "\u1E89", "\u1E8B", "\u1E8D", "\u1E8F", "\u1E91", "\u1E93", ["\u1E95", "\u1E9D"], "\u1E9F", "\u1EA1", "\u1EA3", "\u1EA5", "\u1EA7", "\u1EA9", "\u1EAB", "\u1EAD", "\u1EAF", "\u1EB1", "\u1EB3", "\u1EB5", "\u1EB7", "\u1EB9", "\u1EBB", "\u1EBD", "\u1EBF", "\u1EC1", "\u1EC3", "\u1EC5", "\u1EC7", "\u1EC9", "\u1ECB", "\u1ECD", "\u1ECF", "\u1ED1", "\u1ED3", "\u1ED5", "\u1ED7", "\u1ED9", "\u1EDB", "\u1EDD", "\u1EDF", "\u1EE1", "\u1EE3", "\u1EE5", "\u1EE7", "\u1EE9", "\u1EEB", "\u1EED", "\u1EEF", "\u1EF1", "\u1EF3", "\u1EF5", "\u1EF7", "\u1EF9", "\u1EFB", "\u1EFD", ["\u1EFF", "\u1F07"], ["\u1F10", "\u1F15"], ["\u1F20", "\u1F27"], ["\u1F30", "\u1F37"], ["\u1F40", "\u1F45"], ["\u1F50", "\u1F57"], ["\u1F60", "\u1F67"], ["\u1F70", "\u1F7D"], ["\u1F80", "\u1F87"], ["\u1F90", "\u1F97"], ["\u1FA0", "\u1FA7"], ["\u1FB0", "\u1FB4"], ["\u1FB6", "\u1FB7"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FC7"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FD7"], ["\u1FE0", "\u1FE7"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FF7"], "\u210A", ["\u210E", "\u210F"], "\u2113", "\u212F", "\u2134", "\u2139", ["\u213C", "\u213D"], ["\u2146", "\u2149"], "\u214E", "\u2184", ["\u2C30", "\u2C5E"], "\u2C61", ["\u2C65", "\u2C66"], "\u2C68", "\u2C6A", "\u2C6C", "\u2C71", ["\u2C73", "\u2C74"], ["\u2C76", "\u2C7B"], "\u2C81", "\u2C83", "\u2C85", "\u2C87", "\u2C89", "\u2C8B", "\u2C8D", "\u2C8F", "\u2C91", "\u2C93", "\u2C95", "\u2C97", "\u2C99", "\u2C9B", "\u2C9D", "\u2C9F", "\u2CA1", "\u2CA3", "\u2CA5", "\u2CA7", "\u2CA9", "\u2CAB", "\u2CAD", "\u2CAF", "\u2CB1", "\u2CB3", "\u2CB5", "\u2CB7", "\u2CB9", "\u2CBB", "\u2CBD", "\u2CBF", "\u2CC1", "\u2CC3", "\u2CC5", "\u2CC7", "\u2CC9", "\u2CCB", "\u2CCD", "\u2CCF", "\u2CD1", "\u2CD3", "\u2CD5", "\u2CD7", "\u2CD9", "\u2CDB", "\u2CDD", "\u2CDF", "\u2CE1", ["\u2CE3", "\u2CE4"], "\u2CEC", "\u2CEE", "\u2CF3", ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", "\uA641", "\uA643", "\uA645", "\uA647", "\uA649", "\uA64B", "\uA64D", "\uA64F", "\uA651", "\uA653", "\uA655", "\uA657", "\uA659", "\uA65B", "\uA65D", "\uA65F", "\uA661", "\uA663", "\uA665", "\uA667", "\uA669", "\uA66B", "\uA66D", "\uA681", "\uA683", "\uA685", "\uA687", "\uA689", "\uA68B", "\uA68D", "\uA68F", "\uA691", "\uA693", "\uA695", "\uA697", "\uA699", "\uA69B", "\uA723", "\uA725", "\uA727", "\uA729", "\uA72B", "\uA72D", ["\uA72F", "\uA731"], "\uA733", "\uA735", "\uA737", "\uA739", "\uA73B", "\uA73D", "\uA73F", "\uA741", "\uA743", "\uA745", "\uA747", "\uA749", "\uA74B", "\uA74D", "\uA74F", "\uA751", "\uA753", "\uA755", "\uA757", "\uA759", "\uA75B", "\uA75D", "\uA75F", "\uA761", "\uA763", "\uA765", "\uA767", "\uA769", "\uA76B", "\uA76D", "\uA76F", ["\uA771", "\uA778"], "\uA77A", "\uA77C", "\uA77F", "\uA781", "\uA783", "\uA785", "\uA787", "\uA78C", "\uA78E", "\uA791", ["\uA793", "\uA795"], "\uA797", "\uA799", "\uA79B", "\uA79D", "\uA79F", "\uA7A1", "\uA7A3", "\uA7A5", "\uA7A7", "\uA7A9", "\uA7B5", "\uA7B7", "\uA7FA", ["\uAB30", "\uAB5A"], ["\uAB60", "\uAB65"], ["\uAB70", "\uABBF"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], ["\uFF41", "\uFF5A"]], false, false); - var peg$e58 = peg$classExpectation([["\u02B0", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", "\u0374", "\u037A", "\u0559", "\u0640", ["\u06E5", "\u06E6"], ["\u07F4", "\u07F5"], "\u07FA", "\u081A", "\u0824", "\u0828", "\u0971", "\u0E46", "\u0EC6", "\u10FC", "\u17D7", "\u1843", "\u1AA7", ["\u1C78", "\u1C7D"], ["\u1D2C", "\u1D6A"], "\u1D78", ["\u1D9B", "\u1DBF"], "\u2071", "\u207F", ["\u2090", "\u209C"], ["\u2C7C", "\u2C7D"], "\u2D6F", "\u2E2F", "\u3005", ["\u3031", "\u3035"], "\u303B", ["\u309D", "\u309E"], ["\u30FC", "\u30FE"], "\uA015", ["\uA4F8", "\uA4FD"], "\uA60C", "\uA67F", ["\uA69C", "\uA69D"], ["\uA717", "\uA71F"], "\uA770", "\uA788", ["\uA7F8", "\uA7F9"], "\uA9CF", "\uA9E6", "\uAA70", "\uAADD", ["\uAAF3", "\uAAF4"], ["\uAB5C", "\uAB5F"], "\uFF70", ["\uFF9E", "\uFF9F"]], false, false); - var peg$e59 = peg$classExpectation(["\xAA", "\xBA", "\u01BB", ["\u01C0", "\u01C3"], "\u0294", ["\u05D0", "\u05EA"], ["\u05F0", "\u05F2"], ["\u0620", "\u063F"], ["\u0641", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u0800", "\u0815"], ["\u0840", "\u0858"], ["\u08A0", "\u08B4"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0972", "\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"], "\u0AF9", ["\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", "\u0C5A"], ["\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", ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E45"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10D0", "\u10FA"], ["\u10FD", "\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"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16F1", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17DC", ["\u1820", "\u1842"], ["\u1844", "\u1877"], ["\u1880", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C77"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u2135", "\u2138"], ["\u2D30", "\u2D67"], ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u3006", "\u303C", ["\u3041", "\u3096"], "\u309F", ["\u30A1", "\u30FA"], "\u30FF", ["\u3105", "\u312D"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FD5"], ["\uA000", "\uA014"], ["\uA016", "\uA48C"], ["\uA4D0", "\uA4F7"], ["\uA500", "\uA60B"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], "\uA66E", ["\uA6A0", "\uA6E5"], "\uA78F", "\uA7F7", ["\uA7FB", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", "\uA8FD", ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], ["\uA9E0", "\uA9E4"], ["\uA9E7", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA6F"], ["\uAA71", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADC"], ["\uAAE0", "\uAAEA"], "\uAAF2", ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uABC0", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], "\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"], ["\uFF66", "\uFF6F"], ["\uFF71", "\uFF9D"], ["\uFFA0", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false); - var peg$e60 = peg$classExpectation(["\u01C5", "\u01C8", "\u01CB", "\u01F2", ["\u1F88", "\u1F8F"], ["\u1F98", "\u1F9F"], ["\u1FA8", "\u1FAF"], "\u1FBC", "\u1FCC", "\u1FFC"], false, false); - var peg$e61 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], "\u0100", "\u0102", "\u0104", "\u0106", "\u0108", "\u010A", "\u010C", "\u010E", "\u0110", "\u0112", "\u0114", "\u0116", "\u0118", "\u011A", "\u011C", "\u011E", "\u0120", "\u0122", "\u0124", "\u0126", "\u0128", "\u012A", "\u012C", "\u012E", "\u0130", "\u0132", "\u0134", "\u0136", "\u0139", "\u013B", "\u013D", "\u013F", "\u0141", "\u0143", "\u0145", "\u0147", "\u014A", "\u014C", "\u014E", "\u0150", "\u0152", "\u0154", "\u0156", "\u0158", "\u015A", "\u015C", "\u015E", "\u0160", "\u0162", "\u0164", "\u0166", "\u0168", "\u016A", "\u016C", "\u016E", "\u0170", "\u0172", "\u0174", "\u0176", ["\u0178", "\u0179"], "\u017B", "\u017D", ["\u0181", "\u0182"], "\u0184", ["\u0186", "\u0187"], ["\u0189", "\u018B"], ["\u018E", "\u0191"], ["\u0193", "\u0194"], ["\u0196", "\u0198"], ["\u019C", "\u019D"], ["\u019F", "\u01A0"], "\u01A2", "\u01A4", ["\u01A6", "\u01A7"], "\u01A9", "\u01AC", ["\u01AE", "\u01AF"], ["\u01B1", "\u01B3"], "\u01B5", ["\u01B7", "\u01B8"], "\u01BC", "\u01C4", "\u01C7", "\u01CA", "\u01CD", "\u01CF", "\u01D1", "\u01D3", "\u01D5", "\u01D7", "\u01D9", "\u01DB", "\u01DE", "\u01E0", "\u01E2", "\u01E4", "\u01E6", "\u01E8", "\u01EA", "\u01EC", "\u01EE", "\u01F1", "\u01F4", ["\u01F6", "\u01F8"], "\u01FA", "\u01FC", "\u01FE", "\u0200", "\u0202", "\u0204", "\u0206", "\u0208", "\u020A", "\u020C", "\u020E", "\u0210", "\u0212", "\u0214", "\u0216", "\u0218", "\u021A", "\u021C", "\u021E", "\u0220", "\u0222", "\u0224", "\u0226", "\u0228", "\u022A", "\u022C", "\u022E", "\u0230", "\u0232", ["\u023A", "\u023B"], ["\u023D", "\u023E"], "\u0241", ["\u0243", "\u0246"], "\u0248", "\u024A", "\u024C", "\u024E", "\u0370", "\u0372", "\u0376", "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u038F"], ["\u0391", "\u03A1"], ["\u03A3", "\u03AB"], "\u03CF", ["\u03D2", "\u03D4"], "\u03D8", "\u03DA", "\u03DC", "\u03DE", "\u03E0", "\u03E2", "\u03E4", "\u03E6", "\u03E8", "\u03EA", "\u03EC", "\u03EE", "\u03F4", "\u03F7", ["\u03F9", "\u03FA"], ["\u03FD", "\u042F"], "\u0460", "\u0462", "\u0464", "\u0466", "\u0468", "\u046A", "\u046C", "\u046E", "\u0470", "\u0472", "\u0474", "\u0476", "\u0478", "\u047A", "\u047C", "\u047E", "\u0480", "\u048A", "\u048C", "\u048E", "\u0490", "\u0492", "\u0494", "\u0496", "\u0498", "\u049A", "\u049C", "\u049E", "\u04A0", "\u04A2", "\u04A4", "\u04A6", "\u04A8", "\u04AA", "\u04AC", "\u04AE", "\u04B0", "\u04B2", "\u04B4", "\u04B6", "\u04B8", "\u04BA", "\u04BC", "\u04BE", ["\u04C0", "\u04C1"], "\u04C3", "\u04C5", "\u04C7", "\u04C9", "\u04CB", "\u04CD", "\u04D0", "\u04D2", "\u04D4", "\u04D6", "\u04D8", "\u04DA", "\u04DC", "\u04DE", "\u04E0", "\u04E2", "\u04E4", "\u04E6", "\u04E8", "\u04EA", "\u04EC", "\u04EE", "\u04F0", "\u04F2", "\u04F4", "\u04F6", "\u04F8", "\u04FA", "\u04FC", "\u04FE", "\u0500", "\u0502", "\u0504", "\u0506", "\u0508", "\u050A", "\u050C", "\u050E", "\u0510", "\u0512", "\u0514", "\u0516", "\u0518", "\u051A", "\u051C", "\u051E", "\u0520", "\u0522", "\u0524", "\u0526", "\u0528", "\u052A", "\u052C", "\u052E", ["\u0531", "\u0556"], ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u13A0", "\u13F5"], "\u1E00", "\u1E02", "\u1E04", "\u1E06", "\u1E08", "\u1E0A", "\u1E0C", "\u1E0E", "\u1E10", "\u1E12", "\u1E14", "\u1E16", "\u1E18", "\u1E1A", "\u1E1C", "\u1E1E", "\u1E20", "\u1E22", "\u1E24", "\u1E26", "\u1E28", "\u1E2A", "\u1E2C", "\u1E2E", "\u1E30", "\u1E32", "\u1E34", "\u1E36", "\u1E38", "\u1E3A", "\u1E3C", "\u1E3E", "\u1E40", "\u1E42", "\u1E44", "\u1E46", "\u1E48", "\u1E4A", "\u1E4C", "\u1E4E", "\u1E50", "\u1E52", "\u1E54", "\u1E56", "\u1E58", "\u1E5A", "\u1E5C", "\u1E5E", "\u1E60", "\u1E62", "\u1E64", "\u1E66", "\u1E68", "\u1E6A", "\u1E6C", "\u1E6E", "\u1E70", "\u1E72", "\u1E74", "\u1E76", "\u1E78", "\u1E7A", "\u1E7C", "\u1E7E", "\u1E80", "\u1E82", "\u1E84", "\u1E86", "\u1E88", "\u1E8A", "\u1E8C", "\u1E8E", "\u1E90", "\u1E92", "\u1E94", "\u1E9E", "\u1EA0", "\u1EA2", "\u1EA4", "\u1EA6", "\u1EA8", "\u1EAA", "\u1EAC", "\u1EAE", "\u1EB0", "\u1EB2", "\u1EB4", "\u1EB6", "\u1EB8", "\u1EBA", "\u1EBC", "\u1EBE", "\u1EC0", "\u1EC2", "\u1EC4", "\u1EC6", "\u1EC8", "\u1ECA", "\u1ECC", "\u1ECE", "\u1ED0", "\u1ED2", "\u1ED4", "\u1ED6", "\u1ED8", "\u1EDA", "\u1EDC", "\u1EDE", "\u1EE0", "\u1EE2", "\u1EE4", "\u1EE6", "\u1EE8", "\u1EEA", "\u1EEC", "\u1EEE", "\u1EF0", "\u1EF2", "\u1EF4", "\u1EF6", "\u1EF8", "\u1EFA", "\u1EFC", "\u1EFE", ["\u1F08", "\u1F0F"], ["\u1F18", "\u1F1D"], ["\u1F28", "\u1F2F"], ["\u1F38", "\u1F3F"], ["\u1F48", "\u1F4D"], "\u1F59", "\u1F5B", "\u1F5D", "\u1F5F", ["\u1F68", "\u1F6F"], ["\u1FB8", "\u1FBB"], ["\u1FC8", "\u1FCB"], ["\u1FD8", "\u1FDB"], ["\u1FE8", "\u1FEC"], ["\u1FF8", "\u1FFB"], "\u2102", "\u2107", ["\u210B", "\u210D"], ["\u2110", "\u2112"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u2130", "\u2133"], ["\u213E", "\u213F"], "\u2145", "\u2183", ["\u2C00", "\u2C2E"], "\u2C60", ["\u2C62", "\u2C64"], "\u2C67", "\u2C69", "\u2C6B", ["\u2C6D", "\u2C70"], "\u2C72", "\u2C75", ["\u2C7E", "\u2C80"], "\u2C82", "\u2C84", "\u2C86", "\u2C88", "\u2C8A", "\u2C8C", "\u2C8E", "\u2C90", "\u2C92", "\u2C94", "\u2C96", "\u2C98", "\u2C9A", "\u2C9C", "\u2C9E", "\u2CA0", "\u2CA2", "\u2CA4", "\u2CA6", "\u2CA8", "\u2CAA", "\u2CAC", "\u2CAE", "\u2CB0", "\u2CB2", "\u2CB4", "\u2CB6", "\u2CB8", "\u2CBA", "\u2CBC", "\u2CBE", "\u2CC0", "\u2CC2", "\u2CC4", "\u2CC6", "\u2CC8", "\u2CCA", "\u2CCC", "\u2CCE", "\u2CD0", "\u2CD2", "\u2CD4", "\u2CD6", "\u2CD8", "\u2CDA", "\u2CDC", "\u2CDE", "\u2CE0", "\u2CE2", "\u2CEB", "\u2CED", "\u2CF2", "\uA640", "\uA642", "\uA644", "\uA646", "\uA648", "\uA64A", "\uA64C", "\uA64E", "\uA650", "\uA652", "\uA654", "\uA656", "\uA658", "\uA65A", "\uA65C", "\uA65E", "\uA660", "\uA662", "\uA664", "\uA666", "\uA668", "\uA66A", "\uA66C", "\uA680", "\uA682", "\uA684", "\uA686", "\uA688", "\uA68A", "\uA68C", "\uA68E", "\uA690", "\uA692", "\uA694", "\uA696", "\uA698", "\uA69A", "\uA722", "\uA724", "\uA726", "\uA728", "\uA72A", "\uA72C", "\uA72E", "\uA732", "\uA734", "\uA736", "\uA738", "\uA73A", "\uA73C", "\uA73E", "\uA740", "\uA742", "\uA744", "\uA746", "\uA748", "\uA74A", "\uA74C", "\uA74E", "\uA750", "\uA752", "\uA754", "\uA756", "\uA758", "\uA75A", "\uA75C", "\uA75E", "\uA760", "\uA762", "\uA764", "\uA766", "\uA768", "\uA76A", "\uA76C", "\uA76E", "\uA779", "\uA77B", ["\uA77D", "\uA77E"], "\uA780", "\uA782", "\uA784", "\uA786", "\uA78B", "\uA78D", "\uA790", "\uA792", "\uA796", "\uA798", "\uA79A", "\uA79C", "\uA79E", "\uA7A0", "\uA7A2", "\uA7A4", "\uA7A6", "\uA7A8", ["\uA7AA", "\uA7AD"], ["\uA7B0", "\uA7B4"], "\uA7B6", ["\uFF21", "\uFF3A"]], false, false); - var peg$e62 = peg$classExpectation(["\u0903", "\u093B", ["\u093E", "\u0940"], ["\u0949", "\u094C"], ["\u094E", "\u094F"], ["\u0982", "\u0983"], ["\u09BE", "\u09C0"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CC"], "\u09D7", "\u0A03", ["\u0A3E", "\u0A40"], "\u0A83", ["\u0ABE", "\u0AC0"], "\u0AC9", ["\u0ACB", "\u0ACC"], ["\u0B02", "\u0B03"], "\u0B3E", "\u0B40", ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4C"], "\u0B57", ["\u0BBE", "\u0BBF"], ["\u0BC1", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCC"], "\u0BD7", ["\u0C01", "\u0C03"], ["\u0C41", "\u0C44"], ["\u0C82", "\u0C83"], "\u0CBE", ["\u0CC0", "\u0CC4"], ["\u0CC7", "\u0CC8"], ["\u0CCA", "\u0CCB"], ["\u0CD5", "\u0CD6"], ["\u0D02", "\u0D03"], ["\u0D3E", "\u0D40"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4C"], "\u0D57", ["\u0D82", "\u0D83"], ["\u0DCF", "\u0DD1"], ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], ["\u0F3E", "\u0F3F"], "\u0F7F", ["\u102B", "\u102C"], "\u1031", "\u1038", ["\u103B", "\u103C"], ["\u1056", "\u1057"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1083", "\u1084"], ["\u1087", "\u108C"], "\u108F", ["\u109A", "\u109C"], "\u17B6", ["\u17BE", "\u17C5"], ["\u17C7", "\u17C8"], ["\u1923", "\u1926"], ["\u1929", "\u192B"], ["\u1930", "\u1931"], ["\u1933", "\u1938"], ["\u1A19", "\u1A1A"], "\u1A55", "\u1A57", "\u1A61", ["\u1A63", "\u1A64"], ["\u1A6D", "\u1A72"], "\u1B04", "\u1B35", "\u1B3B", ["\u1B3D", "\u1B41"], ["\u1B43", "\u1B44"], "\u1B82", "\u1BA1", ["\u1BA6", "\u1BA7"], "\u1BAA", "\u1BE7", ["\u1BEA", "\u1BEC"], "\u1BEE", ["\u1BF2", "\u1BF3"], ["\u1C24", "\u1C2B"], ["\u1C34", "\u1C35"], "\u1CE1", ["\u1CF2", "\u1CF3"], ["\u302E", "\u302F"], ["\uA823", "\uA824"], "\uA827", ["\uA880", "\uA881"], ["\uA8B4", "\uA8C3"], ["\uA952", "\uA953"], "\uA983", ["\uA9B4", "\uA9B5"], ["\uA9BA", "\uA9BB"], ["\uA9BD", "\uA9C0"], ["\uAA2F", "\uAA30"], ["\uAA33", "\uAA34"], "\uAA4D", "\uAA7B", "\uAA7D", "\uAAEB", ["\uAAEE", "\uAAEF"], "\uAAF5", ["\uABE3", "\uABE4"], ["\uABE6", "\uABE7"], ["\uABE9", "\uABEA"], "\uABEC"], false, false); - var peg$e63 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08E3", "\u0902"], "\u093A", "\u093C", ["\u0941", "\u0948"], "\u094D", ["\u0951", "\u0957"], ["\u0962", "\u0963"], "\u0981", "\u09BC", ["\u09C1", "\u09C4"], "\u09CD", ["\u09E2", "\u09E3"], ["\u0A01", "\u0A02"], "\u0A3C", ["\u0A41", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A82"], "\u0ABC", ["\u0AC1", "\u0AC5"], ["\u0AC7", "\u0AC8"], "\u0ACD", ["\u0AE2", "\u0AE3"], "\u0B01", "\u0B3C", "\u0B3F", ["\u0B41", "\u0B44"], "\u0B4D", "\u0B56", ["\u0B62", "\u0B63"], "\u0B82", "\u0BC0", "\u0BCD", "\u0C00", ["\u0C3E", "\u0C40"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], "\u0C81", "\u0CBC", "\u0CBF", "\u0CC6", ["\u0CCC", "\u0CCD"], ["\u0CE2", "\u0CE3"], "\u0D01", ["\u0D41", "\u0D44"], "\u0D4D", ["\u0D62", "\u0D63"], "\u0DCA", ["\u0DD2", "\u0DD4"], "\u0DD6", "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F71", "\u0F7E"], ["\u0F80", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102D", "\u1030"], ["\u1032", "\u1037"], ["\u1039", "\u103A"], ["\u103D", "\u103E"], ["\u1058", "\u1059"], ["\u105E", "\u1060"], ["\u1071", "\u1074"], "\u1082", ["\u1085", "\u1086"], "\u108D", "\u109D", ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17B5"], ["\u17B7", "\u17BD"], "\u17C6", ["\u17C9", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], "\u18A9", ["\u1920", "\u1922"], ["\u1927", "\u1928"], "\u1932", ["\u1939", "\u193B"], ["\u1A17", "\u1A18"], "\u1A1B", "\u1A56", ["\u1A58", "\u1A5E"], "\u1A60", "\u1A62", ["\u1A65", "\u1A6C"], ["\u1A73", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B03"], "\u1B34", ["\u1B36", "\u1B3A"], "\u1B3C", "\u1B42", ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B81"], ["\u1BA2", "\u1BA5"], ["\u1BA8", "\u1BA9"], ["\u1BAB", "\u1BAD"], "\u1BE6", ["\u1BE8", "\u1BE9"], "\u1BED", ["\u1BEF", "\u1BF1"], ["\u1C2C", "\u1C33"], ["\u1C36", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE0"], ["\u1CE2", "\u1CE8"], "\u1CED", "\u1CF4", ["\u1CF8", "\u1CF9"], ["\u1DC0", "\u1DF5"], ["\u1DFC", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302D"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA825", "\uA826"], "\uA8C4", ["\uA8E0", "\uA8F1"], ["\uA926", "\uA92D"], ["\uA947", "\uA951"], ["\uA980", "\uA982"], "\uA9B3", ["\uA9B6", "\uA9B9"], "\uA9BC", "\uA9E5", ["\uAA29", "\uAA2E"], ["\uAA31", "\uAA32"], ["\uAA35", "\uAA36"], "\uAA43", "\uAA4C", "\uAA7C", "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEC", "\uAAED"], "\uAAF6", "\uABE5", "\uABE8", "\uABED", "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false); - var peg$e64 = peg$classExpectation([["0", "9"], ["\u0660", "\u0669"], ["\u06F0", "\u06F9"], ["\u07C0", "\u07C9"], ["\u0966", "\u096F"], ["\u09E6", "\u09EF"], ["\u0A66", "\u0A6F"], ["\u0AE6", "\u0AEF"], ["\u0B66", "\u0B6F"], ["\u0BE6", "\u0BEF"], ["\u0C66", "\u0C6F"], ["\u0CE6", "\u0CEF"], ["\u0D66", "\u0D6F"], ["\u0DE6", "\u0DEF"], ["\u0E50", "\u0E59"], ["\u0ED0", "\u0ED9"], ["\u0F20", "\u0F29"], ["\u1040", "\u1049"], ["\u1090", "\u1099"], ["\u17E0", "\u17E9"], ["\u1810", "\u1819"], ["\u1946", "\u194F"], ["\u19D0", "\u19D9"], ["\u1A80", "\u1A89"], ["\u1A90", "\u1A99"], ["\u1B50", "\u1B59"], ["\u1BB0", "\u1BB9"], ["\u1C40", "\u1C49"], ["\u1C50", "\u1C59"], ["\uA620", "\uA629"], ["\uA8D0", "\uA8D9"], ["\uA900", "\uA909"], ["\uA9D0", "\uA9D9"], ["\uA9F0", "\uA9F9"], ["\uAA50", "\uAA59"], ["\uABF0", "\uABF9"], ["\uFF10", "\uFF19"]], false, false); - var peg$e65 = peg$classExpectation([["\u16EE", "\u16F0"], ["\u2160", "\u2182"], ["\u2185", "\u2188"], "\u3007", ["\u3021", "\u3029"], ["\u3038", "\u303A"], ["\uA6E6", "\uA6EF"]], false, false); - var peg$e66 = peg$classExpectation(["_", ["\u203F", "\u2040"], "\u2054", ["\uFE33", "\uFE34"], ["\uFE4D", "\uFE4F"], "\uFF3F"], false, false); - var peg$e67 = peg$classExpectation([" ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], false, false); - var peg$e68 = peg$literalExpectation("/", false); - var peg$e69 = peg$literalExpectation("(", false); - var peg$e70 = peg$literalExpectation(")", false); - var peg$e71 = peg$literalExpectation(":", false); - var peg$e72 = peg$literalExpectation("@", false); - var peg$e73 = peg$literalExpectation(";", false); - var peg$e74 = peg$literalExpectation("|", false); - var peg$e75 = peg$literalExpectation(",", false); - var peg$e76 = peg$literalExpectation("..", false); -// @ts-ignore - - var peg$f0 = function(body) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "Program", -// @ts-ignore - sourceType: "peggy", -// @ts-ignore - body, -// @ts-ignore - comments, -// @ts-ignore - tokens: [], - }); - };// @ts-ignore - - var peg$f1 = function(topLevelInitializer, initializer, rules) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "grammar", -// @ts-ignore - topLevelInitializer, -// @ts-ignore - initializer, -// @ts-ignore - rules, - }); - };// @ts-ignore - - var peg$f2 = function(open, code, close, semi) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "top_level_initializer", -// @ts-ignore - open, -// @ts-ignore - code, -// @ts-ignore - close, -// @ts-ignore - semi, - }); - };// @ts-ignore - - var peg$f3 = function(code, semi) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "initializer", -// @ts-ignore - code, -// @ts-ignore - semi, - }); - };// @ts-ignore - - var peg$f4 = function(name, displayName, equals, expression, semi) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "rule", -// @ts-ignore - name, -// @ts-ignore - equals, -// @ts-ignore - expression: displayName !== null -// @ts-ignore - ? loc({ -// @ts-ignore - type: "named", -// @ts-ignore - name: displayName, -// @ts-ignore - expression, - }) -// @ts-ignore - : expression, -// @ts-ignore - semi, - }); - };// @ts-ignore - - var peg$f5 = function(lit) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "display", -// @ts-ignore - ...lit, - }); - };// @ts-ignore - - var peg$f6 = function(head, tail) { -// @ts-ignore - return tail.length > 0 -// @ts-ignore - ? loc({ -// @ts-ignore - type: "choice", -// @ts-ignore - alternatives: [head, ...tail.map((v: ast.Node[]) => v[1])], -// @ts-ignore - slashes: tail.map((v: ast.Node[]) => v[0]), - }) -// @ts-ignore - : head; - };// @ts-ignore - - var peg$f7 = function(expression, code) { -// @ts-ignore - return code !== null -// @ts-ignore - ? loc({ -// @ts-ignore - type: "action", -// @ts-ignore - expression, -// @ts-ignore - code, - }) -// @ts-ignore - : expression; - };// @ts-ignore - - var peg$f8 = function(head, tail) { -// @ts-ignore - return ((tail.length > 0) || (head.type === "labeled" && head.pick)) -// @ts-ignore - ? loc({ -// @ts-ignore - type: "sequence", -// @ts-ignore - elements: [head, ...tail], - }) -// @ts-ignore - : head; - };// @ts-ignore - - var peg$f9 = function(at, lc, expression) { -// @ts-ignore - if (expression.type.startsWith("semantic_")) { -// @ts-ignore - error("\"@\" cannot be used on a semantic predicate"); - } -// @ts-ignore - return loc({ -// @ts-ignore - type: "labeled", -// @ts-ignore - ...lc, -// @ts-ignore - at, -// @ts-ignore - pick: true, -// @ts-ignore - expression, - }); - };// @ts-ignore - - var peg$f10 = function(lc, expression) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "labeled", -// @ts-ignore - ...lc, -// @ts-ignore - pick: false, -// @ts-ignore - expression, - }); - };// @ts-ignore - - var peg$f11 = function(name, colon) { -// @ts-ignore - if (reservedWords.indexOf(name.value) >= 0) { -// @ts-ignore - error(`Label can't be a reserved word "${name.value}"`); - } - -// @ts-ignore - return {name, colon}; - };// @ts-ignore - - var peg$f12 = function(operator, expression) { -// @ts-ignore - return loc({ -// @ts-ignore - type: OPS_TO_PREFIXED_TYPES[operator.value], -// @ts-ignore - expression, -// @ts-ignore - operator - }); - };// @ts-ignore - - var peg$f13 = function(value) {// @ts-ignore - return loc({ type: "punc", value })};// @ts-ignore - - var peg$f14 = function(expression, operator) { -// @ts-ignore - return loc({ -// @ts-ignore - type: OPS_TO_SUFFIXED_TYPES[operator.value], -// @ts-ignore - expression, -// @ts-ignore - operator - }); - };// @ts-ignore - - var peg$f15 = function(value) {// @ts-ignore - return loc({ type: "punc", value })};// @ts-ignore - - var peg$f16 = function(expression, pipe1, boundaries, delimiter, pipe2) { -// @ts-ignore - const {min, max} = boundaries -// @ts-ignore - if (max.type === "constant" && max.value === 0) { -// @ts-ignore - error("The maximum count of repetitions of the rule must be > 0", max.location); - } - -// @ts-ignore - return loc({ -// @ts-ignore - type: "repeated", -// @ts-ignore - expression, -// @ts-ignore - pipe1, -// @ts-ignore - boundaries, -// @ts-ignore - delimiter, -// @ts-ignore - pipe2 - }); - };// @ts-ignore - - var peg$f17 = function(min, dots, max) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "boundaries", -// @ts-ignore - min: min !== null ? min : loc({ type: "constant", value: 0 }), -// @ts-ignore - max: max !== null ? max : loc({ type: "constant", value: undefined }), -// @ts-ignore - dots - }); - };// @ts-ignore - - var peg$f18 = function(max) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "boundaries", -// @ts-ignore - min: undefined, -// @ts-ignore - max, -// @ts-ignore - dots: undefined - }) - };// @ts-ignore - - var peg$f19 = function(value) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "constant", -// @ts-ignore - value - }); - };// @ts-ignore - - var peg$f20 = function(value) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "variable", -// @ts-ignore - value - }); - };// @ts-ignore - - var peg$f21 = function(code) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "function", -// @ts-ignore - code - }); - };// @ts-ignore - - var peg$f22 = function(comma, expression) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "delimiter", -// @ts-ignore - comma, -// @ts-ignore - expression - }) - };// @ts-ignore - - var peg$f23 = function(open, expression, close) { -// @ts-ignore - return loc({ type: "group", expression, open, close }); - };// @ts-ignore - - var peg$f24 = function(name) { -// @ts-ignore - return loc({ type: "rule_ref", name }); - };// @ts-ignore - - var peg$f25 = function(operator, code) { -// @ts-ignore - return loc({ -// @ts-ignore - type: OPS_TO_SEMANTIC_PREDICATE_TYPES[operator.value], -// @ts-ignore - code, -// @ts-ignore - operator - }); - };// @ts-ignore - - var peg$f26 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f27 = function(value) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "name", -// @ts-ignore - value, - }); - };// @ts-ignore - - var peg$f28 = function(lit, ignoreCase) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "literal", -// @ts-ignore - ...lit, -// @ts-ignore - ignoreCase: ignoreCase !== null, - }); - };// @ts-ignore - - var peg$f29 = function(before, value, after) { -// @ts-ignore - return { -// @ts-ignore - ...value, -// @ts-ignore - before, -// @ts-ignore - after, - } - };// @ts-ignore - - var peg$f30 = function(before, value, after) { -// @ts-ignore - return { -// @ts-ignore - ...value, -// @ts-ignore - before, -// @ts-ignore - after, - } - };// @ts-ignore - - var peg$f31 = function(chars) { -// @ts-ignore - return { -// @ts-ignore - value: chars.join(""), -// @ts-ignore - raw: text(), - } - };// @ts-ignore - - var peg$f32 = function(chars) { -// @ts-ignore - return { -// @ts-ignore - value: chars.join(""), -// @ts-ignore - raw: text(), - } - };// @ts-ignore - - var peg$f33 = function(inverted, parts, ignoreCase) { -// @ts-ignore - return loc({ -// @ts-ignore - type: "class", -// @ts-ignore - parts: parts.filter((part:(string|unknown)) => part !== ""), -// @ts-ignore - inverted: inverted !== null, -// @ts-ignore - ignoreCase: ignoreCase !== null, - }); - };// @ts-ignore - - var peg$f34 = function(begin, end) { -// @ts-ignore - if (begin.charCodeAt(0) > end.charCodeAt(0)) { -// @ts-ignore - error( -// @ts-ignore - "Invalid character range: " + text() + "." - ); - } - -// @ts-ignore - return [begin, end]; - };// @ts-ignore - - var peg$f35 = function() {// @ts-ignore - return ""; };// @ts-ignore - - var peg$f36 = function() {// @ts-ignore - return "\0"; };// @ts-ignore - - var peg$f37 = function() {// @ts-ignore - return "\b"; };// @ts-ignore - - var peg$f38 = function() {// @ts-ignore - return "\f"; };// @ts-ignore - - var peg$f39 = function() {// @ts-ignore - return "\n"; };// @ts-ignore - - var peg$f40 = function() {// @ts-ignore - return "\r"; };// @ts-ignore - - var peg$f41 = function() {// @ts-ignore - return "\t"; };// @ts-ignore - - var peg$f42 = function() {// @ts-ignore - return "\v"; };// @ts-ignore - - var peg$f43 = function(digits) { -// @ts-ignore - return String.fromCharCode(parseInt(digits, 16)); - };// @ts-ignore - - var peg$f44 = function(digits) { -// @ts-ignore - return String.fromCharCode(parseInt(digits, 16)); - };// @ts-ignore - - var peg$f45 = function() {// @ts-ignore - return loc({ type: "any" }); };// @ts-ignore - - var peg$f46 = function(open, bare, close) { -// @ts-ignore - bare.open = open; -// @ts-ignore - bare.close = close; -// @ts-ignore - return bare; - };// @ts-ignore - - var peg$f47 = function(value) {// @ts-ignore - return loc({ type: "code", value }); };// @ts-ignore - - var peg$f48 = function(digits) {// @ts-ignore - return parseInt(digits, 10); };// @ts-ignore - - var peg$f49 = function() {// @ts-ignore - return undefined; };// @ts-ignore - - var peg$f50 = function() {// @ts-ignore - return undefined; };// @ts-ignore - - var peg$f51 = function(value) { -// @ts-ignore - comments.push(loc({ type: "Block", value }) as unknown as ESTree.Comment); - };// @ts-ignore - - var peg$f52 = function(value) { -// @ts-ignore - comments.push(loc({ type: "Block", value }) as unknown as ESTree.Comment); - };// @ts-ignore - - var peg$f53 = function(value) { -// @ts-ignore - comments.push(loc({ type: "Line", value }) as unknown as ESTree.Comment); - };// @ts-ignore - - var peg$f54 = function(value) {// @ts-ignore - return loc({type: "punc", value}); };// @ts-ignore - - var peg$f55 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f56 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f57 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f58 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f59 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f60 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f61 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f62 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f63 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f64 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f65 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f66 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); };// @ts-ignore - - var peg$f67 = function(value) {// @ts-ignore - return loc({ type: "punc", value }); }; -// @ts-ignore - var peg$currPos = 0; -// @ts-ignore - var peg$savedPos = 0; -// @ts-ignore - var peg$posDetailsCache = [{ line: 1, column: 1 }]; -// @ts-ignore - var peg$maxFailPos = 0; -// @ts-ignore - var peg$maxFailExpected = []; -// @ts-ignore - var peg$silentFails = 0; - -// @ts-ignore - var peg$result; - -// @ts-ignore - if ("startRule" in options) { -// @ts-ignore - if (!(options.startRule in peg$startRuleFunctions)) { -// @ts-ignore - throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); - } - -// @ts-ignore - peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; - } - -// @ts-ignore - function text() { -// @ts-ignore - return input.substring(peg$savedPos, peg$currPos); - } - -// @ts-ignore - function offset() { -// @ts-ignore - return peg$savedPos; - } - -// @ts-ignore - function range() { -// @ts-ignore - return { -// @ts-ignore - source: peg$source, -// @ts-ignore - start: peg$savedPos, -// @ts-ignore - end: peg$currPos - }; - } - -// @ts-ignore - function location() { -// @ts-ignore - return peg$computeLocation(peg$savedPos, peg$currPos); - } - -// @ts-ignore - function expected(description, location) { -// @ts-ignore - location = location !== undefined -// @ts-ignore - ? location -// @ts-ignore - : peg$computeLocation(peg$savedPos, peg$currPos); - -// @ts-ignore - throw peg$buildStructuredError( -// @ts-ignore - [peg$otherExpectation(description)], -// @ts-ignore - input.substring(peg$savedPos, peg$currPos), -// @ts-ignore - location - ); - } - -// @ts-ignore - function error(message, location) { -// @ts-ignore - location = location !== undefined -// @ts-ignore - ? location -// @ts-ignore - : peg$computeLocation(peg$savedPos, peg$currPos); - -// @ts-ignore - throw peg$buildSimpleError(message, location); - } - -// @ts-ignore - function peg$literalExpectation(text, ignoreCase) { -// @ts-ignore - return { type: "literal", text: text, ignoreCase: ignoreCase }; - } - -// @ts-ignore - function peg$classExpectation(parts, inverted, ignoreCase) { -// @ts-ignore - return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; - } - -// @ts-ignore - function peg$anyExpectation() { -// @ts-ignore - return { type: "any" }; - } - -// @ts-ignore - function peg$endExpectation() { -// @ts-ignore - return { type: "end" }; - } - -// @ts-ignore - function peg$otherExpectation(description) { -// @ts-ignore - return { type: "other", description: description }; - } - -// @ts-ignore - function peg$computePosDetails(pos) { -// @ts-ignore - var details = peg$posDetailsCache[pos]; -// @ts-ignore - var p; - -// @ts-ignore - if (details) { -// @ts-ignore - return details; -// @ts-ignore - } else { -// @ts-ignore - p = pos - 1; -// @ts-ignore - while (!peg$posDetailsCache[p]) { -// @ts-ignore - p--; - } - -// @ts-ignore - details = peg$posDetailsCache[p]; -// @ts-ignore - details = { -// @ts-ignore - line: details.line, -// @ts-ignore - column: details.column - }; - -// @ts-ignore - while (p < pos) { -// @ts-ignore - if (input.charCodeAt(p) === 10) { -// @ts-ignore - details.line++; -// @ts-ignore - details.column = 1; -// @ts-ignore - } else { -// @ts-ignore - details.column++; - } - -// @ts-ignore - p++; - } - -// @ts-ignore - peg$posDetailsCache[pos] = details; - -// @ts-ignore - return details; - } - } - -// @ts-ignore - function peg$computeLocation(startPos, endPos, offset) { -// @ts-ignore - var startPosDetails = peg$computePosDetails(startPos); -// @ts-ignore - var endPosDetails = peg$computePosDetails(endPos); - -// @ts-ignore - var res = { -// @ts-ignore - source: peg$source, -// @ts-ignore - start: { -// @ts-ignore - offset: startPos, -// @ts-ignore - line: startPosDetails.line, -// @ts-ignore - column: startPosDetails.column - }, -// @ts-ignore - end: { -// @ts-ignore - offset: endPos, -// @ts-ignore - line: endPosDetails.line, -// @ts-ignore - column: endPosDetails.column - } - }; -// @ts-ignore - if (offset && peg$source && (typeof peg$source.offset === "function")) { -// @ts-ignore - res.start = peg$source.offset(res.start); -// @ts-ignore - res.end = peg$source.offset(res.end); - } -// @ts-ignore - return res; - } - -// @ts-ignore - function peg$fail(expected) { -// @ts-ignore - if (peg$currPos < peg$maxFailPos) { return; } - -// @ts-ignore - if (peg$currPos > peg$maxFailPos) { -// @ts-ignore - peg$maxFailPos = peg$currPos; -// @ts-ignore - peg$maxFailExpected = []; - } - -// @ts-ignore - peg$maxFailExpected.push(expected); - } - -// @ts-ignore - function peg$buildSimpleError(message, location) { -// @ts-ignore - return new peg$SyntaxError(message, null, null, location); - } - -// @ts-ignore - function peg$buildStructuredError(expected, found, location) { -// @ts-ignore - return new peg$SyntaxError( -// @ts-ignore - peg$SyntaxError.buildMessage(expected, found), -// @ts-ignore - expected, -// @ts-ignore - found, -// @ts-ignore - location - ); - } - -// @ts-ignore - function // @ts-ignore -peg$parseProgram() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseGrammar(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f0(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseGrammar() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parse__(); -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - s3 = peg$parseTopLevelInitializer(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s2 = s3; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 === peg$FAILED) { -// @ts-ignore - s2 = null; - } -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parseInitializer(); -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parse__(); -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s3 = null; - } -// @ts-ignore - s4 = []; -// @ts-ignore - s5 = peg$currPos; -// @ts-ignore - s6 = peg$parseRule(); -// @ts-ignore - if (s6 !== peg$FAILED) { -// @ts-ignore - s7 = peg$parse__(); -// @ts-ignore - s5 = s6; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s5; -// @ts-ignore - s5 = peg$FAILED; - } -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - while (s5 !== peg$FAILED) { -// @ts-ignore - s4.push(s5); -// @ts-ignore - s5 = peg$currPos; -// @ts-ignore - s6 = peg$parseRule(); -// @ts-ignore - if (s6 !== peg$FAILED) { -// @ts-ignore - s7 = peg$parse__(); -// @ts-ignore - s5 = s6; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s5; -// @ts-ignore - s5 = peg$FAILED; - } - } -// @ts-ignore - } else { -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f1(s2, s3, s4); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseTopLevelInitializer() { -// @ts-ignore - var s0, s1, s2, s3, s4; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseOpenCurly(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseCodeBlock(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s3 = peg$parseCloseCurly(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parseEOS(); -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f2(s1, s2, s3, s4); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseInitializer() { -// @ts-ignore - var s0, s1, s2; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseCodeBlock(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseEOS(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f3(s1, s2); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseRule() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseIdentifierName(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parseDisplayName(); -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parse__(); -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s3 = null; - } -// @ts-ignore - s4 = peg$parseEquals(); -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parse__(); -// @ts-ignore - s6 = peg$parseChoiceExpression(); -// @ts-ignore - if (s6 !== peg$FAILED) { -// @ts-ignore - s7 = peg$parseEOS(); -// @ts-ignore - if (s7 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f4(s1, s3, s4, s6, s7); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseDisplayName() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseStringLiteral(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f5(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseChoiceExpression() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseActionExpression(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parseSlash(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s6 = peg$parse__(); -// @ts-ignore - s7 = peg$parseActionExpression(); -// @ts-ignore - if (s7 !== peg$FAILED) { -// @ts-ignore - s3 = [ s5, s7 ]; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parseSlash(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s6 = peg$parse__(); -// @ts-ignore - s7 = peg$parseActionExpression(); -// @ts-ignore - if (s7 !== peg$FAILED) { -// @ts-ignore - s3 = [ s5, s7 ]; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f6(s1, s2); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseActionExpression() { -// @ts-ignore - var s0, s1, s2, s3, s4; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseSequenceExpression(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - s3 = peg$parse__(); -// @ts-ignore - s4 = peg$parseCodeBlock(); -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s2 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 === peg$FAILED) { -// @ts-ignore - s2 = null; - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f7(s1, s2); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSequenceExpression() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseLabeledExpression(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parseLabeledExpression(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s3 = s5; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parseLabeledExpression(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s3 = s5; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f8(s1, s2); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLabeledExpression() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseAt(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseLabelColon(); -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s3 = null; - } -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parsePrefixedExpression(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f9(s1, s3, s5); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseLabelColon(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parsePrefixedExpression(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f10(s1, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parsePrefixedExpression(); - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLabelColon() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseIdentifierName(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseColon(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f11(s1, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parsePrefixedExpression() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parsePrefixedOperator(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseSuffixedExpression(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f12(s1, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseSuffixedExpression(); - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parsePrefixedOperator() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 36) { -// @ts-ignore - s1 = peg$c0; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e0); } - } -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 38) { -// @ts-ignore - s1 = peg$c1; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e1); } - } -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 33) { -// @ts-ignore - s1 = peg$c2; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e2); } - } - } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f13(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSuffixedExpression() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parsePrimaryExpression(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseSuffixedOperator(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f14(s1, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseRepeatedExpression(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parsePrimaryExpression(); - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSuffixedOperator() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 63) { -// @ts-ignore - s1 = peg$c3; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e3); } - } -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 42) { -// @ts-ignore - s1 = peg$c4; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e4); } - } -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 43) { -// @ts-ignore - s1 = peg$c5; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e5); } - } - } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f15(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseRepeatedExpression() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7, s8; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parsePrimaryExpression(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parsePipe(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parseBoundaries(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s6 = peg$parse__(); -// @ts-ignore - s7 = peg$parseDelimiter(); -// @ts-ignore - if (s7 === peg$FAILED) { -// @ts-ignore - s7 = null; - } -// @ts-ignore - s8 = peg$parsePipe(); -// @ts-ignore - if (s8 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f16(s1, s3, s5, s7, s8); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseBoundaries() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseBoundary(); -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s1 = null; - } -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseDotDot(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parseBoundary(); -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s5 = null; - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f17(s1, s3, s5); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseBoundary(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f18(s1); - } -// @ts-ignore - s0 = s1; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseBoundary() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseInteger(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f19(s1); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseIdentifierName(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f20(s1); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseCodeBlock(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f21(s1); - } -// @ts-ignore - s0 = s1; - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseDelimiter() { -// @ts-ignore - var s0, s1, s2, s3, s4; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseComma(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseChoiceExpression(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f22(s1, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parsePrimaryExpression() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$parseLiteralMatcher(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseCharacterClassMatcher(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseAnyMatcher(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseRuleReferenceExpression(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseSemanticPredicateExpression(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseOpenParen(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseChoiceExpression(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$parseCloseParen(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f23(s1, s3, s5); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - } - } - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseRuleReferenceExpression() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseIdentifierName(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parse__(); -// @ts-ignore - s5 = peg$currPos; -// @ts-ignore - s6 = peg$parseStringLiteral(); -// @ts-ignore - if (s6 !== peg$FAILED) { -// @ts-ignore - s7 = peg$parse__(); -// @ts-ignore - s6 = [s6, s7]; -// @ts-ignore - s5 = s6; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s5; -// @ts-ignore - s5 = peg$FAILED; - } -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s5 = null; - } -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 61) { -// @ts-ignore - s6 = peg$c6; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s6 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e6); } - } -// @ts-ignore - if (s6 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5, s6]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s2 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f24(s1); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSemanticPredicateExpression() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseSemanticPredicateOperator(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseCodeBlock(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f25(s1, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSemanticPredicateOperator() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 38) { -// @ts-ignore - s1 = peg$c1; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e1); } - } -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 33) { -// @ts-ignore - s1 = peg$c2; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e2); } - } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f26(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseIdentifierName() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - s3 = peg$parseIdentifierStart(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = []; -// @ts-ignore - s5 = peg$parseIdentifierPart(); -// @ts-ignore - while (s5 !== peg$FAILED) { -// @ts-ignore - s4.push(s5); -// @ts-ignore - s5 = peg$parseIdentifierPart(); - } -// @ts-ignore - s3 = [s3, s4]; -// @ts-ignore - s2 = s3; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s1 = input.substring(s1, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s1 = s2; - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f27(s1); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e7); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseIdentifierPart() { -// @ts-ignore - var s0; - -// @ts-ignore - s0 = peg$parseIdentifierStart(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseUnicodeCombiningMark(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseNd(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parsePc(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 8204) { -// @ts-ignore - s0 = peg$c7; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e8); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 8205) { -// @ts-ignore - s0 = peg$c8; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e9); } - } - } - } - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseIdentifierStart() { -// @ts-ignore - var s0, s1, s2; - -// @ts-ignore - s0 = peg$parseUnicodeLetter(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 36) { -// @ts-ignore - s0 = peg$c0; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e0); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 95) { -// @ts-ignore - s0 = peg$c9; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e10); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s1 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseUnicodeEscapeSequence(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s0 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseUnicodeLetter() { -// @ts-ignore - var s0; - -// @ts-ignore - s0 = peg$parseLu(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseLl(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseLt(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseLm(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseLo(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseNl(); - } - } - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseUnicodeCombiningMark() { -// @ts-ignore - var s0; - -// @ts-ignore - s0 = peg$parseMn(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseMc(); - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLiteralMatcher() { -// @ts-ignore - var s0, s1, s2; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseStringLiteral(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 105) { -// @ts-ignore - s2 = peg$c11; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s2 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e13); } - } -// @ts-ignore - if (s2 === peg$FAILED) { -// @ts-ignore - s2 = null; - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f28(s1, s2); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e12); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseStringLiteral() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseDquote(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseDoubleRawCooked(); -// @ts-ignore - s3 = peg$parseDquote(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f29(s1, s2, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseSquote(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseSingleRawCooked(); -// @ts-ignore - s3 = peg$parseSquote(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f30(s1, s2, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e14); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseDoubleRawCooked() { -// @ts-ignore - var s0, s1, s2; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = []; -// @ts-ignore - s2 = peg$parseDoubleStringCharacter(); -// @ts-ignore - while (s2 !== peg$FAILED) { -// @ts-ignore - s1.push(s2); -// @ts-ignore - s2 = peg$parseDoubleStringCharacter(); - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f31(s1); -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseDoubleStringCharacter() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 34) { -// @ts-ignore - s3 = peg$c12; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e15); } - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s3 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s3 = peg$parseLineTerminator(); - } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s2 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s3 = peg$parseSourceCharacter(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s2 = [s2, s3]; -// @ts-ignore - s1 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s0 = input.substring(s0, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s0 = s1; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s1 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseEscapeSequence(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s0 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseLineContinuation(); - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSingleRawCooked() { -// @ts-ignore - var s0, s1, s2; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = []; -// @ts-ignore - s2 = peg$parseSingleStringCharacter(); -// @ts-ignore - while (s2 !== peg$FAILED) { -// @ts-ignore - s1.push(s2); -// @ts-ignore - s2 = peg$parseSingleStringCharacter(); - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f32(s1); -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSingleStringCharacter() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 39) { -// @ts-ignore - s3 = peg$c13; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e16); } - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s3 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s3 = peg$parseLineTerminator(); - } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s2 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s3 = peg$parseSourceCharacter(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s2 = [s2, s3]; -// @ts-ignore - s1 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s0 = input.substring(s0, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s0 = s1; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s1 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseEscapeSequence(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s0 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseLineContinuation(); - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseCharacterClassMatcher() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 91) { -// @ts-ignore - s1 = peg$c14; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e18); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 94) { -// @ts-ignore - s2 = peg$c15; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s2 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e19); } - } -// @ts-ignore - if (s2 === peg$FAILED) { -// @ts-ignore - s2 = null; - } -// @ts-ignore - s3 = []; -// @ts-ignore - s4 = peg$parseClassCharacterRange(); -// @ts-ignore - if (s4 === peg$FAILED) { -// @ts-ignore - s4 = peg$parseClassCharacter(); - } -// @ts-ignore - while (s4 !== peg$FAILED) { -// @ts-ignore - s3.push(s4); -// @ts-ignore - s4 = peg$parseClassCharacterRange(); -// @ts-ignore - if (s4 === peg$FAILED) { -// @ts-ignore - s4 = peg$parseClassCharacter(); - } - } -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 93) { -// @ts-ignore - s4 = peg$c16; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s4 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e20); } - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 105) { -// @ts-ignore - s5 = peg$c11; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e13); } - } -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s5 = null; - } -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f33(s2, s3, s5); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e17); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseClassCharacterRange() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseClassCharacter(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 45) { -// @ts-ignore - s2 = peg$c17; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s2 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e21); } - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s3 = peg$parseClassCharacter(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f34(s1, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseClassCharacter() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 93) { -// @ts-ignore - s3 = peg$c16; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e20); } - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s3 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s3 = peg$parseLineTerminator(); - } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s2 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s3 = peg$parseSourceCharacter(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s2 = [s2, s3]; -// @ts-ignore - s1 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s0 = input.substring(s0, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s0 = s1; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s1 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseEscapeSequence(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s0 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseLineContinuation(); - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLineContinuation() { -// @ts-ignore - var s0, s1, s2; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s1 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseLineTerminatorSequence(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f35(); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseEscapeSequence() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$parseCharacterEscapeSequence(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 48) { -// @ts-ignore - s1 = peg$c18; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e22); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s3 = peg$parseDecimalDigit(); -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s2 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f36(); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseHexEscapeSequence(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseUnicodeEscapeSequence(); - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseCharacterEscapeSequence() { -// @ts-ignore - var s0; - -// @ts-ignore - s0 = peg$parseSingleEscapeCharacter(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseNonEscapeCharacter(); - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseNonEscapeCharacter() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s3 = peg$parseEscapeCharacter(); -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s3 = peg$parseLineTerminator(); - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s3 === peg$FAILED) { -// @ts-ignore - s2 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s3 = peg$parseSourceCharacter(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s2 = [s2, s3]; -// @ts-ignore - s1 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s0 = input.substring(s0, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s0 = s1; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseEscapeCharacter() { -// @ts-ignore - var s0; - -// @ts-ignore - s0 = peg$parseSingleEscapeCharacter(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseDecimalDigit(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 120) { -// @ts-ignore - s0 = peg$c19; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e23); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 117) { -// @ts-ignore - s0 = peg$c20; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e24); } - } - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSingleEscapeCharacter() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 39) { -// @ts-ignore - s0 = peg$c13; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e16); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 34) { -// @ts-ignore - s0 = peg$c12; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e15); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 92) { -// @ts-ignore - s0 = peg$c10; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e11); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 98) { -// @ts-ignore - s1 = peg$c21; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e25); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f37(); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 102) { -// @ts-ignore - s1 = peg$c22; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e26); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f38(); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 110) { -// @ts-ignore - s1 = peg$c23; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e27); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f39(); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 114) { -// @ts-ignore - s1 = peg$c24; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e28); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f40(); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 116) { -// @ts-ignore - s1 = peg$c25; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e29); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f41(); - } -// @ts-ignore - s0 = s1; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 118) { -// @ts-ignore - s1 = peg$c26; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e30); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f42(); - } -// @ts-ignore - s0 = s1; - } - } - } - } - } - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseHexEscapeSequence() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 120) { -// @ts-ignore - s1 = peg$c19; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e23); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parseHexDigit(); -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseHexDigit(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s2 = input.substring(s2, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s2 = s3; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f43(s2); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseUnicodeEscapeSequence() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5, s6, s7; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 117) { -// @ts-ignore - s1 = peg$c20; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e24); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$parseHexDigit(); -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseHexDigit(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s6 = peg$parseHexDigit(); -// @ts-ignore - if (s6 !== peg$FAILED) { -// @ts-ignore - s7 = peg$parseHexDigit(); -// @ts-ignore - if (s7 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5, s6, s7]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s2 = input.substring(s2, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s2 = s3; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f44(s2); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseDecimalDigit() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r0.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e31); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseHexDigit() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r1.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e32); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseAnyMatcher() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 46) { -// @ts-ignore - s1 = peg$c27; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e33); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f45(); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseCodeBlock() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseOpenCurly(); -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseBareCodeBlock(); -// @ts-ignore - s3 = peg$parseCloseCurly(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f46(s1, s2, s3); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e34); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseBareCodeBlock() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parseCode(); -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f47(s1); -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseCode() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = []; -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { -// @ts-ignore - s5 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e35); } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { -// @ts-ignore - s5 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e35); } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } - } -// @ts-ignore - } else { -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 === peg$FAILED) { -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 123) { -// @ts-ignore - s3 = peg$c28; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e36); } - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parseCode(); -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 125) { -// @ts-ignore - s5 = peg$c29; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e37); } - } -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s3 = [s3, s4, s5]; -// @ts-ignore - s2 = s3; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } - } -// @ts-ignore - while (s2 !== peg$FAILED) { -// @ts-ignore - s1.push(s2); -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { -// @ts-ignore - s5 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e35); } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (peg$r2.test(input.charAt(peg$currPos))) { -// @ts-ignore - s5 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e35); } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } - } -// @ts-ignore - } else { -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 === peg$FAILED) { -// @ts-ignore - s2 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 123) { -// @ts-ignore - s3 = peg$c28; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e36); } - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s4 = peg$parseCode(); -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 125) { -// @ts-ignore - s5 = peg$c29; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e37); } - } -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s3 = [s3, s4, s5]; -// @ts-ignore - s2 = s3; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s2; -// @ts-ignore - s2 = peg$FAILED; - } - } - } -// @ts-ignore - s0 = input.substring(s0, peg$currPos); - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseInteger() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$parseDecimalDigit(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$parseDecimalDigit(); - } -// @ts-ignore - } else { -// @ts-ignore - s2 = peg$FAILED; - } -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - s1 = input.substring(s1, peg$currPos); -// @ts-ignore - } else { -// @ts-ignore - s1 = s2; - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f48(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseEOS() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = []; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseSemicolon(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s1 = s3; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - while (s1 !== peg$FAILED) { -// @ts-ignore - s0.push(s1); -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = peg$parse__(); -// @ts-ignore - s3 = peg$parseSemicolon(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s1 = s3; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s1; -// @ts-ignore - s1 = peg$FAILED; - } - } -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parse_(); -// @ts-ignore - s2 = peg$parseSingleLineComment(); -// @ts-ignore - if (s2 === peg$FAILED) { -// @ts-ignore - s2 = null; - } -// @ts-ignore - s3 = peg$parseLineTerminatorSequence(); -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f49(); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$parse__(); -// @ts-ignore - s2 = peg$parseEOF(); -// @ts-ignore - if (s2 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s0 = peg$f50(); -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseEOF() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.length > peg$currPos) { -// @ts-ignore - s1 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e38); } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s0 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parse__() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = []; -// @ts-ignore - s1 = peg$parseWhiteSpace(); -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s1 = peg$parseLineTerminatorSequence(); -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s1 = peg$parseComment(); - } - } -// @ts-ignore - while (s1 !== peg$FAILED) { -// @ts-ignore - s0.push(s1); -// @ts-ignore - s1 = peg$parseWhiteSpace(); -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s1 = peg$parseLineTerminatorSequence(); -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s1 = peg$parseComment(); - } - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parse_() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = []; -// @ts-ignore - s1 = peg$parseWhiteSpace(); -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s1 = peg$parseMultiLineCommentNoLineTerminator(); - } -// @ts-ignore - while (s1 !== peg$FAILED) { -// @ts-ignore - s0.push(s1); -// @ts-ignore - s1 = peg$parseWhiteSpace(); -// @ts-ignore - if (s1 === peg$FAILED) { -// @ts-ignore - s1 = peg$parseMultiLineCommentNoLineTerminator(); - } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseWhiteSpace() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 9) { -// @ts-ignore - s0 = peg$c30; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e40); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 11) { -// @ts-ignore - s0 = peg$c31; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e41); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 12) { -// @ts-ignore - s0 = peg$c32; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e42); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 32) { -// @ts-ignore - s0 = peg$c33; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e43); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 160) { -// @ts-ignore - s0 = peg$c34; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e44); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 65279) { -// @ts-ignore - s0 = peg$c35; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e45); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseZs(); - } - } - } - } - } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e39); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseComment() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s0 = peg$parseMultiLineComment(); -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s0 = peg$parseSingleLineComment(); - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e46); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseMultiLineComment() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c36) { -// @ts-ignore - s1 = peg$c36; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e47); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseMultiLineCommentChars(); -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { -// @ts-ignore - s3 = peg$c37; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e48); } - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s0 = s2; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseMultiLineCommentChars() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { -// @ts-ignore - s5 = peg$c37; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e48); } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { -// @ts-ignore - s5 = peg$c37; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e48); } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } - } -// @ts-ignore - s1 = input.substring(s1, peg$currPos); -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f51(s1); -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseMultiLineCommentNoLineTerminator() { -// @ts-ignore - var s0, s1, s2, s3; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c36) { -// @ts-ignore - s1 = peg$c36; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e47); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseMultiLineCommentNoLineTerminatorChars(); -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { -// @ts-ignore - s3 = peg$c37; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s3 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e48); } - } -// @ts-ignore - if (s3 !== peg$FAILED) { -// @ts-ignore - s1 = [s1, s2, s3]; -// @ts-ignore - s0 = s1; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseMultiLineCommentNoLineTerminatorChars() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { -// @ts-ignore - s5 = peg$c37; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e48); } - } -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s5 = peg$parseLineTerminator(); - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c37) { -// @ts-ignore - s5 = peg$c37; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s5 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e48); } - } -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s5 = peg$parseLineTerminator(); - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } - } -// @ts-ignore - s1 = input.substring(s1, peg$currPos); -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f52(s1); -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSingleLineComment() { -// @ts-ignore - var s0, s1, s2; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c38) { -// @ts-ignore - s1 = peg$c38; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e49); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - s2 = peg$parseSingleLineCommentChars(); -// @ts-ignore - s1 = [s1, s2]; -// @ts-ignore - s0 = s1; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s0; -// @ts-ignore - s0 = peg$FAILED; - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSingleLineCommentChars() { -// @ts-ignore - var s0, s1, s2, s3, s4, s5; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - s1 = peg$currPos; -// @ts-ignore - s2 = []; -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s5 = peg$parseLineTerminator(); -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - while (s3 !== peg$FAILED) { -// @ts-ignore - s2.push(s3); -// @ts-ignore - s3 = peg$currPos; -// @ts-ignore - s4 = peg$currPos; -// @ts-ignore - peg$silentFails++; -// @ts-ignore - s5 = peg$parseLineTerminator(); -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s5 === peg$FAILED) { -// @ts-ignore - s4 = undefined; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s4; -// @ts-ignore - s4 = peg$FAILED; - } -// @ts-ignore - if (s4 !== peg$FAILED) { -// @ts-ignore - s5 = peg$parseSourceCharacter(); -// @ts-ignore - if (s5 !== peg$FAILED) { -// @ts-ignore - s4 = [s4, s5]; -// @ts-ignore - s3 = s4; -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } -// @ts-ignore - } else { -// @ts-ignore - peg$currPos = s3; -// @ts-ignore - s3 = peg$FAILED; - } - } -// @ts-ignore - s1 = input.substring(s1, peg$currPos); -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f53(s1); -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSourceCharacter() { -// @ts-ignore - var s0; - -// @ts-ignore - if (input.length > peg$currPos) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e38); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLineTerminator() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r3.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e50); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLineTerminatorSequence() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - peg$silentFails++; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 10) { -// @ts-ignore - s0 = peg$c39; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e52); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c40) { -// @ts-ignore - s0 = peg$c40; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e53); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 13) { -// @ts-ignore - s0 = peg$c41; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e54); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 8232) { -// @ts-ignore - s0 = peg$c42; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e55); } - } -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 8233) { -// @ts-ignore - s0 = peg$c43; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e56); } - } - } - } - } - } -// @ts-ignore - peg$silentFails--; -// @ts-ignore - if (s0 === peg$FAILED) { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e51); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLl() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r4.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e57); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLm() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r5.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e58); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLo() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r6.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e59); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLt() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r7.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e60); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseLu() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r8.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e61); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseMc() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r9.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e62); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseMn() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r10.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e63); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseNd() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r11.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e64); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseNl() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r12.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e65); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parsePc() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r13.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e66); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseZs() { -// @ts-ignore - var s0; - -// @ts-ignore - if (peg$r14.test(input.charAt(peg$currPos))) { -// @ts-ignore - s0 = input.charAt(peg$currPos); -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s0 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e67); } - } - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseEquals() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 61) { -// @ts-ignore - s1 = peg$c6; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e6); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f54(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSlash() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 47) { -// @ts-ignore - s1 = peg$c44; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e68); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f55(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseOpenCurly() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 123) { -// @ts-ignore - s1 = peg$c28; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e36); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f56(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseCloseCurly() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 125) { -// @ts-ignore - s1 = peg$c29; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e37); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f57(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseOpenParen() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 40) { -// @ts-ignore - s1 = peg$c45; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e69); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f58(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseCloseParen() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 41) { -// @ts-ignore - s1 = peg$c46; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e70); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f59(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSquote() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 39) { -// @ts-ignore - s1 = peg$c13; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e16); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f60(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseDquote() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 34) { -// @ts-ignore - s1 = peg$c12; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e15); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f61(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseColon() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 58) { -// @ts-ignore - s1 = peg$c47; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e71); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f62(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseAt() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 64) { -// @ts-ignore - s1 = peg$c48; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e72); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f63(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseSemicolon() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 59) { -// @ts-ignore - s1 = peg$c49; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e73); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f64(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parsePipe() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 124) { -// @ts-ignore - s1 = peg$c50; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e74); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f65(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseComma() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.charCodeAt(peg$currPos) === 44) { -// @ts-ignore - s1 = peg$c51; -// @ts-ignore - peg$currPos++; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e75); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f66(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - -// @ts-ignore - function // @ts-ignore -peg$parseDotDot() { -// @ts-ignore - var s0, s1; - -// @ts-ignore - s0 = peg$currPos; -// @ts-ignore - if (input.substr(peg$currPos, 2) === peg$c52) { -// @ts-ignore - s1 = peg$c52; -// @ts-ignore - peg$currPos += 2; -// @ts-ignore - } else { -// @ts-ignore - s1 = peg$FAILED; -// @ts-ignore - if (peg$silentFails === 0) { peg$fail(peg$e76); } - } -// @ts-ignore - if (s1 !== peg$FAILED) { -// @ts-ignore - peg$savedPos = s0; -// @ts-ignore - s1 = peg$f67(s1); - } -// @ts-ignore - s0 = s1; - -// @ts-ignore - return s0; - } - - -// @ts-ignore - const reservedWords = options.reservedWords || []; -// @ts-ignore - const comments: ESTree.Comment[] = []; - -// @ts-ignore - function loc(node: Partial): ast.Node { - // Convert to estree-style location -// @ts-ignore - const l = location(); -// @ts-ignore - node.loc = { -// @ts-ignore - source: l.source, -// @ts-ignore - start: { -// @ts-ignore - line: l.start.line, -// @ts-ignore - column: l.start.column - 1, - }, -// @ts-ignore - end: { -// @ts-ignore - line: l.end.line, -// @ts-ignore - column: l.end.column - 1, - }, - }; -// @ts-ignore - node.range = [ -// @ts-ignore - l.start.offset, -// @ts-ignore - l.end.offset, - ]; -// @ts-ignore - return node as ast.Node; - } - -// @ts-ignore - peg$result = peg$startRuleFunction(); - -// @ts-ignore - if (peg$result !== peg$FAILED && peg$currPos === input.length) { -// @ts-ignore - return peg$result; -// @ts-ignore - } else { -// @ts-ignore - if (peg$result !== peg$FAILED && peg$currPos < input.length) { -// @ts-ignore - peg$fail(peg$endExpectation()); - } - -// @ts-ignore - throw peg$buildStructuredError( -// @ts-ignore - peg$maxFailExpected, -// @ts-ignore - peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, -// @ts-ignore - peg$maxFailPos < input.length -// @ts-ignore - ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) -// @ts-ignore - : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) - ); - } -} - -// @ts-ignore - return { - SyntaxError: peg$SyntaxError, - parse: peg$parse - }; -})() - -export interface FilePosition { - offset: number; - line: number; - column: number; -} - -export interface FileRange { - start: FilePosition; - end: FilePosition; - source: string; -} - -export interface LiteralExpectation { - type: "literal"; - text: string; - ignoreCase: boolean; -} - -export interface ClassParts extends Array {} - -export interface ClassExpectation { - type: "class"; - parts: ClassParts; - inverted: boolean; - ignoreCase: boolean; -} - -export interface AnyExpectation { - type: "any"; -} - -export interface EndExpectation { - type: "end"; -} - -export interface OtherExpectation { - type: "other"; - description: string; -} - -export type Expectation = LiteralExpectation | ClassExpectation | AnyExpectation | EndExpectation | OtherExpectation; - -declare class _PeggySyntaxError extends Error { - public static buildMessage(expected: Expectation[], found: string | null): string; - public message: string; - public expected: Expectation[]; - public found: string | null; - public location: FileRange; - public name: string; - constructor(message: string, expected: Expectation[], found: string | null, location: FileRange); - format(sources: { - source?: any; - text: string; - }[]): string; -} - -export interface TraceEvent { - type: string; - rule: string; - result?: any; - location: FileRange; - } - -declare class _DefaultTracer { - private indentLevel: number; - public trace(event: TraceEvent): void; -} - -peggyParser.SyntaxError.prototype.name = "PeggySyntaxError"; - -export interface ParseOptions { - filename?: string; - startRule?: "Program"; - tracer?: any; - [key: string]: any; -} -export type ParseFunction = ( - input: string, - options?: Options - ) => Options extends { startRule: infer StartRule } ? - StartRule extends "Program" ? Program : Program - : Program; -export const parse: ParseFunction = peggyParser.parse; - -export const PeggySyntaxError = peggyParser.SyntaxError as typeof _PeggySyntaxError; - -export type PeggySyntaxError = _PeggySyntaxError; - -// These types were autogenerated by ts-pegjs -export type Program = ast.Node; -type Grammar = ast.Node; -type TopLevelInitializer = ast.Node; -type Initializer = ast.Node; -type Rule = ast.Node; -type DisplayName = ast.Node; -type ChoiceExpression = any; -type ActionExpression = any; -type SequenceExpression = any; -type LabeledExpression = ast.Node | PrefixedExpression; -type LabelColon = { name: IdentifierName; colon: Colon }; -type PrefixedExpression = ast.Node | SuffixedExpression; -type PrefixedOperator = ast.Node; -type SuffixedExpression = ast.Node | RepeatedExpression | PrimaryExpression; -type SuffixedOperator = ast.Node; -type RepeatedExpression = ast.Node; -type Boundaries = ast.Node; -type Boundary = ast.Node; -type Delimiter = ast.Node; -type PrimaryExpression = - | LiteralMatcher - | CharacterClassMatcher - | AnyMatcher - | RuleReferenceExpression - | SemanticPredicateExpression - | ast.Node; -type RuleReferenceExpression = ast.Node; -type SemanticPredicateExpression = ast.Node; -type SemanticPredicateOperator = ast.Node; -type IdentifierName = ast.Node; -type IdentifierPart = - | IdentifierStart - | UnicodeCombiningMark - | Nd - | Pc - | "\u200c" - | "\u200d"; -type IdentifierStart = UnicodeLetter | "$" | "_" | UnicodeEscapeSequence; -type UnicodeLetter = Lu | Ll | Lt | Lm | Lo | Nl; -type UnicodeCombiningMark = Mn | Mc; -type LiteralMatcher = ast.Node; -type StringLiteral = - | (DoubleRawCooked & { before: Dquote; after: Dquote }) - | (SingleRawCooked & { before: Squote; after: Squote }); -type DoubleRawCooked = { value: string; raw: string }; -type DoubleStringCharacter = string | EscapeSequence | LineContinuation; -type SingleRawCooked = { value: string; raw: string }; -type SingleStringCharacter = string | EscapeSequence | LineContinuation; -type CharacterClassMatcher = ast.Node; -type ClassCharacterRange = [ClassCharacter, ClassCharacter]; -type ClassCharacter = string | EscapeSequence | LineContinuation; -type LineContinuation = ""; -type EscapeSequence = - | CharacterEscapeSequence - | "\0" - | HexEscapeSequence - | UnicodeEscapeSequence; -type CharacterEscapeSequence = SingleEscapeCharacter | NonEscapeCharacter; -type NonEscapeCharacter = string; -type EscapeCharacter = SingleEscapeCharacter | DecimalDigit | "x" | "u"; -type SingleEscapeCharacter = - | "'" - | '"' - | "\\" - | "\b" - | "\f" - | "\n" - | "\r" - | "\t" - | "\v"; -type HexEscapeSequence = string; -type UnicodeEscapeSequence = string; -type DecimalDigit = string; -type HexDigit = string; -type AnyMatcher = ast.Node; -type CodeBlock = BareCodeBlock; -type BareCodeBlock = ast.Node; -type Code = string; -type Integer = number; -type EOS = Semicolon[] | undefined; -type EOF = undefined; -type __ = (WhiteSpace | LineTerminatorSequence | Comment)[]; -type _ = (WhiteSpace | MultiLineCommentNoLineTerminator)[]; -type WhiteSpace = "\t" | "\u000b" | "\f" | " " | "\u00a0" | "\ufeff" | Zs; -type Comment = MultiLineComment | SingleLineComment; -type MultiLineComment = MultiLineCommentChars; -type MultiLineCommentChars = void; -type MultiLineCommentNoLineTerminator = [ - "/*", - MultiLineCommentNoLineTerminatorChars, - "*/" -]; -type MultiLineCommentNoLineTerminatorChars = void; -type SingleLineComment = ["//", SingleLineCommentChars]; -type SingleLineCommentChars = void; -type SourceCharacter = string; -type LineTerminator = string; -type LineTerminatorSequence = "\n" | "\r\n" | "\r" | "\u2028" | "\u2029"; -type Ll = string; -type Lm = string; -type Lo = string; -type Lt = string; -type Lu = string; -type Mc = string; -type Mn = string; -type Nd = string; -type Nl = string; -type Pc = string; -type Zs = string; -type Equals = ast.Node; -type Slash = ast.Node; -type OpenCurly = ast.Node; -type CloseCurly = ast.Node; -type OpenParen = ast.Node; -type CloseParen = ast.Node; -type Squote = ast.Node; -type Dquote = ast.Node; -type Colon = ast.Node; -type At = ast.Node; -type Semicolon = ast.Node; -type Pipe = ast.Node; -type Comma = ast.Node; -type DotDot = ast.Node; diff --git a/src/visitor.ts b/src/visitor.ts index 666f5fa..607c718 100644 --- a/src/visitor.ts +++ b/src/visitor.ts @@ -1,3 +1,4 @@ +/* eslint-disable @stylistic/quote-props */ import * as AST from "./ast"; import type ESlint from "eslint"; diff --git a/tsconfig.json b/tsconfig.json index e53c0ac..54cf9a7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,13 @@ { "compilerOptions": { + "allowJs": true, "declaration": true, "declarationMap": false, "emitDeclarationOnly": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "module": "node16", - "moduleResolution": "node", + "module": "nodeNext", + "moduleResolution": "nodeNext", "noEmitOnError": true, "noImplicitReturns": true, "outDir": "./lib/",