diff --git a/.eslintrc.js b/.eslintrc.js index 27dd8aa10c37a1..87fa1e7459f1c5 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -16,6 +16,7 @@ const ModuleFindPath = Module._findPath; const hacks = [ 'eslint-plugin-node-core', 'eslint-plugin-markdown', + 'eslint-plugin-jsdoc', '@babel/eslint-parser', '@babel/plugin-syntax-class-properties', '@babel/plugin-syntax-top-level-await', @@ -38,7 +39,7 @@ Module._findPath = (request, paths, isMain) => { module.exports = { root: true, - plugins: ['markdown', 'node-core'], + plugins: ['markdown', 'node-core', 'jsdoc'], parser: '@babel/eslint-parser', parserOptions: { babelOptions: { @@ -50,6 +51,16 @@ module.exports = { requireConfigFile: false, sourceType: 'script', }, + settings: { + jsdoc: { + // For the @template tag. + mode: 'typescript', + tagNamePreference: { + class: 'constructor', + file: 'fileoverview', + }, + }, + }, overrides: [ { files: [ @@ -313,6 +324,10 @@ module.exports = { // Custom rules from eslint-plugin-node-core 'node-core/no-unescaped-regexp-dot': 'error', 'node-core/no-duplicate-requires': 'error', + + // JSDoc rules + // https://github.com/gajus/eslint-plugin-jsdoc + 'jsdoc/check-tag-names': 'error', }, globals: { AbortController: 'readable', diff --git a/benchmark/common.js b/benchmark/common.js index bdccd6605f365e..77652aa065b902 100644 --- a/benchmark/common.js +++ b/benchmark/common.js @@ -338,7 +338,7 @@ function getUrlData(withBase) { * @param {number} e The repetition of the data, as exponent of 2 * @param {boolean} withBase Whether to include a base URL * @param {boolean} asUrl Whether to return the results as URL objects - * @return {string[] | string[][] | URL[]} + * @returns {string[] | string[][] | URL[]} */ function bakeUrlData(type, e = 0, withBase = false, asUrl = false) { let result = []; diff --git a/lib/internal/source_map/source_map.js b/lib/internal/source_map/source_map.js index f49de5d8c4deda..7589c4ac086ecc 100644 --- a/lib/internal/source_map/source_map.js +++ b/lib/internal/source_map/source_map.js @@ -96,21 +96,21 @@ class StringCharIterator { } /** - * @return {string} + * @returns {string} */ next() { return StringPrototypeCharAt(this._string, this._position++); } /** - * @return {string} + * @returns {string} */ peek() { return StringPrototypeCharAt(this._string, this._position); } /** - * @return {boolean} + * @returns {boolean} */ hasNext() { return this._position < this._string.length; @@ -148,7 +148,7 @@ class SourceMap { } /** - * @return {Object} raw source map v3 payload. + * @returns {Object} raw source map v3 payload. */ get payload() { return cloneSourceMapV3(this.#payload); @@ -179,7 +179,7 @@ class SourceMap { /** * @param {number} lineNumber in compiled resource * @param {number} columnNumber in compiled resource - * @return {?Array} + * @returns {?Array} */ findEntry(lineNumber, columnNumber) { let first = 0; @@ -280,7 +280,7 @@ class SourceMap { /** * @param {string} char - * @return {boolean} + * @returns {boolean} */ function isSeparator(char) { return char === ',' || char === ';'; @@ -288,7 +288,7 @@ function isSeparator(char) { /** * @param {SourceMap.StringCharIterator} stringCharIterator - * @return {number} + * @returns {number} */ function decodeVLQ(stringCharIterator) { // Read unsigned value. @@ -320,7 +320,7 @@ function decodeVLQ(stringCharIterator) { /** * @param {SourceMapV3} payload - * @return {SourceMapV3} + * @returns {SourceMapV3} */ function cloneSourceMapV3(payload) { if (typeof payload !== 'object') { @@ -340,7 +340,7 @@ function cloneSourceMapV3(payload) { * @param {Array} entry1 source map entry [lineNumber, columnNumber, sourceURL, * sourceLineNumber, sourceColumnNumber] * @param {Array} entry2 source map entry. - * @return {number} + * @returns {number} */ function compareSourceMapEntry(entry1, entry2) { const { 0: lineNumber1, 1: columnNumber1 } = entry1; diff --git a/tools/eslint-rules/non-ascii-character.js b/tools/eslint-rules/non-ascii-character.js index 6588125d33d201..421d05c153e472 100644 --- a/tools/eslint-rules/non-ascii-character.js +++ b/tools/eslint-rules/non-ascii-character.js @@ -1,5 +1,5 @@ /** - * @fileOverview Any non-ASCII characters in lib/ will increase the size + * @fileoverview Any non-ASCII characters in lib/ will increase the size * of the compiled node binary. This linter rule ensures that * any such character is reported. * @author Sarat Addepalli diff --git a/tools/node_modules/eslint-plugin-markdown/LICENSE b/tools/node_modules/eslint-plugin-markdown/LICENSE deleted file mode 100644 index cf5a5995af4cd5..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright JS Foundation and other contributors, https://js.foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/README.md b/tools/node_modules/eslint-plugin-markdown/README.md deleted file mode 100644 index fd8767b753596c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/README.md +++ /dev/null @@ -1,362 +0,0 @@ -# eslint-plugin-markdown - -[![npm Version](https://img.shields.io/npm/v/eslint-plugin-markdown.svg)](https://www.npmjs.com/package/eslint-plugin-markdown) -[![Build Status](https://img.shields.io/github/workflow/status/eslint/eslint-plugin-markdown/CI/main.svg)](https://github.com/eslint/eslint-plugin-markdown/actions) - -Lint JS, JSX, TypeScript, and more inside Markdown. - -A JS code snippet in a Markdown editor has red squiggly underlines. A tooltip explains the problem. - -## Usage - -### Installing - -Install the plugin alongside ESLint v6 or greater: - -```sh -npm install --save-dev eslint eslint-plugin-markdown -``` - -### Configuring - -Extending the `plugin:markdown/recommended` config will enable the Markdown processor on all `.md` files: - -```js -// .eslintrc.js -module.exports = { - extends: "plugin:markdown/recommended" -}; -``` - -#### Advanced Configuration - -Add the plugin to your `.eslintrc` and use the `processor` option in an `overrides` entry to enable the plugin's `markdown/markdown` processor on Markdown files. -Each fenced code block inside a Markdown document has a virtual filename appended to the Markdown file's path. -The virtual filename's extension will match the fenced code block's syntax tag, so for example, ```js code blocks in README.md would match README.md/*.js. -[`overrides` glob patterns](https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns) for these virtual filenames can customize configuration for code blocks without affecting regular code. -For more information on configuring processors, refer to the [ESLint documentation](https://eslint.org/docs/user-guide/configuring#specifying-processor). - -```js -// .eslintrc.js -module.exports = { - // 1. Add the plugin. - plugins: ["markdown"], - overrides: [ - { - // 2. Enable the Markdown processor for all .md files. - files: ["**/*.md"], - processor: "markdown/markdown" - }, - { - // 3. Optionally, customize the configuration ESLint uses for ```js - // fenced code blocks inside .md files. - files: ["**/*.md/*.js"], - // ... - rules: { - // ... - } - } - ] -}; -``` - -#### Frequently-Disabled Rules - -Some rules that catch mistakes in regular code are less helpful in documentation. -For example, `no-undef` would flag variables that are declared outside of a code snippet because they aren't relevant to the example. -The `plugin:markdown/recommended` config disables these rules in Markdown files: - -- [`no-undef`](https://eslint.org/docs/rules/no-undef) -- [`no-unused-expressions`](https://eslint.org/docs/rules/no-unused-expressions) -- [`no-unused-vars`](https://eslint.org/docs/rules/no-unused-vars) -- [`padded-blocks`](https://eslint.org/docs/rules/padded-blocks) - -Use [`overrides` glob patterns](https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns) to disable more rules just for Markdown code blocks: - -```js -module.exports = { - // ... - overrides: [ - // ... - { - // 1. Target ```js code blocks in .md files. - files: ["**/*.md/*.js"], - rules: { - // 2. Disable other rules. - "no-console": "off", - "import/no-unresolved": "off" - } - } - ] -}; -``` - -#### Strict Mode - -`"use strict"` directives in every code block would be annoying. -The `plugin:markdown/recommended` config enables the [`impliedStrict` parser option](https://eslint.org/docs/user-guide/configuring#specifying-parser-options) and disables the [`strict` rule](https://eslint.org/docs/rules/strict) in Markdown files. -This opts into strict mode parsing without repeated `"use strict"` directives. - -#### Unsatisfiable Rules - -Markdown code blocks are not real files, so ESLint's file-format rules do not apply. -The `plugin:markdown/recommended` config disables these rules in Markdown files: - -- [`eol-last`](https://eslint.org/docs/rules/eol-last): The Markdown parser trims trailing newlines from code blocks. -- [`unicode-bom`](https://eslint.org/docs/rules/unicode-bom): Markdown code blocks do not have Unicode Byte Order Marks. - -#### Migrating from `eslint-plugin-markdown` v1 - -`eslint-plugin-markdown` v1 used an older version of ESLint's processor API. -The Markdown processor automatically ran on `.md`, `.mkdn`, `.mdown`, and `.markdown` files, and it only extracted fenced code blocks marked with `js`, `javascript`, `jsx`, or `node` syntax. -Configuration specifically for fenced code blocks went inside an `overrides` entry with a `files` pattern matching the containing Markdown document's filename that applied to all fenced code blocks inside the file. - -```js -// .eslintrc.js for eslint-plugin-markdown v1 -module.exports = { - plugins: ["markdown"], - overrides: [ - { - files: ["**/*.md"], - // In v1, configuration for fenced code blocks went inside an - // `overrides` entry with a .md pattern, for example: - parserOptions: { - ecmaFeatures: { - impliedStrict: true - } - }, - rules: { - "no-console": "off" - } - } - ] -}; -``` - -[RFC3](https://github.com/eslint/rfcs/blob/master/designs/2018-processors-improvements/README.md) designed a new processor API to remove these limitations, and the new API was [implemented](https://github.com/eslint/eslint/pull/11552) as part of ESLint v6. -`eslint-plugin-markdown` v2 uses this new API. - -```bash -$ npm install --save-dev eslint@latest eslint-plugin-markdown@latest -``` - -All of the Markdown file extensions that were previously hard-coded are now fully configurable in `.eslintrc.js`. -Use the new `processor` option to apply the `markdown/markdown` processor on any Markdown documents matching a `files` pattern. -Each fenced code block inside a Markdown document has a virtual filename appended to the Markdown file's path. -The virtual filename's extension will match the fenced code block's syntax tag, so for example, ```js code blocks in README.md would match README.md/*.js. - -```js -// eslintrc.js for eslint-plugin-markdown v2 -module.exports = { - plugins: ["markdown"], - overrides: [ - { - // In v2, explicitly apply eslint-plugin-markdown's `markdown` - // processor on any Markdown files you want to lint. - files: ["**/*.md"], - processor: "markdown/markdown" - }, - { - // In v2, configuration for fenced code blocks is separate from the - // containing Markdown file. Each code block has a virtual filename - // appended to the Markdown file's path. - files: ["**/*.md/*.js"], - // Configuration for fenced code blocks goes with the override for - // the code block's virtual filename, for example: - parserOptions: { - ecmaFeatures: { - impliedStrict: true - } - }, - rules: { - "no-console": "off" - } - } - ] -}; -``` - -If you need to precisely mimic the behavior of v1 with the hard-coded Markdown extensions and fenced code block syntaxes, you can use those as glob patterns in `overrides[].files`: - -```js -// eslintrc.js for v2 mimicking v1 behavior -module.exports = { - plugins: ["markdown"], - overrides: [ - { - files: ["**/*.{md,mkdn,mdown,markdown}"], - processor: "markdown/markdown" - }, - { - files: ["**/*.{md,mkdn,mdown,markdown}/*.{js,javascript,jsx,node}"] - // ... - } - ] -}; -``` - -### Running - -#### ESLint v7 - -You can run ESLint as usual and do not need to use the `--ext` option. -ESLint v7 [automatically lints file extensions specified in `overrides[].files` patterns in config files](https://github.com/eslint/rfcs/blob/0253e3a95511c65d622eaa387eb73f824249b467/designs/2019-additional-lint-targets/README.md). - -#### ESLint v6 - -Use the [`--ext` option](https://eslint.org/docs/user-guide/command-line-interface#ext) to include `.js` and `.md` extensions in ESLint's file search: - -```sh -eslint --ext js,md . -``` - -### Autofixing - -With this plugin, [ESLint's `--fix` option](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some issues in your Markdown fenced code blocks. -To enable this, pass the `--fix` flag when you run ESLint: - -```bash -eslint --fix . -``` - -## What Gets Linted? - -With this plugin, ESLint will lint [fenced code blocks](https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks) in your Markdown documents: - -````markdown -```js -// This gets linted -var answer = 6 * 7; -console.log(answer); -``` - -Here is some regular Markdown text that will be ignored. - -```js -// This also gets linted - -/* eslint quotes: [2, "double"] */ - -function hello() { - console.log("Hello, world!"); -} -hello(); -``` - -```jsx -// This can be linted too if you add `.jsx` files to `overrides` in ESLint v7 -// or pass `--ext jsx` in ESLint v6. -var div =
; -``` -```` - -Blocks that don't specify a syntax are ignored: - -````markdown -``` -This is plain text and doesn't get linted. -``` -```` - -Unless a fenced code block's syntax appears as a file extension in `overrides[].files` in ESLint v7, it will be ignored. -If using ESLint v6, you must also include the extension with the `--ext` option. - -````markdown -```python -print("This doesn't get linted either.") -``` -```` - -## Configuration Comments - -The processor will convert HTML comments immediately preceding a code block into JavaScript block comments and insert them at the beginning of the source code that it passes to ESLint. -This permits configuring ESLint via configuration comments while keeping the configuration comments themselves hidden when the markdown is rendered. -Comment bodies are passed through unmodified, so the plugin supports any [configuration comments](http://eslint.org/docs/user-guide/configuring) supported by ESLint itself. - -This example enables the `browser` environment, disables the `no-alert` rule, and configures the `quotes` rule to prefer single quotes: - -````markdown - - - - -```js -alert('Hello, world!'); -``` -```` - -Each code block in a file is linted separately, so configuration comments apply only to the code block that immediately follows. - -````markdown -Assuming `no-alert` is enabled in `.eslintrc`, the first code block will have no error from `no-alert`: - - - - -```js -alert("Hello, world!"); -``` - -But the next code block will have an error from `no-alert`: - - - -```js -alert("Hello, world!"); -``` -```` - -### Skipping Blocks - -Sometimes it can be useful to have code blocks marked with `js` even though they don't contain valid JavaScript syntax, such as commented JSON blobs that need `js` syntax highlighting. -Standard `eslint-disable` comments only silence rule reporting, but ESLint still reports any syntax errors it finds. -In cases where a code block should not even be parsed, insert a non-standard `` comment before the block, and this plugin will hide the following block from ESLint. -Neither rule nor syntax errors will be reported. - -````markdown -There are comments in this JSON, so we use `js` syntax for better -highlighting. Skip the block to prevent warnings about invalid syntax. - - - -```js -{ - // This code block is hidden from ESLint. - "hello": "world" -} -``` - -```js -console.log("This code block is linted normally."); -``` -```` - -## Editor Integrations - -### VSCode - -[`vscode-eslint`](https://github.com/microsoft/vscode-eslint) has built-in support for the Markdown processor. - -### Atom - -The [`linter-eslint`](https://atom.io/packages/linter-eslint) package allows for linting within the [Atom IDE](https://atom.io/). - -In order to see `eslint-plugin-markdown` work its magic within Markdown code blocks in your Atom editor, you can go to `linter-eslint`'s settings and within "List of scopes to run ESLint on...", add the cursor scope "source.gfm". - -However, this reports a problem when viewing Markdown which does not have configuration, so you may wish to use the cursor scope "source.embedded.js", but note that `eslint-plugin-markdown` configuration comments and skip directives won't work in this context. - -## Contributing - -```sh -$ git clone https://github.com/eslint/eslint-plugin-markdown.git -$ cd eslint-plugin-markdown -$ npm install -$ npm test -``` - -This project follows the [ESLint contribution guidelines](http://eslint.org/docs/developer-guide/contributing/). diff --git a/tools/node_modules/eslint-plugin-markdown/index.js b/tools/node_modules/eslint-plugin-markdown/index.js deleted file mode 100644 index 1638f11ee3c12b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/index.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @fileoverview Exports the processor. - * @author Brandon Mills - */ - -"use strict"; - -module.exports = require("./lib"); diff --git a/tools/node_modules/eslint-plugin-markdown/lib/index.js b/tools/node_modules/eslint-plugin-markdown/lib/index.js deleted file mode 100644 index d66a7ddda6f6c2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/lib/index.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @fileoverview Enables the processor for Markdown file extensions. - * @author Brandon Mills - */ - -"use strict"; - -const processor = require("./processor"); - -module.exports = { - configs: { - recommended: { - plugins: ["markdown"], - overrides: [ - { - files: ["*.md"], - processor: "markdown/markdown" - }, - { - files: ["**/*.md/**"], - parserOptions: { - ecmaFeatures: { - - // Adding a "use strict" directive at the top of - // every code block is tedious and distracting, so - // opt into strict mode parsing without the - // directive. - impliedStrict: true - } - }, - rules: { - - // The Markdown parser automatically trims trailing - // newlines from code blocks. - "eol-last": "off", - - // In code snippets and examples, these rules are often - // counterproductive to clarity and brevity. - "no-undef": "off", - "no-unused-expressions": "off", - "no-unused-vars": "off", - "padded-blocks": "off", - - // Adding a "use strict" directive at the top of every - // code block is tedious and distracting. The config - // opts into strict mode parsing without the directive. - strict: "off", - - // The processor will not receive a Unicode Byte Order - // Mark from the Markdown parser. - "unicode-bom": "off" - } - } - ] - } - }, - processors: { - markdown: processor - } -}; diff --git a/tools/node_modules/eslint-plugin-markdown/lib/processor.js b/tools/node_modules/eslint-plugin-markdown/lib/processor.js deleted file mode 100644 index 94cf816dc913d9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/lib/processor.js +++ /dev/null @@ -1,395 +0,0 @@ -/** - * @fileoverview Processes Markdown files for consumption by ESLint. - * @author Brandon Mills - */ - -/** - * @typedef {import('eslint/lib/shared/types').LintMessage} Message - * - * @typedef {Object} ASTNode - * @property {string} type - * @property {string} [lang] - * - * @typedef {Object} RangeMap - * @property {number} js - * @property {number} md - * - * @typedef {Object} BlockBase - * @property {string} baseIndentText - * @property {string[]} comments - * @property {RangeMap[]} rangeMap - * - * @typedef {ASTNode & BlockBase} Block - */ - -"use strict"; - -const unified = require("unified"); -const remarkParse = require("remark-parse"); - -const UNSATISFIABLE_RULES = [ - "eol-last", // The Markdown parser strips trailing newlines in code fences - "unicode-bom" // Code blocks will begin in the middle of Markdown files -]; -const SUPPORTS_AUTOFIX = true; - -const markdown = unified().use(remarkParse); - -/** - * @type {Map} - */ -const blocksCache = new Map(); - -/** - * Performs a depth-first traversal of the Markdown AST. - * @param {ASTNode} node A Markdown AST node. - * @param {{[key: string]: (node: ASTNode) => void}} callbacks A map of node types to callbacks. - * @returns {void} - */ -function traverse(node, callbacks) { - if (callbacks[node.type]) { - callbacks[node.type](node); - } else { - callbacks["*"](); - } - - if (typeof node.children !== "undefined") { - for (let i = 0; i < node.children.length; i++) { - traverse(node.children[i], callbacks); - } - } -} - -/** - * Extracts `eslint-*` or `global` comments from HTML comments if present. - * @param {string} html The text content of an HTML AST node. - * @returns {string} The comment's text without the opening and closing tags or - * an empty string if the text is not an ESLint HTML comment. - */ -function getComment(html) { - const commentStart = ""; - const regex = /^(eslint\b|global\s)/u; - - if ( - html.slice(0, commentStart.length) !== commentStart || - html.slice(-commentEnd.length) !== commentEnd - ) { - return ""; - } - - const comment = html.slice(commentStart.length, -commentEnd.length); - - if (!regex.test(comment.trim())) { - return ""; - } - - return comment; -} - -// Before a code block, blockquote characters (`>`) are also considered -// "whitespace". -const leadingWhitespaceRegex = /^[>\s]*/u; - -/** - * Gets the offset for the first column of the node's first line in the - * original source text. - * @param {ASTNode} node A Markdown code block AST node. - * @returns {number} The offset for the first column of the node's first line. - */ -function getBeginningOfLineOffset(node) { - return node.position.start.offset - node.position.start.column + 1; -} - -/** - * Gets the leading text, typically whitespace with possible blockquote chars, - * used to indent a code block. - * @param {string} text The text of the file. - * @param {ASTNode} node A Markdown code block AST node. - * @returns {string} The text from the start of the first line to the opening - * fence of the code block. - */ -function getIndentText(text, node) { - return leadingWhitespaceRegex.exec( - text.slice(getBeginningOfLineOffset(node)) - )[0]; -} - -/** - * When applying fixes, the postprocess step needs to know how to map fix ranges - * from their location in the linted JS to the original offset in the Markdown. - * Configuration comments and indentation trimming both complicate this process. - * - * Configuration comments appear in the linted JS but not in the Markdown code - * block. Fixes to configuration comments would cause undefined behavior and - * should be ignored during postprocessing. Fixes to actual code after - * configuration comments need to be mapped back to the code block after - * removing any offset due to configuration comments. - * - * Fenced code blocks can be indented by up to three spaces at the opening - * fence. Inside of a list, for example, this indent can be in addition to the - * indent already required for list item children. Leading whitespace inside - * indented code blocks is trimmed up to the level of the opening fence and does - * not appear in the linted code. Further, lines can have less leading - * whitespace than the opening fence, so not all lines are guaranteed to have - * the same column offset as the opening fence. - * - * The source code of a non-configuration-comment line in the linted JS is a - * suffix of the corresponding line in the Markdown code block. There are no - * differences within the line, so the mapping need only provide the offset - * delta at the beginning of each line. - * @param {string} text The text of the file. - * @param {ASTNode} node A Markdown code block AST node. - * @param {string[]} comments List of configuration comment strings that will be - * inserted at the beginning of the code block. - * @returns {RangeMap[]} A list of offset-based adjustments, where lookups are - * done based on the `js` key, which represents the range in the linted JS, - * and the `md` key is the offset delta that, when added to the JS range, - * returns the corresponding location in the original Markdown source. - */ -function getBlockRangeMap(text, node, comments) { - - /* - * The parser sets the fenced code block's start offset to wherever content - * should normally begin (typically the first column of the line, but more - * inside a list item, for example). The code block's opening fance may be - * further indented by up to three characters. If the code block has - * additional indenting, the opening fence's first backtick may be up to - * three whitespace characters after the start offset. - */ - const startOffset = getBeginningOfLineOffset(node); - - /* - * Extract the Markdown source to determine the leading whitespace for each - * line. - */ - const code = text.slice(startOffset, node.position.end.offset); - const lines = code.split("\n"); - - /* - * The parser trims leading whitespace from each line of code within the - * fenced code block up to the opening fence's first backtick. The first - * backtick's column is the AST node's starting column plus any additional - * indentation. - */ - const baseIndent = getIndentText(text, node).length; - - /* - * Track the length of any inserted configuration comments at the beginning - * of the linted JS and start the JS offset lookup keys at this index. - */ - const commentLength = comments.reduce((len, comment) => len + comment.length + 1, 0); - - /* - * In case there are configuration comments, initialize the map so that the - * first lookup index is always 0. If there are no configuration comments, - * the lookup index will also be 0, and the lookup should always go to the - * last range that matches, skipping this initialization entry. - */ - const rangeMap = [{ - js: 0, - md: 0 - }]; - - // Start the JS offset after any configuration comments. - let jsOffset = commentLength; - - /* - * Start the Markdown offset at the beginning of the block's first line of - * actual code. The first line of the block is always the opening fence, so - * the code begins on the second line. - */ - let mdOffset = startOffset + lines[0].length + 1; - - /* - * For each line, determine how much leading whitespace was trimmed due to - * indentation. Increase the JS lookup offset by the length of the line - * post-trimming and the Markdown offset by the total line length. - */ - for (let i = 0; i + 1 < lines.length; i++) { - const line = lines[i + 1]; - const leadingWhitespaceLength = leadingWhitespaceRegex.exec(line)[0].length; - - // The parser trims leading whitespace up to the level of the opening - // fence, so keep any additional indentation beyond that. - const trimLength = Math.min(baseIndent, leadingWhitespaceLength); - - rangeMap.push({ - js: jsOffset, - - // Advance `trimLength` character from the beginning of the Markdown - // line to the beginning of the equivalent JS line, then compute the - // delta. - md: mdOffset + trimLength - jsOffset - }); - - // Accumulate the current line in the offsets, and don't forget the - // newline. - mdOffset += line.length + 1; - jsOffset += line.length - trimLength + 1; - } - - return rangeMap; -} - -/** - * Extracts lintable code blocks from Markdown text. - * @param {string} text The text of the file. - * @param {string} filename The filename of the file - * @returns {Array<{ filename: string, text: string }>} Source code blocks to lint. - */ -function preprocess(text, filename) { - const ast = markdown.parse(text); - const blocks = []; - - blocksCache.set(filename, blocks); - - /** - * During the depth-first traversal, keep track of any sequences of HTML - * comment nodes containing `eslint-*` or `global` comments. If a code - * block immediately follows such a sequence, insert the comments at the - * top of the code block. Any non-ESLint comment or other node type breaks - * and empties the sequence. - * @type {string[]} - */ - let htmlComments = []; - - traverse(ast, { - "*"() { - htmlComments = []; - }, - code(node) { - if (node.lang) { - const comments = []; - - for (const comment of htmlComments) { - if (comment.trim() === "eslint-skip") { - htmlComments = []; - return; - } - - comments.push(`/*${comment}*/`); - } - - htmlComments = []; - - blocks.push({ - ...node, - baseIndentText: getIndentText(text, node), - comments, - rangeMap: getBlockRangeMap(text, node, comments) - }); - } - }, - html(node) { - const comment = getComment(node.value); - - if (comment) { - htmlComments.push(comment); - } else { - htmlComments = []; - } - } - }); - - return blocks.map((block, index) => ({ - filename: `${index}.${block.lang.trim().split(" ")[0]}`, - text: [ - ...block.comments, - block.value, - "" - ].join("\n") - })); -} - -/** - * Creates a map function that adjusts messages in a code block. - * @param {Block} block A code block. - * @returns {(message: Message) => Message} A function that adjusts messages in a code block. - */ -function adjustBlock(block) { - const leadingCommentLines = block.comments.reduce((count, comment) => count + comment.split("\n").length, 0); - - const blockStart = block.position.start.line; - - /** - * Adjusts ESLint messages to point to the correct location in the Markdown. - * @param {Message} message A message from ESLint. - * @returns {Message} The same message, but adjusted to the correct location. - */ - return function adjustMessage(message) { - - const lineInCode = message.line - leadingCommentLines; - - if (lineInCode < 1) { - return null; - } - - const out = { - line: lineInCode + blockStart, - column: message.column + block.position.indent[lineInCode - 1] - 1 - }; - - if (Number.isInteger(message.endLine)) { - out.endLine = message.endLine - leadingCommentLines + blockStart; - } - - const adjustedFix = {}; - - if (message.fix) { - adjustedFix.fix = { - range: message.fix.range.map(range => { - - // Advance through the block's range map to find the last - // matching range by finding the first range too far and - // then going back one. - let i = 1; - - while (i < block.rangeMap.length && block.rangeMap[i].js <= range) { - i++; - } - - // Apply the mapping delta for this range. - return range + block.rangeMap[i - 1].md; - }), - text: message.fix.text.replace(/\n/gu, `\n${block.baseIndentText}`) - }; - } - - return { ...message, ...out, ...adjustedFix }; - }; -} - -/** - * Excludes unsatisfiable rules from the list of messages. - * @param {Message} message A message from the linter. - * @returns {boolean} True if the message should be included in output. - */ -function excludeUnsatisfiableRules(message) { - return message && UNSATISFIABLE_RULES.indexOf(message.ruleId) < 0; -} - -/** - * Transforms generated messages for output. - * @param {Array} messages An array containing one array of messages - * for each code block returned from `preprocess`. - * @param {string} filename The filename of the file - * @returns {Message[]} A flattened array of messages with mapped locations. - */ -function postprocess(messages, filename) { - const blocks = blocksCache.get(filename); - - blocksCache.delete(filename); - - return [].concat(...messages.map((group, i) => { - const adjust = adjustBlock(blocks[i]); - - return group.map(adjust).filter(excludeUnsatisfiableRules); - })); -} - -module.exports = { - preprocess, - postprocess, - supportsAutofix: SUPPORTS_AUTOFIX -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js deleted file mode 100644 index ef5e8807adf193..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict' - -module.exports = bail - -function bail(err) { - if (err) { - throw err - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/license b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/license deleted file mode 100644 index 32e7a3d93ca5a2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json deleted file mode 100644 index 8f8539d32b89b6..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "bail", - "version": "1.0.5", - "description": "Throw a given error", - "license": "MIT", - "keywords": [ - "fail", - "bail", - "throw", - "callback", - "error" - ], - "repository": "wooorm/bail", - "bugs": "https://github.com/wooorm/bail/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.js -s bail -o bail.js", - "build-mangle": "browserify index.js -s bail -p tinyify -o bail.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "bail.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md deleted file mode 100644 index 8e7b0863c01d2b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md +++ /dev/null @@ -1,84 +0,0 @@ -# bail - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -:warning: Throw a given error. - -## Install - -[npm][]: - -```sh -npm install bail -``` - -## Use - -```js -var bail = require('bail') - -bail() - -bail(new Error('failure')) -// Error: failure -// at repl:1:6 -// at REPLServer.defaultEval (repl.js:154:27) -// … -``` - -## API - -### `bail([err])` - -Throw a given error. - -###### Parameters - -* `err` (`Error?`) — Optional error. - -###### Throws - -* `Error` — Given error, if any. - -## Related - -* [`noop`][noop] -* [`noop2`][noop2] -* [`noop3`][noop3] - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/bail.svg - -[build]: https://travis-ci.org/wooorm/bail - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/bail.svg - -[coverage]: https://codecov.io/github/wooorm/bail - -[downloads-badge]: https://img.shields.io/npm/dm/bail.svg - -[downloads]: https://www.npmjs.com/package/bail - -[size-badge]: https://img.shields.io/bundlephobia/minzip/bail.svg - -[size]: https://bundlephobia.com/result?p=bail - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[noop]: https://www.npmjs.com/package/noop - -[noop2]: https://www.npmjs.com/package/noop2 - -[noop3]: https://www.npmjs.com/package/noop3 diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/index.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/index.json deleted file mode 100644 index d83b75251b7928..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/index.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "AElig": "Æ", - "AMP": "&", - "Aacute": "Á", - "Acirc": "Â", - "Agrave": "À", - "Aring": "Å", - "Atilde": "Ã", - "Auml": "Ä", - "COPY": "©", - "Ccedil": "Ç", - "ETH": "Ð", - "Eacute": "É", - "Ecirc": "Ê", - "Egrave": "È", - "Euml": "Ë", - "GT": ">", - "Iacute": "Í", - "Icirc": "Î", - "Igrave": "Ì", - "Iuml": "Ï", - "LT": "<", - "Ntilde": "Ñ", - "Oacute": "Ó", - "Ocirc": "Ô", - "Ograve": "Ò", - "Oslash": "Ø", - "Otilde": "Õ", - "Ouml": "Ö", - "QUOT": "\"", - "REG": "®", - "THORN": "Þ", - "Uacute": "Ú", - "Ucirc": "Û", - "Ugrave": "Ù", - "Uuml": "Ü", - "Yacute": "Ý", - "aacute": "á", - "acirc": "â", - "acute": "´", - "aelig": "æ", - "agrave": "à", - "amp": "&", - "aring": "å", - "atilde": "ã", - "auml": "ä", - "brvbar": "¦", - "ccedil": "ç", - "cedil": "¸", - "cent": "¢", - "copy": "©", - "curren": "¤", - "deg": "°", - "divide": "÷", - "eacute": "é", - "ecirc": "ê", - "egrave": "è", - "eth": "ð", - "euml": "ë", - "frac12": "½", - "frac14": "¼", - "frac34": "¾", - "gt": ">", - "iacute": "í", - "icirc": "î", - "iexcl": "¡", - "igrave": "ì", - "iquest": "¿", - "iuml": "ï", - "laquo": "«", - "lt": "<", - "macr": "¯", - "micro": "µ", - "middot": "·", - "nbsp": " ", - "not": "¬", - "ntilde": "ñ", - "oacute": "ó", - "ocirc": "ô", - "ograve": "ò", - "ordf": "ª", - "ordm": "º", - "oslash": "ø", - "otilde": "õ", - "ouml": "ö", - "para": "¶", - "plusmn": "±", - "pound": "£", - "quot": "\"", - "raquo": "»", - "reg": "®", - "sect": "§", - "shy": "­", - "sup1": "¹", - "sup2": "²", - "sup3": "³", - "szlig": "ß", - "thorn": "þ", - "times": "×", - "uacute": "ú", - "ucirc": "û", - "ugrave": "ù", - "uml": "¨", - "uuml": "ü", - "yacute": "ý", - "yen": "¥", - "yuml": "ÿ" -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/license b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/license deleted file mode 100644 index 32e7a3d93ca5a2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/package.json deleted file mode 100644 index e532b8714df3e8..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "character-entities-legacy", - "version": "1.1.4", - "description": "HTML legacy character entity information", - "license": "MIT", - "keywords": [ - "html", - "entity", - "entities", - "character", - "reference", - "name", - "replacement" - ], - "repository": "wooorm/character-entities-legacy", - "bugs": "https://github.com/wooorm/character-entities-legacy/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "main": "index.json", - "files": [ - "index.json" - ], - "dependencies": {}, - "devDependencies": { - "bail": "^1.0.0", - "browserify": "^16.0.0", - "concat-stream": "^2.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "generate": "node build", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.json -s characterEntitiesLegacy -o character-entities-legacy.js", - "build-mangle": "browserify index.json -s characterEntitiesLegacy -p tinyify -o character-entities-legacy.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test": "npm run generate && npm run format && npm run build && npm run test-api" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "character-entities-legacy.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/readme.md deleted file mode 100644 index 711a090a7d205f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# character-entities-legacy - -[![Build][build-badge]][build] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -HTML legacy character entity information: for legacy reasons some character -entities are not required to have a trailing semicolon: `©` is perfectly -okay for `©`. - -## Install - -[npm][]: - -```sh -npm install character-entities-legacy -``` - -## Use - -```js -var characterEntitiesLegacy = require('character-entities-legacy') - -console.log(characterEntitiesLegacy.copy) // => '©' -console.log(characterEntitiesLegacy.frac34) // => '¾' -console.log(characterEntitiesLegacy.sup1) // => '¹' -``` - -## API - -### `characterEntitiesLegacy` - -Mapping between (case-sensitive) legacy character entity names to replacements. - -## Support - -See [`whatwg/html`][html]. - -## Related - -* [`character-entities`](https://github.com/wooorm/character-entities) - — HTML character entity info -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — HTML 4 character entity info -* [`parse-entities`](https://github.com/wooorm/parse-entities) - — Parse HTML character references -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Serialize HTML character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/character-entities-legacy.svg - -[build]: https://travis-ci.org/wooorm/character-entities-legacy - -[downloads-badge]: https://img.shields.io/npm/dm/character-entities-legacy.svg - -[downloads]: https://www.npmjs.com/package/character-entities-legacy - -[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities-legacy.svg - -[size]: https://bundlephobia.com/result?p=character-entities-legacy - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[html]: https://raw.githubusercontent.com/whatwg/html/master/json-entities-legacy.inc diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/index.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/index.json deleted file mode 100644 index a63babe093521d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/index.json +++ /dev/null @@ -1,2224 +0,0 @@ -{ - "AEli": "Æ", - "AElig": "Æ", - "AM": "&", - "AMP": "&", - "Aacut": "Á", - "Aacute": "Á", - "Abreve": "Ă", - "Acir": "Â", - "Acirc": "Â", - "Acy": "А", - "Afr": "𝔄", - "Agrav": "À", - "Agrave": "À", - "Alpha": "Α", - "Amacr": "Ā", - "And": "⩓", - "Aogon": "Ą", - "Aopf": "𝔸", - "ApplyFunction": "⁡", - "Arin": "Å", - "Aring": "Å", - "Ascr": "𝒜", - "Assign": "≔", - "Atild": "Ã", - "Atilde": "Ã", - "Aum": "Ä", - "Auml": "Ä", - "Backslash": "∖", - "Barv": "⫧", - "Barwed": "⌆", - "Bcy": "Б", - "Because": "∵", - "Bernoullis": "ℬ", - "Beta": "Β", - "Bfr": "𝔅", - "Bopf": "𝔹", - "Breve": "˘", - "Bscr": "ℬ", - "Bumpeq": "≎", - "CHcy": "Ч", - "COP": "©", - "COPY": "©", - "Cacute": "Ć", - "Cap": "⋒", - "CapitalDifferentialD": "ⅅ", - "Cayleys": "ℭ", - "Ccaron": "Č", - "Ccedi": "Ç", - "Ccedil": "Ç", - "Ccirc": "Ĉ", - "Cconint": "∰", - "Cdot": "Ċ", - "Cedilla": "¸", - "CenterDot": "·", - "Cfr": "ℭ", - "Chi": "Χ", - "CircleDot": "⊙", - "CircleMinus": "⊖", - "CirclePlus": "⊕", - "CircleTimes": "⊗", - "ClockwiseContourIntegral": "∲", - "CloseCurlyDoubleQuote": "”", - "CloseCurlyQuote": "’", - "Colon": "∷", - "Colone": "⩴", - "Congruent": "≡", - "Conint": "∯", - "ContourIntegral": "∮", - "Copf": "ℂ", - "Coproduct": "∐", - "CounterClockwiseContourIntegral": "∳", - "Cross": "⨯", - "Cscr": "𝒞", - "Cup": "⋓", - "CupCap": "≍", - "DD": "ⅅ", - "DDotrahd": "⤑", - "DJcy": "Ђ", - "DScy": "Ѕ", - "DZcy": "Џ", - "Dagger": "‡", - "Darr": "↡", - "Dashv": "⫤", - "Dcaron": "Ď", - "Dcy": "Д", - "Del": "∇", - "Delta": "Δ", - "Dfr": "𝔇", - "DiacriticalAcute": "´", - "DiacriticalDot": "˙", - "DiacriticalDoubleAcute": "˝", - "DiacriticalGrave": "`", - "DiacriticalTilde": "˜", - "Diamond": "⋄", - "DifferentialD": "ⅆ", - "Dopf": "𝔻", - "Dot": "¨", - "DotDot": "⃜", - "DotEqual": "≐", - "DoubleContourIntegral": "∯", - "DoubleDot": "¨", - "DoubleDownArrow": "⇓", - "DoubleLeftArrow": "⇐", - "DoubleLeftRightArrow": "⇔", - "DoubleLeftTee": "⫤", - "DoubleLongLeftArrow": "⟸", - "DoubleLongLeftRightArrow": "⟺", - "DoubleLongRightArrow": "⟹", - "DoubleRightArrow": "⇒", - "DoubleRightTee": "⊨", - "DoubleUpArrow": "⇑", - "DoubleUpDownArrow": "⇕", - "DoubleVerticalBar": "∥", - "DownArrow": "↓", - "DownArrowBar": "⤓", - "DownArrowUpArrow": "⇵", - "DownBreve": "̑", - "DownLeftRightVector": "⥐", - "DownLeftTeeVector": "⥞", - "DownLeftVector": "↽", - "DownLeftVectorBar": "⥖", - "DownRightTeeVector": "⥟", - "DownRightVector": "⇁", - "DownRightVectorBar": "⥗", - "DownTee": "⊤", - "DownTeeArrow": "↧", - "Downarrow": "⇓", - "Dscr": "𝒟", - "Dstrok": "Đ", - "ENG": "Ŋ", - "ET": "Ð", - "ETH": "Ð", - "Eacut": "É", - "Eacute": "É", - "Ecaron": "Ě", - "Ecir": "Ê", - "Ecirc": "Ê", - "Ecy": "Э", - "Edot": "Ė", - "Efr": "𝔈", - "Egrav": "È", - "Egrave": "È", - "Element": "∈", - "Emacr": "Ē", - "EmptySmallSquare": "◻", - "EmptyVerySmallSquare": "▫", - "Eogon": "Ę", - "Eopf": "𝔼", - "Epsilon": "Ε", - "Equal": "⩵", - "EqualTilde": "≂", - "Equilibrium": "⇌", - "Escr": "ℰ", - "Esim": "⩳", - "Eta": "Η", - "Eum": "Ë", - "Euml": "Ë", - "Exists": "∃", - "ExponentialE": "ⅇ", - "Fcy": "Ф", - "Ffr": "𝔉", - "FilledSmallSquare": "◼", - "FilledVerySmallSquare": "▪", - "Fopf": "𝔽", - "ForAll": "∀", - "Fouriertrf": "ℱ", - "Fscr": "ℱ", - "GJcy": "Ѓ", - "G": ">", - "GT": ">", - "Gamma": "Γ", - "Gammad": "Ϝ", - "Gbreve": "Ğ", - "Gcedil": "Ģ", - "Gcirc": "Ĝ", - "Gcy": "Г", - "Gdot": "Ġ", - "Gfr": "𝔊", - "Gg": "⋙", - "Gopf": "𝔾", - "GreaterEqual": "≥", - "GreaterEqualLess": "⋛", - "GreaterFullEqual": "≧", - "GreaterGreater": "⪢", - "GreaterLess": "≷", - "GreaterSlantEqual": "⩾", - "GreaterTilde": "≳", - "Gscr": "𝒢", - "Gt": "≫", - "HARDcy": "Ъ", - "Hacek": "ˇ", - "Hat": "^", - "Hcirc": "Ĥ", - "Hfr": "ℌ", - "HilbertSpace": "ℋ", - "Hopf": "ℍ", - "HorizontalLine": "─", - "Hscr": "ℋ", - "Hstrok": "Ħ", - "HumpDownHump": "≎", - "HumpEqual": "≏", - "IEcy": "Е", - "IJlig": "IJ", - "IOcy": "Ё", - "Iacut": "Í", - "Iacute": "Í", - "Icir": "Î", - "Icirc": "Î", - "Icy": "И", - "Idot": "İ", - "Ifr": "ℑ", - "Igrav": "Ì", - "Igrave": "Ì", - "Im": "ℑ", - "Imacr": "Ī", - "ImaginaryI": "ⅈ", - "Implies": "⇒", - "Int": "∬", - "Integral": "∫", - "Intersection": "⋂", - "InvisibleComma": "⁣", - "InvisibleTimes": "⁢", - "Iogon": "Į", - "Iopf": "𝕀", - "Iota": "Ι", - "Iscr": "ℐ", - "Itilde": "Ĩ", - "Iukcy": "І", - "Ium": "Ï", - "Iuml": "Ï", - "Jcirc": "Ĵ", - "Jcy": "Й", - "Jfr": "𝔍", - "Jopf": "𝕁", - "Jscr": "𝒥", - "Jsercy": "Ј", - "Jukcy": "Є", - "KHcy": "Х", - "KJcy": "Ќ", - "Kappa": "Κ", - "Kcedil": "Ķ", - "Kcy": "К", - "Kfr": "𝔎", - "Kopf": "𝕂", - "Kscr": "𝒦", - "LJcy": "Љ", - "L": "<", - "LT": "<", - "Lacute": "Ĺ", - "Lambda": "Λ", - "Lang": "⟪", - "Laplacetrf": "ℒ", - "Larr": "↞", - "Lcaron": "Ľ", - "Lcedil": "Ļ", - "Lcy": "Л", - "LeftAngleBracket": "⟨", - "LeftArrow": "←", - "LeftArrowBar": "⇤", - "LeftArrowRightArrow": "⇆", - "LeftCeiling": "⌈", - "LeftDoubleBracket": "⟦", - "LeftDownTeeVector": "⥡", - "LeftDownVector": "⇃", - "LeftDownVectorBar": "⥙", - "LeftFloor": "⌊", - "LeftRightArrow": "↔", - "LeftRightVector": "⥎", - "LeftTee": "⊣", - "LeftTeeArrow": "↤", - "LeftTeeVector": "⥚", - "LeftTriangle": "⊲", - "LeftTriangleBar": "⧏", - "LeftTriangleEqual": "⊴", - "LeftUpDownVector": "⥑", - "LeftUpTeeVector": "⥠", - "LeftUpVector": "↿", - "LeftUpVectorBar": "⥘", - "LeftVector": "↼", - "LeftVectorBar": "⥒", - "Leftarrow": "⇐", - "Leftrightarrow": "⇔", - "LessEqualGreater": "⋚", - "LessFullEqual": "≦", - "LessGreater": "≶", - "LessLess": "⪡", - "LessSlantEqual": "⩽", - "LessTilde": "≲", - "Lfr": "𝔏", - "Ll": "⋘", - "Lleftarrow": "⇚", - "Lmidot": "Ŀ", - "LongLeftArrow": "⟵", - "LongLeftRightArrow": "⟷", - "LongRightArrow": "⟶", - "Longleftarrow": "⟸", - "Longleftrightarrow": "⟺", - "Longrightarrow": "⟹", - "Lopf": "𝕃", - "LowerLeftArrow": "↙", - "LowerRightArrow": "↘", - "Lscr": "ℒ", - "Lsh": "↰", - "Lstrok": "Ł", - "Lt": "≪", - "Map": "⤅", - "Mcy": "М", - "MediumSpace": " ", - "Mellintrf": "ℳ", - "Mfr": "𝔐", - "MinusPlus": "∓", - "Mopf": "𝕄", - "Mscr": "ℳ", - "Mu": "Μ", - "NJcy": "Њ", - "Nacute": "Ń", - "Ncaron": "Ň", - "Ncedil": "Ņ", - "Ncy": "Н", - "NegativeMediumSpace": "​", - "NegativeThickSpace": "​", - "NegativeThinSpace": "​", - "NegativeVeryThinSpace": "​", - "NestedGreaterGreater": "≫", - "NestedLessLess": "≪", - "NewLine": "\n", - "Nfr": "𝔑", - "NoBreak": "⁠", - "NonBreakingSpace": " ", - "Nopf": "ℕ", - "Not": "⫬", - "NotCongruent": "≢", - "NotCupCap": "≭", - "NotDoubleVerticalBar": "∦", - "NotElement": "∉", - "NotEqual": "≠", - "NotEqualTilde": "≂̸", - "NotExists": "∄", - "NotGreater": "≯", - "NotGreaterEqual": "≱", - "NotGreaterFullEqual": "≧̸", - "NotGreaterGreater": "≫̸", - "NotGreaterLess": "≹", - "NotGreaterSlantEqual": "⩾̸", - "NotGreaterTilde": "≵", - "NotHumpDownHump": "≎̸", - "NotHumpEqual": "≏̸", - "NotLeftTriangle": "⋪", - "NotLeftTriangleBar": "⧏̸", - "NotLeftTriangleEqual": "⋬", - "NotLess": "≮", - "NotLessEqual": "≰", - "NotLessGreater": "≸", - "NotLessLess": "≪̸", - "NotLessSlantEqual": "⩽̸", - "NotLessTilde": "≴", - "NotNestedGreaterGreater": "⪢̸", - "NotNestedLessLess": "⪡̸", - "NotPrecedes": "⊀", - "NotPrecedesEqual": "⪯̸", - "NotPrecedesSlantEqual": "⋠", - "NotReverseElement": "∌", - "NotRightTriangle": "⋫", - "NotRightTriangleBar": "⧐̸", - "NotRightTriangleEqual": "⋭", - "NotSquareSubset": "⊏̸", - "NotSquareSubsetEqual": "⋢", - "NotSquareSuperset": "⊐̸", - "NotSquareSupersetEqual": "⋣", - "NotSubset": "⊂⃒", - "NotSubsetEqual": "⊈", - "NotSucceeds": "⊁", - "NotSucceedsEqual": "⪰̸", - "NotSucceedsSlantEqual": "⋡", - "NotSucceedsTilde": "≿̸", - "NotSuperset": "⊃⃒", - "NotSupersetEqual": "⊉", - "NotTilde": "≁", - "NotTildeEqual": "≄", - "NotTildeFullEqual": "≇", - "NotTildeTilde": "≉", - "NotVerticalBar": "∤", - "Nscr": "𝒩", - "Ntild": "Ñ", - "Ntilde": "Ñ", - "Nu": "Ν", - "OElig": "Œ", - "Oacut": "Ó", - "Oacute": "Ó", - "Ocir": "Ô", - "Ocirc": "Ô", - "Ocy": "О", - "Odblac": "Ő", - "Ofr": "𝔒", - "Ograv": "Ò", - "Ograve": "Ò", - "Omacr": "Ō", - "Omega": "Ω", - "Omicron": "Ο", - "Oopf": "𝕆", - "OpenCurlyDoubleQuote": "“", - "OpenCurlyQuote": "‘", - "Or": "⩔", - "Oscr": "𝒪", - "Oslas": "Ø", - "Oslash": "Ø", - "Otild": "Õ", - "Otilde": "Õ", - "Otimes": "⨷", - "Oum": "Ö", - "Ouml": "Ö", - "OverBar": "‾", - "OverBrace": "⏞", - "OverBracket": "⎴", - "OverParenthesis": "⏜", - "PartialD": "∂", - "Pcy": "П", - "Pfr": "𝔓", - "Phi": "Φ", - "Pi": "Π", - "PlusMinus": "±", - "Poincareplane": "ℌ", - "Popf": "ℙ", - "Pr": "⪻", - "Precedes": "≺", - "PrecedesEqual": "⪯", - "PrecedesSlantEqual": "≼", - "PrecedesTilde": "≾", - "Prime": "″", - "Product": "∏", - "Proportion": "∷", - "Proportional": "∝", - "Pscr": "𝒫", - "Psi": "Ψ", - "QUO": "\"", - "QUOT": "\"", - "Qfr": "𝔔", - "Qopf": "ℚ", - "Qscr": "𝒬", - "RBarr": "⤐", - "RE": "®", - "REG": "®", - "Racute": "Ŕ", - "Rang": "⟫", - "Rarr": "↠", - "Rarrtl": "⤖", - "Rcaron": "Ř", - "Rcedil": "Ŗ", - "Rcy": "Р", - "Re": "ℜ", - "ReverseElement": "∋", - "ReverseEquilibrium": "⇋", - "ReverseUpEquilibrium": "⥯", - "Rfr": "ℜ", - "Rho": "Ρ", - "RightAngleBracket": "⟩", - "RightArrow": "→", - "RightArrowBar": "⇥", - "RightArrowLeftArrow": "⇄", - "RightCeiling": "⌉", - "RightDoubleBracket": "⟧", - "RightDownTeeVector": "⥝", - "RightDownVector": "⇂", - "RightDownVectorBar": "⥕", - "RightFloor": "⌋", - "RightTee": "⊢", - "RightTeeArrow": "↦", - "RightTeeVector": "⥛", - "RightTriangle": "⊳", - "RightTriangleBar": "⧐", - "RightTriangleEqual": "⊵", - "RightUpDownVector": "⥏", - "RightUpTeeVector": "⥜", - "RightUpVector": "↾", - "RightUpVectorBar": "⥔", - "RightVector": "⇀", - "RightVectorBar": "⥓", - "Rightarrow": "⇒", - "Ropf": "ℝ", - "RoundImplies": "⥰", - "Rrightarrow": "⇛", - "Rscr": "ℛ", - "Rsh": "↱", - "RuleDelayed": "⧴", - "SHCHcy": "Щ", - "SHcy": "Ш", - "SOFTcy": "Ь", - "Sacute": "Ś", - "Sc": "⪼", - "Scaron": "Š", - "Scedil": "Ş", - "Scirc": "Ŝ", - "Scy": "С", - "Sfr": "𝔖", - "ShortDownArrow": "↓", - "ShortLeftArrow": "←", - "ShortRightArrow": "→", - "ShortUpArrow": "↑", - "Sigma": "Σ", - "SmallCircle": "∘", - "Sopf": "𝕊", - "Sqrt": "√", - "Square": "□", - "SquareIntersection": "⊓", - "SquareSubset": "⊏", - "SquareSubsetEqual": "⊑", - "SquareSuperset": "⊐", - "SquareSupersetEqual": "⊒", - "SquareUnion": "⊔", - "Sscr": "𝒮", - "Star": "⋆", - "Sub": "⋐", - "Subset": "⋐", - "SubsetEqual": "⊆", - "Succeeds": "≻", - "SucceedsEqual": "⪰", - "SucceedsSlantEqual": "≽", - "SucceedsTilde": "≿", - "SuchThat": "∋", - "Sum": "∑", - "Sup": "⋑", - "Superset": "⊃", - "SupersetEqual": "⊇", - "Supset": "⋑", - "THOR": "Þ", - "THORN": "Þ", - "TRADE": "™", - "TSHcy": "Ћ", - "TScy": "Ц", - "Tab": "\t", - "Tau": "Τ", - "Tcaron": "Ť", - "Tcedil": "Ţ", - "Tcy": "Т", - "Tfr": "𝔗", - "Therefore": "∴", - "Theta": "Θ", - "ThickSpace": "  ", - "ThinSpace": " ", - "Tilde": "∼", - "TildeEqual": "≃", - "TildeFullEqual": "≅", - "TildeTilde": "≈", - "Topf": "𝕋", - "TripleDot": "⃛", - "Tscr": "𝒯", - "Tstrok": "Ŧ", - "Uacut": "Ú", - "Uacute": "Ú", - "Uarr": "↟", - "Uarrocir": "⥉", - "Ubrcy": "Ў", - "Ubreve": "Ŭ", - "Ucir": "Û", - "Ucirc": "Û", - "Ucy": "У", - "Udblac": "Ű", - "Ufr": "𝔘", - "Ugrav": "Ù", - "Ugrave": "Ù", - "Umacr": "Ū", - "UnderBar": "_", - "UnderBrace": "⏟", - "UnderBracket": "⎵", - "UnderParenthesis": "⏝", - "Union": "⋃", - "UnionPlus": "⊎", - "Uogon": "Ų", - "Uopf": "𝕌", - "UpArrow": "↑", - "UpArrowBar": "⤒", - "UpArrowDownArrow": "⇅", - "UpDownArrow": "↕", - "UpEquilibrium": "⥮", - "UpTee": "⊥", - "UpTeeArrow": "↥", - "Uparrow": "⇑", - "Updownarrow": "⇕", - "UpperLeftArrow": "↖", - "UpperRightArrow": "↗", - "Upsi": "ϒ", - "Upsilon": "Υ", - "Uring": "Ů", - "Uscr": "𝒰", - "Utilde": "Ũ", - "Uum": "Ü", - "Uuml": "Ü", - "VDash": "⊫", - "Vbar": "⫫", - "Vcy": "В", - "Vdash": "⊩", - "Vdashl": "⫦", - "Vee": "⋁", - "Verbar": "‖", - "Vert": "‖", - "VerticalBar": "∣", - "VerticalLine": "|", - "VerticalSeparator": "❘", - "VerticalTilde": "≀", - "VeryThinSpace": " ", - "Vfr": "𝔙", - "Vopf": "𝕍", - "Vscr": "𝒱", - "Vvdash": "⊪", - "Wcirc": "Ŵ", - "Wedge": "⋀", - "Wfr": "𝔚", - "Wopf": "𝕎", - "Wscr": "𝒲", - "Xfr": "𝔛", - "Xi": "Ξ", - "Xopf": "𝕏", - "Xscr": "𝒳", - "YAcy": "Я", - "YIcy": "Ї", - "YUcy": "Ю", - "Yacut": "Ý", - "Yacute": "Ý", - "Ycirc": "Ŷ", - "Ycy": "Ы", - "Yfr": "𝔜", - "Yopf": "𝕐", - "Yscr": "𝒴", - "Yuml": "Ÿ", - "ZHcy": "Ж", - "Zacute": "Ź", - "Zcaron": "Ž", - "Zcy": "З", - "Zdot": "Ż", - "ZeroWidthSpace": "​", - "Zeta": "Ζ", - "Zfr": "ℨ", - "Zopf": "ℤ", - "Zscr": "𝒵", - "aacut": "á", - "aacute": "á", - "abreve": "ă", - "ac": "∾", - "acE": "∾̳", - "acd": "∿", - "acir": "â", - "acirc": "â", - "acut": "´", - "acute": "´", - "acy": "а", - "aeli": "æ", - "aelig": "æ", - "af": "⁡", - "afr": "𝔞", - "agrav": "à", - "agrave": "à", - "alefsym": "ℵ", - "aleph": "ℵ", - "alpha": "α", - "amacr": "ā", - "amalg": "⨿", - "am": "&", - "amp": "&", - "and": "∧", - "andand": "⩕", - "andd": "⩜", - "andslope": "⩘", - "andv": "⩚", - "ang": "∠", - "ange": "⦤", - "angle": "∠", - "angmsd": "∡", - "angmsdaa": "⦨", - "angmsdab": "⦩", - "angmsdac": "⦪", - "angmsdad": "⦫", - "angmsdae": "⦬", - "angmsdaf": "⦭", - "angmsdag": "⦮", - "angmsdah": "⦯", - "angrt": "∟", - "angrtvb": "⊾", - "angrtvbd": "⦝", - "angsph": "∢", - "angst": "Å", - "angzarr": "⍼", - "aogon": "ą", - "aopf": "𝕒", - "ap": "≈", - "apE": "⩰", - "apacir": "⩯", - "ape": "≊", - "apid": "≋", - "apos": "'", - "approx": "≈", - "approxeq": "≊", - "arin": "å", - "aring": "å", - "ascr": "𝒶", - "ast": "*", - "asymp": "≈", - "asympeq": "≍", - "atild": "ã", - "atilde": "ã", - "aum": "ä", - "auml": "ä", - "awconint": "∳", - "awint": "⨑", - "bNot": "⫭", - "backcong": "≌", - "backepsilon": "϶", - "backprime": "‵", - "backsim": "∽", - "backsimeq": "⋍", - "barvee": "⊽", - "barwed": "⌅", - "barwedge": "⌅", - "bbrk": "⎵", - "bbrktbrk": "⎶", - "bcong": "≌", - "bcy": "б", - "bdquo": "„", - "becaus": "∵", - "because": "∵", - "bemptyv": "⦰", - "bepsi": "϶", - "bernou": "ℬ", - "beta": "β", - "beth": "ℶ", - "between": "≬", - "bfr": "𝔟", - "bigcap": "⋂", - "bigcirc": "◯", - "bigcup": "⋃", - "bigodot": "⨀", - "bigoplus": "⨁", - "bigotimes": "⨂", - "bigsqcup": "⨆", - "bigstar": "★", - "bigtriangledown": "▽", - "bigtriangleup": "△", - "biguplus": "⨄", - "bigvee": "⋁", - "bigwedge": "⋀", - "bkarow": "⤍", - "blacklozenge": "⧫", - "blacksquare": "▪", - "blacktriangle": "▴", - "blacktriangledown": "▾", - "blacktriangleleft": "◂", - "blacktriangleright": "▸", - "blank": "␣", - "blk12": "▒", - "blk14": "░", - "blk34": "▓", - "block": "█", - "bne": "=⃥", - "bnequiv": "≡⃥", - "bnot": "⌐", - "bopf": "𝕓", - "bot": "⊥", - "bottom": "⊥", - "bowtie": "⋈", - "boxDL": "╗", - "boxDR": "╔", - "boxDl": "╖", - "boxDr": "╓", - "boxH": "═", - "boxHD": "╦", - "boxHU": "╩", - "boxHd": "╤", - "boxHu": "╧", - "boxUL": "╝", - "boxUR": "╚", - "boxUl": "╜", - "boxUr": "╙", - "boxV": "║", - "boxVH": "╬", - "boxVL": "╣", - "boxVR": "╠", - "boxVh": "╫", - "boxVl": "╢", - "boxVr": "╟", - "boxbox": "⧉", - "boxdL": "╕", - "boxdR": "╒", - "boxdl": "┐", - "boxdr": "┌", - "boxh": "─", - "boxhD": "╥", - "boxhU": "╨", - "boxhd": "┬", - "boxhu": "┴", - "boxminus": "⊟", - "boxplus": "⊞", - "boxtimes": "⊠", - "boxuL": "╛", - "boxuR": "╘", - "boxul": "┘", - "boxur": "└", - "boxv": "│", - "boxvH": "╪", - "boxvL": "╡", - "boxvR": "╞", - "boxvh": "┼", - "boxvl": "┤", - "boxvr": "├", - "bprime": "‵", - "breve": "˘", - "brvba": "¦", - "brvbar": "¦", - "bscr": "𝒷", - "bsemi": "⁏", - "bsim": "∽", - "bsime": "⋍", - "bsol": "\\", - "bsolb": "⧅", - "bsolhsub": "⟈", - "bull": "•", - "bullet": "•", - "bump": "≎", - "bumpE": "⪮", - "bumpe": "≏", - "bumpeq": "≏", - "cacute": "ć", - "cap": "∩", - "capand": "⩄", - "capbrcup": "⩉", - "capcap": "⩋", - "capcup": "⩇", - "capdot": "⩀", - "caps": "∩︀", - "caret": "⁁", - "caron": "ˇ", - "ccaps": "⩍", - "ccaron": "č", - "ccedi": "ç", - "ccedil": "ç", - "ccirc": "ĉ", - "ccups": "⩌", - "ccupssm": "⩐", - "cdot": "ċ", - "cedi": "¸", - "cedil": "¸", - "cemptyv": "⦲", - "cen": "¢", - "cent": "¢", - "centerdot": "·", - "cfr": "𝔠", - "chcy": "ч", - "check": "✓", - "checkmark": "✓", - "chi": "χ", - "cir": "○", - "cirE": "⧃", - "circ": "ˆ", - "circeq": "≗", - "circlearrowleft": "↺", - "circlearrowright": "↻", - "circledR": "®", - "circledS": "Ⓢ", - "circledast": "⊛", - "circledcirc": "⊚", - "circleddash": "⊝", - "cire": "≗", - "cirfnint": "⨐", - "cirmid": "⫯", - "cirscir": "⧂", - "clubs": "♣", - "clubsuit": "♣", - "colon": ":", - "colone": "≔", - "coloneq": "≔", - "comma": ",", - "commat": "@", - "comp": "∁", - "compfn": "∘", - "complement": "∁", - "complexes": "ℂ", - "cong": "≅", - "congdot": "⩭", - "conint": "∮", - "copf": "𝕔", - "coprod": "∐", - "cop": "©", - "copy": "©", - "copysr": "℗", - "crarr": "↵", - "cross": "✗", - "cscr": "𝒸", - "csub": "⫏", - "csube": "⫑", - "csup": "⫐", - "csupe": "⫒", - "ctdot": "⋯", - "cudarrl": "⤸", - "cudarrr": "⤵", - "cuepr": "⋞", - "cuesc": "⋟", - "cularr": "↶", - "cularrp": "⤽", - "cup": "∪", - "cupbrcap": "⩈", - "cupcap": "⩆", - "cupcup": "⩊", - "cupdot": "⊍", - "cupor": "⩅", - "cups": "∪︀", - "curarr": "↷", - "curarrm": "⤼", - "curlyeqprec": "⋞", - "curlyeqsucc": "⋟", - "curlyvee": "⋎", - "curlywedge": "⋏", - "curre": "¤", - "curren": "¤", - "curvearrowleft": "↶", - "curvearrowright": "↷", - "cuvee": "⋎", - "cuwed": "⋏", - "cwconint": "∲", - "cwint": "∱", - "cylcty": "⌭", - "dArr": "⇓", - "dHar": "⥥", - "dagger": "†", - "daleth": "ℸ", - "darr": "↓", - "dash": "‐", - "dashv": "⊣", - "dbkarow": "⤏", - "dblac": "˝", - "dcaron": "ď", - "dcy": "д", - "dd": "ⅆ", - "ddagger": "‡", - "ddarr": "⇊", - "ddotseq": "⩷", - "de": "°", - "deg": "°", - "delta": "δ", - "demptyv": "⦱", - "dfisht": "⥿", - "dfr": "𝔡", - "dharl": "⇃", - "dharr": "⇂", - "diam": "⋄", - "diamond": "⋄", - "diamondsuit": "♦", - "diams": "♦", - "die": "¨", - "digamma": "ϝ", - "disin": "⋲", - "div": "÷", - "divid": "÷", - "divide": "÷", - "divideontimes": "⋇", - "divonx": "⋇", - "djcy": "ђ", - "dlcorn": "⌞", - "dlcrop": "⌍", - "dollar": "$", - "dopf": "𝕕", - "dot": "˙", - "doteq": "≐", - "doteqdot": "≑", - "dotminus": "∸", - "dotplus": "∔", - "dotsquare": "⊡", - "doublebarwedge": "⌆", - "downarrow": "↓", - "downdownarrows": "⇊", - "downharpoonleft": "⇃", - "downharpoonright": "⇂", - "drbkarow": "⤐", - "drcorn": "⌟", - "drcrop": "⌌", - "dscr": "𝒹", - "dscy": "ѕ", - "dsol": "⧶", - "dstrok": "đ", - "dtdot": "⋱", - "dtri": "▿", - "dtrif": "▾", - "duarr": "⇵", - "duhar": "⥯", - "dwangle": "⦦", - "dzcy": "џ", - "dzigrarr": "⟿", - "eDDot": "⩷", - "eDot": "≑", - "eacut": "é", - "eacute": "é", - "easter": "⩮", - "ecaron": "ě", - "ecir": "ê", - "ecirc": "ê", - "ecolon": "≕", - "ecy": "э", - "edot": "ė", - "ee": "ⅇ", - "efDot": "≒", - "efr": "𝔢", - "eg": "⪚", - "egrav": "è", - "egrave": "è", - "egs": "⪖", - "egsdot": "⪘", - "el": "⪙", - "elinters": "⏧", - "ell": "ℓ", - "els": "⪕", - "elsdot": "⪗", - "emacr": "ē", - "empty": "∅", - "emptyset": "∅", - "emptyv": "∅", - "emsp13": " ", - "emsp14": " ", - "emsp": " ", - "eng": "ŋ", - "ensp": " ", - "eogon": "ę", - "eopf": "𝕖", - "epar": "⋕", - "eparsl": "⧣", - "eplus": "⩱", - "epsi": "ε", - "epsilon": "ε", - "epsiv": "ϵ", - "eqcirc": "≖", - "eqcolon": "≕", - "eqsim": "≂", - "eqslantgtr": "⪖", - "eqslantless": "⪕", - "equals": "=", - "equest": "≟", - "equiv": "≡", - "equivDD": "⩸", - "eqvparsl": "⧥", - "erDot": "≓", - "erarr": "⥱", - "escr": "ℯ", - "esdot": "≐", - "esim": "≂", - "eta": "η", - "et": "ð", - "eth": "ð", - "eum": "ë", - "euml": "ë", - "euro": "€", - "excl": "!", - "exist": "∃", - "expectation": "ℰ", - "exponentiale": "ⅇ", - "fallingdotseq": "≒", - "fcy": "ф", - "female": "♀", - "ffilig": "ffi", - "fflig": "ff", - "ffllig": "ffl", - "ffr": "𝔣", - "filig": "fi", - "fjlig": "fj", - "flat": "♭", - "fllig": "fl", - "fltns": "▱", - "fnof": "ƒ", - "fopf": "𝕗", - "forall": "∀", - "fork": "⋔", - "forkv": "⫙", - "fpartint": "⨍", - "frac1": "¼", - "frac12": "½", - "frac13": "⅓", - "frac14": "¼", - "frac15": "⅕", - "frac16": "⅙", - "frac18": "⅛", - "frac23": "⅔", - "frac25": "⅖", - "frac3": "¾", - "frac34": "¾", - "frac35": "⅗", - "frac38": "⅜", - "frac45": "⅘", - "frac56": "⅚", - "frac58": "⅝", - "frac78": "⅞", - "frasl": "⁄", - "frown": "⌢", - "fscr": "𝒻", - "gE": "≧", - "gEl": "⪌", - "gacute": "ǵ", - "gamma": "γ", - "gammad": "ϝ", - "gap": "⪆", - "gbreve": "ğ", - "gcirc": "ĝ", - "gcy": "г", - "gdot": "ġ", - "ge": "≥", - "gel": "⋛", - "geq": "≥", - "geqq": "≧", - "geqslant": "⩾", - "ges": "⩾", - "gescc": "⪩", - "gesdot": "⪀", - "gesdoto": "⪂", - "gesdotol": "⪄", - "gesl": "⋛︀", - "gesles": "⪔", - "gfr": "𝔤", - "gg": "≫", - "ggg": "⋙", - "gimel": "ℷ", - "gjcy": "ѓ", - "gl": "≷", - "glE": "⪒", - "gla": "⪥", - "glj": "⪤", - "gnE": "≩", - "gnap": "⪊", - "gnapprox": "⪊", - "gne": "⪈", - "gneq": "⪈", - "gneqq": "≩", - "gnsim": "⋧", - "gopf": "𝕘", - "grave": "`", - "gscr": "ℊ", - "gsim": "≳", - "gsime": "⪎", - "gsiml": "⪐", - "g": ">", - "gt": ">", - "gtcc": "⪧", - "gtcir": "⩺", - "gtdot": "⋗", - "gtlPar": "⦕", - "gtquest": "⩼", - "gtrapprox": "⪆", - "gtrarr": "⥸", - "gtrdot": "⋗", - "gtreqless": "⋛", - "gtreqqless": "⪌", - "gtrless": "≷", - "gtrsim": "≳", - "gvertneqq": "≩︀", - "gvnE": "≩︀", - "hArr": "⇔", - "hairsp": " ", - "half": "½", - "hamilt": "ℋ", - "hardcy": "ъ", - "harr": "↔", - "harrcir": "⥈", - "harrw": "↭", - "hbar": "ℏ", - "hcirc": "ĥ", - "hearts": "♥", - "heartsuit": "♥", - "hellip": "…", - "hercon": "⊹", - "hfr": "𝔥", - "hksearow": "⤥", - "hkswarow": "⤦", - "hoarr": "⇿", - "homtht": "∻", - "hookleftarrow": "↩", - "hookrightarrow": "↪", - "hopf": "𝕙", - "horbar": "―", - "hscr": "𝒽", - "hslash": "ℏ", - "hstrok": "ħ", - "hybull": "⁃", - "hyphen": "‐", - "iacut": "í", - "iacute": "í", - "ic": "⁣", - "icir": "î", - "icirc": "î", - "icy": "и", - "iecy": "е", - "iexc": "¡", - "iexcl": "¡", - "iff": "⇔", - "ifr": "𝔦", - "igrav": "ì", - "igrave": "ì", - "ii": "ⅈ", - "iiiint": "⨌", - "iiint": "∭", - "iinfin": "⧜", - "iiota": "℩", - "ijlig": "ij", - "imacr": "ī", - "image": "ℑ", - "imagline": "ℐ", - "imagpart": "ℑ", - "imath": "ı", - "imof": "⊷", - "imped": "Ƶ", - "in": "∈", - "incare": "℅", - "infin": "∞", - "infintie": "⧝", - "inodot": "ı", - "int": "∫", - "intcal": "⊺", - "integers": "ℤ", - "intercal": "⊺", - "intlarhk": "⨗", - "intprod": "⨼", - "iocy": "ё", - "iogon": "į", - "iopf": "𝕚", - "iota": "ι", - "iprod": "⨼", - "iques": "¿", - "iquest": "¿", - "iscr": "𝒾", - "isin": "∈", - "isinE": "⋹", - "isindot": "⋵", - "isins": "⋴", - "isinsv": "⋳", - "isinv": "∈", - "it": "⁢", - "itilde": "ĩ", - "iukcy": "і", - "ium": "ï", - "iuml": "ï", - "jcirc": "ĵ", - "jcy": "й", - "jfr": "𝔧", - "jmath": "ȷ", - "jopf": "𝕛", - "jscr": "𝒿", - "jsercy": "ј", - "jukcy": "є", - "kappa": "κ", - "kappav": "ϰ", - "kcedil": "ķ", - "kcy": "к", - "kfr": "𝔨", - "kgreen": "ĸ", - "khcy": "х", - "kjcy": "ќ", - "kopf": "𝕜", - "kscr": "𝓀", - "lAarr": "⇚", - "lArr": "⇐", - "lAtail": "⤛", - "lBarr": "⤎", - "lE": "≦", - "lEg": "⪋", - "lHar": "⥢", - "lacute": "ĺ", - "laemptyv": "⦴", - "lagran": "ℒ", - "lambda": "λ", - "lang": "⟨", - "langd": "⦑", - "langle": "⟨", - "lap": "⪅", - "laqu": "«", - "laquo": "«", - "larr": "←", - "larrb": "⇤", - "larrbfs": "⤟", - "larrfs": "⤝", - "larrhk": "↩", - "larrlp": "↫", - "larrpl": "⤹", - "larrsim": "⥳", - "larrtl": "↢", - "lat": "⪫", - "latail": "⤙", - "late": "⪭", - "lates": "⪭︀", - "lbarr": "⤌", - "lbbrk": "❲", - "lbrace": "{", - "lbrack": "[", - "lbrke": "⦋", - "lbrksld": "⦏", - "lbrkslu": "⦍", - "lcaron": "ľ", - "lcedil": "ļ", - "lceil": "⌈", - "lcub": "{", - "lcy": "л", - "ldca": "⤶", - "ldquo": "“", - "ldquor": "„", - "ldrdhar": "⥧", - "ldrushar": "⥋", - "ldsh": "↲", - "le": "≤", - "leftarrow": "←", - "leftarrowtail": "↢", - "leftharpoondown": "↽", - "leftharpoonup": "↼", - "leftleftarrows": "⇇", - "leftrightarrow": "↔", - "leftrightarrows": "⇆", - "leftrightharpoons": "⇋", - "leftrightsquigarrow": "↭", - "leftthreetimes": "⋋", - "leg": "⋚", - "leq": "≤", - "leqq": "≦", - "leqslant": "⩽", - "les": "⩽", - "lescc": "⪨", - "lesdot": "⩿", - "lesdoto": "⪁", - "lesdotor": "⪃", - "lesg": "⋚︀", - "lesges": "⪓", - "lessapprox": "⪅", - "lessdot": "⋖", - "lesseqgtr": "⋚", - "lesseqqgtr": "⪋", - "lessgtr": "≶", - "lesssim": "≲", - "lfisht": "⥼", - "lfloor": "⌊", - "lfr": "𝔩", - "lg": "≶", - "lgE": "⪑", - "lhard": "↽", - "lharu": "↼", - "lharul": "⥪", - "lhblk": "▄", - "ljcy": "љ", - "ll": "≪", - "llarr": "⇇", - "llcorner": "⌞", - "llhard": "⥫", - "lltri": "◺", - "lmidot": "ŀ", - "lmoust": "⎰", - "lmoustache": "⎰", - "lnE": "≨", - "lnap": "⪉", - "lnapprox": "⪉", - "lne": "⪇", - "lneq": "⪇", - "lneqq": "≨", - "lnsim": "⋦", - "loang": "⟬", - "loarr": "⇽", - "lobrk": "⟦", - "longleftarrow": "⟵", - "longleftrightarrow": "⟷", - "longmapsto": "⟼", - "longrightarrow": "⟶", - "looparrowleft": "↫", - "looparrowright": "↬", - "lopar": "⦅", - "lopf": "𝕝", - "loplus": "⨭", - "lotimes": "⨴", - "lowast": "∗", - "lowbar": "_", - "loz": "◊", - "lozenge": "◊", - "lozf": "⧫", - "lpar": "(", - "lparlt": "⦓", - "lrarr": "⇆", - "lrcorner": "⌟", - "lrhar": "⇋", - "lrhard": "⥭", - "lrm": "‎", - "lrtri": "⊿", - "lsaquo": "‹", - "lscr": "𝓁", - "lsh": "↰", - "lsim": "≲", - "lsime": "⪍", - "lsimg": "⪏", - "lsqb": "[", - "lsquo": "‘", - "lsquor": "‚", - "lstrok": "ł", - "l": "<", - "lt": "<", - "ltcc": "⪦", - "ltcir": "⩹", - "ltdot": "⋖", - "lthree": "⋋", - "ltimes": "⋉", - "ltlarr": "⥶", - "ltquest": "⩻", - "ltrPar": "⦖", - "ltri": "◃", - "ltrie": "⊴", - "ltrif": "◂", - "lurdshar": "⥊", - "luruhar": "⥦", - "lvertneqq": "≨︀", - "lvnE": "≨︀", - "mDDot": "∺", - "mac": "¯", - "macr": "¯", - "male": "♂", - "malt": "✠", - "maltese": "✠", - "map": "↦", - "mapsto": "↦", - "mapstodown": "↧", - "mapstoleft": "↤", - "mapstoup": "↥", - "marker": "▮", - "mcomma": "⨩", - "mcy": "м", - "mdash": "—", - "measuredangle": "∡", - "mfr": "𝔪", - "mho": "℧", - "micr": "µ", - "micro": "µ", - "mid": "∣", - "midast": "*", - "midcir": "⫰", - "middo": "·", - "middot": "·", - "minus": "−", - "minusb": "⊟", - "minusd": "∸", - "minusdu": "⨪", - "mlcp": "⫛", - "mldr": "…", - "mnplus": "∓", - "models": "⊧", - "mopf": "𝕞", - "mp": "∓", - "mscr": "𝓂", - "mstpos": "∾", - "mu": "μ", - "multimap": "⊸", - "mumap": "⊸", - "nGg": "⋙̸", - "nGt": "≫⃒", - "nGtv": "≫̸", - "nLeftarrow": "⇍", - "nLeftrightarrow": "⇎", - "nLl": "⋘̸", - "nLt": "≪⃒", - "nLtv": "≪̸", - "nRightarrow": "⇏", - "nVDash": "⊯", - "nVdash": "⊮", - "nabla": "∇", - "nacute": "ń", - "nang": "∠⃒", - "nap": "≉", - "napE": "⩰̸", - "napid": "≋̸", - "napos": "ʼn", - "napprox": "≉", - "natur": "♮", - "natural": "♮", - "naturals": "ℕ", - "nbs": " ", - "nbsp": " ", - "nbump": "≎̸", - "nbumpe": "≏̸", - "ncap": "⩃", - "ncaron": "ň", - "ncedil": "ņ", - "ncong": "≇", - "ncongdot": "⩭̸", - "ncup": "⩂", - "ncy": "н", - "ndash": "–", - "ne": "≠", - "neArr": "⇗", - "nearhk": "⤤", - "nearr": "↗", - "nearrow": "↗", - "nedot": "≐̸", - "nequiv": "≢", - "nesear": "⤨", - "nesim": "≂̸", - "nexist": "∄", - "nexists": "∄", - "nfr": "𝔫", - "ngE": "≧̸", - "nge": "≱", - "ngeq": "≱", - "ngeqq": "≧̸", - "ngeqslant": "⩾̸", - "nges": "⩾̸", - "ngsim": "≵", - "ngt": "≯", - "ngtr": "≯", - "nhArr": "⇎", - "nharr": "↮", - "nhpar": "⫲", - "ni": "∋", - "nis": "⋼", - "nisd": "⋺", - "niv": "∋", - "njcy": "њ", - "nlArr": "⇍", - "nlE": "≦̸", - "nlarr": "↚", - "nldr": "‥", - "nle": "≰", - "nleftarrow": "↚", - "nleftrightarrow": "↮", - "nleq": "≰", - "nleqq": "≦̸", - "nleqslant": "⩽̸", - "nles": "⩽̸", - "nless": "≮", - "nlsim": "≴", - "nlt": "≮", - "nltri": "⋪", - "nltrie": "⋬", - "nmid": "∤", - "nopf": "𝕟", - "no": "¬", - "not": "¬", - "notin": "∉", - "notinE": "⋹̸", - "notindot": "⋵̸", - "notinva": "∉", - "notinvb": "⋷", - "notinvc": "⋶", - "notni": "∌", - "notniva": "∌", - "notnivb": "⋾", - "notnivc": "⋽", - "npar": "∦", - "nparallel": "∦", - "nparsl": "⫽⃥", - "npart": "∂̸", - "npolint": "⨔", - "npr": "⊀", - "nprcue": "⋠", - "npre": "⪯̸", - "nprec": "⊀", - "npreceq": "⪯̸", - "nrArr": "⇏", - "nrarr": "↛", - "nrarrc": "⤳̸", - "nrarrw": "↝̸", - "nrightarrow": "↛", - "nrtri": "⋫", - "nrtrie": "⋭", - "nsc": "⊁", - "nsccue": "⋡", - "nsce": "⪰̸", - "nscr": "𝓃", - "nshortmid": "∤", - "nshortparallel": "∦", - "nsim": "≁", - "nsime": "≄", - "nsimeq": "≄", - "nsmid": "∤", - "nspar": "∦", - "nsqsube": "⋢", - "nsqsupe": "⋣", - "nsub": "⊄", - "nsubE": "⫅̸", - "nsube": "⊈", - "nsubset": "⊂⃒", - "nsubseteq": "⊈", - "nsubseteqq": "⫅̸", - "nsucc": "⊁", - "nsucceq": "⪰̸", - "nsup": "⊅", - "nsupE": "⫆̸", - "nsupe": "⊉", - "nsupset": "⊃⃒", - "nsupseteq": "⊉", - "nsupseteqq": "⫆̸", - "ntgl": "≹", - "ntild": "ñ", - "ntilde": "ñ", - "ntlg": "≸", - "ntriangleleft": "⋪", - "ntrianglelefteq": "⋬", - "ntriangleright": "⋫", - "ntrianglerighteq": "⋭", - "nu": "ν", - "num": "#", - "numero": "№", - "numsp": " ", - "nvDash": "⊭", - "nvHarr": "⤄", - "nvap": "≍⃒", - "nvdash": "⊬", - "nvge": "≥⃒", - "nvgt": ">⃒", - "nvinfin": "⧞", - "nvlArr": "⤂", - "nvle": "≤⃒", - "nvlt": "<⃒", - "nvltrie": "⊴⃒", - "nvrArr": "⤃", - "nvrtrie": "⊵⃒", - "nvsim": "∼⃒", - "nwArr": "⇖", - "nwarhk": "⤣", - "nwarr": "↖", - "nwarrow": "↖", - "nwnear": "⤧", - "oS": "Ⓢ", - "oacut": "ó", - "oacute": "ó", - "oast": "⊛", - "ocir": "ô", - "ocirc": "ô", - "ocy": "о", - "odash": "⊝", - "odblac": "ő", - "odiv": "⨸", - "odot": "⊙", - "odsold": "⦼", - "oelig": "œ", - "ofcir": "⦿", - "ofr": "𝔬", - "ogon": "˛", - "ograv": "ò", - "ograve": "ò", - "ogt": "⧁", - "ohbar": "⦵", - "ohm": "Ω", - "oint": "∮", - "olarr": "↺", - "olcir": "⦾", - "olcross": "⦻", - "oline": "‾", - "olt": "⧀", - "omacr": "ō", - "omega": "ω", - "omicron": "ο", - "omid": "⦶", - "ominus": "⊖", - "oopf": "𝕠", - "opar": "⦷", - "operp": "⦹", - "oplus": "⊕", - "or": "∨", - "orarr": "↻", - "ord": "º", - "order": "ℴ", - "orderof": "ℴ", - "ordf": "ª", - "ordm": "º", - "origof": "⊶", - "oror": "⩖", - "orslope": "⩗", - "orv": "⩛", - "oscr": "ℴ", - "oslas": "ø", - "oslash": "ø", - "osol": "⊘", - "otild": "õ", - "otilde": "õ", - "otimes": "⊗", - "otimesas": "⨶", - "oum": "ö", - "ouml": "ö", - "ovbar": "⌽", - "par": "¶", - "para": "¶", - "parallel": "∥", - "parsim": "⫳", - "parsl": "⫽", - "part": "∂", - "pcy": "п", - "percnt": "%", - "period": ".", - "permil": "‰", - "perp": "⊥", - "pertenk": "‱", - "pfr": "𝔭", - "phi": "φ", - "phiv": "ϕ", - "phmmat": "ℳ", - "phone": "☎", - "pi": "π", - "pitchfork": "⋔", - "piv": "ϖ", - "planck": "ℏ", - "planckh": "ℎ", - "plankv": "ℏ", - "plus": "+", - "plusacir": "⨣", - "plusb": "⊞", - "pluscir": "⨢", - "plusdo": "∔", - "plusdu": "⨥", - "pluse": "⩲", - "plusm": "±", - "plusmn": "±", - "plussim": "⨦", - "plustwo": "⨧", - "pm": "±", - "pointint": "⨕", - "popf": "𝕡", - "poun": "£", - "pound": "£", - "pr": "≺", - "prE": "⪳", - "prap": "⪷", - "prcue": "≼", - "pre": "⪯", - "prec": "≺", - "precapprox": "⪷", - "preccurlyeq": "≼", - "preceq": "⪯", - "precnapprox": "⪹", - "precneqq": "⪵", - "precnsim": "⋨", - "precsim": "≾", - "prime": "′", - "primes": "ℙ", - "prnE": "⪵", - "prnap": "⪹", - "prnsim": "⋨", - "prod": "∏", - "profalar": "⌮", - "profline": "⌒", - "profsurf": "⌓", - "prop": "∝", - "propto": "∝", - "prsim": "≾", - "prurel": "⊰", - "pscr": "𝓅", - "psi": "ψ", - "puncsp": " ", - "qfr": "𝔮", - "qint": "⨌", - "qopf": "𝕢", - "qprime": "⁗", - "qscr": "𝓆", - "quaternions": "ℍ", - "quatint": "⨖", - "quest": "?", - "questeq": "≟", - "quo": "\"", - "quot": "\"", - "rAarr": "⇛", - "rArr": "⇒", - "rAtail": "⤜", - "rBarr": "⤏", - "rHar": "⥤", - "race": "∽̱", - "racute": "ŕ", - "radic": "√", - "raemptyv": "⦳", - "rang": "⟩", - "rangd": "⦒", - "range": "⦥", - "rangle": "⟩", - "raqu": "»", - "raquo": "»", - "rarr": "→", - "rarrap": "⥵", - "rarrb": "⇥", - "rarrbfs": "⤠", - "rarrc": "⤳", - "rarrfs": "⤞", - "rarrhk": "↪", - "rarrlp": "↬", - "rarrpl": "⥅", - "rarrsim": "⥴", - "rarrtl": "↣", - "rarrw": "↝", - "ratail": "⤚", - "ratio": "∶", - "rationals": "ℚ", - "rbarr": "⤍", - "rbbrk": "❳", - "rbrace": "}", - "rbrack": "]", - "rbrke": "⦌", - "rbrksld": "⦎", - "rbrkslu": "⦐", - "rcaron": "ř", - "rcedil": "ŗ", - "rceil": "⌉", - "rcub": "}", - "rcy": "р", - "rdca": "⤷", - "rdldhar": "⥩", - "rdquo": "”", - "rdquor": "”", - "rdsh": "↳", - "real": "ℜ", - "realine": "ℛ", - "realpart": "ℜ", - "reals": "ℝ", - "rect": "▭", - "re": "®", - "reg": "®", - "rfisht": "⥽", - "rfloor": "⌋", - "rfr": "𝔯", - "rhard": "⇁", - "rharu": "⇀", - "rharul": "⥬", - "rho": "ρ", - "rhov": "ϱ", - "rightarrow": "→", - "rightarrowtail": "↣", - "rightharpoondown": "⇁", - "rightharpoonup": "⇀", - "rightleftarrows": "⇄", - "rightleftharpoons": "⇌", - "rightrightarrows": "⇉", - "rightsquigarrow": "↝", - "rightthreetimes": "⋌", - "ring": "˚", - "risingdotseq": "≓", - "rlarr": "⇄", - "rlhar": "⇌", - "rlm": "‏", - "rmoust": "⎱", - "rmoustache": "⎱", - "rnmid": "⫮", - "roang": "⟭", - "roarr": "⇾", - "robrk": "⟧", - "ropar": "⦆", - "ropf": "𝕣", - "roplus": "⨮", - "rotimes": "⨵", - "rpar": ")", - "rpargt": "⦔", - "rppolint": "⨒", - "rrarr": "⇉", - "rsaquo": "›", - "rscr": "𝓇", - "rsh": "↱", - "rsqb": "]", - "rsquo": "’", - "rsquor": "’", - "rthree": "⋌", - "rtimes": "⋊", - "rtri": "▹", - "rtrie": "⊵", - "rtrif": "▸", - "rtriltri": "⧎", - "ruluhar": "⥨", - "rx": "℞", - "sacute": "ś", - "sbquo": "‚", - "sc": "≻", - "scE": "⪴", - "scap": "⪸", - "scaron": "š", - "sccue": "≽", - "sce": "⪰", - "scedil": "ş", - "scirc": "ŝ", - "scnE": "⪶", - "scnap": "⪺", - "scnsim": "⋩", - "scpolint": "⨓", - "scsim": "≿", - "scy": "с", - "sdot": "⋅", - "sdotb": "⊡", - "sdote": "⩦", - "seArr": "⇘", - "searhk": "⤥", - "searr": "↘", - "searrow": "↘", - "sec": "§", - "sect": "§", - "semi": ";", - "seswar": "⤩", - "setminus": "∖", - "setmn": "∖", - "sext": "✶", - "sfr": "𝔰", - "sfrown": "⌢", - "sharp": "♯", - "shchcy": "щ", - "shcy": "ш", - "shortmid": "∣", - "shortparallel": "∥", - "sh": "­", - "shy": "­", - "sigma": "σ", - "sigmaf": "ς", - "sigmav": "ς", - "sim": "∼", - "simdot": "⩪", - "sime": "≃", - "simeq": "≃", - "simg": "⪞", - "simgE": "⪠", - "siml": "⪝", - "simlE": "⪟", - "simne": "≆", - "simplus": "⨤", - "simrarr": "⥲", - "slarr": "←", - "smallsetminus": "∖", - "smashp": "⨳", - "smeparsl": "⧤", - "smid": "∣", - "smile": "⌣", - "smt": "⪪", - "smte": "⪬", - "smtes": "⪬︀", - "softcy": "ь", - "sol": "/", - "solb": "⧄", - "solbar": "⌿", - "sopf": "𝕤", - "spades": "♠", - "spadesuit": "♠", - "spar": "∥", - "sqcap": "⊓", - "sqcaps": "⊓︀", - "sqcup": "⊔", - "sqcups": "⊔︀", - "sqsub": "⊏", - "sqsube": "⊑", - "sqsubset": "⊏", - "sqsubseteq": "⊑", - "sqsup": "⊐", - "sqsupe": "⊒", - "sqsupset": "⊐", - "sqsupseteq": "⊒", - "squ": "□", - "square": "□", - "squarf": "▪", - "squf": "▪", - "srarr": "→", - "sscr": "𝓈", - "ssetmn": "∖", - "ssmile": "⌣", - "sstarf": "⋆", - "star": "☆", - "starf": "★", - "straightepsilon": "ϵ", - "straightphi": "ϕ", - "strns": "¯", - "sub": "⊂", - "subE": "⫅", - "subdot": "⪽", - "sube": "⊆", - "subedot": "⫃", - "submult": "⫁", - "subnE": "⫋", - "subne": "⊊", - "subplus": "⪿", - "subrarr": "⥹", - "subset": "⊂", - "subseteq": "⊆", - "subseteqq": "⫅", - "subsetneq": "⊊", - "subsetneqq": "⫋", - "subsim": "⫇", - "subsub": "⫕", - "subsup": "⫓", - "succ": "≻", - "succapprox": "⪸", - "succcurlyeq": "≽", - "succeq": "⪰", - "succnapprox": "⪺", - "succneqq": "⪶", - "succnsim": "⋩", - "succsim": "≿", - "sum": "∑", - "sung": "♪", - "sup": "⊃", - "sup1": "¹", - "sup2": "²", - "sup3": "³", - "supE": "⫆", - "supdot": "⪾", - "supdsub": "⫘", - "supe": "⊇", - "supedot": "⫄", - "suphsol": "⟉", - "suphsub": "⫗", - "suplarr": "⥻", - "supmult": "⫂", - "supnE": "⫌", - "supne": "⊋", - "supplus": "⫀", - "supset": "⊃", - "supseteq": "⊇", - "supseteqq": "⫆", - "supsetneq": "⊋", - "supsetneqq": "⫌", - "supsim": "⫈", - "supsub": "⫔", - "supsup": "⫖", - "swArr": "⇙", - "swarhk": "⤦", - "swarr": "↙", - "swarrow": "↙", - "swnwar": "⤪", - "szli": "ß", - "szlig": "ß", - "target": "⌖", - "tau": "τ", - "tbrk": "⎴", - "tcaron": "ť", - "tcedil": "ţ", - "tcy": "т", - "tdot": "⃛", - "telrec": "⌕", - "tfr": "𝔱", - "there4": "∴", - "therefore": "∴", - "theta": "θ", - "thetasym": "ϑ", - "thetav": "ϑ", - "thickapprox": "≈", - "thicksim": "∼", - "thinsp": " ", - "thkap": "≈", - "thksim": "∼", - "thor": "þ", - "thorn": "þ", - "tilde": "˜", - "time": "×", - "times": "×", - "timesb": "⊠", - "timesbar": "⨱", - "timesd": "⨰", - "tint": "∭", - "toea": "⤨", - "top": "⊤", - "topbot": "⌶", - "topcir": "⫱", - "topf": "𝕥", - "topfork": "⫚", - "tosa": "⤩", - "tprime": "‴", - "trade": "™", - "triangle": "▵", - "triangledown": "▿", - "triangleleft": "◃", - "trianglelefteq": "⊴", - "triangleq": "≜", - "triangleright": "▹", - "trianglerighteq": "⊵", - "tridot": "◬", - "trie": "≜", - "triminus": "⨺", - "triplus": "⨹", - "trisb": "⧍", - "tritime": "⨻", - "trpezium": "⏢", - "tscr": "𝓉", - "tscy": "ц", - "tshcy": "ћ", - "tstrok": "ŧ", - "twixt": "≬", - "twoheadleftarrow": "↞", - "twoheadrightarrow": "↠", - "uArr": "⇑", - "uHar": "⥣", - "uacut": "ú", - "uacute": "ú", - "uarr": "↑", - "ubrcy": "ў", - "ubreve": "ŭ", - "ucir": "û", - "ucirc": "û", - "ucy": "у", - "udarr": "⇅", - "udblac": "ű", - "udhar": "⥮", - "ufisht": "⥾", - "ufr": "𝔲", - "ugrav": "ù", - "ugrave": "ù", - "uharl": "↿", - "uharr": "↾", - "uhblk": "▀", - "ulcorn": "⌜", - "ulcorner": "⌜", - "ulcrop": "⌏", - "ultri": "◸", - "umacr": "ū", - "um": "¨", - "uml": "¨", - "uogon": "ų", - "uopf": "𝕦", - "uparrow": "↑", - "updownarrow": "↕", - "upharpoonleft": "↿", - "upharpoonright": "↾", - "uplus": "⊎", - "upsi": "υ", - "upsih": "ϒ", - "upsilon": "υ", - "upuparrows": "⇈", - "urcorn": "⌝", - "urcorner": "⌝", - "urcrop": "⌎", - "uring": "ů", - "urtri": "◹", - "uscr": "𝓊", - "utdot": "⋰", - "utilde": "ũ", - "utri": "▵", - "utrif": "▴", - "uuarr": "⇈", - "uum": "ü", - "uuml": "ü", - "uwangle": "⦧", - "vArr": "⇕", - "vBar": "⫨", - "vBarv": "⫩", - "vDash": "⊨", - "vangrt": "⦜", - "varepsilon": "ϵ", - "varkappa": "ϰ", - "varnothing": "∅", - "varphi": "ϕ", - "varpi": "ϖ", - "varpropto": "∝", - "varr": "↕", - "varrho": "ϱ", - "varsigma": "ς", - "varsubsetneq": "⊊︀", - "varsubsetneqq": "⫋︀", - "varsupsetneq": "⊋︀", - "varsupsetneqq": "⫌︀", - "vartheta": "ϑ", - "vartriangleleft": "⊲", - "vartriangleright": "⊳", - "vcy": "в", - "vdash": "⊢", - "vee": "∨", - "veebar": "⊻", - "veeeq": "≚", - "vellip": "⋮", - "verbar": "|", - "vert": "|", - "vfr": "𝔳", - "vltri": "⊲", - "vnsub": "⊂⃒", - "vnsup": "⊃⃒", - "vopf": "𝕧", - "vprop": "∝", - "vrtri": "⊳", - "vscr": "𝓋", - "vsubnE": "⫋︀", - "vsubne": "⊊︀", - "vsupnE": "⫌︀", - "vsupne": "⊋︀", - "vzigzag": "⦚", - "wcirc": "ŵ", - "wedbar": "⩟", - "wedge": "∧", - "wedgeq": "≙", - "weierp": "℘", - "wfr": "𝔴", - "wopf": "𝕨", - "wp": "℘", - "wr": "≀", - "wreath": "≀", - "wscr": "𝓌", - "xcap": "⋂", - "xcirc": "◯", - "xcup": "⋃", - "xdtri": "▽", - "xfr": "𝔵", - "xhArr": "⟺", - "xharr": "⟷", - "xi": "ξ", - "xlArr": "⟸", - "xlarr": "⟵", - "xmap": "⟼", - "xnis": "⋻", - "xodot": "⨀", - "xopf": "𝕩", - "xoplus": "⨁", - "xotime": "⨂", - "xrArr": "⟹", - "xrarr": "⟶", - "xscr": "𝓍", - "xsqcup": "⨆", - "xuplus": "⨄", - "xutri": "△", - "xvee": "⋁", - "xwedge": "⋀", - "yacut": "ý", - "yacute": "ý", - "yacy": "я", - "ycirc": "ŷ", - "ycy": "ы", - "ye": "¥", - "yen": "¥", - "yfr": "𝔶", - "yicy": "ї", - "yopf": "𝕪", - "yscr": "𝓎", - "yucy": "ю", - "yum": "ÿ", - "yuml": "ÿ", - "zacute": "ź", - "zcaron": "ž", - "zcy": "з", - "zdot": "ż", - "zeetrf": "ℨ", - "zeta": "ζ", - "zfr": "𝔷", - "zhcy": "ж", - "zigrarr": "⇝", - "zopf": "𝕫", - "zscr": "𝓏", - "zwj": "‍", - "zwnj": "‌" -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/license b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/license deleted file mode 100644 index 32e7a3d93ca5a2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/package.json deleted file mode 100644 index e1151d249e23dd..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/package.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "name": "character-entities", - "version": "1.2.4", - "description": "HTML character entity information", - "license": "MIT", - "keywords": [ - "html", - "entity", - "entities", - "character", - "reference", - "name", - "replacement" - ], - "repository": "wooorm/character-entities", - "bugs": "https://github.com/wooorm/character-entities/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "main": "index.json", - "files": [ - "index.json" - ], - "dependencies": {}, - "devDependencies": { - "bail": "^1.0.0", - "browserify": "^16.0.0", - "concat-stream": "^2.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "generate": "node build", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.json -s characterEntities -o character-entities.js", - "build-mangle": "browserify index.json -s characterEntities -p tinyify -o character-entities.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "lint": "xo", - "test-api": "node test", - "test": "npm run generate && npm run format && npm run build && npm run test-api" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "character-entities.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/readme.md deleted file mode 100644 index b890e2aec3c4c7..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# character-entities - -[![Build][build-badge]][build] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -HTML character entity information. - -## Install - -[npm][]: - -```sh -npm install character-entities -``` - -## Use - -```js -var characterEntities = require('character-entities') - -console.log(characterEntities.AElig) // => 'Æ' -console.log(characterEntities.aelig) // => 'æ' -console.log(characterEntities.amp) // => '&' -``` - -## API - -### characterEntities - -Mapping between (case-sensitive) character entity names to replacements. - -## Support - -See [`html.spec.whatwg.org`][html]. - -## Related - -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — HTML 4 character entity info -* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) - — Legacy character entity info -* [`parse-entities`](https://github.com/wooorm/parse-entities) - — Parse HTML character references -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Stringify HTML character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/character-entities.svg - -[build]: https://travis-ci.org/wooorm/character-entities - -[downloads-badge]: https://img.shields.io/npm/dm/character-entities.svg - -[downloads]: https://www.npmjs.com/package/character-entities - -[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities.svg - -[size]: https://bundlephobia.com/result?p=character-entities - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[html]: https://html.spec.whatwg.org/multipage/syntax.html#named-character-references diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/index.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/index.json deleted file mode 100644 index 9337a854e40194..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/index.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "0": "�", - "128": "€", - "130": "‚", - "131": "ƒ", - "132": "„", - "133": "…", - "134": "†", - "135": "‡", - "136": "ˆ", - "137": "‰", - "138": "Š", - "139": "‹", - "140": "Œ", - "142": "Ž", - "145": "‘", - "146": "’", - "147": "“", - "148": "”", - "149": "•", - "150": "–", - "151": "—", - "152": "˜", - "153": "™", - "154": "š", - "155": "›", - "156": "œ", - "158": "ž", - "159": "Ÿ" -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/license b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/license deleted file mode 100644 index 32e7a3d93ca5a2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/package.json deleted file mode 100644 index 069dc4b2b53901..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/package.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "character-reference-invalid", - "version": "1.1.4", - "description": "HTML invalid numeric character reference information", - "license": "MIT", - "keywords": [ - "html", - "entity", - "numeric", - "character", - "reference", - "replacement", - "invalid", - "name" - ], - "repository": "wooorm/character-reference-invalid", - "bugs": "https://github.com/wooorm/character-reference-invalid/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "main": "index.json", - "files": [ - "index.json" - ], - "dependencies": {}, - "devDependencies": { - "bail": "^1.0.0", - "browserify": "^16.0.0", - "concat-stream": "^2.0.0", - "hast-util-select": "^3.0.0", - "hast-util-to-string": "^1.0.0", - "rehype-parse": "^6.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "unified": "^8.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "generate": "node build", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.json -s characterReferenceInvalid -o character-reference-invalid.js", - "build-mangle": "browserify index.json -s characterReferenceInvalid -p tinyify -o character-reference-invalid.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test": "npm run generate && npm run format && npm run build && npm run test-api" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "character-reference-invalid.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/readme.md deleted file mode 100644 index e2e8f7a5177708..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# character-reference-invalid - -[![Build][build-badge]][build] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -HTML invalid numeric character reference information. - -## Install - -[npm][]: - -```sh -npm install character-reference-invalid -``` - -## Use - -```js -var characterReferenceInvalid = require('character-reference-invalid') - -console.log(characterReferenceInvalid[0x80]) // => '€' -console.log(characterReferenceInvalid[0x89]) // => '‰' -console.log(characterReferenceInvalid[0x99]) // => '™' -``` - -## API - -### `characterReferenceInvalid` - -Mapping between invalid numeric character reference to replacements. - -## Support - -See [`html.spec.whatwg.org`][html]. - -## Related - -* [`character-entities`](https://github.com/wooorm/character-entities) - — HTML character entity info -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — HTML 4 character entity info -* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) - — Legacy character entity info -* [`parse-entities`](https://github.com/wooorm/parse-entities) - — Parse HTML character references -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Serialize HTML character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/character-reference-invalid.svg - -[build]: https://travis-ci.org/wooorm/character-reference-invalid - -[downloads-badge]: https://img.shields.io/npm/dm/character-reference-invalid.svg - -[downloads]: https://www.npmjs.com/package/character-reference-invalid - -[size-badge]: https://img.shields.io/bundlephobia/minzip/character-reference-invalid.svg - -[size]: https://bundlephobia.com/result?p=character-reference-invalid - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[html]: https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js deleted file mode 100644 index 93d546695c7ae7..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' - -module.exports = collapse - -// `collapse(' \t\nbar \nbaz\t') // ' bar baz '` -function collapse(value) { - return String(value).replace(/\s+/g, ' ') -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license deleted file mode 100644 index 32e7a3d93ca5a2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json deleted file mode 100644 index 6c9e8f348f4bc1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "collapse-white-space", - "version": "1.0.6", - "description": "Replace multiple white-space characters with a single space", - "license": "MIT", - "keywords": [ - "collapse", - "white", - "space" - ], - "repository": "wooorm/collapse-white-space", - "bugs": "https://github.com/wooorm/collapse-white-space/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s collapseWhiteSpace -o collapse-white-space.js", - "build-mangle": "browserify . -s collapseWhiteSpace -p tinyify -o collapse-white-space.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "collapse-white-space.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md deleted file mode 100644 index 5154c9fedc3024..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md +++ /dev/null @@ -1,58 +0,0 @@ -# collapse-white-space - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Replace multiple whitespace characters with a single space. - -## Install - -[npm][]: - -```sh -npm install collapse-white-space -``` - -## Use - -```js -var collapse = require('collapse-white-space') - -collapse('\tfoo \n\tbar \t\r\nbaz') //=> ' foo bar baz' -``` - -## API - -### `collapse(value)` - -Replace multiple whitespace characters in value with a single space. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/collapse-white-space.svg - -[build]: https://travis-ci.org/wooorm/collapse-white-space - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/collapse-white-space.svg - -[coverage]: https://codecov.io/github/wooorm/collapse-white-space - -[downloads-badge]: https://img.shields.io/npm/dm/collapse-white-space.svg - -[downloads]: https://www.npmjs.com/package/collapse-white-space - -[size-badge]: https://img.shields.io/bundlephobia/minzip/collapse-white-space.svg - -[size]: https://bundlephobia.com/result?p=collapse-white-space - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json deleted file mode 100644 index 3cce01d7832943..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "es3": true, - - "additionalRules": [], - - "requireSemicolons": true, - - "disallowMultipleSpaces": true, - - "disallowIdentifierNames": [], - - "requireCurlyBraces": { - "allExcept": [], - "keywords": ["if", "else", "for", "while", "do", "try", "catch"] - }, - - "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], - - "disallowSpaceAfterKeywords": [], - - "disallowSpaceBeforeComma": true, - "disallowSpaceAfterComma": false, - "disallowSpaceBeforeSemicolon": true, - - "disallowNodeTypes": [ - "DebuggerStatement", - "LabeledStatement", - "SwitchCase", - "SwitchStatement", - "WithStatement" - ], - - "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, - - "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, - "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, - "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, - - "requireSpaceBetweenArguments": true, - - "disallowSpacesInsideParentheses": true, - - "disallowSpacesInsideArrayBrackets": true, - - "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, - - "disallowSpaceAfterObjectKeys": true, - - "requireCommaBeforeLineBreak": true, - - "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], - "requireSpaceAfterPrefixUnaryOperators": [], - - "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], - "requireSpaceBeforePostfixUnaryOperators": [], - - "disallowSpaceBeforeBinaryOperators": [], - "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - - "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - "disallowSpaceAfterBinaryOperators": [], - - "disallowImplicitTypeConversion": ["binary", "string"], - - "disallowKeywords": ["with", "eval"], - - "requireKeywordsOnNewLine": [], - "disallowKeywordsOnNewLine": ["else"], - - "requireLineFeedAtFileEnd": true, - - "disallowTrailingWhitespace": true, - - "disallowTrailingComma": true, - - "excludeFiles": ["node_modules/**", "vendor/**"], - - "disallowMultipleLineStrings": true, - - "requireDotNotation": { "allExcept": ["keywords"] }, - - "requireParenthesesAroundIIFE": true, - - "validateLineBreaks": "LF", - - "validateQuoteMarks": { - "escape": true, - "mark": "'" - }, - - "disallowOperatorBeforeLineBreak": [], - - "requireSpaceBeforeKeywords": [ - "do", - "for", - "if", - "else", - "switch", - "case", - "try", - "catch", - "finally", - "while", - "with", - "return" - ], - - "validateAlignedFunctionParameters": { - "lineBreakAfterOpeningBraces": true, - "lineBreakBeforeClosingBraces": true - }, - - "requirePaddingNewLinesBeforeExport": true, - - "validateNewlineAfterArrayElements": { - "maximum": 6 - }, - - "requirePaddingNewLinesAfterUseStrict": true, - - "disallowArrowFunctions": true, - - "disallowMultiLineTernary": true, - - "validateOrderInObjectKeys": false, - - "disallowIdenticalDestructuringNames": true, - - "disallowNestedTernaries": { "maxLevel": 1 }, - - "requireSpaceAfterComma": { "allExcept": ["trailing"] }, - "requireAlignedMultilineParams": false, - - "requireSpacesInGenerator": { - "afterStar": true - }, - - "disallowSpacesInGenerator": { - "beforeStar": true - }, - - "disallowVar": false, - - "requireArrayDestructuring": false, - - "requireEnhancedObjectLiterals": false, - - "requireObjectDestructuring": false, - - "requireEarlyReturn": false, - - "requireCapitalizedConstructorsNew": { - "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] - }, - - "requireImportAlphabetized": false, - - "requireSpaceBeforeObjectValues": true, - "requireSpaceBeforeDestructuredValues": true, - - "disallowSpacesInsideTemplateStringPlaceholders": true, - - "disallowArrayDestructuringReturn": false, - - "requireNewlineBeforeSingleStatementsInIf": false, - - "disallowUnusedVariables": true, - - "requireSpacesInsideImportedObjectBraces": true, - - "requireUseStrict": true -} - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE deleted file mode 100644 index e16d6a56ca64e2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Stefan Thomas - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md deleted file mode 100644 index 5b8249aa95e5d3..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md +++ /dev/null @@ -1,81 +0,0 @@ -[![Build Status][travis-svg]][travis-url] -[![dependency status][deps-svg]][deps-url] -[![dev dependency status][dev-deps-svg]][dev-deps-url] - -# extend() for Node.js [![Version Badge][npm-version-png]][npm-url] - -`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true. - -Notes: - -* Since Node.js >= 4, - [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) - now offers the same functionality natively (but without the "deep copy" option). - See [ECMAScript 2015 (ES6) in Node.js](https://nodejs.org/en/docs/es6). -* Some native implementations of `Object.assign` in both Node.js and many - browsers (since NPM modules are for the browser too) may not be fully - spec-compliant. - Check [`object.assign`](https://www.npmjs.com/package/object.assign) module for - a compliant candidate. - -## Installation - -This package is available on [npm][npm-url] as: `extend` - -``` sh -npm install extend -``` - -## Usage - -**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)** - -*Extend one object with one or more others, returning the modified object.* - -**Example:** - -``` js -var extend = require('extend'); -extend(targetObject, object1, object2); -``` - -Keep in mind that the target object will be modified, and will be returned from extend(). - -If a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s). -Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over. -Warning: passing `false` as the first argument is not supported. - -### Arguments - -* `deep` *Boolean* (optional) -If set, the merge becomes recursive (i.e. deep copy). -* `target` *Object* -The object to extend. -* `object1` *Object* -The object that will be merged into the first. -* `objectN` *Object* (Optional) -More objects to merge into the first. - -## License - -`node-extend` is licensed under the [MIT License][mit-license-url]. - -## Acknowledgements - -All credit to the jQuery authors for perfecting this amazing utility. - -Ported to Node.js by [Stefan Thomas][github-justmoon] with contributions by [Jonathan Buchanan][github-insin] and [Jordan Harband][github-ljharb]. - -[travis-svg]: https://travis-ci.org/justmoon/node-extend.svg -[travis-url]: https://travis-ci.org/justmoon/node-extend -[npm-url]: https://npmjs.org/package/extend -[mit-license-url]: http://opensource.org/licenses/MIT -[github-justmoon]: https://github.com/justmoon -[github-insin]: https://github.com/insin -[github-ljharb]: https://github.com/ljharb -[npm-version-png]: http://versionbadg.es/justmoon/node-extend.svg -[deps-svg]: https://david-dm.org/justmoon/node-extend.svg -[deps-url]: https://david-dm.org/justmoon/node-extend -[dev-deps-svg]: https://david-dm.org/justmoon/node-extend/dev-status.svg -[dev-deps-url]: https://david-dm.org/justmoon/node-extend#info=devDependencies - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js deleted file mode 100644 index 2aa3faae68c43e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js +++ /dev/null @@ -1,117 +0,0 @@ -'use strict'; - -var hasOwn = Object.prototype.hasOwnProperty; -var toStr = Object.prototype.toString; -var defineProperty = Object.defineProperty; -var gOPD = Object.getOwnPropertyDescriptor; - -var isArray = function isArray(arr) { - if (typeof Array.isArray === 'function') { - return Array.isArray(arr); - } - - return toStr.call(arr) === '[object Array]'; -}; - -var isPlainObject = function isPlainObject(obj) { - if (!obj || toStr.call(obj) !== '[object Object]') { - return false; - } - - var hasOwnConstructor = hasOwn.call(obj, 'constructor'); - var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); - // Not own constructor property must be Object - if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - var key; - for (key in obj) { /**/ } - - return typeof key === 'undefined' || hasOwn.call(obj, key); -}; - -// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target -var setProperty = function setProperty(target, options) { - if (defineProperty && options.name === '__proto__') { - defineProperty(target, options.name, { - enumerable: true, - configurable: true, - value: options.newValue, - writable: true - }); - } else { - target[options.name] = options.newValue; - } -}; - -// Return undefined instead of __proto__ if '__proto__' is not an own property -var getProperty = function getProperty(obj, name) { - if (name === '__proto__') { - if (!hasOwn.call(obj, name)) { - return void 0; - } else if (gOPD) { - // In early versions of node, obj['__proto__'] is buggy when obj has - // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. - return gOPD(obj, name).value; - } - } - - return obj[name]; -}; - -module.exports = function extend() { - var options, name, src, copy, copyIsArray, clone; - var target = arguments[0]; - var i = 1; - var length = arguments.length; - var deep = false; - - // Handle a deep copy situation - if (typeof target === 'boolean') { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { - target = {}; - } - - for (; i < length; ++i) { - options = arguments[i]; - // Only deal with non-null/undefined values - if (options != null) { - // Extend the base object - for (name in options) { - src = getProperty(target, name); - copy = getProperty(options, name); - - // Prevent never-ending loop - if (target !== copy) { - // Recurse if we're merging plain objects or arrays - if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && isArray(src) ? src : []; - } else { - clone = src && isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); - - // Don't bring in undefined values - } else if (typeof copy !== 'undefined') { - setProperty(target, { name: name, newValue: copy }); - } - } - } - } - } - - // Return the modified object - return target; -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json deleted file mode 100644 index 85279f78054e5c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "extend", - "author": "Stefan Thomas (http://www.justmoon.net)", - "version": "3.0.2", - "description": "Port of jQuery.extend for node.js and the browser", - "main": "index", - "scripts": { - "pretest": "npm run lint", - "test": "npm run tests-only", - "posttest": "npm run coverage-quiet", - "tests-only": "node test", - "coverage": "covert test/index.js", - "coverage-quiet": "covert test/index.js --quiet", - "lint": "npm run jscs && npm run eslint", - "jscs": "jscs *.js */*.js", - "eslint": "eslint *.js */*.js" - }, - "contributors": [ - { - "name": "Jordan Harband", - "url": "https://github.com/ljharb" - } - ], - "keywords": [ - "extend", - "clone", - "merge" - ], - "repository": { - "type": "git", - "url": "https://github.com/justmoon/node-extend.git" - }, - "dependencies": {}, - "devDependencies": { - "@ljharb/eslint-config": "^12.2.1", - "covert": "^1.1.0", - "eslint": "^4.19.1", - "jscs": "^3.0.7", - "tape": "^4.9.1" - }, - "license": "MIT" -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE deleted file mode 100644 index dea3013d6710ee..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md deleted file mode 100644 index b1c56658557b81..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md +++ /dev/null @@ -1,42 +0,0 @@ -Browser-friendly inheritance fully compatible with standard node.js -[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). - -This package exports standard `inherits` from node.js `util` module in -node environment, but also provides alternative browser-friendly -implementation through [browser -field](https://gist.github.com/shtylman/4339901). Alternative -implementation is a literal copy of standard one located in standalone -module to avoid requiring of `util`. It also has a shim for old -browsers with no `Object.create` support. - -While keeping you sure you are using standard `inherits` -implementation in node.js environment, it allows bundlers such as -[browserify](https://github.com/substack/node-browserify) to not -include full `util` package to your client code if all you need is -just `inherits` function. It worth, because browser shim for `util` -package is large and `inherits` is often the single function you need -from it. - -It's recommended to use this package instead of -`require('util').inherits` for any code that has chances to be used -not only in node.js but in browser too. - -## usage - -```js -var inherits = require('inherits'); -// then use exactly as the standard one -``` - -## note on version ~1.0 - -Version ~1.0 had completely different motivation and is not compatible -neither with 2.0 nor with standard node.js `inherits`. - -If you are using version ~1.0 and planning to switch to ~2.0, be -careful: - -* new version uses `super_` instead of `super` for referencing - superclass -* new version overwrites current prototype while old one preserves any - existing fields on it diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js deleted file mode 100644 index f71f2d93294a67..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js +++ /dev/null @@ -1,9 +0,0 @@ -try { - var util = require('util'); - /* istanbul ignore next */ - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - /* istanbul ignore next */ - module.exports = require('./inherits_browser.js'); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js deleted file mode 100644 index 86bbb3dc29e484..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js +++ /dev/null @@ -1,27 +0,0 @@ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }) - } - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json deleted file mode 100644 index 37b4366b83e63e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "inherits", - "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", - "version": "2.0.4", - "keywords": [ - "inheritance", - "class", - "klass", - "oop", - "object-oriented", - "inherits", - "browser", - "browserify" - ], - "main": "./inherits.js", - "browser": "./inherits_browser.js", - "repository": "git://github.com/isaacs/inherits", - "license": "ISC", - "scripts": { - "test": "tap" - }, - "devDependencies": { - "tap": "^14.2.4" - }, - "files": [ - "inherits.js", - "inherits_browser.js" - ] -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/index.js deleted file mode 100644 index 26d3650ef060cd..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = alphabetical - -// Check if the given character code, or the character code at the first -// character, is alphabetical. -function alphabetical(character) { - var code = typeof character === 'string' ? character.charCodeAt(0) : character - - return ( - (code >= 97 && code <= 122) /* a-z */ || - (code >= 65 && code <= 90) /* A-Z */ - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/package.json deleted file mode 100644 index c7764f2a09e8c8..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "is-alphabetical", - "version": "1.0.4", - "description": "Check if a character is alphabetical", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "alphabetical" - ], - "repository": "wooorm/is-alphabetical", - "bugs": "https://github.com/wooorm/is-alphabetical/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify -s isAlphabetical -o is-alphabetical.js", - "build-mangle": "browserify -s isAlphabetical -p tinyify -o is-alphabetical.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "capitalized-comments": "off" - }, - "ignores": [ - "is-alphabetical.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/readme.md deleted file mode 100644 index 2a6064b6865ffb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/readme.md +++ /dev/null @@ -1,70 +0,0 @@ -# is-alphabetical - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is alphabetical. - -## Install - -[npm][]: - -```sh -npm install is-alphabetical -``` - -## Use - -```js -var alphabetical = require('is-alphabetical') - -alphabetical('a') // => true -alphabetical('B') // => true -alphabetical('0') // => false -alphabetical('💩') // => false -``` - -## API - -### `alphabetical(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is alphabetical. - -## Related - -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-alphabetical.svg - -[build]: https://travis-ci.org/wooorm/is-alphabetical - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-alphabetical.svg - -[coverage]: https://codecov.io/github/wooorm/is-alphabetical - -[downloads-badge]: https://img.shields.io/npm/dm/is-alphabetical.svg - -[downloads]: https://www.npmjs.com/package/is-alphabetical - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-alphabetical.svg - -[size]: https://bundlephobia.com/result?p=is-alphabetical - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/index.js deleted file mode 100644 index cd5edef3dbf03c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/index.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -var alphabetical = require('is-alphabetical') -var decimal = require('is-decimal') - -module.exports = alphanumerical - -// Check if the given character code, or the character code at the first -// character, is alphanumerical. -function alphanumerical(character) { - return alphabetical(character) || decimal(character) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/package.json deleted file mode 100644 index edaa31e66f0ea1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "is-alphanumerical", - "version": "1.0.4", - "description": "Check if a character is alphanumerical", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "alphabetical", - "numerical", - "alphanumerical" - ], - "repository": "wooorm/is-alphanumerical", - "bugs": "https://github.com/wooorm/is-alphanumerical/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s isAlphanumerical -o is-alphanumerical.js", - "build-mangle": "browserify . -s isAlphanumerical -p tinyify -o is-alphanumerical.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-alphanumerical.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/readme.md deleted file mode 100644 index 8496cad64e66ba..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/readme.md +++ /dev/null @@ -1,71 +0,0 @@ -# is-alphanumerical - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is alphanumerical (`[a-zA-Z0-9]`). - -## Install - -[npm][]: - -```sh -npm install is-alphanumerical -``` - -## Use - -```js -var alphanumerical = require('is-alphanumerical') - -alphanumerical('a') // => true -alphanumerical('Z') // => true -alphanumerical('0') // => true -alphanumerical(' ') // => false -alphanumerical('💩') // => false -``` - -## API - -### `alphanumerical(character)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is alphanumerical. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-alphanumerical.svg - -[build]: https://travis-ci.org/wooorm/is-alphanumerical - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-alphanumerical.svg - -[coverage]: https://codecov.io/github/wooorm/is-alphanumerical - -[downloads-badge]: https://img.shields.io/npm/dm/is-alphanumerical.svg - -[downloads]: https://www.npmjs.com/package/is-alphanumerical - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-alphanumerical.svg - -[size]: https://bundlephobia.com/result?p=is-alphanumerical - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE deleted file mode 100644 index 0c068ceecbd48f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md deleted file mode 100644 index cce0a8cf924d8c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# is-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] - -[travis-image]: https://img.shields.io/travis/feross/is-buffer/master.svg -[travis-url]: https://travis-ci.org/feross/is-buffer -[npm-image]: https://img.shields.io/npm/v/is-buffer.svg -[npm-url]: https://npmjs.org/package/is-buffer -[downloads-image]: https://img.shields.io/npm/dm/is-buffer.svg -[downloads-url]: https://npmjs.org/package/is-buffer -[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg -[standard-url]: https://standardjs.com - -#### Determine if an object is a [`Buffer`](http://nodejs.org/api/buffer.html) (including the [browserify Buffer](https://github.com/feross/buffer)) - -[![saucelabs][saucelabs-image]][saucelabs-url] - -[saucelabs-image]: https://saucelabs.com/browser-matrix/is-buffer.svg -[saucelabs-url]: https://saucelabs.com/u/is-buffer - -## Why not use `Buffer.isBuffer`? - -This module lets you check if an object is a `Buffer` without using `Buffer.isBuffer` (which includes the whole [buffer](https://github.com/feross/buffer) module in [browserify](http://browserify.org/)). - -It's future-proof and works in node too! - -## install - -```bash -npm install is-buffer -``` - -## usage - -```js -var isBuffer = require('is-buffer') - -isBuffer(new Buffer(4)) // true - -isBuffer(undefined) // false -isBuffer(null) // false -isBuffer('') // false -isBuffer(true) // false -isBuffer(false) // false -isBuffer(0) // false -isBuffer(1) // false -isBuffer(1.0) // false -isBuffer('string') // false -isBuffer({}) // false -isBuffer(function foo () {}) // false -``` - -## license - -MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org). diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js deleted file mode 100644 index 9cce396594f605..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -// The _isBuffer check is for Safari 5-7 support, because it's missing -// Object.prototype.constructor. Remove this eventually -module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) -} - -function isBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -} - -// For Node v0.10 support. Remove this eventually. -function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json deleted file mode 100644 index ea12137a63cf0f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "is-buffer", - "description": "Determine if an object is a Buffer", - "version": "1.1.6", - "author": { - "name": "Feross Aboukhadijeh", - "email": "feross@feross.org", - "url": "http://feross.org/" - }, - "bugs": { - "url": "https://github.com/feross/is-buffer/issues" - }, - "dependencies": {}, - "devDependencies": { - "standard": "*", - "tape": "^4.0.0", - "zuul": "^3.0.0" - }, - "keywords": [ - "buffer", - "buffers", - "type", - "core buffer", - "browser buffer", - "browserify", - "typed array", - "uint32array", - "int16array", - "int32array", - "float32array", - "float64array", - "browser", - "arraybuffer", - "dataview" - ], - "license": "MIT", - "main": "index.js", - "repository": { - "type": "git", - "url": "git://github.com/feross/is-buffer.git" - }, - "scripts": { - "test": "standard && npm run test-node && npm run test-browser", - "test-browser": "zuul -- test/*.js", - "test-browser-local": "zuul --local -- test/*.js", - "test-node": "tape test/*.js" - }, - "testling": { - "files": "test/*.js" - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/index.js deleted file mode 100644 index a522104e5cf970..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/index.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -module.exports = decimal - -// Check if the given character code, or the character code at the first -// character, is decimal. -function decimal(character) { - var code = typeof character === 'string' ? character.charCodeAt(0) : character - - return code >= 48 && code <= 57 /* 0-9 */ -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/package.json deleted file mode 100644 index 5589c2a4f1f1b7..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "is-decimal", - "version": "1.0.4", - "description": "Check if a character is decimal", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "decimal" - ], - "repository": "wooorm/is-decimal", - "bugs": "https://github.com/wooorm/is-decimal/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s isDecimal -o is-decimal.js", - "build-mangle": "browserify . -s isDecimal -p tinyify -o is-decimal.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-decimal.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/readme.md deleted file mode 100644 index d24a3d28c0a32d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/readme.md +++ /dev/null @@ -1,69 +0,0 @@ -# is-decimal - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is decimal. - -## Install - -[npm][]: - -```sh -npm install is-decimal -``` - -## Use - -```js -var decimal = require('is-decimal') - -decimal('0') // => true -decimal('9') // => true -decimal('a') // => false -decimal('💩') // => false -``` - -## API - -### `decimal(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is decimal. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-decimal.svg - -[build]: https://travis-ci.org/wooorm/is-decimal - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-decimal.svg - -[coverage]: https://codecov.io/github/wooorm/is-decimal - -[downloads-badge]: https://img.shields.io/npm/dm/is-decimal.svg - -[downloads]: https://www.npmjs.com/package/is-decimal - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-decimal.svg - -[size]: https://bundlephobia.com/result?p=is-decimal - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/index.js deleted file mode 100644 index 567c9d1c077737..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict' - -module.exports = hexadecimal - -// Check if the given character code, or the character code at the first -// character, is hexadecimal. -function hexadecimal(character) { - var code = typeof character === 'string' ? character.charCodeAt(0) : character - - return ( - (code >= 97 /* a */ && code <= 102) /* z */ || - (code >= 65 /* A */ && code <= 70) /* Z */ || - (code >= 48 /* A */ && code <= 57) /* Z */ - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/package.json deleted file mode 100644 index b8741fe102945a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "is-hexadecimal", - "version": "1.0.4", - "description": "Check if a character is hexadecimal", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "hexadecimal" - ], - "repository": "wooorm/is-hexadecimal", - "bugs": "https://github.com/wooorm/is-hexadecimal/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s isHexadecimal -o is-hexadecimal.js", - "build-mangle": "browserify . -s isHexadecimal -p tinyify -o is-hexadecimal.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-hexadecimal.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/readme.md deleted file mode 100644 index 7c82b1b8d462f8..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/readme.md +++ /dev/null @@ -1,70 +0,0 @@ -# is-hexadecimal - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is hexadecimal. - -## Install - -[npm][]: - -```sh -npm install is-hexadecimal -``` - -## Use - -```js -var hexadecimal = require('is-hexadecimal') - -hexadecimal('a') // => true -hexadecimal('0') // => true -hexadecimal('G') // => false -hexadecimal('💩') // => false -``` - -## API - -### `hexadecimal(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is hexadecimal. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphabetical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-hexadecimal.svg - -[build]: https://travis-ci.org/wooorm/is-hexadecimal - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-hexadecimal.svg - -[coverage]: https://codecov.io/github/wooorm/is-hexadecimal - -[downloads-badge]: https://img.shields.io/npm/dm/is-hexadecimal.svg - -[downloads]: https://www.npmjs.com/package/is-hexadecimal - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-hexadecimal.svg - -[size]: https://bundlephobia.com/result?p=is-hexadecimal - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js deleted file mode 100644 index 0d1ba9eeb89723..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; -var toString = Object.prototype.toString; - -module.exports = function (x) { - var prototype; - return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license deleted file mode 100644 index 654d0bfe943437..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json deleted file mode 100644 index d331f6e8169900..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "is-plain-obj", - "version": "1.1.0", - "description": "Check if a value is a plain object", - "license": "MIT", - "repository": "sindresorhus/is-plain-obj", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "node test.js" - }, - "files": [ - "index.js" - ], - "keywords": [ - "obj", - "object", - "is", - "check", - "test", - "type", - "plain", - "vanilla", - "pure", - "simple" - ], - "devDependencies": { - "ava": "0.0.4" - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md deleted file mode 100644 index 269e56aeff0646..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# is-plain-obj [![Build Status](https://travis-ci.org/sindresorhus/is-plain-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/is-plain-obj) - -> Check if a value is a plain object - -An object is plain if it's created by either `{}`, `new Object()` or `Object.create(null)`. - - -## Install - -``` -$ npm install --save is-plain-obj -``` - - -## Usage - -```js -var isPlainObj = require('is-plain-obj'); - -isPlainObj({foo: 'bar'}); -//=> true - -isPlainObj([1, 2, 3]); -//=> false -``` - - -## Related - -- [is-obj](https://github.com/sindresorhus/is-obj) - Check if a value is an object - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js deleted file mode 100644 index 801c19f0d8df82..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = whitespace - -var fromCode = String.fromCharCode -var re = /\s/ - -// Check if the given character code, or the character code at the first -// character, is a whitespace character. -function whitespace(character) { - return re.test( - typeof character === 'number' ? fromCode(character) : character.charAt(0) - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json deleted file mode 100644 index d6b35d9a0b5df4..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "is-whitespace-character", - "version": "1.0.4", - "description": "Check if a character is a whitespace character", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "whitespace", - "white", - "space" - ], - "repository": "wooorm/is-whitespace-character", - "bugs": "https://github.com/wooorm/is-whitespace-character/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s isWhitespaceCharacter -o is-whitespace-character.js", - "build-mangle": "browserify . -s isWhitespaceCharacter -p tinyify -o is-whitespace-character.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-whitespace-character.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md deleted file mode 100644 index 34d4f343c86adf..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# is-whitespace-character - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is a whitespace character: `\s`, which equals all Unicode -Space Separators (including `[ \t\v\f]`), the BOM (`\uFEFF`), and line -terminator (`[\n\r\u2028\u2029]`). - -## Install - -[npm][]: - -```sh -npm install is-whitespace-character -``` - -## Use - -```js -var whitespace = require('is-whitespace-character') - -whitespace(' ') // => true -whitespace('\n') // => true -whitespace('\uFEFF') // => true -whitespace('_') // => false -whitespace('a') // => false -whitespace('💩') // => false -``` - -## API - -### `whitespaceCharacter(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is a whitespace character. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-whitespace-character.svg - -[build]: https://travis-ci.org/wooorm/is-whitespace-character - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-whitespace-character.svg - -[coverage]: https://codecov.io/github/wooorm/is-whitespace-character - -[downloads-badge]: https://img.shields.io/npm/dm/is-whitespace-character.svg - -[downloads]: https://www.npmjs.com/package/is-whitespace-character - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-whitespace-character.svg - -[size]: https://bundlephobia.com/result?p=is-whitespace-character - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js deleted file mode 100644 index 8c3537f99568c3..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = wordCharacter - -var fromCode = String.fromCharCode -var re = /\w/ - -// Check if the given character code, or the character code at the first -// character, is a word character. -function wordCharacter(character) { - return re.test( - typeof character === 'number' ? fromCode(character) : character.charAt(0) - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json deleted file mode 100644 index 42c262cf64fa63..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "is-word-character", - "version": "1.0.4", - "description": "Check if a character is a word character", - "license": "MIT", - "keywords": [ - "string", - "character", - "char", - "code", - "word" - ], - "repository": "wooorm/is-word-character", - "bugs": "https://github.com/wooorm/is-word-character/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s isWordCharacter -o is-word-character.js", - "build-mangle": "browserify . -s isWordCharacter -p tinyify -o is-word-character.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-word-character.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md deleted file mode 100644 index 3c88ce976e3da2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# is-word-character - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is a word character (`\w`, which equals `[a-zA-Z0-9_]`). - -## Install - -[npm][]: - -```sh -npm install is-word-character -``` - -## Use - -```js -var wordCharacter = require('is-word-character') - -wordCharacter('a') // => true -wordCharacter('Z') // => true -wordCharacter('0') // => true -wordCharacter('_') // => true -wordCharacter(' ') // => false -wordCharacter('💩') // => false -``` - -## API - -### `wordCharacter(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is a word character. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-word-character.svg - -[build]: https://travis-ci.org/wooorm/is-word-character - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-word-character.svg - -[coverage]: https://codecov.io/github/wooorm/is-word-character - -[downloads-badge]: https://img.shields.io/npm/dm/is-word-character.svg - -[downloads]: https://www.npmjs.com/package/is-word-character - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-word-character.svg - -[size]: https://bundlephobia.com/result?p=is-word-character - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js deleted file mode 100644 index f8bea48eacca65..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict' - -module.exports = escapes - -var defaults = [ - '\\', - '`', - '*', - '{', - '}', - '[', - ']', - '(', - ')', - '#', - '+', - '-', - '.', - '!', - '_', - '>' -] - -var gfm = defaults.concat(['~', '|']) - -var commonmark = gfm.concat([ - '\n', - '"', - '$', - '%', - '&', - "'", - ',', - '/', - ':', - ';', - '<', - '=', - '?', - '@', - '^' -]) - -escapes.default = defaults -escapes.gfm = gfm -escapes.commonmark = commonmark - -// Get markdown escapes. -function escapes(options) { - var settings = options || {} - - if (settings.commonmark) { - return commonmark - } - - return settings.gfm ? gfm : defaults -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json deleted file mode 100644 index 7f94d86ad7acc9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "markdown-escapes", - "version": "1.0.4", - "description": "List of escapable characters in markdown", - "license": "MIT", - "keywords": [ - "markdown", - "escape", - "pedantic", - "gfm", - "commonmark" - ], - "repository": "wooorm/markdown-escapes", - "bugs": "https://github.com/wooorm/markdown-escapes/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s markdownEscapes -o markdown-escapes.js", - "build-mangle": "browserify . -s markdownEscapes -p tinyify -o markdown-escapes.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "markdown-escapes.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md deleted file mode 100644 index a7404526114d3d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md +++ /dev/null @@ -1,80 +0,0 @@ -# markdown-escapes - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -List of escapable characters in markdown. - -## Install - -[npm][]: - -```sh -npm install markdown-escapes -``` - -## Use - -```js -var escapes = require('markdown-escapes'); - -// Access by property: -escapes.commonmark; //=> ['\\', '`', ..., '@', '^'] - -// Access by options object: -escapes({gfm: true}); //=> ['\\', '`', ..., '~', '|'] -``` - -## API - -### `escapes([options])` - -Get escapes. -Supports `options.commonmark` and `options.gfm`, which when `true` returns the -extra escape characters supported by those flavors. - -###### Returns - -`Array.`. - -### `escapes.default` - -List of default escapable characters. - -### `escapes.gfm` - -List of escapable characters in GFM (which includes all `default`s). - -### `escapes.commonmark` - -List of escapable characters in CommonMark (which includes all `gfm`s). - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/markdown-escapes.svg - -[build]: https://travis-ci.org/wooorm/markdown-escapes - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/markdown-escapes.svg - -[coverage]: https://codecov.io/github/wooorm/markdown-escapes - -[downloads-badge]: https://img.shields.io/npm/dm/markdown-escapes.svg - -[downloads]: https://www.npmjs.com/package/markdown-escapes - -[size-badge]: https://img.shields.io/bundlephobia/minzip/markdown-escapes.svg - -[size]: https://bundlephobia.com/result?p=markdown-escapes - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.browser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.browser.js deleted file mode 100644 index feb32664202d16..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.browser.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict' - -/* eslint-env browser */ - -var el - -var semicolon = 59 // ';' - -module.exports = decodeEntity - -function decodeEntity(characters) { - var entity = '&' + characters + ';' - var char - - el = el || document.createElement('i') - el.innerHTML = entity - char = el.textContent - - // Some entities do not require the closing semicolon (`¬` - for instance), - // which leads to situations where parsing the assumed entity of ¬it; will - // result in the string `¬it;`. When we encounter a trailing semicolon after - // parsing and the entity to decode was not a semicolon (`;`), we can - // assume that the matching was incomplete - if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') { - return false - } - - // If the decoded string is equal to the input, the entity was not valid - return char === entity ? false : char -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.js b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.js deleted file mode 100644 index 87c3b1e0bc2657..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict' - -var characterEntities = require('character-entities') - -module.exports = decodeEntity - -var own = {}.hasOwnProperty - -function decodeEntity(characters) { - return own.call(characterEntities, characters) - ? characterEntities[characters] - : false -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js deleted file mode 100644 index 1606d02f6590c5..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js +++ /dev/null @@ -1,450 +0,0 @@ -'use strict' - -var legacy = require('character-entities-legacy') -var invalid = require('character-reference-invalid') -var decimal = require('is-decimal') -var hexadecimal = require('is-hexadecimal') -var alphanumerical = require('is-alphanumerical') -var decodeEntity = require('./decode-entity') - -module.exports = parseEntities - -var own = {}.hasOwnProperty -var fromCharCode = String.fromCharCode -var noop = Function.prototype - -// Default settings. -var defaults = { - warning: null, - reference: null, - text: null, - warningContext: null, - referenceContext: null, - textContext: null, - position: {}, - additional: null, - attribute: false, - nonTerminated: true -} - -// Characters. -var tab = 9 // '\t' -var lineFeed = 10 // '\n' -var formFeed = 12 // '\f' -var space = 32 // ' ' -var ampersand = 38 // '&' -var semicolon = 59 // ';' -var lessThan = 60 // '<' -var equalsTo = 61 // '=' -var numberSign = 35 // '#' -var uppercaseX = 88 // 'X' -var lowercaseX = 120 // 'x' -var replacementCharacter = 65533 // '�' - -// Reference types. -var name = 'named' -var hexa = 'hexadecimal' -var deci = 'decimal' - -// Map of bases. -var bases = {} - -bases[hexa] = 16 -bases[deci] = 10 - -// Map of types to tests. -// Each type of character reference accepts different characters. -// This test is used to detect whether a reference has ended (as the semicolon -// is not strictly needed). -var tests = {} - -tests[name] = alphanumerical -tests[deci] = decimal -tests[hexa] = hexadecimal - -// Warning types. -var namedNotTerminated = 1 -var numericNotTerminated = 2 -var namedEmpty = 3 -var numericEmpty = 4 -var namedUnknown = 5 -var numericDisallowed = 6 -var numericProhibited = 7 - -// Warning messages. -var messages = {} - -messages[namedNotTerminated] = - 'Named character references must be terminated by a semicolon' -messages[numericNotTerminated] = - 'Numeric character references must be terminated by a semicolon' -messages[namedEmpty] = 'Named character references cannot be empty' -messages[numericEmpty] = 'Numeric character references cannot be empty' -messages[namedUnknown] = 'Named character references must be known' -messages[numericDisallowed] = - 'Numeric character references cannot be disallowed' -messages[numericProhibited] = - 'Numeric character references cannot be outside the permissible Unicode range' - -// Wrap to ensure clean parameters are given to `parse`. -function parseEntities(value, options) { - var settings = {} - var option - var key - - if (!options) { - options = {} - } - - for (key in defaults) { - option = options[key] - settings[key] = - option === null || option === undefined ? defaults[key] : option - } - - if (settings.position.indent || settings.position.start) { - settings.indent = settings.position.indent || [] - settings.position = settings.position.start - } - - return parse(value, settings) -} - -// Parse entities. -// eslint-disable-next-line complexity -function parse(value, settings) { - var additional = settings.additional - var nonTerminated = settings.nonTerminated - var handleText = settings.text - var handleReference = settings.reference - var handleWarning = settings.warning - var textContext = settings.textContext - var referenceContext = settings.referenceContext - var warningContext = settings.warningContext - var pos = settings.position - var indent = settings.indent || [] - var length = value.length - var index = 0 - var lines = -1 - var column = pos.column || 1 - var line = pos.line || 1 - var queue = '' - var result = [] - var entityCharacters - var namedEntity - var terminated - var characters - var character - var reference - var following - var warning - var reason - var output - var entity - var begin - var start - var type - var test - var prev - var next - var diff - var end - - if (typeof additional === 'string') { - additional = additional.charCodeAt(0) - } - - // Cache the current point. - prev = now() - - // Wrap `handleWarning`. - warning = handleWarning ? parseError : noop - - // Ensure the algorithm walks over the first character and the end (inclusive). - index-- - length++ - - while (++index < length) { - // If the previous character was a newline. - if (character === lineFeed) { - column = indent[lines] || 1 - } - - character = value.charCodeAt(index) - - if (character === ampersand) { - following = value.charCodeAt(index + 1) - - // The behaviour depends on the identity of the next character. - if ( - following === tab || - following === lineFeed || - following === formFeed || - following === space || - following === ampersand || - following === lessThan || - following !== following || - (additional && following === additional) - ) { - // Not a character reference. - // No characters are consumed, and nothing is returned. - // This is not an error, either. - queue += fromCharCode(character) - column++ - - continue - } - - start = index + 1 - begin = start - end = start - - if (following === numberSign) { - // Numerical entity. - end = ++begin - - // The behaviour further depends on the next character. - following = value.charCodeAt(end) - - if (following === uppercaseX || following === lowercaseX) { - // ASCII hex digits. - type = hexa - end = ++begin - } else { - // ASCII digits. - type = deci - } - } else { - // Named entity. - type = name - } - - entityCharacters = '' - entity = '' - characters = '' - test = tests[type] - end-- - - while (++end < length) { - following = value.charCodeAt(end) - - if (!test(following)) { - break - } - - characters += fromCharCode(following) - - // Check if we can match a legacy named reference. - // If so, we cache that as the last viable named reference. - // This ensures we do not need to walk backwards later. - if (type === name && own.call(legacy, characters)) { - entityCharacters = characters - entity = legacy[characters] - } - } - - terminated = value.charCodeAt(end) === semicolon - - if (terminated) { - end++ - - namedEntity = type === name ? decodeEntity(characters) : false - - if (namedEntity) { - entityCharacters = characters - entity = namedEntity - } - } - - diff = 1 + end - start - - if (!terminated && !nonTerminated) { - // Empty. - } else if (!characters) { - // An empty (possible) entity is valid, unless it’s numeric (thus an - // ampersand followed by an octothorp). - if (type !== name) { - warning(numericEmpty, diff) - } - } else if (type === name) { - // An ampersand followed by anything unknown, and not terminated, is - // invalid. - if (terminated && !entity) { - warning(namedUnknown, 1) - } else { - // If theres something after an entity name which is not known, cap - // the reference. - if (entityCharacters !== characters) { - end = begin + entityCharacters.length - diff = 1 + end - begin - terminated = false - } - - // If the reference is not terminated, warn. - if (!terminated) { - reason = entityCharacters ? namedNotTerminated : namedEmpty - - if (settings.attribute) { - following = value.charCodeAt(end) - - if (following === equalsTo) { - warning(reason, diff) - entity = null - } else if (alphanumerical(following)) { - entity = null - } else { - warning(reason, diff) - } - } else { - warning(reason, diff) - } - } - } - - reference = entity - } else { - if (!terminated) { - // All non-terminated numeric entities are not rendered, and trigger a - // warning. - warning(numericNotTerminated, diff) - } - - // When terminated and number, parse as either hexadecimal or decimal. - reference = parseInt(characters, bases[type]) - - // Trigger a warning when the parsed number is prohibited, and replace - // with replacement character. - if (prohibited(reference)) { - warning(numericProhibited, diff) - reference = fromCharCode(replacementCharacter) - } else if (reference in invalid) { - // Trigger a warning when the parsed number is disallowed, and replace - // by an alternative. - warning(numericDisallowed, diff) - reference = invalid[reference] - } else { - // Parse the number. - output = '' - - // Trigger a warning when the parsed number should not be used. - if (disallowed(reference)) { - warning(numericDisallowed, diff) - } - - // Stringify the number. - if (reference > 0xffff) { - reference -= 0x10000 - output += fromCharCode((reference >>> (10 & 0x3ff)) | 0xd800) - reference = 0xdc00 | (reference & 0x3ff) - } - - reference = output + fromCharCode(reference) - } - } - - // Found it! - // First eat the queued characters as normal text, then eat an entity. - if (reference) { - flush() - - prev = now() - index = end - 1 - column += end - start + 1 - result.push(reference) - next = now() - next.offset++ - - if (handleReference) { - handleReference.call( - referenceContext, - reference, - {start: prev, end: next}, - value.slice(start - 1, end) - ) - } - - prev = next - } else { - // If we could not find a reference, queue the checked characters (as - // normal characters), and move the pointer to their end. - // This is possible because we can be certain neither newlines nor - // ampersands are included. - characters = value.slice(start - 1, end) - queue += characters - column += characters.length - index = end - 1 - } - } else { - // Handle anything other than an ampersand, including newlines and EOF. - if ( - character === 10 // Line feed - ) { - line++ - lines++ - column = 0 - } - - if (character === character) { - queue += fromCharCode(character) - column++ - } else { - flush() - } - } - } - - // Return the reduced nodes, and any possible warnings. - return result.join('') - - // Get current position. - function now() { - return { - line: line, - column: column, - offset: index + (pos.offset || 0) - } - } - - // “Throw” a parse-error: a warning. - function parseError(code, offset) { - var position = now() - - position.column += offset - position.offset += offset - - handleWarning.call(warningContext, messages[code], position, code) - } - - // Flush `queue` (normal text). - // Macro invoked before each entity and at the end of `value`. - // Does nothing when `queue` is empty. - function flush() { - if (queue) { - result.push(queue) - - if (handleText) { - handleText.call(textContext, queue, {start: prev, end: now()}) - } - - queue = '' - } - } -} - -// Check if `character` is outside the permissible unicode range. -function prohibited(code) { - return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff -} - -// Check if `character` is disallowed. -function disallowed(code) { - return ( - (code >= 0x0001 && code <= 0x0008) || - code === 0x000b || - (code >= 0x000d && code <= 0x001f) || - (code >= 0x007f && code <= 0x009f) || - (code >= 0xfdd0 && code <= 0xfdef) || - (code & 0xffff) === 0xffff || - (code & 0xffff) === 0xfffe - ) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/license b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/license deleted file mode 100644 index 611b67581bb8e2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json deleted file mode 100644 index a5e1bc46f6a9ba..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "name": "parse-entities", - "version": "1.2.2", - "description": "Parse HTML character references: fast, spec-compliant, positional information", - "license": "MIT", - "keywords": [ - "parse", - "html", - "character", - "reference", - "entity", - "entities" - ], - "repository": "wooorm/parse-entities", - "bugs": "https://github.com/wooorm/parse-entities/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "browser": { - "./decode-entity.js": "./decode-entity.browser.js" - }, - "react-native": { - "./decode-entity.js": "./decode-entity.js" - }, - "files": [ - "index.js", - "decode-entity.js", - "decode-entity.browser.js" - ], - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.12.1", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.2.0", - "tape-run": "^6.0.0", - "tinyify": "^2.4.3", - "xo": "^0.24.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s parseEntities > parse-entities.js", - "build-mangle": "browserify . -s parseEntities -p tinyify > parse-entities.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test-browser": "browserify test.js | tape-run", - "test": "npm run format && npm run build && npm run test-coverage && npm run test-browser" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "no-self-compare": "off", - "guard-for-in": "off", - "max-depth": "off" - }, - "ignores": [ - "parse-entities.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md deleted file mode 100644 index e9cc0f037ff16f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md +++ /dev/null @@ -1,217 +0,0 @@ -# parse-entities - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Parse HTML character references: fast, spec-compliant, positional -information. - -## Installation - -[npm][]: - -```bash -npm install parse-entities -``` - -## Usage - -```js -var decode = require('parse-entities') - -decode('alpha & bravo') -// => alpha & bravo - -decode('charlie ©cat; delta') -// => charlie ©cat; delta - -decode('echo © foxtrot ≠ golf 𝌆 hotel') -// => echo © foxtrot ≠ golf 𝌆 hotel -``` - -## API - -## `parseEntities(value[, options])` - -##### `options` - -###### `options.additional` - -Additional character to accept (`string?`, default: `''`). -This allows other characters, without error, when following an ampersand. - -###### `options.attribute` - -Whether to parse `value` as an attribute value (`boolean?`, default: -`false`). - -###### `options.nonTerminated` - -Whether to allow non-terminated entities (`boolean`, default: `true`). -For example, `©cat` for `©cat`. This behaviour is spec-compliant but -can lead to unexpected results. - -###### `options.warning` - -Error handler ([`Function?`][warning]). - -###### `options.text` - -Text handler ([`Function?`][text]). - -###### `options.reference` - -Reference handler ([`Function?`][reference]). - -###### `options.warningContext` - -Context used when invoking `warning` (`'*'`, optional). - -###### `options.textContext` - -Context used when invoking `text` (`'*'`, optional). - -###### `options.referenceContext` - -Context used when invoking `reference` (`'*'`, optional) - -###### `options.position` - -Starting `position` of `value` (`Location` or `Position`, optional). Useful -when dealing with values nested in some sort of syntax tree. The default is: - -```js -{ - start: {line: 1, column: 1, offset: 0}, - indent: [] -} -``` - -##### Returns - -`string` — Decoded `value`. - -### `function warning(reason, position, code)` - -Error handler. - -##### Context - -`this` refers to `warningContext` when given to `parseEntities`. - -##### Parameters - -###### `reason` - -Human-readable reason for triggering a parse error (`string`). - -###### `position` - -Place at which the parse error occurred (`Position`). - -###### `code` - -Identifier of reason for triggering a parse error (`number`). - -The following codes are used: - -| Code | Example | Note | -| ---- | ------------------ | --------------------------------------------- | -| `1` | `foo & bar` | Missing semicolon (named) | -| `2` | `foo { bar` | Missing semicolon (numeric) | -| `3` | `Foo &bar baz` | Ampersand did not start a reference | -| `4` | `Foo &#` | Empty reference | -| `5` | `Foo &bar; baz` | Unknown entity | -| `6` | `Foo € baz` | [Disallowed reference][invalid] | -| `7` | `Foo � baz` | Prohibited: outside permissible unicode range | - -### `function text(value, location)` - -Text handler. - -##### Context - -`this` refers to `textContext` when given to `parseEntities`. - -##### Parameters - -###### `value` - -String of content (`string`). - -###### `location` - -Location at which `value` starts and ends (`Location`). - -### `function reference(value, location, source)` - -Character reference handler. - -##### Context - -`this` refers to `referenceContext` when given to `parseEntities`. - -##### Parameters - -###### `value` - -Encoded character reference (`string`). - -###### `location` - -Location at which `value` starts and ends (`Location`). - -###### `source` - -Source of character reference (`Location`). - -## Related - -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Encode HTML character references -* [`character-entities`](https://github.com/wooorm/character-entities) - — Info on character entities -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — Info on HTML4 character entities -* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) - — Info on legacy character entities -* [`character-reference-invalid`](https://github.com/wooorm/character-reference-invalid) - — Info on invalid numeric character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/parse-entities.svg - -[build]: https://travis-ci.org/wooorm/parse-entities - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/parse-entities.svg - -[coverage]: https://codecov.io/github/wooorm/parse-entities - -[downloads-badge]: https://img.shields.io/npm/dm/parse-entities.svg - -[downloads]: https://www.npmjs.com/package/parse-entities - -[size-badge]: https://img.shields.io/bundlephobia/minzip/parse-entities.svg - -[size]: https://bundlephobia.com/result?p=parse-entities - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[warning]: #function-warningreason-position-code - -[text]: #function-textvalue-location - -[reference]: #function-referencevalue-location-source - -[invalid]: https://github.com/wooorm/character-reference-invalid diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js deleted file mode 100644 index 1579e35518c582..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var unherit = require('unherit'); -var xtend = require('xtend'); -var Parser = require('./lib/parser.js'); - -module.exports = parse; -parse.Parser = Parser; - -function parse(options) { - var Local = unherit(Parser); - Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options); - this.Parser = Local; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.json b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.json deleted file mode 100644 index 2d13b561792d65..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - "address", - "article", - "aside", - "base", - "basefont", - "blockquote", - "body", - "caption", - "center", - "col", - "colgroup", - "dd", - "details", - "dialog", - "dir", - "div", - "dl", - "dt", - "fieldset", - "figcaption", - "figure", - "footer", - "form", - "frame", - "frameset", - "h1", - "h2", - "h3", - "h4", - "h5", - "h6", - "head", - "header", - "hgroup", - "hr", - "html", - "iframe", - "legend", - "li", - "link", - "main", - "menu", - "menuitem", - "meta", - "nav", - "noframes", - "ol", - "optgroup", - "option", - "p", - "param", - "pre", - "section", - "source", - "title", - "summary", - "table", - "tbody", - "td", - "tfoot", - "th", - "thead", - "title", - "tr", - "track", - "ul" -] diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js deleted file mode 100644 index fd45b729d069e1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var entities = require('parse-entities'); - -module.exports = factory; - -/* Factory to create an entity decoder. */ -function factory(ctx) { - decoder.raw = decodeRaw; - - return decoder; - - /* Normalize `position` to add an `indent`. */ - function normalize(position) { - var offsets = ctx.offset; - var line = position.line; - var result = []; - - while (++line) { - if (!(line in offsets)) { - break; - } - - result.push((offsets[line] || 0) + 1); - } - - return { - start: position, - indent: result - }; - } - - /* Handle a warning. - * See https://github.com/wooorm/parse-entities - * for the warnings. */ - function handleWarning(reason, position, code) { - if (code === 3) { - return; - } - - ctx.file.message(reason, position); - } - - /* Decode `value` (at `position`) into text-nodes. */ - function decoder(value, position, handler) { - entities(value, { - position: normalize(position), - warning: handleWarning, - text: handler, - reference: handler, - textContext: ctx, - referenceContext: ctx - }); - } - - /* Decode `value` (at `position`) into a string. */ - function decodeRaw(value, position, options) { - return entities(value, xtend(options, { - position: normalize(position), - warning: handleWarning - })); - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js deleted file mode 100644 index 37846f3930a35a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -module.exports = { - position: true, - gfm: true, - commonmark: false, - footnotes: false, - pedantic: false, - blocks: require('./block-elements.json') -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js deleted file mode 100644 index 295bdc9855126e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var index = value.indexOf('\n', fromIndex); - - while (index > fromIndex) { - if (value.charAt(index - 1) !== ' ') { - break; - } - - index--; - } - - return index; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js deleted file mode 100644 index 981c81698254fe..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('`', fromIndex); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js deleted file mode 100644 index d208aef2fff386..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('~~', fromIndex); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js deleted file mode 100644 index 6a1f24227d05bb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var asterisk = value.indexOf('*', fromIndex); - var underscore = value.indexOf('_', fromIndex); - - if (underscore === -1) { - return asterisk; - } - - if (asterisk === -1) { - return underscore; - } - - return underscore < asterisk ? underscore : asterisk; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js deleted file mode 100644 index f6c63715827ef3..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('\\', fromIndex); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js deleted file mode 100644 index 0f16fd8016bd36..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var link = value.indexOf('[', fromIndex); - var image = value.indexOf('![', fromIndex); - - if (image === -1) { - return link; - } - - /* Link can never be `-1` if an image is found, so we don’t need - * to check for that :) */ - return link < image ? link : image; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js deleted file mode 100644 index da1cac0a499f2e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var asterisk = value.indexOf('**', fromIndex); - var underscore = value.indexOf('__', fromIndex); - - if (underscore === -1) { - return asterisk; - } - - if (asterisk === -1) { - return underscore; - } - - return underscore < asterisk ? underscore : asterisk; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js deleted file mode 100644 index 3c5534268abe1d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('<', fromIndex); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js deleted file mode 100644 index 59b63e2563693e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -module.exports = locate; - -var PROTOCOLS = ['https://', 'http://', 'mailto:']; - -function locate(value, fromIndex) { - var length = PROTOCOLS.length; - var index = -1; - var min = -1; - var position; - - if (!this.options.gfm) { - return -1; - } - - while (++index < length) { - position = value.indexOf(PROTOCOLS[index], fromIndex); - - if (position !== -1 && (position < min || min === -1)) { - min = position; - } - } - - return min; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js deleted file mode 100644 index 5a8d8119556792..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var removePosition = require('unist-util-remove-position'); - -module.exports = parse; - -var C_NEWLINE = '\n'; -var EXPRESSION_LINE_BREAKS = /\r\n|\r/g; - -/* Parse the bound file. */ -function parse() { - var self = this; - var value = String(self.file); - var start = {line: 1, column: 1, offset: 0}; - var content = xtend(start); - var node; - - /* Clean non-unix newlines: `\r\n` and `\r` are all - * changed to `\n`. This should not affect positional - * information. */ - value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE); - - if (value.charCodeAt(0) === 0xFEFF) { - value = value.slice(1); - - content.column++; - content.offset++; - } - - node = { - type: 'root', - children: self.tokenizeBlock(value, content), - position: { - start: start, - end: self.eof || xtend(start) - } - }; - - if (!self.options.position) { - removePosition(node, true); - } - - return node; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js deleted file mode 100644 index 9291109f16f3ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js +++ /dev/null @@ -1,152 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var toggle = require('state-toggle'); -var vfileLocation = require('vfile-location'); -var unescape = require('./unescape'); -var decode = require('./decode'); -var tokenizer = require('./tokenizer'); - -module.exports = Parser; - -function Parser(doc, file) { - this.file = file; - this.offset = {}; - this.options = xtend(this.options); - this.setOptions({}); - - this.inList = false; - this.inBlock = false; - this.inLink = false; - this.atStart = true; - - this.toOffset = vfileLocation(file).toOffset; - this.unescape = unescape(this, 'escape'); - this.decode = decode(this); -} - -var proto = Parser.prototype; - -/* Expose core. */ -proto.setOptions = require('./set-options'); -proto.parse = require('./parse'); - -/* Expose `defaults`. */ -proto.options = require('./defaults'); - -/* Enter and exit helpers. */ -proto.exitStart = toggle('atStart', true); -proto.enterList = toggle('inList', false); -proto.enterLink = toggle('inLink', false); -proto.enterBlock = toggle('inBlock', false); - -/* Nodes that can interupt a paragraph: - * - * ```markdown - * A paragraph, followed by a thematic break. - * ___ - * ``` - * - * In the above example, the thematic break “interupts” - * the paragraph. */ -proto.interruptParagraph = [ - ['thematicBreak'], - ['atxHeading'], - ['fencedCode'], - ['blockquote'], - ['html'], - ['setextHeading', {commonmark: false}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -]; - -/* Nodes that can interupt a list: - * - * ```markdown - * - One - * ___ - * ``` - * - * In the above example, the thematic break “interupts” - * the list. */ -proto.interruptList = [ - ['atxHeading', {pedantic: false}], - ['fencedCode', {pedantic: false}], - ['thematicBreak', {pedantic: false}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -]; - -/* Nodes that can interupt a blockquote: - * - * ```markdown - * > A paragraph. - * ___ - * ``` - * - * In the above example, the thematic break “interupts” - * the blockquote. */ -proto.interruptBlockquote = [ - ['indentedCode', {commonmark: true}], - ['fencedCode', {commonmark: true}], - ['atxHeading', {commonmark: true}], - ['setextHeading', {commonmark: true}], - ['thematicBreak', {commonmark: true}], - ['html', {commonmark: true}], - ['list', {commonmark: true}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -]; - -/* Handlers. */ -proto.blockTokenizers = { - newline: require('./tokenize/newline'), - indentedCode: require('./tokenize/code-indented'), - fencedCode: require('./tokenize/code-fenced'), - blockquote: require('./tokenize/blockquote'), - atxHeading: require('./tokenize/heading-atx'), - thematicBreak: require('./tokenize/thematic-break'), - list: require('./tokenize/list'), - setextHeading: require('./tokenize/heading-setext'), - html: require('./tokenize/html-block'), - footnote: require('./tokenize/footnote-definition'), - definition: require('./tokenize/definition'), - table: require('./tokenize/table'), - paragraph: require('./tokenize/paragraph') -}; - -proto.inlineTokenizers = { - escape: require('./tokenize/escape'), - autoLink: require('./tokenize/auto-link'), - url: require('./tokenize/url'), - html: require('./tokenize/html-inline'), - link: require('./tokenize/link'), - reference: require('./tokenize/reference'), - strong: require('./tokenize/strong'), - emphasis: require('./tokenize/emphasis'), - deletion: require('./tokenize/delete'), - code: require('./tokenize/code-inline'), - break: require('./tokenize/break'), - text: require('./tokenize/text') -}; - -/* Expose precedence. */ -proto.blockMethods = keys(proto.blockTokenizers); -proto.inlineMethods = keys(proto.inlineTokenizers); - -/* Tokenizers. */ -proto.tokenizeBlock = tokenizer('block'); -proto.tokenizeInline = tokenizer('inline'); -proto.tokenizeFactory = tokenizer; - -/* Get all keys in `value`. */ -function keys(value) { - var result = []; - var key; - - for (key in value) { - result.push(key); - } - - return result; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js deleted file mode 100644 index c55f7f32f31def..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var escapes = require('markdown-escapes'); -var defaults = require('./defaults'); - -module.exports = setOptions; - -function setOptions(options) { - var self = this; - var current = self.options; - var key; - var value; - - if (options == null) { - options = {}; - } else if (typeof options === 'object') { - options = xtend(options); - } else { - throw new Error( - 'Invalid value `' + options + '` ' + - 'for setting `options`' - ); - } - - for (key in defaults) { - value = options[key]; - - if (value == null) { - value = current[key]; - } - - if ( - (key !== 'blocks' && typeof value !== 'boolean') || - (key === 'blocks' && typeof value !== 'object') - ) { - throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`'); - } - - options[key] = value; - } - - self.options = options; - self.escape = escapes(options); - - return self; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js deleted file mode 100644 index c945a2c1f88f58..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js +++ /dev/null @@ -1,145 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var decode = require('parse-entities'); -var locate = require('../locate/tag'); - -module.exports = autoLink; -autoLink.locator = locate; -autoLink.notInLink = true; - -var C_LT = '<'; -var C_GT = '>'; -var C_AT_SIGN = '@'; -var C_SLASH = '/'; -var MAILTO = 'mailto:'; -var MAILTO_LENGTH = MAILTO.length; - -/* Tokenise a link. */ -function autoLink(eat, value, silent) { - var self; - var subvalue; - var length; - var index; - var queue; - var character; - var hasAtCharacter; - var link; - var now; - var content; - var tokenizers; - var exit; - - if (value.charAt(0) !== C_LT) { - return; - } - - self = this; - subvalue = ''; - length = value.length; - index = 0; - queue = ''; - hasAtCharacter = false; - link = ''; - - index++; - subvalue = C_LT; - - while (index < length) { - character = value.charAt(index); - - if ( - whitespace(character) || - character === C_GT || - character === C_AT_SIGN || - (character === ':' && value.charAt(index + 1) === C_SLASH) - ) { - break; - } - - queue += character; - index++; - } - - if (!queue) { - return; - } - - link += queue; - queue = ''; - - character = value.charAt(index); - link += character; - index++; - - if (character === C_AT_SIGN) { - hasAtCharacter = true; - } else { - if ( - character !== ':' || - value.charAt(index + 1) !== C_SLASH - ) { - return; - } - - link += C_SLASH; - index++; - } - - while (index < length) { - character = value.charAt(index); - - if (whitespace(character) || character === C_GT) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (!queue || character !== C_GT) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - link += queue; - content = link; - subvalue += link + character; - now = eat.now(); - now.column++; - now.offset++; - - if (hasAtCharacter) { - if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) { - content = content.substr(MAILTO_LENGTH); - now.column += MAILTO_LENGTH; - now.offset += MAILTO_LENGTH; - } else { - link = MAILTO + link; - } - } - - /* Temporarily remove all tokenizers except text in autolinks. */ - tokenizers = self.inlineTokenizers; - self.inlineTokenizers = {text: tokenizers.text}; - - exit = self.enterLink(); - - content = self.tokenizeInline(content, now); - - self.inlineTokenizers = tokenizers; - exit(); - - return eat(subvalue)({ - type: 'link', - title: null, - url: decode(link, {nonTerminated: false}), - children: content - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js deleted file mode 100644 index bd700d6a6c8276..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js +++ /dev/null @@ -1,129 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var interrupt = require('../util/interrupt'); - -module.exports = blockquote; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_GT = '>'; - -/* Tokenise a blockquote. */ -function blockquote(eat, value, silent) { - var self = this; - var offsets = self.offset; - var tokenizers = self.blockTokenizers; - var interruptors = self.interruptBlockquote; - var now = eat.now(); - var currentLine = now.line; - var length = value.length; - var values = []; - var contents = []; - var indents = []; - var add; - var index = 0; - var character; - var rest; - var nextIndex; - var content; - var line; - var startIndex; - var prefixed; - var exit; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - index++; - } - - if (value.charAt(index) !== C_GT) { - return; - } - - if (silent) { - return true; - } - - index = 0; - - while (index < length) { - nextIndex = value.indexOf(C_NEWLINE, index); - startIndex = index; - prefixed = false; - - if (nextIndex === -1) { - nextIndex = length; - } - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - index++; - } - - if (value.charAt(index) === C_GT) { - index++; - prefixed = true; - - if (value.charAt(index) === C_SPACE) { - index++; - } - } else { - index = startIndex; - } - - content = value.slice(index, nextIndex); - - if (!prefixed && !trim(content)) { - index = startIndex; - break; - } - - if (!prefixed) { - rest = value.slice(index); - - /* Check if the following code contains a possible - * block. */ - if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) { - break; - } - } - - line = startIndex === index ? content : value.slice(startIndex, nextIndex); - - indents.push(index - startIndex); - values.push(line); - contents.push(content); - - index = nextIndex + 1; - } - - index = -1; - length = indents.length; - add = eat(values.join(C_NEWLINE)); - - while (++index < length) { - offsets[currentLine] = (offsets[currentLine] || 0) + indents[index]; - currentLine++; - } - - exit = self.enterBlock(); - contents = self.tokenizeBlock(contents.join(C_NEWLINE), now); - exit(); - - return add({ - type: 'blockquote', - children: contents - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js deleted file mode 100644 index eb531342bfebcb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var locate = require('../locate/break'); - -module.exports = hardBreak; -hardBreak.locator = locate; - -var MIN_BREAK_LENGTH = 2; - -function hardBreak(eat, value, silent) { - var length = value.length; - var index = -1; - var queue = ''; - var character; - - while (++index < length) { - character = value.charAt(index); - - if (character === '\n') { - if (index < MIN_BREAK_LENGTH) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - queue += character; - - return eat(queue)({type: 'break'}); - } - - if (character !== ' ') { - return; - } - - queue += character; - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js deleted file mode 100644 index 65f2bc73273ab3..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js +++ /dev/null @@ -1,236 +0,0 @@ -'use strict'; - -var trim = require('trim-trailing-lines'); - -module.exports = fencedCode; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_TILDE = '~'; -var C_TICK = '`'; - -var MIN_FENCE_COUNT = 3; -var CODE_INDENT_COUNT = 4; - -function fencedCode(eat, value, silent) { - var self = this; - var settings = self.options; - var length = value.length + 1; - var index = 0; - var subvalue = ''; - var fenceCount; - var marker; - var character; - var flag; - var queue; - var content; - var exdentedContent; - var closing; - var exdentedClosing; - var indent; - var now; - - if (!settings.gfm) { - return; - } - - /* Eat initial spacing. */ - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - subvalue += character; - index++; - } - - indent = index; - - /* Eat the fence. */ - character = value.charAt(index); - - if (character !== C_TILDE && character !== C_TICK) { - return; - } - - index++; - marker = character; - fenceCount = 1; - subvalue += character; - - while (index < length) { - character = value.charAt(index); - - if (character !== marker) { - break; - } - - subvalue += character; - fenceCount++; - index++; - } - - if (fenceCount < MIN_FENCE_COUNT) { - return; - } - - /* Eat spacing before flag. */ - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - subvalue += character; - index++; - } - - /* Eat flag. */ - flag = ''; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if ( - character === C_NEWLINE || - character === C_TILDE || - character === C_TICK - ) { - break; - } - - if (character === C_SPACE || character === C_TAB) { - queue += character; - } else { - flag += queue + character; - queue = ''; - } - - index++; - } - - character = value.charAt(index); - - if (character && character !== C_NEWLINE) { - return; - } - - if (silent) { - return true; - } - - now = eat.now(); - now.column += subvalue.length; - now.offset += subvalue.length; - - subvalue += flag; - flag = self.decode.raw(self.unescape(flag), now); - - if (queue) { - subvalue += queue; - } - - queue = ''; - closing = ''; - exdentedClosing = ''; - content = ''; - exdentedContent = ''; - - /* Eat content. */ - while (index < length) { - character = value.charAt(index); - content += closing; - exdentedContent += exdentedClosing; - closing = ''; - exdentedClosing = ''; - - if (character !== C_NEWLINE) { - content += character; - exdentedClosing += character; - index++; - continue; - } - - /* Add the newline to `subvalue` if its the first - * character. Otherwise, add it to the `closing` - * queue. */ - if (content) { - closing += character; - exdentedClosing += character; - } else { - subvalue += character; - } - - queue = ''; - index++; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE) { - break; - } - - queue += character; - index++; - } - - closing += queue; - exdentedClosing += queue.slice(indent); - - if (queue.length >= CODE_INDENT_COUNT) { - continue; - } - - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character !== marker) { - break; - } - - queue += character; - index++; - } - - closing += queue; - exdentedClosing += queue; - - if (queue.length < fenceCount) { - continue; - } - - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - closing += character; - exdentedClosing += character; - index++; - } - - if (!character || character === C_NEWLINE) { - break; - } - } - - subvalue += content + closing; - - return eat(subvalue)({ - type: 'code', - lang: flag || null, - value: trim(exdentedContent) - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js deleted file mode 100644 index c73849d9ad8bf2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js +++ /dev/null @@ -1,98 +0,0 @@ -'use strict'; - -var repeat = require('repeat-string'); -var trim = require('trim-trailing-lines'); - -module.exports = indentedCode; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; - -var CODE_INDENT_COUNT = 4; -var CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT); - -/* Tokenise indented code. */ -function indentedCode(eat, value, silent) { - var index = -1; - var length = value.length; - var subvalue = ''; - var content = ''; - var subvalueQueue = ''; - var contentQueue = ''; - var character; - var blankQueue; - var indent; - - while (++index < length) { - character = value.charAt(index); - - if (indent) { - indent = false; - - subvalue += subvalueQueue; - content += contentQueue; - subvalueQueue = ''; - contentQueue = ''; - - if (character === C_NEWLINE) { - subvalueQueue = character; - contentQueue = character; - } else { - subvalue += character; - content += character; - - while (++index < length) { - character = value.charAt(index); - - if (!character || character === C_NEWLINE) { - contentQueue = character; - subvalueQueue = character; - break; - } - - subvalue += character; - content += character; - } - } - } else if ( - character === C_SPACE && - value.charAt(index + 1) === character && - value.charAt(index + 2) === character && - value.charAt(index + 3) === character - ) { - subvalueQueue += CODE_INDENT; - index += 3; - indent = true; - } else if (character === C_TAB) { - subvalueQueue += character; - indent = true; - } else { - blankQueue = ''; - - while (character === C_TAB || character === C_SPACE) { - blankQueue += character; - character = value.charAt(++index); - } - - if (character !== C_NEWLINE) { - break; - } - - subvalueQueue += blankQueue + character; - contentQueue += character; - } - } - - if (content) { - if (silent) { - return true; - } - - return eat(subvalue)({ - type: 'code', - lang: null, - value: trim(content) - }); - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js deleted file mode 100644 index c0a496b49255ba..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js +++ /dev/null @@ -1,112 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/code-inline'); - -module.exports = inlineCode; -inlineCode.locator = locate; - -var C_TICK = '`'; - -/* Tokenise inline code. */ -function inlineCode(eat, value, silent) { - var length = value.length; - var index = 0; - var queue = ''; - var tickQueue = ''; - var contentQueue; - var subqueue; - var count; - var openingCount; - var subvalue; - var character; - var found; - var next; - - while (index < length) { - if (value.charAt(index) !== C_TICK) { - break; - } - - queue += C_TICK; - index++; - } - - if (!queue) { - return; - } - - subvalue = queue; - openingCount = index; - queue = ''; - next = value.charAt(index); - count = 0; - - while (index < length) { - character = next; - next = value.charAt(index + 1); - - if (character === C_TICK) { - count++; - tickQueue += character; - } else { - count = 0; - queue += character; - } - - if (count && next !== C_TICK) { - if (count === openingCount) { - subvalue += queue + tickQueue; - found = true; - break; - } - - queue += tickQueue; - tickQueue = ''; - } - - index++; - } - - if (!found) { - if (openingCount % 2 !== 0) { - return; - } - - queue = ''; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - contentQueue = ''; - subqueue = ''; - length = queue.length; - index = -1; - - while (++index < length) { - character = queue.charAt(index); - - if (whitespace(character)) { - subqueue += character; - continue; - } - - if (subqueue) { - if (contentQueue) { - contentQueue += subqueue; - } - - subqueue = ''; - } - - contentQueue += character; - } - - return eat(subvalue)({ - type: 'inlineCode', - value: contentQueue - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js deleted file mode 100644 index 1cce274cfbdd71..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js +++ /dev/null @@ -1,278 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var normalize = require('../util/normalize'); - -module.exports = definition; -definition.notInList = true; -definition.notInBlock = true; - -var C_DOUBLE_QUOTE = '"'; -var C_SINGLE_QUOTE = '\''; -var C_BACKSLASH = '\\'; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_PAREN_OPEN = '('; -var C_PAREN_CLOSE = ')'; -var C_COLON = ':'; -var C_LT = '<'; -var C_GT = '>'; - -function definition(eat, value, silent) { - var self = this; - var commonmark = self.options.commonmark; - var index = 0; - var length = value.length; - var subvalue = ''; - var beforeURL; - var beforeTitle; - var queue; - var character; - var test; - var identifier; - var url; - var title; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - subvalue += character; - index++; - } - - character = value.charAt(index); - - if (character !== C_BRACKET_OPEN) { - return; - } - - index++; - subvalue += character; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_CLOSE) { - break; - } else if (character === C_BACKSLASH) { - queue += character; - index++; - character = value.charAt(index); - } - - queue += character; - index++; - } - - if ( - !queue || - value.charAt(index) !== C_BRACKET_CLOSE || - value.charAt(index + 1) !== C_COLON - ) { - return; - } - - identifier = queue; - subvalue += queue + C_BRACKET_CLOSE + C_COLON; - index = subvalue.length; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if ( - character !== C_TAB && - character !== C_SPACE && - character !== C_NEWLINE - ) { - break; - } - - subvalue += character; - index++; - } - - character = value.charAt(index); - queue = ''; - beforeURL = subvalue; - - if (character === C_LT) { - index++; - - while (index < length) { - character = value.charAt(index); - - if (!isEnclosedURLCharacter(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (character === isEnclosedURLCharacter.delimiter) { - subvalue += C_LT + queue + character; - index++; - } else { - if (commonmark) { - return; - } - - index -= queue.length + 1; - queue = ''; - } - } - - if (!queue) { - while (index < length) { - character = value.charAt(index); - - if (!isUnclosedURLCharacter(character)) { - break; - } - - queue += character; - index++; - } - - subvalue += queue; - } - - if (!queue) { - return; - } - - url = queue; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if ( - character !== C_TAB && - character !== C_SPACE && - character !== C_NEWLINE - ) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - test = null; - - if (character === C_DOUBLE_QUOTE) { - test = C_DOUBLE_QUOTE; - } else if (character === C_SINGLE_QUOTE) { - test = C_SINGLE_QUOTE; - } else if (character === C_PAREN_OPEN) { - test = C_PAREN_CLOSE; - } - - if (!test) { - queue = ''; - index = subvalue.length; - } else if (queue) { - subvalue += queue + character; - index = subvalue.length; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === test) { - break; - } - - if (character === C_NEWLINE) { - index++; - character = value.charAt(index); - - if (character === C_NEWLINE || character === test) { - return; - } - - queue += C_NEWLINE; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (character !== test) { - return; - } - - beforeTitle = subvalue; - subvalue += queue + character; - index++; - title = queue; - queue = ''; - } else { - return; - } - - while (index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - subvalue += character; - index++; - } - - character = value.charAt(index); - - if (!character || character === C_NEWLINE) { - if (silent) { - return true; - } - - beforeURL = eat(beforeURL).test().end; - url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false}); - - if (title) { - beforeTitle = eat(beforeTitle).test().end; - title = self.decode.raw(self.unescape(title), beforeTitle); - } - - return eat(subvalue)({ - type: 'definition', - identifier: normalize(identifier), - title: title || null, - url: url - }); - } -} - -/* Check if `character` can be inside an enclosed URI. */ -function isEnclosedURLCharacter(character) { - return character !== C_GT && - character !== C_BRACKET_OPEN && - character !== C_BRACKET_CLOSE; -} - -isEnclosedURLCharacter.delimiter = C_GT; - -/* Check if `character` can be inside an unclosed URI. */ -function isUnclosedURLCharacter(character) { - return character !== C_BRACKET_OPEN && - character !== C_BRACKET_CLOSE && - !whitespace(character); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js deleted file mode 100644 index ca7c68a8c5c1be..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/delete'); - -module.exports = strikethrough; -strikethrough.locator = locate; - -var C_TILDE = '~'; -var DOUBLE = '~~'; - -function strikethrough(eat, value, silent) { - var self = this; - var character = ''; - var previous = ''; - var preceding = ''; - var subvalue = ''; - var index; - var length; - var now; - - if ( - !self.options.gfm || - value.charAt(0) !== C_TILDE || - value.charAt(1) !== C_TILDE || - whitespace(value.charAt(2)) - ) { - return; - } - - index = 1; - length = value.length; - now = eat.now(); - now.column += 2; - now.offset += 2; - - while (++index < length) { - character = value.charAt(index); - - if ( - character === C_TILDE && - previous === C_TILDE && - (!preceding || !whitespace(preceding)) - ) { - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - return eat(DOUBLE + subvalue + DOUBLE)({ - type: 'delete', - children: self.tokenizeInline(subvalue, now) - }); - } - - subvalue += previous; - preceding = previous; - previous = character; - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js deleted file mode 100644 index b2c87b4497de38..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var word = require('is-word-character'); -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/emphasis'); - -module.exports = emphasis; -emphasis.locator = locate; - -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; - -function emphasis(eat, value, silent) { - var self = this; - var index = 0; - var character = value.charAt(index); - var now; - var pedantic; - var marker; - var queue; - var subvalue; - var length; - var prev; - - if (character !== C_ASTERISK && character !== C_UNDERSCORE) { - return; - } - - pedantic = self.options.pedantic; - subvalue = character; - marker = character; - length = value.length; - index++; - queue = ''; - character = ''; - - if (pedantic && whitespace(value.charAt(index))) { - return; - } - - while (index < length) { - prev = character; - character = value.charAt(index); - - if (character === marker && (!pedantic || !whitespace(prev))) { - character = value.charAt(++index); - - if (character !== marker) { - if (!trim(queue) || prev === marker) { - return; - } - - if (!pedantic && marker === C_UNDERSCORE && word(character)) { - queue += marker; - continue; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - now = eat.now(); - now.column++; - now.offset++; - - return eat(subvalue + queue + marker)({ - type: 'emphasis', - children: self.tokenizeInline(queue, now) - }); - } - - queue += marker; - } - - if (!pedantic && character === '\\') { - queue += character; - character = value.charAt(++index); - } - - queue += character; - index++; - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js deleted file mode 100644 index d6f99bcc10381d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict'; - -var locate = require('../locate/escape'); - -module.exports = escape; -escape.locator = locate; - -function escape(eat, value, silent) { - var self = this; - var character; - var node; - - if (value.charAt(0) === '\\') { - character = value.charAt(1); - - if (self.escape.indexOf(character) !== -1) { - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - if (character === '\n') { - node = {type: 'break'}; - } else { - node = { - type: 'text', - value: character - }; - } - - return eat('\\' + character)(node); - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js deleted file mode 100644 index f48ff9bb7eb187..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js +++ /dev/null @@ -1,185 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var normalize = require('../util/normalize'); - -module.exports = footnoteDefinition; -footnoteDefinition.notInList = true; -footnoteDefinition.notInBlock = true; - -var C_BACKSLASH = '\\'; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_CARET = '^'; -var C_COLON = ':'; - -var EXPRESSION_INITIAL_TAB = /^( {4}|\t)?/gm; - -function footnoteDefinition(eat, value, silent) { - var self = this; - var offsets = self.offset; - var index; - var length; - var subvalue; - var now; - var currentLine; - var content; - var queue; - var subqueue; - var character; - var identifier; - var add; - var exit; - - if (!self.options.footnotes) { - return; - } - - index = 0; - length = value.length; - subvalue = ''; - now = eat.now(); - currentLine = now.line; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - subvalue += character; - index++; - } - - if ( - value.charAt(index) !== C_BRACKET_OPEN || - value.charAt(index + 1) !== C_CARET - ) { - return; - } - - subvalue += C_BRACKET_OPEN + C_CARET; - index = subvalue.length; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_CLOSE) { - break; - } else if (character === C_BACKSLASH) { - queue += character; - index++; - character = value.charAt(index); - } - - queue += character; - index++; - } - - if ( - !queue || - value.charAt(index) !== C_BRACKET_CLOSE || - value.charAt(index + 1) !== C_COLON - ) { - return; - } - - if (silent) { - return true; - } - - identifier = normalize(queue); - subvalue += queue + C_BRACKET_CLOSE + C_COLON; - index = subvalue.length; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - subvalue += character; - index++; - } - - now.column += subvalue.length; - now.offset += subvalue.length; - queue = ''; - content = ''; - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === C_NEWLINE) { - subqueue = character; - index++; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_NEWLINE) { - break; - } - - subqueue += character; - index++; - } - - queue += subqueue; - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE) { - break; - } - - subqueue += character; - index++; - } - - if (subqueue.length === 0) { - break; - } - - queue += subqueue; - } - - if (queue) { - content += queue; - queue = ''; - } - - content += character; - index++; - } - - subvalue += content; - - content = content.replace(EXPRESSION_INITIAL_TAB, function (line) { - offsets[currentLine] = (offsets[currentLine] || 0) + line.length; - currentLine++; - - return ''; - }); - - add = eat(subvalue); - - exit = self.enterBlock(); - content = self.tokenizeBlock(content, now); - exit(); - - return add({ - type: 'footnoteDefinition', - identifier: identifier, - children: content - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js deleted file mode 100644 index aafeabb54910f6..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js +++ /dev/null @@ -1,141 +0,0 @@ -'use strict'; - -module.exports = atxHeading; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_HASH = '#'; - -var MAX_ATX_COUNT = 6; - -function atxHeading(eat, value, silent) { - var self = this; - var settings = self.options; - var length = value.length + 1; - var index = -1; - var now = eat.now(); - var subvalue = ''; - var content = ''; - var character; - var queue; - var depth; - - /* Eat initial spacing. */ - while (++index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - index--; - break; - } - - subvalue += character; - } - - /* Eat hashes. */ - depth = 0; - - while (++index <= length) { - character = value.charAt(index); - - if (character !== C_HASH) { - index--; - break; - } - - subvalue += character; - depth++; - } - - if (depth > MAX_ATX_COUNT) { - return; - } - - if ( - !depth || - (!settings.pedantic && value.charAt(index + 1) === C_HASH) - ) { - return; - } - - length = value.length + 1; - - /* Eat intermediate white-space. */ - queue = ''; - - while (++index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - index--; - break; - } - - queue += character; - } - - /* Exit when not in pedantic mode without spacing. */ - if ( - !settings.pedantic && - queue.length === 0 && - character && - character !== C_NEWLINE - ) { - return; - } - - if (silent) { - return true; - } - - /* Eat content. */ - subvalue += queue; - queue = ''; - content = ''; - - while (++index < length) { - character = value.charAt(index); - - if (!character || character === C_NEWLINE) { - break; - } - - if ( - character !== C_SPACE && - character !== C_TAB && - character !== C_HASH - ) { - content += queue + character; - queue = ''; - continue; - } - - while (character === C_SPACE || character === C_TAB) { - queue += character; - character = value.charAt(++index); - } - - while (character === C_HASH) { - queue += character; - character = value.charAt(++index); - } - - while (character === C_SPACE || character === C_TAB) { - queue += character; - character = value.charAt(++index); - } - - index--; - } - - now.column += subvalue.length; - now.offset += subvalue.length; - subvalue += content + queue; - - return eat(subvalue)({ - type: 'heading', - depth: depth, - children: self.tokenizeInline(content, now) - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js deleted file mode 100644 index 96c6130da744e1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js +++ /dev/null @@ -1,107 +0,0 @@ -'use strict'; - -module.exports = setextHeading; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_EQUALS = '='; -var C_DASH = '-'; - -var MAX_HEADING_INDENT = 3; - -/* Map of characters which can be used to mark setext - * headers, mapping to their corresponding depth. */ -var SETEXT_MARKERS = {}; - -SETEXT_MARKERS[C_EQUALS] = 1; -SETEXT_MARKERS[C_DASH] = 2; - -function setextHeading(eat, value, silent) { - var self = this; - var now = eat.now(); - var length = value.length; - var index = -1; - var subvalue = ''; - var content; - var queue; - var character; - var marker; - var depth; - - /* Eat initial indentation. */ - while (++index < length) { - character = value.charAt(index); - - if (character !== C_SPACE || index >= MAX_HEADING_INDENT) { - index--; - break; - } - - subvalue += character; - } - - /* Eat content. */ - content = ''; - queue = ''; - - while (++index < length) { - character = value.charAt(index); - - if (character === C_NEWLINE) { - index--; - break; - } - - if (character === C_SPACE || character === C_TAB) { - queue += character; - } else { - content += queue + character; - queue = ''; - } - } - - now.column += subvalue.length; - now.offset += subvalue.length; - subvalue += content + queue; - - /* Ensure the content is followed by a newline and a - * valid marker. */ - character = value.charAt(++index); - marker = value.charAt(++index); - - if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) { - return; - } - - subvalue += character; - - /* Eat Setext-line. */ - queue = marker; - depth = SETEXT_MARKERS[marker]; - - while (++index < length) { - character = value.charAt(index); - - if (character !== marker) { - if (character !== C_NEWLINE) { - return; - } - - index--; - break; - } - - queue += character; - } - - if (silent) { - return true; - } - - return eat(subvalue + queue)({ - type: 'heading', - depth: depth, - children: self.tokenizeInline(content, now) - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js deleted file mode 100644 index 6e81eb290a3993..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict'; - -var openCloseTag = require('../util/html').openCloseTag; - -module.exports = blockHTML; - -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_LT = '<'; - -function blockHTML(eat, value, silent) { - var self = this; - var blocks = self.options.blocks; - var length = value.length; - var index = 0; - var next; - var line; - var offset; - var character; - var count; - var sequence; - var subvalue; - - var sequences = [ - [/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true], - [/^/, true], - [/^<\?/, /\?>/, true], - [/^/, true], - [/^/, true], - [new RegExp('^|$))', 'i'), /^$/, true], - [new RegExp(openCloseTag.source + '\\s*$'), /^$/, false] - ]; - - /* Eat initial spacing. */ - while (index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - index++; - } - - if (value.charAt(index) !== C_LT) { - return; - } - - next = value.indexOf(C_NEWLINE, index + 1); - next = next === -1 ? length : next; - line = value.slice(index, next); - offset = -1; - count = sequences.length; - - while (++offset < count) { - if (sequences[offset][0].test(line)) { - sequence = sequences[offset]; - break; - } - } - - if (!sequence) { - return; - } - - if (silent) { - return sequence[2]; - } - - index = next; - - if (!sequence[1].test(line)) { - while (index < length) { - next = value.indexOf(C_NEWLINE, index + 1); - next = next === -1 ? length : next; - line = value.slice(index + 1, next); - - if (sequence[1].test(line)) { - if (line) { - index = next; - } - - break; - } - - index = next; - } - } - - subvalue = value.slice(0, index); - - return eat(subvalue)({type: 'html', value: subvalue}); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js deleted file mode 100644 index c204e962b15ae8..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var alphabetical = require('is-alphabetical'); -var locate = require('../locate/tag'); -var tag = require('../util/html').tag; - -module.exports = inlineHTML; -inlineHTML.locator = locate; - -var EXPRESSION_HTML_LINK_OPEN = /^/i; - -function inlineHTML(eat, value, silent) { - var self = this; - var length = value.length; - var character; - var subvalue; - - if (value.charAt(0) !== '<' || length < 3) { - return; - } - - character = value.charAt(1); - - if ( - !alphabetical(character) && - character !== '?' && - character !== '!' && - character !== '/' - ) { - return; - } - - subvalue = value.match(tag); - - if (!subvalue) { - return; - } - - /* istanbul ignore if - not used yet. */ - if (silent) { - return true; - } - - subvalue = subvalue[0]; - - if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) { - self.inLink = true; - } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) { - self.inLink = false; - } - - return eat(subvalue)({type: 'html', value: subvalue}); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js deleted file mode 100644 index 3ef5e1ba312d75..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js +++ /dev/null @@ -1,392 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/link'); - -module.exports = link; -link.locator = locate; - -var own = {}.hasOwnProperty; - -var C_BACKSLASH = '\\'; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_PAREN_OPEN = '('; -var C_PAREN_CLOSE = ')'; -var C_LT = '<'; -var C_GT = '>'; -var C_TICK = '`'; -var C_DOUBLE_QUOTE = '"'; -var C_SINGLE_QUOTE = '\''; - -/* Map of characters, which can be used to mark link - * and image titles. */ -var LINK_MARKERS = {}; - -LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE; -LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE; - -/* Map of characters, which can be used to mark link - * and image titles in commonmark-mode. */ -var COMMONMARK_LINK_MARKERS = {}; - -COMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE; -COMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE; -COMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE; - -function link(eat, value, silent) { - var self = this; - var subvalue = ''; - var index = 0; - var character = value.charAt(0); - var pedantic = self.options.pedantic; - var commonmark = self.options.commonmark; - var gfm = self.options.gfm; - var closed; - var count; - var opening; - var beforeURL; - var beforeTitle; - var subqueue; - var hasMarker; - var markers; - var isImage; - var content; - var marker; - var length; - var title; - var depth; - var queue; - var url; - var now; - var exit; - var node; - - /* Detect whether this is an image. */ - if (character === '!') { - isImage = true; - subvalue = character; - character = value.charAt(++index); - } - - /* Eat the opening. */ - if (character !== C_BRACKET_OPEN) { - return; - } - - /* Exit when this is a link and we’re already inside - * a link. */ - if (!isImage && self.inLink) { - return; - } - - subvalue += character; - queue = ''; - index++; - - /* Eat the content. */ - length = value.length; - now = eat.now(); - depth = 0; - - now.column += index; - now.offset += index; - - while (index < length) { - character = value.charAt(index); - subqueue = character; - - if (character === C_TICK) { - /* Inline-code in link content. */ - count = 1; - - while (value.charAt(index + 1) === C_TICK) { - subqueue += character; - index++; - count++; - } - - if (!opening) { - opening = count; - } else if (count >= opening) { - opening = 0; - } - } else if (character === C_BACKSLASH) { - /* Allow brackets to be escaped. */ - index++; - subqueue += value.charAt(index); - /* In GFM mode, brackets in code still count. - * In all other modes, they don’t. This empty - * block prevents the next statements are - * entered. */ - } else if ((!opening || gfm) && character === C_BRACKET_OPEN) { - depth++; - } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) { - if (depth) { - depth--; - } else { - /* Allow white-space between content and - * url in GFM mode. */ - if (!pedantic) { - while (index < length) { - character = value.charAt(index + 1); - - if (!whitespace(character)) { - break; - } - - subqueue += character; - index++; - } - } - - if (value.charAt(index + 1) !== C_PAREN_OPEN) { - return; - } - - subqueue += C_PAREN_OPEN; - closed = true; - index++; - - break; - } - } - - queue += subqueue; - subqueue = ''; - index++; - } - - /* Eat the content closing. */ - if (!closed) { - return; - } - - content = queue; - subvalue += queue + subqueue; - index++; - - /* Eat white-space. */ - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - subvalue += character; - index++; - } - - /* Eat the URL. */ - character = value.charAt(index); - markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS; - queue = ''; - beforeURL = subvalue; - - if (character === C_LT) { - index++; - beforeURL += C_LT; - - while (index < length) { - character = value.charAt(index); - - if (character === C_GT) { - break; - } - - if (commonmark && character === '\n') { - return; - } - - queue += character; - index++; - } - - if (value.charAt(index) !== C_GT) { - return; - } - - subvalue += C_LT + queue + C_GT; - url = queue; - index++; - } else { - character = null; - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (subqueue && own.call(markers, character)) { - break; - } - - if (whitespace(character)) { - if (!pedantic) { - break; - } - - subqueue += character; - } else { - if (character === C_PAREN_OPEN) { - depth++; - } else if (character === C_PAREN_CLOSE) { - if (depth === 0) { - break; - } - - depth--; - } - - queue += subqueue; - subqueue = ''; - - if (character === C_BACKSLASH) { - queue += C_BACKSLASH; - character = value.charAt(++index); - } - - queue += character; - } - - index++; - } - - subvalue += queue; - url = queue; - index = subvalue.length; - } - - /* Eat white-space. */ - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - subvalue += queue; - - /* Eat the title. */ - if (queue && own.call(markers, character)) { - index++; - subvalue += character; - queue = ''; - marker = markers[character]; - beforeTitle = subvalue; - - /* In commonmark-mode, things are pretty easy: the - * marker cannot occur inside the title. - * - * Non-commonmark does, however, support nested - * delimiters. */ - if (commonmark) { - while (index < length) { - character = value.charAt(index); - - if (character === marker) { - break; - } - - if (character === C_BACKSLASH) { - queue += C_BACKSLASH; - character = value.charAt(++index); - } - - index++; - queue += character; - } - - character = value.charAt(index); - - if (character !== marker) { - return; - } - - title = queue; - subvalue += queue + character; - index++; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - subvalue += character; - index++; - } - } else { - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === marker) { - if (hasMarker) { - queue += marker + subqueue; - subqueue = ''; - } - - hasMarker = true; - } else if (!hasMarker) { - queue += character; - } else if (character === C_PAREN_CLOSE) { - subvalue += queue + marker + subqueue; - title = queue; - break; - } else if (whitespace(character)) { - subqueue += character; - } else { - queue += marker + subqueue + character; - subqueue = ''; - hasMarker = false; - } - - index++; - } - } - } - - if (value.charAt(index) !== C_PAREN_CLOSE) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - subvalue += C_PAREN_CLOSE; - - url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {nonTerminated: false}); - - if (title) { - beforeTitle = eat(beforeTitle).test().end; - title = self.decode.raw(self.unescape(title), beforeTitle); - } - - node = { - type: isImage ? 'image' : 'link', - title: title || null, - url: url - }; - - if (isImage) { - node.alt = self.decode.raw(self.unescape(content), now) || null; - } else { - exit = self.enterLink(); - node.children = self.tokenizeInline(content, now); - exit(); - } - - return eat(subvalue)(node); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js deleted file mode 100644 index 9164c8167f8dc1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js +++ /dev/null @@ -1,474 +0,0 @@ -'use strict'; - -/* eslint-disable max-params */ - -var trim = require('trim'); -var repeat = require('repeat-string'); -var decimal = require('is-decimal'); -var getIndent = require('../util/get-indentation'); -var removeIndent = require('../util/remove-indentation'); -var interrupt = require('../util/interrupt'); - -module.exports = list; - -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; -var C_PLUS = '+'; -var C_DASH = '-'; -var C_DOT = '.'; -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_PAREN_CLOSE = ')'; -var C_X_LOWER = 'x'; - -var TAB_SIZE = 4; -var EXPRESSION_LOOSE_LIST_ITEM = /\n\n(?!\s*$)/; -var EXPRESSION_TASK_ITEM = /^\[([ \t]|x|X)][ \t]/; -var EXPRESSION_BULLET = /^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/; -var EXPRESSION_PEDANTIC_BULLET = /^([ \t]*)([*+-]|\d+[.)])([ \t]+)/; -var EXPRESSION_INITIAL_INDENT = /^( {1,4}|\t)?/gm; - -/* Map of characters which can be used to mark - * list-items. */ -var LIST_UNORDERED_MARKERS = {}; - -LIST_UNORDERED_MARKERS[C_ASTERISK] = true; -LIST_UNORDERED_MARKERS[C_PLUS] = true; -LIST_UNORDERED_MARKERS[C_DASH] = true; - -/* Map of characters which can be used to mark - * list-items after a digit. */ -var LIST_ORDERED_MARKERS = {}; - -LIST_ORDERED_MARKERS[C_DOT] = true; - -/* Map of characters which can be used to mark - * list-items after a digit. */ -var LIST_ORDERED_COMMONMARK_MARKERS = {}; - -LIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true; -LIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true; - -function list(eat, value, silent) { - var self = this; - var commonmark = self.options.commonmark; - var pedantic = self.options.pedantic; - var tokenizers = self.blockTokenizers; - var interuptors = self.interruptList; - var markers; - var index = 0; - var length = value.length; - var start = null; - var size = 0; - var queue; - var ordered; - var character; - var marker; - var nextIndex; - var startIndex; - var prefixed; - var currentMarker; - var content; - var line; - var prevEmpty; - var empty; - var items; - var allLines; - var emptyLines; - var item; - var enterTop; - var exitBlockquote; - var isLoose; - var node; - var now; - var end; - var indented; - - while (index < length) { - character = value.charAt(index); - - if (character === C_TAB) { - size += TAB_SIZE - (size % TAB_SIZE); - } else if (character === C_SPACE) { - size++; - } else { - break; - } - - index++; - } - - if (size >= TAB_SIZE) { - return; - } - - character = value.charAt(index); - - markers = commonmark ? - LIST_ORDERED_COMMONMARK_MARKERS : - LIST_ORDERED_MARKERS; - - if (LIST_UNORDERED_MARKERS[character] === true) { - marker = character; - ordered = false; - } else { - ordered = true; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!decimal(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (!queue || markers[character] !== true) { - return; - } - - start = parseInt(queue, 10); - marker = character; - } - - character = value.charAt(++index); - - if (character !== C_SPACE && character !== C_TAB) { - return; - } - - if (silent) { - return true; - } - - index = 0; - items = []; - allLines = []; - emptyLines = []; - - while (index < length) { - nextIndex = value.indexOf(C_NEWLINE, index); - startIndex = index; - prefixed = false; - indented = false; - - if (nextIndex === -1) { - nextIndex = length; - } - - end = index + TAB_SIZE; - size = 0; - - while (index < length) { - character = value.charAt(index); - - if (character === C_TAB) { - size += TAB_SIZE - (size % TAB_SIZE); - } else if (character === C_SPACE) { - size++; - } else { - break; - } - - index++; - } - - if (size >= TAB_SIZE) { - indented = true; - } - - if (item && size >= item.indent) { - indented = true; - } - - character = value.charAt(index); - currentMarker = null; - - if (!indented) { - if (LIST_UNORDERED_MARKERS[character] === true) { - currentMarker = character; - index++; - size++; - } else { - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!decimal(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - index++; - - if (queue && markers[character] === true) { - currentMarker = character; - size += queue.length + 1; - } - } - - if (currentMarker) { - character = value.charAt(index); - - if (character === C_TAB) { - size += TAB_SIZE - (size % TAB_SIZE); - index++; - } else if (character === C_SPACE) { - end = index + TAB_SIZE; - - while (index < end) { - if (value.charAt(index) !== C_SPACE) { - break; - } - - index++; - size++; - } - - if (index === end && value.charAt(index) === C_SPACE) { - index -= TAB_SIZE - 1; - size -= TAB_SIZE - 1; - } - } else if (character !== C_NEWLINE && character !== '') { - currentMarker = null; - } - } - } - - if (currentMarker) { - if (!pedantic && marker !== currentMarker) { - break; - } - - prefixed = true; - } else { - if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) { - indented = true; - } else if (commonmark && item) { - indented = size >= item.indent || size > TAB_SIZE; - } - - prefixed = false; - index = startIndex; - } - - line = value.slice(startIndex, nextIndex); - content = startIndex === index ? line : value.slice(index, nextIndex); - - if ( - currentMarker === C_ASTERISK || - currentMarker === C_UNDERSCORE || - currentMarker === C_DASH - ) { - if (tokenizers.thematicBreak.call(self, eat, line, true)) { - break; - } - } - - prevEmpty = empty; - empty = !trim(content).length; - - if (indented && item) { - item.value = item.value.concat(emptyLines, line); - allLines = allLines.concat(emptyLines, line); - emptyLines = []; - } else if (prefixed) { - if (emptyLines.length !== 0) { - item.value.push(''); - item.trail = emptyLines.concat(); - } - - item = { - value: [line], - indent: size, - trail: [] - }; - - items.push(item); - allLines = allLines.concat(emptyLines, line); - emptyLines = []; - } else if (empty) { - if (prevEmpty) { - break; - } - - emptyLines.push(line); - } else { - if (prevEmpty) { - break; - } - - if (interrupt(interuptors, tokenizers, self, [eat, line, true])) { - break; - } - - item.value = item.value.concat(emptyLines, line); - allLines = allLines.concat(emptyLines, line); - emptyLines = []; - } - - index = nextIndex + 1; - } - - node = eat(allLines.join(C_NEWLINE)).reset({ - type: 'list', - ordered: ordered, - start: start, - loose: null, - children: [] - }); - - enterTop = self.enterList(); - exitBlockquote = self.enterBlock(); - isLoose = false; - index = -1; - length = items.length; - - while (++index < length) { - item = items[index].value.join(C_NEWLINE); - now = eat.now(); - - item = eat(item)(listItem(self, item, now), node); - - if (item.loose) { - isLoose = true; - } - - item = items[index].trail.join(C_NEWLINE); - - if (index !== length - 1) { - item += C_NEWLINE; - } - - eat(item); - } - - enterTop(); - exitBlockquote(); - - node.loose = isLoose; - - return node; -} - -function listItem(ctx, value, position) { - var offsets = ctx.offset; - var fn = ctx.options.pedantic ? pedanticListItem : normalListItem; - var checked = null; - var task; - var indent; - - value = fn.apply(null, arguments); - - if (ctx.options.gfm) { - task = value.match(EXPRESSION_TASK_ITEM); - - if (task) { - indent = task[0].length; - checked = task[1].toLowerCase() === C_X_LOWER; - offsets[position.line] += indent; - value = value.slice(indent); - } - } - - return { - type: 'listItem', - loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) || - value.charAt(value.length - 1) === C_NEWLINE, - checked: checked, - children: ctx.tokenizeBlock(value, position) - }; -} - -/* Create a list-item using overly simple mechanics. */ -function pedanticListItem(ctx, value, position) { - var offsets = ctx.offset; - var line = position.line; - - /* Remove the list-item’s bullet. */ - value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer); - - /* The initial line was also matched by the below, so - * we reset the `line`. */ - line = position.line; - - return value.replace(EXPRESSION_INITIAL_INDENT, replacer); - - /* A simple replacer which removed all matches, - * and adds their length to `offset`. */ - function replacer($0) { - offsets[line] = (offsets[line] || 0) + $0.length; - line++; - - return ''; - } -} - -/* Create a list-item using sane mechanics. */ -function normalListItem(ctx, value, position) { - var offsets = ctx.offset; - var line = position.line; - var max; - var bullet; - var rest; - var lines; - var trimmedLines; - var index; - var length; - - /* Remove the list-item’s bullet. */ - value = value.replace(EXPRESSION_BULLET, replacer); - - lines = value.split(C_NEWLINE); - - trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE); - - /* We replaced the initial bullet with something - * else above, which was used to trick - * `removeIndentation` into removing some more - * characters when possible. However, that could - * result in the initial line to be stripped more - * than it should be. */ - trimmedLines[0] = rest; - - offsets[line] = (offsets[line] || 0) + bullet.length; - line++; - - index = 0; - length = lines.length; - - while (++index < length) { - offsets[line] = (offsets[line] || 0) + - lines[index].length - trimmedLines[index].length; - line++; - } - - return trimmedLines.join(C_NEWLINE); - - function replacer($0, $1, $2, $3, $4) { - bullet = $1 + $2 + $3; - rest = $4; - - /* Make sure that the first nine numbered list items - * can indent with an extra space. That is, when - * the bullet did not receive an extra final space. */ - if (Number($2) < 10 && bullet.length % 2 === 1) { - $2 = C_SPACE + $2; - } - - max = $1 + repeat(C_SPACE, $2.length) + $3; - - return max + rest; - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js deleted file mode 100644 index 6008670cc5e742..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); - -module.exports = newline; - -/* Tokenise newline. */ -function newline(eat, value, silent) { - var character = value.charAt(0); - var length; - var subvalue; - var queue; - var index; - - if (character !== '\n') { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - index = 1; - length = value.length; - subvalue = character; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - queue += character; - - if (character === '\n') { - subvalue += queue; - queue = ''; - } - - index++; - } - - eat(subvalue); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js deleted file mode 100644 index 1492a027e78237..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js +++ /dev/null @@ -1,122 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var decimal = require('is-decimal'); -var trimTrailingLines = require('trim-trailing-lines'); -var interrupt = require('../util/interrupt'); - -module.exports = paragraph; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; - -var TAB_SIZE = 4; - -/* Tokenise paragraph. */ -function paragraph(eat, value, silent) { - var self = this; - var settings = self.options; - var commonmark = settings.commonmark; - var gfm = settings.gfm; - var tokenizers = self.blockTokenizers; - var interruptors = self.interruptParagraph; - var index = value.indexOf(C_NEWLINE); - var length = value.length; - var position; - var subvalue; - var character; - var size; - var now; - - while (index < length) { - /* Eat everything if there’s no following newline. */ - if (index === -1) { - index = length; - break; - } - - /* Stop if the next character is NEWLINE. */ - if (value.charAt(index + 1) === C_NEWLINE) { - break; - } - - /* In commonmark-mode, following indented lines - * are part of the paragraph. */ - if (commonmark) { - size = 0; - position = index + 1; - - while (position < length) { - character = value.charAt(position); - - if (character === C_TAB) { - size = TAB_SIZE; - break; - } else if (character === C_SPACE) { - size++; - } else { - break; - } - - position++; - } - - if (size >= TAB_SIZE) { - index = value.indexOf(C_NEWLINE, index + 1); - continue; - } - } - - subvalue = value.slice(index + 1); - - /* Check if the following code contains a possible - * block. */ - if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) { - break; - } - - /* Break if the following line starts a list, when - * already in a list, or when in commonmark, or when - * in gfm mode and the bullet is *not* numeric. */ - if ( - tokenizers.list.call(self, eat, subvalue, true) && - ( - self.inList || - commonmark || - (gfm && !decimal(trim.left(subvalue).charAt(0))) - ) - ) { - break; - } - - position = index; - index = value.indexOf(C_NEWLINE, index + 1); - - if (index !== -1 && trim(value.slice(position, index)) === '') { - index = position; - break; - } - } - - subvalue = value.slice(0, index); - - if (trim(subvalue) === '') { - eat(subvalue); - - return null; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - now = eat.now(); - subvalue = trimTrailingLines(subvalue); - - return eat(subvalue)({ - type: 'paragraph', - children: self.tokenizeInline(subvalue, now) - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js deleted file mode 100644 index 50713f1ccfc8fa..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js +++ /dev/null @@ -1,206 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/link'); -var normalize = require('../util/normalize'); - -module.exports = reference; -reference.locator = locate; - -var T_LINK = 'link'; -var T_IMAGE = 'image'; -var T_FOOTNOTE = 'footnote'; -var REFERENCE_TYPE_SHORTCUT = 'shortcut'; -var REFERENCE_TYPE_COLLAPSED = 'collapsed'; -var REFERENCE_TYPE_FULL = 'full'; -var C_CARET = '^'; -var C_BACKSLASH = '\\'; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; - -function reference(eat, value, silent) { - var self = this; - var character = value.charAt(0); - var index = 0; - var length = value.length; - var subvalue = ''; - var intro = ''; - var type = T_LINK; - var referenceType = REFERENCE_TYPE_SHORTCUT; - var content; - var identifier; - var now; - var node; - var exit; - var queue; - var bracketed; - var depth; - - /* Check whether we’re eating an image. */ - if (character === '!') { - type = T_IMAGE; - intro = character; - character = value.charAt(++index); - } - - if (character !== C_BRACKET_OPEN) { - return; - } - - index++; - intro += character; - queue = ''; - - /* Check whether we’re eating a footnote. */ - if (self.options.footnotes && value.charAt(index) === C_CARET) { - /* Exit if `![^` is found, so the `!` will be seen as text after this, - * and we’ll enter this function again when `[^` is found. */ - if (type === T_IMAGE) { - return; - } - - intro += C_CARET; - index++; - type = T_FOOTNOTE; - } - - /* Eat the text. */ - depth = 0; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_OPEN) { - bracketed = true; - depth++; - } else if (character === C_BRACKET_CLOSE) { - if (!depth) { - break; - } - - depth--; - } - - if (character === C_BACKSLASH) { - queue += C_BACKSLASH; - character = value.charAt(++index); - } - - queue += character; - index++; - } - - subvalue = queue; - content = queue; - character = value.charAt(index); - - if (character !== C_BRACKET_CLOSE) { - return; - } - - index++; - subvalue += character; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - /* Inline footnotes cannot have an identifier. */ - if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) { - identifier = ''; - queue += character; - index++; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) { - break; - } - - if (character === C_BACKSLASH) { - identifier += C_BACKSLASH; - character = value.charAt(++index); - } - - identifier += character; - index++; - } - - character = value.charAt(index); - - if (character === C_BRACKET_CLOSE) { - referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED; - queue += identifier + character; - index++; - } else { - identifier = ''; - } - - subvalue += queue; - queue = ''; - } else { - if (!content) { - return; - } - - identifier = content; - } - - /* Brackets cannot be inside the identifier. */ - if (referenceType !== REFERENCE_TYPE_FULL && bracketed) { - return; - } - - subvalue = intro + subvalue; - - if (type === T_LINK && self.inLink) { - return null; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) { - return eat(subvalue)({ - type: 'footnote', - children: this.tokenizeInline(content, eat.now()) - }); - } - - now = eat.now(); - now.column += intro.length; - now.offset += intro.length; - identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content; - - node = { - type: type + 'Reference', - identifier: normalize(identifier) - }; - - if (type === T_LINK || type === T_IMAGE) { - node.referenceType = referenceType; - } - - if (type === T_LINK) { - exit = self.enterLink(); - node.children = self.tokenizeInline(content, now); - exit(); - } else if (type === T_IMAGE) { - node.alt = self.decode.raw(self.unescape(content), now) || null; - } - - return eat(subvalue)(node); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js deleted file mode 100644 index 12d5785bc64a74..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js +++ /dev/null @@ -1,84 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/strong'); - -module.exports = strong; -strong.locator = locate; - -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; - -function strong(eat, value, silent) { - var self = this; - var index = 0; - var character = value.charAt(index); - var now; - var pedantic; - var marker; - var queue; - var subvalue; - var length; - var prev; - - if ( - (character !== C_ASTERISK && character !== C_UNDERSCORE) || - value.charAt(++index) !== character - ) { - return; - } - - pedantic = self.options.pedantic; - marker = character; - subvalue = marker + marker; - length = value.length; - index++; - queue = ''; - character = ''; - - if (pedantic && whitespace(value.charAt(index))) { - return; - } - - while (index < length) { - prev = character; - character = value.charAt(index); - - if ( - character === marker && - value.charAt(index + 1) === marker && - (!pedantic || !whitespace(prev)) - ) { - character = value.charAt(index + 2); - - if (character !== marker) { - if (!trim(queue)) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - now = eat.now(); - now.column += 2; - now.offset += 2; - - return eat(subvalue + queue + subvalue)({ - type: 'strong', - children: self.tokenizeInline(queue, now) - }); - } - } - - if (!pedantic && character === '\\') { - queue += character; - character = value.charAt(++index); - } - - queue += character; - index++; - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js deleted file mode 100644 index ce93b1d22f0f31..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js +++ /dev/null @@ -1,266 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); - -module.exports = table; - -var C_BACKSLASH = '\\'; -var C_TICK = '`'; -var C_DASH = '-'; -var C_PIPE = '|'; -var C_COLON = ':'; -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; - -var MIN_TABLE_COLUMNS = 1; -var MIN_TABLE_ROWS = 2; - -var TABLE_ALIGN_LEFT = 'left'; -var TABLE_ALIGN_CENTER = 'center'; -var TABLE_ALIGN_RIGHT = 'right'; -var TABLE_ALIGN_NONE = null; - -function table(eat, value, silent) { - var self = this; - var index; - var alignments; - var alignment; - var subvalue; - var row; - var length; - var lines; - var queue; - var character; - var hasDash; - var align; - var cell; - var preamble; - var count; - var opening; - var now; - var position; - var lineCount; - var line; - var rows; - var table; - var lineIndex; - var pipeIndex; - var first; - - /* Exit when not in gfm-mode. */ - if (!self.options.gfm) { - return; - } - - /* Get the rows. - * Detecting tables soon is hard, so there are some - * checks for performance here, such as the minimum - * number of rows, and allowed characters in the - * alignment row. */ - index = 0; - lineCount = 0; - length = value.length + 1; - lines = []; - - while (index < length) { - lineIndex = value.indexOf(C_NEWLINE, index); - pipeIndex = value.indexOf(C_PIPE, index + 1); - - if (lineIndex === -1) { - lineIndex = value.length; - } - - if (pipeIndex === -1 || pipeIndex > lineIndex) { - if (lineCount < MIN_TABLE_ROWS) { - return; - } - - break; - } - - lines.push(value.slice(index, lineIndex)); - lineCount++; - index = lineIndex + 1; - } - - /* Parse the alignment row. */ - subvalue = lines.join(C_NEWLINE); - alignments = lines.splice(1, 1)[0] || []; - index = 0; - length = alignments.length; - lineCount--; - alignment = false; - align = []; - - while (index < length) { - character = alignments.charAt(index); - - if (character === C_PIPE) { - hasDash = null; - - if (alignment === false) { - if (first === false) { - return; - } - } else { - align.push(alignment); - alignment = false; - } - - first = false; - } else if (character === C_DASH) { - hasDash = true; - alignment = alignment || TABLE_ALIGN_NONE; - } else if (character === C_COLON) { - if (alignment === TABLE_ALIGN_LEFT) { - alignment = TABLE_ALIGN_CENTER; - } else if (hasDash && alignment === TABLE_ALIGN_NONE) { - alignment = TABLE_ALIGN_RIGHT; - } else { - alignment = TABLE_ALIGN_LEFT; - } - } else if (!whitespace(character)) { - return; - } - - index++; - } - - if (alignment !== false) { - align.push(alignment); - } - - /* Exit when without enough columns. */ - if (align.length < MIN_TABLE_COLUMNS) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - /* Parse the rows. */ - position = -1; - rows = []; - - table = eat(subvalue).reset({ - type: 'table', - align: align, - children: rows - }); - - while (++position < lineCount) { - line = lines[position]; - row = {type: 'tableRow', children: []}; - - /* Eat a newline character when this is not the - * first row. */ - if (position) { - eat(C_NEWLINE); - } - - /* Eat the row. */ - eat(line).reset(row, table); - - length = line.length + 1; - index = 0; - queue = ''; - cell = ''; - preamble = true; - count = null; - opening = null; - - while (index < length) { - character = line.charAt(index); - - if (character === C_TAB || character === C_SPACE) { - if (cell) { - queue += character; - } else { - eat(character); - } - - index++; - continue; - } - - if (character === '' || character === C_PIPE) { - if (preamble) { - eat(character); - } else { - if (character && opening) { - queue += character; - index++; - continue; - } - - if ((cell || character) && !preamble) { - subvalue = cell; - - if (queue.length > 1) { - if (character) { - subvalue += queue.slice(0, queue.length - 1); - queue = queue.charAt(queue.length - 1); - } else { - subvalue += queue; - queue = ''; - } - } - - now = eat.now(); - - eat(subvalue)({ - type: 'tableCell', - children: self.tokenizeInline(cell, now) - }, row); - } - - eat(queue + character); - - queue = ''; - cell = ''; - } - } else { - if (queue) { - cell += queue; - queue = ''; - } - - cell += character; - - if (character === C_BACKSLASH && index !== length - 2) { - cell += line.charAt(index + 1); - index++; - } - - if (character === C_TICK) { - count = 1; - - while (line.charAt(index + 1) === character) { - cell += character; - index++; - count++; - } - - if (!opening) { - opening = count; - } else if (count >= opening) { - opening = 0; - } - } - } - - preamble = false; - index++; - } - - /* Eat the alignment row. */ - if (!position) { - eat(C_NEWLINE + alignments); - } - } - - return table; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js deleted file mode 100644 index 4aedfa90d5d9b8..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict'; - -module.exports = text; - -function text(eat, value, silent) { - var self = this; - var methods; - var tokenizers; - var index; - var length; - var subvalue; - var position; - var tokenizer; - var name; - var min; - var now; - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - methods = self.inlineMethods; - length = methods.length; - tokenizers = self.inlineTokenizers; - index = -1; - min = value.length; - - while (++index < length) { - name = methods[index]; - - if (name === 'text' || !tokenizers[name]) { - continue; - } - - tokenizer = tokenizers[name].locator; - - if (!tokenizer) { - eat.file.fail('Missing locator: `' + name + '`'); - } - - position = tokenizer.call(self, value, 1); - - if (position !== -1 && position < min) { - min = position; - } - } - - subvalue = value.slice(0, min); - now = eat.now(); - - self.decode(subvalue, now, function (content, position, source) { - eat(source || content)({ - type: 'text', - value: content - }); - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js deleted file mode 100644 index 2391e3f592cb25..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js +++ /dev/null @@ -1,70 +0,0 @@ -'use strict'; - -module.exports = thematicBreak; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; -var C_DASH = '-'; - -var THEMATIC_BREAK_MARKER_COUNT = 3; - -function thematicBreak(eat, value, silent) { - var index = -1; - var length = value.length + 1; - var subvalue = ''; - var character; - var marker; - var markerCount; - var queue; - - while (++index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - subvalue += character; - } - - if ( - character !== C_ASTERISK && - character !== C_DASH && - character !== C_UNDERSCORE - ) { - return; - } - - marker = character; - subvalue += character; - markerCount = 1; - queue = ''; - - while (++index < length) { - character = value.charAt(index); - - if (character === marker) { - markerCount++; - subvalue += queue + marker; - queue = ''; - } else if (character === C_SPACE) { - queue += character; - } else if ( - markerCount >= THEMATIC_BREAK_MARKER_COUNT && - (!character || character === C_NEWLINE) - ) { - subvalue += queue; - - if (silent) { - return true; - } - - return eat(subvalue)({type: 'thematicBreak'}); - } else { - return; - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js deleted file mode 100644 index 297940bf4ab922..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js +++ /dev/null @@ -1,144 +0,0 @@ -'use strict'; - -var decode = require('parse-entities'); -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/url'); - -module.exports = url; -url.locator = locate; -url.notInLink = true; - -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_PAREN_OPEN = '('; -var C_PAREN_CLOSE = ')'; -var C_LT = '<'; -var C_AT_SIGN = '@'; - -var HTTP_PROTOCOL = 'http://'; -var HTTPS_PROTOCOL = 'https://'; -var MAILTO_PROTOCOL = 'mailto:'; - -var PROTOCOLS = [ - HTTP_PROTOCOL, - HTTPS_PROTOCOL, - MAILTO_PROTOCOL -]; - -var PROTOCOLS_LENGTH = PROTOCOLS.length; - -function url(eat, value, silent) { - var self = this; - var subvalue; - var content; - var character; - var index; - var position; - var protocol; - var match; - var length; - var queue; - var parenCount; - var nextCharacter; - var exit; - - if (!self.options.gfm) { - return; - } - - subvalue = ''; - index = -1; - length = PROTOCOLS_LENGTH; - - while (++index < length) { - protocol = PROTOCOLS[index]; - match = value.slice(0, protocol.length); - - if (match.toLowerCase() === protocol) { - subvalue = match; - break; - } - } - - if (!subvalue) { - return; - } - - index = subvalue.length; - length = value.length; - queue = ''; - parenCount = 0; - - while (index < length) { - character = value.charAt(index); - - if (whitespace(character) || character === C_LT) { - break; - } - - if ( - character === '.' || - character === ',' || - character === ':' || - character === ';' || - character === '"' || - character === '\'' || - character === ')' || - character === ']' - ) { - nextCharacter = value.charAt(index + 1); - - if (!nextCharacter || whitespace(nextCharacter)) { - break; - } - } - - if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) { - parenCount++; - } - - if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) { - parenCount--; - - if (parenCount < 0) { - break; - } - } - - queue += character; - index++; - } - - if (!queue) { - return; - } - - subvalue += queue; - content = subvalue; - - if (protocol === MAILTO_PROTOCOL) { - position = queue.indexOf(C_AT_SIGN); - - if (position === -1 || position === length - 1) { - return; - } - - content = content.substr(MAILTO_PROTOCOL.length); - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - exit = self.enterLink(); - content = self.tokenizeInline(content, eat.now()); - exit(); - - return eat(subvalue)({ - type: 'link', - title: null, - url: decode(subvalue, {nonTerminated: false}), - children: content - }); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js deleted file mode 100644 index 498ef22ad949af..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js +++ /dev/null @@ -1,331 +0,0 @@ -'use strict'; - -module.exports = factory; - -var MERGEABLE_NODES = { - text: mergeText, - blockquote: mergeBlockquote -}; - -/* Check whether a node is mergeable with adjacent nodes. */ -function mergeable(node) { - var start; - var end; - - if (node.type !== 'text' || !node.position) { - return true; - } - - start = node.position.start; - end = node.position.end; - - /* Only merge nodes which occupy the same size as their - * `value`. */ - return start.line !== end.line || - end.column - start.column === node.value.length; -} - -/* Merge two text nodes: `node` into `prev`. */ -function mergeText(prev, node) { - prev.value += node.value; - - return prev; -} - -/* Merge two blockquotes: `node` into `prev`, unless in - * CommonMark mode. */ -function mergeBlockquote(prev, node) { - if (this.options.commonmark) { - return node; - } - - prev.children = prev.children.concat(node.children); - - return prev; -} - -/* Construct a tokenizer. This creates both - * `tokenizeInline` and `tokenizeBlock`. */ -function factory(type) { - return tokenize; - - /* Tokenizer for a bound `type`. */ - function tokenize(value, location) { - var self = this; - var offset = self.offset; - var tokens = []; - var methods = self[type + 'Methods']; - var tokenizers = self[type + 'Tokenizers']; - var line = location.line; - var column = location.column; - var index; - var length; - var method; - var name; - var matched; - var valueLength; - - /* Trim white space only lines. */ - if (!value) { - return tokens; - } - - /* Expose on `eat`. */ - eat.now = now; - eat.file = self.file; - - /* Sync initial offset. */ - updatePosition(''); - - /* Iterate over `value`, and iterate over all - * tokenizers. When one eats something, re-iterate - * with the remaining value. If no tokenizer eats, - * something failed (should not happen) and an - * exception is thrown. */ - while (value) { - index = -1; - length = methods.length; - matched = false; - - while (++index < length) { - name = methods[index]; - method = tokenizers[name]; - - if ( - method && - /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) && - (!method.notInList || !self.inList) && - (!method.notInBlock || !self.inBlock) && - (!method.notInLink || !self.inLink) - ) { - valueLength = value.length; - - method.apply(self, [eat, value]); - - matched = valueLength !== value.length; - - if (matched) { - break; - } - } - } - - /* istanbul ignore if */ - if (!matched) { - self.file.fail(new Error('Infinite loop'), eat.now()); - } - } - - self.eof = now(); - - return tokens; - - /* Update line, column, and offset based on - * `value`. */ - function updatePosition(subvalue) { - var lastIndex = -1; - var index = subvalue.indexOf('\n'); - - while (index !== -1) { - line++; - lastIndex = index; - index = subvalue.indexOf('\n', index + 1); - } - - if (lastIndex === -1) { - column += subvalue.length; - } else { - column = subvalue.length - lastIndex; - } - - if (line in offset) { - if (lastIndex !== -1) { - column += offset[line]; - } else if (column <= offset[line]) { - column = offset[line] + 1; - } - } - } - - /* Get offset. Called before the first character is - * eaten to retrieve the range's offsets. */ - function getOffset() { - var indentation = []; - var pos = line + 1; - - /* Done. Called when the last character is - * eaten to retrieve the range’s offsets. */ - return function () { - var last = line + 1; - - while (pos < last) { - indentation.push((offset[pos] || 0) + 1); - - pos++; - } - - return indentation; - }; - } - - /* Get the current position. */ - function now() { - var pos = {line: line, column: column}; - - pos.offset = self.toOffset(pos); - - return pos; - } - - /* Store position information for a node. */ - function Position(start) { - this.start = start; - this.end = now(); - } - - /* Throw when a value is incorrectly eaten. - * This shouldn’t happen but will throw on new, - * incorrect rules. */ - function validateEat(subvalue) { - /* istanbul ignore if */ - if (value.substring(0, subvalue.length) !== subvalue) { - /* Capture stack-trace. */ - self.file.fail( - new Error( - 'Incorrectly eaten value: please report this ' + - 'warning on http://git.io/vg5Ft' - ), - now() - ); - } - } - - /* Mark position and patch `node.position`. */ - function position() { - var before = now(); - - return update; - - /* Add the position to a node. */ - function update(node, indent) { - var prev = node.position; - var start = prev ? prev.start : before; - var combined = []; - var n = prev && prev.end.line; - var l = before.line; - - node.position = new Position(start); - - /* If there was already a `position`, this - * node was merged. Fixing `start` wasn’t - * hard, but the indent is different. - * Especially because some information, the - * indent between `n` and `l` wasn’t - * tracked. Luckily, that space is - * (should be?) empty, so we can safely - * check for it now. */ - if (prev && indent && prev.indent) { - combined = prev.indent; - - if (n < l) { - while (++n < l) { - combined.push((offset[n] || 0) + 1); - } - - combined.push(before.column); - } - - indent = combined.concat(indent); - } - - node.position.indent = indent || []; - - return node; - } - } - - /* Add `node` to `parent`s children or to `tokens`. - * Performs merges where possible. */ - function add(node, parent) { - var children = parent ? parent.children : tokens; - var prev = children[children.length - 1]; - - if ( - prev && - node.type === prev.type && - node.type in MERGEABLE_NODES && - mergeable(prev) && - mergeable(node) - ) { - node = MERGEABLE_NODES[node.type].call(self, prev, node); - } - - if (node !== prev) { - children.push(node); - } - - if (self.atStart && tokens.length !== 0) { - self.exitStart(); - } - - return node; - } - - /* Remove `subvalue` from `value`. - * `subvalue` must be at the start of `value`. */ - function eat(subvalue) { - var indent = getOffset(); - var pos = position(); - var current = now(); - - validateEat(subvalue); - - apply.reset = reset; - reset.test = test; - apply.test = test; - - value = value.substring(subvalue.length); - - updatePosition(subvalue); - - indent = indent(); - - return apply; - - /* Add the given arguments, add `position` to - * the returned node, and return the node. */ - function apply(node, parent) { - return pos(add(pos(node), parent), indent); - } - - /* Functions just like apply, but resets the - * content: the line and column are reversed, - * and the eaten value is re-added. - * This is useful for nodes with a single - * type of content, such as lists and tables. - * See `apply` above for what parameters are - * expected. */ - function reset() { - var node = apply.apply(null, arguments); - - line = current.line; - column = current.column; - value = subvalue + value; - - return node; - } - - /* Test the position, after eating, and reverse - * to a not-eaten state. */ - function test() { - var result = pos({}); - - line = current.line; - column = current.column; - value = subvalue + value; - - return result.position; - } - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js deleted file mode 100644 index 321900e7eacd73..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -module.exports = factory; - -/* Factory to de-escape a value, based on a list at `key` - * in `ctx`. */ -function factory(ctx, key) { - return unescape; - - /* De-escape a string using the expression at `key` - * in `ctx`. */ - function unescape(value) { - var prev = 0; - var index = value.indexOf('\\'); - var escape = ctx[key]; - var queue = []; - var character; - - while (index !== -1) { - queue.push(value.slice(prev, index)); - prev = index + 1; - character = value.charAt(prev); - - /* If the following character is not a valid escape, - * add the slash. */ - if (!character || escape.indexOf(character) === -1) { - queue.push('\\'); - } - - index = value.indexOf('\\', prev); - } - - queue.push(value.slice(prev)); - - return queue.join(''); - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js deleted file mode 100644 index 3e09e1411ed67c..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -module.exports = indentation; - -/* Map of characters, and their column length, - * which can be used as indentation. */ -var characters = {' ': 1, '\t': 4}; - -/* Gets indentation information for a line. */ -function indentation(value) { - var index = 0; - var indent = 0; - var character = value.charAt(index); - var stops = {}; - var size; - - while (character in characters) { - size = characters[character]; - - indent += size; - - if (size > 1) { - indent = Math.floor(indent / size) * size; - } - - stops[indent] = index; - - character = value.charAt(++index); - } - - return {indent: indent, stops: stops}; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js deleted file mode 100644 index 5f211f13f8f534..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; -var unquoted = '[^"\'=<>`\\u0000-\\u0020]+'; -var singleQuoted = '\'[^\']*\''; -var doubleQuoted = '"[^"]*"'; -var attributeValue = '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')'; -var attribute = '(?:\\s+' + attributeName + '(?:\\s*=\\s*' + attributeValue + ')?)'; -var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; -var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; -var comment = '|'; -var processing = '<[?].*?[?]>'; -var declaration = ']*>'; -var cdata = ''; - -exports.openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')'); - -exports.tag = new RegExp('^(?:' + - openTag + '|' + - closeTag + '|' + - comment + '|' + - processing + '|' + - declaration + '|' + - cdata + -')'); diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js deleted file mode 100644 index e3178ab45c60df..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -module.exports = interrupt; - -function interrupt(interruptors, tokenizers, ctx, params) { - var bools = ['pedantic', 'commonmark']; - var count = bools.length; - var length = interruptors.length; - var index = -1; - var interruptor; - var config; - var fn; - var offset; - var bool; - var ignore; - - while (++index < length) { - interruptor = interruptors[index]; - config = interruptor[1] || {}; - fn = interruptor[0]; - offset = -1; - ignore = false; - - while (++offset < count) { - bool = bools[offset]; - - if (config[bool] !== undefined && config[bool] !== ctx.options[bool]) { - ignore = true; - break; - } - } - - if (ignore) { - continue; - } - - if (tokenizers[fn].apply(ctx, params)) { - return true; - } - } - - return false; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js deleted file mode 100644 index 846ceeecac5ade..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var collapseWhiteSpace = require('collapse-white-space'); - -module.exports = normalize; - -/* Normalize an identifier. Collapses multiple white space - * characters into a single space, and removes casing. */ -function normalize(value) { - return collapseWhiteSpace(value).toLowerCase(); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js deleted file mode 100644 index 20f18be74087eb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var repeat = require('repeat-string'); -var getIndent = require('./get-indentation'); - -module.exports = indentation; - -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; - -/* Remove the minimum indent from every line in `value`. - * Supports both tab, spaced, and mixed indentation (as - * well as possible). */ -function indentation(value, maximum) { - var values = value.split(C_NEWLINE); - var position = values.length + 1; - var minIndent = Infinity; - var matrix = []; - var index; - var indentation; - var stops; - var padding; - - values.unshift(repeat(C_SPACE, maximum) + '!'); - - while (position--) { - indentation = getIndent(values[position]); - - matrix[position] = indentation.stops; - - if (trim(values[position]).length === 0) { - continue; - } - - if (indentation.indent) { - if (indentation.indent > 0 && indentation.indent < minIndent) { - minIndent = indentation.indent; - } - } else { - minIndent = Infinity; - - break; - } - } - - if (minIndent !== Infinity) { - position = values.length; - - while (position--) { - stops = matrix[position]; - index = minIndent; - - while (index && !(index in stops)) { - index--; - } - - if ( - trim(values[position]).length !== 0 && - minIndent && - index !== minIndent - ) { - padding = C_TAB; - } else { - padding = ''; - } - - values[position] = padding + values[position].slice( - index in stops ? stops[index] + 1 : 0 - ); - } - } - - values.shift(); - - return values.join(C_NEWLINE); -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json deleted file mode 100644 index 822420cb25200a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "remark-parse", - "version": "5.0.0", - "description": "Markdown parser for remark", - "license": "MIT", - "keywords": [ - "markdown", - "abstract", - "syntax", - "tree", - "ast", - "parse" - ], - "homepage": "http://remark.js.org", - "repository": "https://github.com/remarkjs/remark/tree/master/packages/remark-parse", - "bugs": "https://github.com/remarkjs/remark/issues", - "author": "Titus Wormer (http://wooorm.com)", - "contributors": [ - "Titus Wormer (http://wooorm.com)", - "Eugene Sharygin " - ], - "files": [ - "index.js", - "lib" - ], - "dependencies": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - }, - "xo": false -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md deleted file mode 100644 index ecaa6c093c0ab2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md +++ /dev/null @@ -1,453 +0,0 @@ -# remark-parse [![Build Status][build-badge]][build-status] [![Coverage Status][coverage-badge]][coverage-status] [![Chat][chat-badge]][chat] - -[Parser][] for [**unified**][unified]. Parses markdown to an -[**MDAST**][mdast] syntax tree. Used in the [**remark** -processor][processor]. Can be [extended][extend] to change how -markdown is parsed. - -## Installation - -[npm][]: - -```sh -npm install remark-parse -``` - -## Usage - -```js -var unified = require('unified'); -var createStream = require('unified-stream'); -var markdown = require('remark-parse'); -var html = require('remark-html'); - -var processor = unified() - .use(markdown, {commonmark: true}) - .use(html) - -process.stdin - .pipe(createStream(processor)) - .pipe(process.stdout); -``` - -## Table of Contents - -* [API](#api) - * [processor.use(parse\[, options\])](#processoruseparse-options) - * [parse.Parser](#parseparser) -* [Extending the Parser](#extending-the-parser) - * [Parser#blockTokenizers](#parserblocktokenizers) - * [Parser#blockMethods](#parserblockmethods) - * [Parser#inlineTokenizers](#parserinlinetokenizers) - * [Parser#inlineMethods](#parserinlinemethods) - * [function tokenizer(eat, value, silent)](#function-tokenizereat-value-silent) - * [tokenizer.locator(value, fromIndex)](#tokenizerlocatorvalue-fromindex) - * [eat(subvalue)](#eatsubvalue) - * [add(node\[, parent\])](#addnode-parent) - * [add.test()](#addtest) - * [add.reset(node\[, parent\])](#addresetnode-parent) - * [Turning off a tokenizer](#turning-off-a-tokenizer) -* [License](#license) - -## API - -### `processor.use(parse[, options])` - -Configure the `processor` to read markdown as input and process an -[**MDAST**][mdast] syntax tree. - -##### `options` - -Options are passed directly, or passed later through [`processor.data()`][data]. - -##### `options.gfm` - -```md -hello ~~hi~~ world -``` - -GFM mode (`boolean`, default: `true`) turns on: - -* [Fenced code blocks](https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks) -* [Autolinking of URLs](https://help.github.com/articles/github-flavored-markdown/#url-autolinking) -* [Deletions (strikethrough)](https://help.github.com/articles/github-flavored-markdown/#strikethrough) -* [Task lists](https://help.github.com/articles/writing-on-github/#task-lists) -* [Tables](https://help.github.com/articles/github-flavored-markdown/#tables) - -##### `options.commonmark` - -```md -This is a paragraph - and this is also part of the preceding paragraph. -``` - -CommonMark mode (`boolean`, default: `false`) allows: - -* Empty lines to split blockquotes -* Parentheses (`(` and `)`) around for link and image titles -* Any escaped [ASCII-punctuation][escapes] character -* Closing parenthesis (`)`) as an ordered list marker -* URL definitions (and footnotes, when enabled) in blockquotes - -CommonMark mode disallows: - -* Code directly following a paragraph -* ATX-headings (`# Hash headings`) without spacing after opening hashes - or and before closing hashes -* Setext headings (`Underline headings\n---`) when following a paragraph -* Newlines in link and image titles -* White space in link and image URLs in auto-links (links in brackets, - `<` and `>`) -* Lazy blockquote continuation, lines not preceded by a closing angle - bracket (`>`), for lists, code, and thematicBreak - -##### `options.footnotes` - -```md -Something something[^or something?]. - -And something else[^1]. - -[^1]: This reference footnote contains a paragraph... - - * ...and a list -``` - -Footnotes mode (`boolean`, default: `false`) enables reference footnotes and -inline footnotes. Both are wrapped in square brackets and preceded by a caret -(`^`), and can be referenced from inside other footnotes. - -##### `options.blocks` - -```md -foo - -``` - -Blocks (`Array.`, default: list of [block HTML elements][blocks]) -exposes let’s users define block-level HTML elements. - -##### `options.pedantic` - -```md -Check out some_file_name.txt -``` - -Pedantic mode (`boolean`, default: `false`) turns on: - -* Emphasis (`_alpha_`) and importance (`__bravo__`) with underscores - in words -* Unordered lists with different markers (`*`, `-`, `+`) -* If `commonmark` is also turned on, ordered lists with different - markers (`.`, `)`) -* And pedantic mode removes less spaces in list-items (at most four, - instead of the whole indent) - -### `parse.Parser` - -Access to the [parser][], if you need it. - -## Extending the Parser - -Most often, using transformers to manipulate a syntax tree produces -the desired output. Sometimes, mainly when introducing new syntactic -entities with a certain level of precedence, interfacing with the parser -is necessary. - -If the `remark-parse` plugin is used, it adds a [`Parser`][parser] constructor -to the `processor`. Other plugins can add tokenizers to the parser’s prototype -to change how markdown is parsed. - -The below plugin adds a [tokenizer][] for at-mentions. - -```js -module.exports = mentions; - -function mentions() { - var Parser = this.Parser; - var tokenizers = Parser.prototype.inlineTokenizers; - var methods = Parser.prototype.inlineMethods; - - /* Add an inline tokenizer (defined in the following example). */ - tokenizers.mention = tokenizeMention; - - /* Run it just before `text`. */ - methods.splice(methods.indexOf('text'), 0, 'mention'); -} -``` - -### `Parser#blockTokenizers` - -An object mapping tokenizer names to [tokenizer][]s. These -tokenizers (for example: `fencedCode`, `table`, and `paragraph`) eat -from the start of a value to a line ending. - -See `#blockMethods` below for a list of methods that are included by -default. - -### `Parser#blockMethods` - -Array of `blockTokenizers` names (`string`) specifying the order in -which they run. - - - -* `newline` -* `indentedCode` -* `fencedCode` -* `blockquote` -* `atxHeading` -* `thematicBreak` -* `list` -* `setextHeading` -* `html` -* `footnote` -* `definition` -* `table` -* `paragraph` - - - -### `Parser#inlineTokenizers` - -An object mapping tokenizer names to [tokenizer][]s. These tokenizers -(for example: `url`, `reference`, and `emphasis`) eat from the start -of a value. To increase performance, they depend on [locator][]s. - -See `#inlineMethods` below for a list of methods that are included by -default. - -### `Parser#inlineMethods` - -Array of `inlineTokenizers` names (`string`) specifying the order in -which they run. - - - -* `escape` -* `autoLink` -* `url` -* `html` -* `link` -* `reference` -* `strong` -* `emphasis` -* `deletion` -* `code` -* `break` -* `text` - - - -### `function tokenizer(eat, value, silent)` - -```js -tokenizeMention.notInLink = true; -tokenizeMention.locator = locateMention; - -function tokenizeMention(eat, value, silent) { - var match = /^@(\w+)/.exec(value); - - if (match) { - if (silent) { - return true; - } - - return eat(match[0])({ - type: 'link', - url: 'https://social-network/' + match[1], - children: [{type: 'text', value: match[0]}] - }); - } -} -``` - -The parser knows two types of tokenizers: block level and inline level. -Block level tokenizers are the same as inline level tokenizers, with -the exception that the latter must have a [locator][]. - -Tokenizers _test_ whether a document starts with a certain syntactic -entity. In _silent_ mode, they return whether that test passes. -In _normal_ mode, they consume that token, a process which is called -“eating”. Locators enable tokenizers to function faster by providing -information on where the next entity may occur. - -###### Signatures - -* `Node? = tokenizer(eat, value)` -* `boolean? = tokenizer(eat, value, silent)` - -###### Parameters - -* `eat` ([`Function`][eat]) — Eat, when applicable, an entity -* `value` (`string`) — Value which may start an entity -* `silent` (`boolean`, optional) — Whether to detect or consume - -###### Properties - -* `locator` ([`Function`][locator]) - — Required for inline tokenizers -* `onlyAtStart` (`boolean`) - — Whether nodes can only be found at the beginning of the document -* `notInBlock` (`boolean`) - — Whether nodes cannot be in blockquotes, lists, or footnote - definitions -* `notInList` (`boolean`) - — Whether nodes cannot be in lists -* `notInLink` (`boolean`) - — Whether nodes cannot be in links - -###### Returns - -* In _silent_ mode, whether a node can be found at the start of `value` -* In _normal_ mode, a node if it can be found at the start of `value` - -### `tokenizer.locator(value, fromIndex)` - -```js -function locateMention(value, fromIndex) { - return value.indexOf('@', fromIndex); -} -``` - -Locators are required for inline tokenization to keep the process -performant. Locators enable inline tokenizers to function faster by -providing information on the where the next entity occurs. Locators -may be wrong, it’s OK if there actually isn’t a node to be found at -the index they return, but they must skip any nodes. - -###### Parameters - -* `value` (`string`) — Value which may contain an entity -* `fromIndex` (`number`) — Position to start searching at - -###### Returns - -Index at which an entity may start, and `-1` otherwise. - -### `eat(subvalue)` - -```js -var add = eat('foo'); -``` - -Eat `subvalue`, which is a string at the start of the -[tokenize][tokenizer]d `value` (it’s tracked to ensure the correct -value is eaten). - -###### Parameters - -* `subvalue` (`string`) - Value to eat. - -###### Returns - -[`add`][add]. - -### `add(node[, parent])` - -```js -var add = eat('foo'); -add({type: 'text', value: 'foo'}); -``` - -Add [positional information][location] to `node` and add it to `parent`. - -###### Parameters - -* `node` ([`Node`][node]) - Node to patch position on and insert -* `parent` ([`Node`][node], optional) - Place to add `node` to in - the syntax tree. Defaults to the currently processed node - -###### Returns - -The given `node`. - -### `add.test()` - -Get the [positional information][location] which would be patched on -`node` by `add`. - -###### Returns - -[`Location`][location]. - -### `add.reset(node[, parent])` - -`add`, but resets the internal location. Useful for example in -lists, where the same content is first eaten for a list, and later -for list items - -###### Parameters - -* `node` ([`Node`][node]) - Node to patch position on and insert -* `parent` ([`Node`][node], optional) - Place to add `node` to in - the syntax tree. Defaults to the currently processed node - -###### Returns - -The given `node`. - -### Turning off a tokenizer - -In rare situations, you may want to turn off a tokenizer to avoid parsing -that syntactic feature. This can be done by deleting the tokenizer from -your Parser’s `blockTokenizers` (or `blockMethods`) or `inlineTokenizers` -(or `inlineMethods`). - -The following example turns off indented code blocks: - -```js -delete remarkParse.Parser.prototype.blockTokenizers.indentedCode; -``` - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/remarkjs/remark.svg - -[build-status]: https://travis-ci.org/remarkjs/remark - -[coverage-badge]: https://img.shields.io/codecov/c/github/remarkjs/remark.svg - -[coverage-status]: https://codecov.io/github/remarkjs/remark - -[chat-badge]: https://img.shields.io/gitter/room/remarkjs/Lobby.svg - -[chat]: https://gitter.im/remarkjs/Lobby - -[license]: https://github.com/remarkjs/remark/blob/master/LICENSE - -[author]: http://wooorm.com - -[npm]: https://docs.npmjs.com/cli/install - -[unified]: https://github.com/unifiedjs/unified - -[data]: https://github.com/unifiedjs/unified#processordatakey-value - -[processor]: https://github.com/unifiedjs/remark/blob/master/packages/remark - -[mdast]: https://github.com/syntax-tree/mdast - -[escapes]: http://spec.commonmark.org/0.25/#backslash-escapes - -[node]: https://github.com/syntax-tree/unist#node - -[location]: https://github.com/syntax-tree/unist#location - -[parser]: https://github.com/unifiedjs/unified#processorparser - -[extend]: #extending-the-parser - -[tokenizer]: #function-tokenizereat-value-silent - -[locator]: #tokenizerlocatorvalue-fromindex - -[eat]: #eatsubvalue - -[add]: #addnode-parent - -[blocks]: https://github.com/remarkjs/remark/blob/master/packages/remark-parse/lib/block-elements.json diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE deleted file mode 100644 index 39245ac1c60613..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md deleted file mode 100644 index aaa5e91c7a7f91..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md +++ /dev/null @@ -1,136 +0,0 @@ -# repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string) - -> Repeat the given string n times. Fastest implementation for repeating a string. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save repeat-string -``` - -## Usage - -### [repeat](index.js#L41) - -Repeat the given `string` the specified `number` of times. - -**Example:** - -**Example** - -```js -var repeat = require('repeat-string'); -repeat('A', 5); -//=> AAAAA -``` - -**Params** - -* `string` **{String}**: The string to repeat -* `number` **{Number}**: The number of times to repeat the string -* `returns` **{String}**: Repeated string - -## Benchmarks - -Repeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)): - -```sh -# 2x -repeat-string █████████████████████████ (26,953,977 ops/sec) -repeating █████████ (9,855,695 ops/sec) -native ██████████████████ (19,453,895 ops/sec) - -# 3x -repeat-string █████████████████████████ (19,445,252 ops/sec) -repeating ███████████ (8,661,565 ops/sec) -native ████████████████████ (16,020,598 ops/sec) - -# 10x -repeat-string █████████████████████████ (23,792,521 ops/sec) -repeating █████████ (8,571,332 ops/sec) -native ███████████████ (14,582,955 ops/sec) - -# 50x -repeat-string █████████████████████████ (23,640,179 ops/sec) -repeating █████ (5,505,509 ops/sec) -native ██████████ (10,085,557 ops/sec) - -# 250x -repeat-string █████████████████████████ (23,489,618 ops/sec) -repeating ████ (3,962,937 ops/sec) -native ████████ (7,724,892 ops/sec) - -# 2000x -repeat-string █████████████████████████ (20,315,172 ops/sec) -repeating ████ (3,297,079 ops/sec) -native ███████ (6,203,331 ops/sec) - -# 20000x -repeat-string █████████████████████████ (23,382,915 ops/sec) -repeating ███ (2,980,058 ops/sec) -native █████ (5,578,808 ops/sec) -``` - -**Run the benchmarks** - -Install dev dependencies: - -```sh -npm i -d && node benchmark -``` - -## About - -### Related projects - -[repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element "Create an array by repeating the given value n times.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor**
| -| --- | --- | -| 51 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [LinusU](https://github.com/LinusU) | -| 2 | [tbusser](https://github.com/tbusser) | -| 1 | [doowb](https://github.com/doowb) | -| 1 | [wooorm](https://github.com/wooorm) | - -### Building docs - -_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ - -To generate the readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install -g verb verb-generate-readme && verb -``` - -### Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -### License - -Copyright © 2016, [Jon Schlinkert](http://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._ \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js deleted file mode 100644 index 4459afd8016e31..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js +++ /dev/null @@ -1,70 +0,0 @@ -/*! - * repeat-string - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -/** - * Results cache - */ - -var res = ''; -var cache; - -/** - * Expose `repeat` - */ - -module.exports = repeat; - -/** - * Repeat the given `string` the specified `number` - * of times. - * - * **Example:** - * - * ```js - * var repeat = require('repeat-string'); - * repeat('A', 5); - * //=> AAAAA - * ``` - * - * @param {String} `string` The string to repeat - * @param {Number} `number` The number of times to repeat the string - * @return {String} Repeated string - * @api public - */ - -function repeat(str, num) { - if (typeof str !== 'string') { - throw new TypeError('expected a string'); - } - - // cover common, quick use cases - if (num === 1) return str; - if (num === 2) return str + str; - - var max = str.length * num; - if (cache !== str || typeof cache === 'undefined') { - cache = str; - res = ''; - } else if (res.length >= max) { - return res.substr(0, max); - } - - while (max > res.length && num > 1) { - if (num & 1) { - res += str; - } - - num >>= 1; - str += str; - } - - res += str; - res = res.substr(0, max); - return res; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json deleted file mode 100644 index 09f889299b6683..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "repeat-string", - "description": "Repeat the given string n times. Fastest implementation for repeating a string.", - "version": "1.6.1", - "homepage": "https://github.com/jonschlinkert/repeat-string", - "author": "Jon Schlinkert (http://github.com/jonschlinkert)", - "contributors": [ - "Brian Woodward (https://github.com/doowb)", - "Jon Schlinkert (http://twitter.com/jonschlinkert)", - "Linus Unnebäck (http://linus.unnebäck.se)", - "Thijs Busser (http://tbusser.net)", - "Titus (wooorm.com)" - ], - "repository": "jonschlinkert/repeat-string", - "bugs": { - "url": "https://github.com/jonschlinkert/repeat-string/issues" - }, - "license": "MIT", - "files": [ - "index.js" - ], - "main": "index.js", - "engines": { - "node": ">=0.10" - }, - "scripts": { - "test": "mocha" - }, - "devDependencies": { - "ansi-cyan": "^0.1.1", - "benchmarked": "^0.2.5", - "gulp-format-md": "^0.1.11", - "isobject": "^2.1.0", - "mocha": "^3.1.2", - "repeating": "^3.0.0", - "text-table": "^0.2.0", - "yargs-parser": "^4.0.2" - }, - "keywords": [ - "fast", - "fastest", - "fill", - "left", - "left-pad", - "multiple", - "pad", - "padding", - "repeat", - "repeating", - "repetition", - "right", - "right-pad", - "string", - "times" - ], - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "repeat-element" - ] - }, - "helpers": [ - "./benchmark/helper.js" - ], - "reflinks": [ - "verb" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE deleted file mode 100755 index fd38d69351565d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md deleted file mode 100644 index 8775983b7834d5..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md +++ /dev/null @@ -1,50 +0,0 @@ -

- - - -

- -# replace-ext - -[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url] - -Replaces a file extension with another one. - -## Usage - -```js -var replaceExt = require('replace-ext'); - -var path = '/some/dir/file.js'; -var newPath = replaceExt(path, '.coffee'); - -console.log(newPath); // /some/dir/file.coffee -``` - -## API - -### `replaceExt(path, extension)` - -Replaces the extension from `path` with `extension` and returns the updated path string. - -Does not replace the extension if `path` is not a string or is empty. - -## License - -MIT - -[downloads-image]: http://img.shields.io/npm/dm/replace-ext.svg -[npm-url]: https://www.npmjs.com/package/replace-ext -[npm-image]: http://img.shields.io/npm/v/replace-ext.svg - -[travis-url]: https://travis-ci.org/gulpjs/replace-ext -[travis-image]: http://img.shields.io/travis/gulpjs/replace-ext.svg?label=travis-ci - -[appveyor-url]: https://ci.appveyor.com/project/gulpjs/replace-ext -[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/replace-ext.svg?label=appveyor - -[coveralls-url]: https://coveralls.io/r/gulpjs/replace-ext -[coveralls-image]: http://img.shields.io/coveralls/gulpjs/replace-ext/master.svg - -[gitter-url]: https://gitter.im/gulpjs/gulp -[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js deleted file mode 100644 index 7cb7789e280723..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var path = require('path'); - -function replaceExt(npath, ext) { - if (typeof npath !== 'string') { - return npath; - } - - if (npath.length === 0) { - return npath; - } - - var nFileName = path.basename(npath, path.extname(npath)) + ext; - return path.join(path.dirname(npath), nFileName); -} - -module.exports = replaceExt; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json deleted file mode 100644 index 27dbe31042d0ff..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "replace-ext", - "version": "1.0.0", - "description": "Replaces a file extension with another one", - "author": "Gulp Team (http://gulpjs.com/)", - "contributors": [ - "Eric Schoffstall ", - "Blaine Bublitz " - ], - "repository": "gulpjs/replace-ext", - "license": "MIT", - "engines": { - "node": ">= 0.10" - }, - "main": "index.js", - "files": [ - "LICENSE", - "index.js" - ], - "scripts": { - "lint": "eslint . && jscs index.js test/", - "pretest": "npm run lint", - "test": "mocha --async-only", - "cover": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly", - "coveralls": "npm run cover && istanbul-coveralls" - }, - "dependencies": {}, - "devDependencies": { - "eslint": "^1.10.3", - "eslint-config-gulp": "^2.0.0", - "expect": "^1.16.0", - "istanbul": "^0.4.3", - "istanbul-coveralls": "^1.0.3", - "jscs": "^2.3.5", - "jscs-preset-gulp": "^1.0.0", - "mocha": "^2.4.5" - }, - "keywords": [ - "gulp", - "extensions", - "filepath", - "basename" - ] -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js deleted file mode 100644 index aceee00d1db789..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict' - -module.exports = factory - -// Construct a state `toggler`: a function which inverses `property` in context -// based on its current value. -// The by `toggler` returned function restores that value. -function factory(key, state, ctx) { - return enter - - function enter() { - var context = ctx || this - var current = context[key] - - context[key] = !state - - return exit - - function exit() { - context[key] = current - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json deleted file mode 100644 index 1111db063669a9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "state-toggle", - "version": "1.0.3", - "description": "Enter/exit a state", - "license": "MIT", - "keywords": [ - "enter", - "exit", - "state" - ], - "repository": "wooorm/state-toggle", - "bugs": "https://github.com/wooorm/state-toggle/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s stateToggle -o state-toggle.js", - "build-mangle": "browserify . -s stateToggle -p tinyify -o state-toggle.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "state-toggle.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md deleted file mode 100644 index 9fcca1e5ef6ddb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md +++ /dev/null @@ -1,95 +0,0 @@ -# state-toggle - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Enter/exit a state. - -## Install - -[npm][]: - -```sh -npm install state-toggle -``` - -## Use - -```js -var toggle = require('state-toggle') - -var ctx = {on: false} -var enter = toggle('on', ctx.on, ctx) -var exit - -// Entering: -exit = enter() -console.log(ctx.on) // => true - -// Exiting: -exit() -console.log(ctx.on) // => false -``` - -## API - -### `toggle(key, initial[, ctx])` - -Create a toggle, which when entering toggles `key` on `ctx` (or `this`, if `ctx` -is not given) to `!initial`, and when exiting, sets `key` on the context back to -the value it had before entering. - -###### Returns - -`Function` — [`enter`][enter]. - -### `enter()` - -Enter the state. - -###### Context - -If no `ctx` was given to `toggle`, the context object (`this`) of `enter()` is -used to toggle. - -###### Returns - -`Function` — [`exit`][exit]. - -### `exit()` - -Exit the state, reverting `key` to the value it had before entering. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/state-toggle.svg - -[build]: https://travis-ci.org/wooorm/state-toggle - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/state-toggle.svg - -[coverage]: https://codecov.io/github/wooorm/state-toggle - -[downloads-badge]: https://img.shields.io/npm/dm/state-toggle.svg - -[downloads]: https://www.npmjs.com/package/state-toggle - -[size-badge]: https://img.shields.io/bundlephobia/minzip/state-toggle.svg - -[size]: https://bundlephobia.com/result?p=state-toggle - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[enter]: #enter - -[exit]: #exit diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js deleted file mode 100644 index eff85c6baedffb..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' - -module.exports = trimTrailingLines - -// Remove final newline characters from `value`. -function trimTrailingLines(value) { - return String(value).replace(/\n+$/, '') -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license deleted file mode 100644 index 611b67581bb8e2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json deleted file mode 100644 index 861198394c3220..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "trim-trailing-lines", - "version": "1.1.4", - "description": "Remove final line feeds from a string", - "license": "MIT", - "keywords": [ - "trim", - "final", - "line", - "newline", - "characters" - ], - "repository": "wooorm/trim-trailing-lines", - "bugs": "https://github.com/wooorm/trim-trailing-lines/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^17.0.0", - "nyc": "^15.0.0", - "prettier": "^2.0.0", - "remark-cli": "^9.0.0", - "remark-preset-wooorm": "^8.0.0", - "tape": "^5.0.0", - "tinyify": "^3.0.0", - "xo": "^0.34.0" - }, - "scripts": { - "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", - "build-bundle": "browserify . -s trimTrailingLines -o trim-trailing-lines.js", - "build-mangle": "browserify . -s trimTrailingLines -p tinyify -o trim-trailing-lines.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "trim-trailing-lines.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md deleted file mode 100644 index a9c1f441b84262..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -# trim-trailing-lines - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Remove final line feeds from a string. - -## Install - -[npm][]: - -```sh -npm install trim-trailing-lines -``` - -## Use - -```js -var trimTrailingLines = require('trim-trailing-lines') - -trimTrailingLines('foo\nbar') // => 'foo\nbar' -trimTrailingLines('foo\nbar\n') // => 'foo\nbar' -trimTrailingLines('foo\nbar\n\n') // => 'foo\nbar' -``` - -## API - -### `trimTrailingLines(value)` - -Remove final line feed characters from `value`. - -###### Parameters - -* `value` (`string`) — Value with trailing line feeds, coerced to string. - -###### Returns - -`string` — Value without trailing newlines. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/trim-trailing-lines.svg - -[build]: https://travis-ci.org/wooorm/trim-trailing-lines - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trim-trailing-lines.svg - -[coverage]: https://codecov.io/github/wooorm/trim-trailing-lines - -[downloads-badge]: https://img.shields.io/npm/dm/trim-trailing-lines.svg - -[downloads]: https://www.npmjs.com/package/trim-trailing-lines - -[size-badge]: https://img.shields.io/bundlephobia/minzip/trim-trailing-lines.svg - -[size]: https://bundlephobia.com/result?p=trim-trailing-lines - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile deleted file mode 100644 index 4e9c8d36ebcd2f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile +++ /dev/null @@ -1,7 +0,0 @@ - -test: - @./node_modules/.bin/mocha \ - --require should \ - --reporter spec - -.PHONY: test \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md deleted file mode 100644 index 3460f523fbe8ac..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md +++ /dev/null @@ -1,69 +0,0 @@ - -# trim - - Trims string whitespace. - -## Installation - -``` -$ npm install trim -$ component install component/trim -``` - -## API - - - [trim(str)](#trimstr) - - [.left(str)](#leftstr) - - [.right(str)](#rightstr) - - - -### trim(str) -should trim leading / trailing whitespace. - -```js -trim(' foo bar ').should.equal('foo bar'); -trim('\n\n\nfoo bar\n\r\n\n').should.equal('foo bar'); -``` - - -### .left(str) -should trim leading whitespace. - -```js -trim.left(' foo bar ').should.equal('foo bar '); -``` - - -### .right(str) -should trim trailing whitespace. - -```js -trim.right(' foo bar ').should.equal(' foo bar'); -``` - - -## License - -(The MIT License) - -Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js deleted file mode 100644 index 640c24cf302e60..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js +++ /dev/null @@ -1,14 +0,0 @@ - -exports = module.exports = trim; - -function trim(str){ - return str.replace(/^\s*|\s*$/g, ''); -} - -exports.left = function(str){ - return str.replace(/^\s*/, ''); -}; - -exports.right = function(str){ - return str.replace(/\s*$/, ''); -}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json deleted file mode 100644 index 64ee5c69d84c32..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "trim", - "version": "0.0.1", - "description": "Trim string whitespace", - "keywords": ["string", "trim"], - "author": "TJ Holowaychuk ", - "dependencies": {}, - "devDependencies": { - "mocha": "*", - "should": "*" - }, - "main": "index", - "component": { - "scripts": { - "trim/index.js": "index.js" - } - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js deleted file mode 100644 index 2b73d868056525..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict' - -var wrap = require('./wrap.js') - -module.exports = trough - -trough.wrap = wrap - -var slice = [].slice - -// Create new middleware. -function trough() { - var fns = [] - var middleware = {} - - middleware.run = run - middleware.use = use - - return middleware - - // Run `fns`. Last argument must be a completion handler. - function run() { - var index = -1 - var input = slice.call(arguments, 0, -1) - var done = arguments[arguments.length - 1] - - if (typeof done !== 'function') { - throw new Error('Expected function as last argument, not ' + done) - } - - next.apply(null, [null].concat(input)) - - // Run the next `fn`, if any. - function next(err) { - var fn = fns[++index] - var params = slice.call(arguments, 0) - var values = params.slice(1) - var length = input.length - var pos = -1 - - if (err) { - done(err) - return - } - - // Copy non-nully input into values. - while (++pos < length) { - if (values[pos] === null || values[pos] === undefined) { - values[pos] = input[pos] - } - } - - input = values - - // Next or done. - if (fn) { - wrap(fn, next).apply(null, input) - } else { - done.apply(null, [null].concat(input)) - } - } - } - - // Add `fn` to the list. - function use(fn) { - if (typeof fn !== 'function') { - throw new Error('Expected `fn` to be a function, not ' + fn) - } - - fns.push(fn) - - return middleware - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license deleted file mode 100644 index 3f0166f62b10c0..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json deleted file mode 100644 index cbf7782f89a445..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "trough", - "version": "1.0.5", - "description": "Middleware: a channel used to convey a liquid", - "license": "MIT", - "keywords": [ - "middleware", - "ware" - ], - "repository": "wooorm/trough", - "bugs": "https://github.com/wooorm/trough/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js", - "wrap.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.js -s trough > trough.js", - "build-mangle": "browserify index.js -s trough -p tinyify > trough.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-reflect-apply": "off", - "unicorn/prefer-type-error": "off", - "guard-for-in": "off" - }, - "ignores": [ - "trough.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md deleted file mode 100644 index ce3d38bca9a2bf..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md +++ /dev/null @@ -1,330 +0,0 @@ -# trough - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -> **trough** /trôf/ — a channel used to convey a liquid. - -`trough` is like [`ware`][ware] with less sugar, and middleware functions can -change the input of the next. - -## Install - -[npm][]: - -```sh -npm install trough -``` - -## Use - -```js -var fs = require('fs') -var path = require('path') -var trough = require('trough') - -var pipeline = trough() - .use(function(fileName) { - console.log('Checking… ' + fileName) - }) - .use(function(fileName) { - return path.join(process.cwd(), fileName) - }) - .use(function(filePath, next) { - fs.stat(filePath, function(err, stats) { - next(err, {filePath, stats}) - }) - }) - .use(function(ctx, next) { - if (ctx.stats.isFile()) { - fs.readFile(ctx.filePath, next) - } else { - next(new Error('Expected file')) - } - }) - -pipeline.run('readme.md', console.log) -pipeline.run('node_modules', console.log) -``` - -Yields: - -```txt -Checking… readme.md -Checking… node_modules -Error: Expected file - at ~/example.js:21:12 - at wrapped (~/node_modules/trough/index.js:93:19) - at next (~/node_modules/trough/index.js:56:24) - at done (~/node_modules/trough/index.js:124:12) - at ~/node_modules/example.js:14:7 - at FSReqWrap.oncomplete (fs.js:153:5) -null -``` - -## API - -### `trough()` - -Create a new [`Trough`][trough]. - -#### `trough.wrap(middleware, callback[, …input])` - -Call `middleware` with all input. -If `middleware` accepts more arguments than given in input, and extra `done` -function is passed in after the input when calling it. -It must be called. - -The first value in `input` is called the main input value. -All other input values are called the rest input values. -The values given to `callback` are the input values, merged with every non-nully -output value. - -* If `middleware` throws an error, returns a promise that is rejected, or - calls the given `done` function with an error, `callback` is invoked with - that error -* If `middleware` returns a value or returns a promise that is resolved, that - value is the main output value -* If `middleware` calls `done`, all non-nully values except for the first one - (the error) overwrite the output values - -### `Trough` - -A pipeline. - -#### `Trough#run([input…, ]done)` - -Run the pipeline (all [`use()`][use]d middleware). -Invokes [`done`][done] on completion with either an error or the output of the -last middleware. - -> Note! -> as the length of input defines whether [async][] functions get a `next` -> function, it’s recommended to keep `input` at one value normally. - -##### `function done(err?, [output…])` - -The final handler passed to [`run()`][run], invoked with an error if a -[middleware function][fn] rejected, passed, or threw one, or the output of the -last middleware function. - -#### `Trough#use(fn)` - -Add `fn`, a [middleware function][fn], to the pipeline. - -##### `function fn([input…, ][next])` - -A middleware function invoked with the output of its predecessor. - -###### Synchronous - -If `fn` returns or throws an error, the pipeline fails and `done` is invoked -with that error. - -If `fn` returns a value (neither `null` nor `undefined`), the first `input` of -the next function is set to that value (all other `input` is passed through). - -The following example shows how returning an error stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return new Error('Got: ' + val) - }) - .run('some value', console.log) -``` - -Yields: - -```txt -Error: Got: some value - at ~/example.js:5:12 - … -``` - -The following example shows how throwing an error stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - throw new Error('Got: ' + val) - }) - .run('more value', console.log) -``` - -Yields: - -```txt -Error: Got: more value - at ~/example.js:5:11 - … -``` - -The following example shows how the first output can be modified: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return 'even ' + val - }) - .run('more value', 'untouched', console.log) -``` - -Yields: - -```txt -null 'even more value' 'untouched' -``` - -###### Promise - -If `fn` returns a promise, and that promise rejects, the pipeline fails and -`done` is invoked with the rejected value. - -If `fn` returns a promise, and that promise resolves with a value (neither -`null` nor `undefined`), the first `input` of the next function is set to that -value (all other `input` is passed through). - -The following example shows how rejecting a promise stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return new Promise(function(resolve, reject) { - reject('Got: ' + val) - }) - }) - .run('val', console.log) -``` - -Yields: - -```txt -Got: val -``` - -The following example shows how the input isn’t touched by resolving to `null`. - -```js -var trough = require('trough') - -trough() - .use(function() { - return new Promise(function(resolve) { - setTimeout(function() { - resolve(null) - }, 100) - }) - }) - .run('Input', console.log) -``` - -Yields: - -```txt -null 'Input' -``` - -###### Asynchronous - -If `fn` accepts one more argument than the given `input`, a `next` function is -given (after the input). `next` must be called, but doesn’t have to be called -async. - -If `next` is given a value (neither `null` nor `undefined`) as its first -argument, the pipeline fails and `done` is invoked with that value. - -If `next` is given no value (either `null` or `undefined`) as the first -argument, all following non-nully values change the input of the following -function, and all nully values default to the `input`. - -The following example shows how passing a first argument stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val, next) { - next(new Error('Got: ' + val)) - }) - .run('val', console.log) -``` - -Yields: - -```txt -Error: Got: val - at ~/example.js:5:10 -``` - -The following example shows how more values than the input are passed. - -```js -var trough = require('trough') - -trough() - .use(function(val, next) { - setTimeout(function() { - next(null, null, 'values') - }, 100) - }) - .run('some', console.log) -``` - -Yields: - -```txt -null 'some' 'values' -``` - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/trough.svg - -[build]: https://travis-ci.org/wooorm/trough - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trough.svg - -[coverage]: https://codecov.io/github/wooorm/trough - -[downloads-badge]: https://img.shields.io/npm/dm/trough.svg - -[downloads]: https://www.npmjs.com/package/trough - -[size-badge]: https://img.shields.io/bundlephobia/minzip/trough.svg - -[size]: https://bundlephobia.com/result?p=trough - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[ware]: https://github.com/segmentio/ware - -[trough]: #trough-1 - -[use]: #troughusefn - -[run]: #troughruninput-done - -[fn]: #function-fninput-next - -[done]: #function-doneerr-output - -[async]: #asynchronous diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js deleted file mode 100644 index cf568c07adfa34..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' - -var slice = [].slice - -module.exports = wrap - -// Wrap `fn`. -// Can be sync or async; return a promise, receive a completion handler, return -// new values and errors. -function wrap(fn, callback) { - var invoked - - return wrapped - - function wrapped() { - var params = slice.call(arguments, 0) - var callback = fn.length > params.length - var result - - if (callback) { - params.push(done) - } - - try { - result = fn.apply(null, params) - } catch (error) { - // Well, this is quite the pickle. - // `fn` received a callback and invoked it (thus continuing the pipeline), - // but later also threw an error. - // We’re not about to restart the pipeline again, so the only thing left - // to do is to throw the thing instead. - if (callback && invoked) { - throw error - } - - return done(error) - } - - if (!callback) { - if (result && typeof result.then === 'function') { - result.then(then, done) - } else if (result instanceof Error) { - done(result) - } else { - then(result) - } - } - } - - // Invoke `next`, only once. - function done() { - if (!invoked) { - invoked = true - - callback.apply(null, arguments) - } - } - - // Invoke `done` with one value. - // Tracks if an error is passed, too. - function then(value) { - done(null, value) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js deleted file mode 100644 index 32ead7770fa2c9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict' - -var xtend = require('xtend') -var inherits = require('inherits') - -module.exports = unherit - -// Create a custom constructor which can be modified without affecting the -// original class. -function unherit(Super) { - var result - var key - var value - - inherits(Of, Super) - inherits(From, Of) - - // Clone values. - result = Of.prototype - - for (key in result) { - value = result[key] - - if (value && typeof value === 'object') { - result[key] = 'concat' in value ? value.concat() : xtend(value) - } - } - - return Of - - // Constructor accepting a single argument, which itself is an `arguments` - // object. - function From(parameters) { - return Super.apply(this, parameters) - } - - // Constructor accepting variadic arguments. - function Of() { - if (!(this instanceof Of)) { - return new From(arguments) - } - - return Super.apply(this, arguments) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license deleted file mode 100644 index f3722d94b38121..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json deleted file mode 100644 index 445a500650255e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "unherit", - "version": "1.1.3", - "description": "Clone a constructor without affecting the super-class", - "license": "MIT", - "keywords": [ - "clone", - "super", - "class", - "constructor" - ], - "repository": "wooorm/unherit", - "bugs": "https://github.com/wooorm/unherit/issues", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unherit -o unherit.js", - "build-mangle": "browserify . -s unherit -p tinyify -o unherit.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-reflect-apply": "off", - "guard-for-in": "off" - }, - "ignores": [ - "unherit.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md deleted file mode 100644 index bf679597d89d50..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md +++ /dev/null @@ -1,79 +0,0 @@ -# unherit - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Create a custom constructor which can be modified without affecting the original -class. - -## Install - -[npm][]: - -```sh -npm install unherit -``` - -## Use - -```js -var EventEmitter = require('events').EventEmitter -var unherit = require('unherit') - -// Create a private class which acts just like `EventEmitter`. -var Emitter = unherit(EventEmitter) - -Emitter.prototype.defaultMaxListeners = 0 -// Now, all instances of `Emitter` have no maximum listeners, without affecting -// other `EventEmitter`s. - -new Emitter().defaultMaxListeners === 0 // => true -new EventEmitter().defaultMaxListeners === undefined // => true -new Emitter() instanceof EventEmitter // => true -``` - -## API - -### `unherit(Super)` - -Create a custom constructor which can be modified without affecting the original -class. - -###### Parameters - -* `Super` (`Function`) — Super-class - -###### Returns - -`Function` — Constructor acting like `Super`, which can be modified without -affecting the original class. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/unherit.svg - -[build]: https://travis-ci.org/wooorm/unherit - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/unherit.svg - -[coverage]: https://codecov.io/github/wooorm/unherit - -[downloads-badge]: https://img.shields.io/npm/dm/unherit.svg - -[downloads]: https://www.npmjs.com/package/unherit - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unherit.svg - -[size]: https://bundlephobia.com/result?p=unherit - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE deleted file mode 100644 index f3722d94b38121..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js deleted file mode 100644 index b8f9011d1701b9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js +++ /dev/null @@ -1,466 +0,0 @@ -'use strict' - -/* Dependencies. */ -var extend = require('extend') -var bail = require('bail') -var vfile = require('vfile') -var trough = require('trough') -var string = require('x-is-string') -var plain = require('is-plain-obj') - -/* Expose a frozen processor. */ -module.exports = unified().freeze() - -var slice = [].slice -var own = {}.hasOwnProperty - -/* Process pipeline. */ -var pipeline = trough() - .use(pipelineParse) - .use(pipelineRun) - .use(pipelineStringify) - -function pipelineParse(p, ctx) { - ctx.tree = p.parse(ctx.file) -} - -function pipelineRun(p, ctx, next) { - p.run(ctx.tree, ctx.file, done) - - function done(err, tree, file) { - if (err) { - next(err) - } else { - ctx.tree = tree - ctx.file = file - next() - } - } -} - -function pipelineStringify(p, ctx) { - ctx.file.contents = p.stringify(ctx.tree, ctx.file) -} - -/* Function to create the first processor. */ -function unified() { - var attachers = [] - var transformers = trough() - var namespace = {} - var frozen = false - var freezeIndex = -1 - - /* Data management. */ - processor.data = data - - /* Lock. */ - processor.freeze = freeze - - /* Plug-ins. */ - processor.attachers = attachers - processor.use = use - - /* API. */ - processor.parse = parse - processor.stringify = stringify - processor.run = run - processor.runSync = runSync - processor.process = process - processor.processSync = processSync - - /* Expose. */ - return processor - - /* Create a new processor based on the processor - * in the current scope. */ - function processor() { - var destination = unified() - var length = attachers.length - var index = -1 - - while (++index < length) { - destination.use.apply(null, attachers[index]) - } - - destination.data(extend(true, {}, namespace)) - - return destination - } - - /* Freeze: used to signal a processor that has finished - * configuration. - * - * For example, take unified itself. It’s frozen. - * Plug-ins should not be added to it. Rather, it should - * be extended, by invoking it, before modifying it. - * - * In essence, always invoke this when exporting a - * processor. */ - function freeze() { - var values - var plugin - var options - var transformer - - if (frozen) { - return processor - } - - while (++freezeIndex < attachers.length) { - values = attachers[freezeIndex] - plugin = values[0] - options = values[1] - transformer = null - - if (options === false) { - continue - } - - if (options === true) { - values[1] = undefined - } - - transformer = plugin.apply(processor, values.slice(1)) - - if (typeof transformer === 'function') { - transformers.use(transformer) - } - } - - frozen = true - freezeIndex = Infinity - - return processor - } - - /* Data management. - * Getter / setter for processor-specific informtion. */ - function data(key, value) { - if (string(key)) { - /* Set `key`. */ - if (arguments.length === 2) { - assertUnfrozen('data', frozen) - - namespace[key] = value - - return processor - } - - /* Get `key`. */ - return (own.call(namespace, key) && namespace[key]) || null - } - - /* Set space. */ - if (key) { - assertUnfrozen('data', frozen) - namespace = key - return processor - } - - /* Get space. */ - return namespace - } - - /* Plug-in management. - * - * Pass it: - * * an attacher and options, - * * a preset, - * * a list of presets, attachers, and arguments (list - * of attachers and options). */ - function use(value) { - var settings - - assertUnfrozen('use', frozen) - - if (value === null || value === undefined) { - /* Empty */ - } else if (typeof value === 'function') { - addPlugin.apply(null, arguments) - } else if (typeof value === 'object') { - if ('length' in value) { - addList(value) - } else { - addPreset(value) - } - } else { - throw new Error('Expected usable value, not `' + value + '`') - } - - if (settings) { - namespace.settings = extend(namespace.settings || {}, settings) - } - - return processor - - function addPreset(result) { - addList(result.plugins) - - if (result.settings) { - settings = extend(settings || {}, result.settings) - } - } - - function add(value) { - if (typeof value === 'function') { - addPlugin(value) - } else if (typeof value === 'object') { - if ('length' in value) { - addPlugin.apply(null, value) - } else { - addPreset(value) - } - } else { - throw new Error('Expected usable value, not `' + value + '`') - } - } - - function addList(plugins) { - var length - var index - - if (plugins === null || plugins === undefined) { - /* Empty */ - } else if (typeof plugins === 'object' && 'length' in plugins) { - length = plugins.length - index = -1 - - while (++index < length) { - add(plugins[index]) - } - } else { - throw new Error('Expected a list of plugins, not `' + plugins + '`') - } - } - - function addPlugin(plugin, value) { - var entry = find(plugin) - - if (entry) { - if (plain(entry[1]) && plain(value)) { - value = extend(entry[1], value) - } - - entry[1] = value - } else { - attachers.push(slice.call(arguments)) - } - } - } - - function find(plugin) { - var length = attachers.length - var index = -1 - var entry - - while (++index < length) { - entry = attachers[index] - - if (entry[0] === plugin) { - return entry - } - } - } - - /* Parse a file (in string or VFile representation) - * into a Unist node using the `Parser` on the - * processor. */ - function parse(doc) { - var file = vfile(doc) - var Parser - - freeze() - Parser = processor.Parser - assertParser('parse', Parser) - - if (newable(Parser)) { - return new Parser(String(file), file).parse() - } - - return Parser(String(file), file) // eslint-disable-line new-cap - } - - /* Run transforms on a Unist node representation of a file - * (in string or VFile representation), async. */ - function run(node, file, cb) { - assertNode(node) - freeze() - - if (!cb && typeof file === 'function') { - cb = file - file = null - } - - if (!cb) { - return new Promise(executor) - } - - executor(null, cb) - - function executor(resolve, reject) { - transformers.run(node, vfile(file), done) - - function done(err, tree, file) { - tree = tree || node - if (err) { - reject(err) - } else if (resolve) { - resolve(tree) - } else { - cb(null, tree, file) - } - } - } - } - - /* Run transforms on a Unist node representation of a file - * (in string or VFile representation), sync. */ - function runSync(node, file) { - var complete = false - var result - - run(node, file, done) - - assertDone('runSync', 'run', complete) - - return result - - function done(err, tree) { - complete = true - bail(err) - result = tree - } - } - - /* Stringify a Unist node representation of a file - * (in string or VFile representation) into a string - * using the `Compiler` on the processor. */ - function stringify(node, doc) { - var file = vfile(doc) - var Compiler - - freeze() - Compiler = processor.Compiler - assertCompiler('stringify', Compiler) - assertNode(node) - - if (newable(Compiler)) { - return new Compiler(node, file).compile() - } - - return Compiler(node, file) // eslint-disable-line new-cap - } - - /* Parse a file (in string or VFile representation) - * into a Unist node using the `Parser` on the processor, - * then run transforms on that node, and compile the - * resulting node using the `Compiler` on the processor, - * and store that result on the VFile. */ - function process(doc, cb) { - freeze() - assertParser('process', processor.Parser) - assertCompiler('process', processor.Compiler) - - if (!cb) { - return new Promise(executor) - } - - executor(null, cb) - - function executor(resolve, reject) { - var file = vfile(doc) - - pipeline.run(processor, {file: file}, done) - - function done(err) { - if (err) { - reject(err) - } else if (resolve) { - resolve(file) - } else { - cb(null, file) - } - } - } - } - - /* Process the given document (in string or VFile - * representation), sync. */ - function processSync(doc) { - var complete = false - var file - - freeze() - assertParser('processSync', processor.Parser) - assertCompiler('processSync', processor.Compiler) - file = vfile(doc) - - process(file, done) - - assertDone('processSync', 'process', complete) - - return file - - function done(err) { - complete = true - bail(err) - } - } -} - -/* Check if `func` is a constructor. */ -function newable(value) { - return typeof value === 'function' && keys(value.prototype) -} - -/* Check if `value` is an object with keys. */ -function keys(value) { - var key - for (key in value) { - return true - } - return false -} - -/* Assert a parser is available. */ -function assertParser(name, Parser) { - if (typeof Parser !== 'function') { - throw new Error('Cannot `' + name + '` without `Parser`') - } -} - -/* Assert a compiler is available. */ -function assertCompiler(name, Compiler) { - if (typeof Compiler !== 'function') { - throw new Error('Cannot `' + name + '` without `Compiler`') - } -} - -/* Assert the processor is not frozen. */ -function assertUnfrozen(name, frozen) { - if (frozen) { - throw new Error( - [ - 'Cannot invoke `' + name + '` on a frozen processor.\nCreate a new ', - 'processor first, by invoking it: use `processor()` instead of ', - '`processor`.' - ].join('') - ) - } -} - -/* Assert `node` is a Unist node. */ -function assertNode(node) { - if (!node || !string(node.type)) { - throw new Error('Expected node, got `' + node + '`') - } -} - -/* Assert that `complete` is `true`. */ -function assertDone(name, asyncName, complete) { - if (!complete) { - throw new Error( - '`' + name + '` finished async. Use `' + asyncName + '` instead' - ) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json deleted file mode 100644 index 21777216934520..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "name": "unified", - "version": "6.2.0", - "description": "Pluggable text processing interface", - "license": "MIT", - "keywords": [ - "process", - "parse", - "transform", - "compile", - "stringify", - "rehype", - "retext", - "remark" - ], - "repository": "unifiedjs/unified", - "bugs": "https://github.com/unifiedjs/unified/issues", - "author": "Titus Wormer (http://wooorm.com)", - "contributors": [ - "Titus Wormer (http://wooorm.com)" - ], - "files": [ - "index.js", - "lib" - ], - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", - "trough": "^1.0.0", - "vfile": "^2.0.0", - "x-is-string": "^0.1.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "prettier": "^1.12.1", - "remark-cli": "^5.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.4.0", - "xo": "^0.20.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "build-bundle": "browserify index.js -s unified > unified.js", - "build-mangle": "esmangle unified.js > unified.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "guard-for-in": "off", - "no-var": "off", - "object-shorthand": "off", - "prefer-arrow-callback": "off", - "unicorn/prefer-type-error": "off" - }, - "ignores": [ - "unified.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md deleted file mode 100644 index e979e0b3629447..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md +++ /dev/null @@ -1,993 +0,0 @@ -# ![unified][logo] - -[![Build Status][travis-badge]][travis] -[![Coverage Status][codecov-badge]][codecov] -[![Chat][chat-badge]][chat] - -**unified** is an interface for processing text using syntax trees. It’s what -powers [**remark**][remark], [**retext**][retext], and [**rehype**][rehype], -but it also allows for processing between multiple syntaxes. - -The website for **unified**, [`unifiedjs.github.io`][site], provides a less -technical and more practical introduction to unified. Make sure to visit it -and try its introductory [Guides][]. - -## Installation - -[npm][]: - -```bash -npm install unified -``` - -## Usage - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') -var report = require('vfile-reporter') - -unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - .process('# Hello world!', function(err, file) { - console.error(report(err || file)) - console.log(String(file)) - }) -``` - -Yields: - -```html -no issues found - - - - - - - -

Hello world!

- - -``` - -## Table of Contents - -* [Description](#description) -* [API](#api) - * [processor()](#processor) - * [processor.use(plugin\[, options\])](#processoruseplugin-options) - * [processor.parse(file|value)](#processorparsefilevalue) - * [processor.stringify(node\[, file\])](#processorstringifynode-file) - * [processor.run(node\[, file\]\[, done\])](#processorrunnode-file-done) - * [processor.runSync(node\[, file\])](#processorrunsyncnode-file) - * [processor.process(file|value\[, done\])](#processorprocessfilevalue-done) - * [processor.processSync(file|value)](#processorprocesssyncfilevalue) - * [processor.data(key\[, value\])](#processordatakey-value) - * [processor.freeze()](#processorfreeze) -* [Plugin](#plugin) - * [function attacher(\[options\])](#function-attacheroptions) - * [function transformer(node, file\[, next\])](#function-transformernode-file-next) -* [Preset](#preset) -* [Contribute](#contribute) -* [Acknowledgments](#acknowledgments) -* [License](#license) - -## Description - -**unified** is an interface for processing text using syntax trees. Syntax -trees are a representation understandable to programs. Those programs, called -[**plugin**][plugin]s, take these trees and modify them, amongst other things. -To get to the syntax tree from input text there’s a [**parser**][parser]. To -get from that back to text there’s a [**compiler**][compiler]. This is the -[**process**][process] of a **processor**. - -```ascii -| ....................... process() ......................... | -| ......... parse() ..... | run() | ..... stringify() ....... | - - +--------+ +----------+ -Input ->- | Parser | ->- Syntax Tree ->- | Compiler | ->- Output - +--------+ | +----------+ - X - | - +--------------+ - | Transformers | - +--------------+ -``` - -###### Processors - -Every processor implements another processor. To create a new processor invoke -another processor. This creates a processor that is configured to function the -same as its ancestor. But when the descendant processor is configured in the -future it does not affect the ancestral processor. - -When processors are exposed from a module (for example, unified itself) they -should not be configured directly, as that would change their behaviour for all -module users. Those processors are [**frozen**][freeze] and they should be -invoked to create a new processor before they are used. - -###### Node - -The syntax trees used in **unified** are [**Unist**][unist] nodes: plain -JavaScript objects with a `type` property. The semantics of those `type`s are -defined by other projects. - -There are several [utilities][unist-utilities] for working with these nodes. - -###### List of Processors - -The following projects process different syntax trees. They parse text to -their respective syntax tree and they compile their syntax trees back to text. -These processors can be used as-is, or their parsers and compilers can be mixed -and matched with **unified** and other plugins to process between different -syntaxes. - -* [**rehype**][rehype] ([**HAST**][hast]) — HTML -* [**remark**][remark] ([**MDAST**][mdast]) — Markdown -* [**retext**][retext] ([**NLCST**][nlcst]) — Natural language - -###### List of Plugins - -The below plugins work with **unified**, unrelated to what flavour the syntax -tree is in: - -* [`unified-diff`](https://github.com/unifiedjs/unified-diff) - — Ignore messages for unchanged lines in Travis - -See [**remark**][remark-plugins], [**rehype**][rehype-plugins], and -[**retext**][retext-plugins] for lists of their plugins. - -###### File - -When processing documents metadata is often gathered about that document. -[**VFile**][vfile] is a virtual file format which stores data and handles -metadata and messages for **unified** and its plugins. - -There are several [utilities][vfile-utilities] for working with these files. - -###### Configuration - -To configure a processor invoke its [`use`][use] method, supply it a -[**plugin**][plugin], and optionally settings. - -###### Integrations - -**unified** can integrate with the file-system through -[`unified-engine`][engine]. On top of that, CLI apps can be created with -[`unified-args`][args], Gulp plugins with [`unified-engine-gulp`][gulp], and -Atom Linters with [`unified-engine-atom`][atom]. - -A streaming interface is provided through [`unified-stream`][stream]. - -###### Programming interface - -The API gives access to processing metadata (such as lint messages) and -supports multiple passed through files: - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var styleGuide = require('remark-preset-lint-markdown-style-guide') -var remark2retext = require('remark-retext') -var english = require('retext-english') -var equality = require('retext-equality') -var remark2rehype = require('remark-rehype') -var html = require('rehype-stringify') -var report = require('vfile-reporter') - -unified() - .use(markdown) - .use(styleGuide) - .use( - remark2retext, - unified() - .use(english) - .use(equality) - ) - .use(remark2rehype) - .use(html) - .process('*Emphasis* and _importance_, you guys!', function(err, file) { - console.error(report(err || file)) - console.log(String(file)) - }) -``` - -Yields: - -```txt - 1:16-1:28 warning Emphasis should use `*` as a marker emphasis-marker remark-lint - 1:34-1:38 warning `guys` may be insensitive, use `people`, `persons`, `folks` instead gals-men retext-equality - -⚠ 2 warnings -

Emphasis and importance, you guys!

-``` - -###### Processing between syntaxes - -The processors can be combined in two modes. - -**Bridge** mode transforms the syntax tree from one flavour (the origin) to -another (the destination). Then, transformations are applied on that tree. -Finally, the origin processor continues transforming the original syntax tree. - -**Mutate** mode also transforms the syntax tree from one flavour to another. -But then the origin processor continues transforming the destination syntax -tree. - -In the previous example (“Programming interface”), `remark-retext` is used in -bridge mode: the origin syntax tree is kept after retext is done; whereas -`remark-rehype` is used in mutate mode: it sets a new syntax tree and discards -the original. - -* [`remark-retext`][remark-retext] -* [`remark-rehype`][remark-rehype] -* [`rehype-retext`][rehype-retext] -* [`rehype-remark`][rehype-remark] - -## API - -### `processor()` - -Object describing how to process text. - -###### Returns - -`Function` — New [**unfrozen**][freeze] processor which is configured to -function the same as its ancestor. But when the descendant processor is -configured in the future it does not affect the ancestral processor. - -###### Example - -The following example shows how a new processor can be created (from the remark -processor) and linked to **stdin**(4) and **stdout**(4). - -```js -var remark = require('remark') -var concat = require('concat-stream') - -process.stdin.pipe(concat(onconcat)) - -function onconcat(buf) { - var doc = remark() - .processSync(buf) - .toString() - - process.stdout.write(doc) -} -``` - -### `processor.use(plugin[, options])` - -Configure the processor to use a [**plugin**][plugin] and optionally configure -that plugin with options. - -###### Signatures - -* `processor.use(plugin[, options])` -* `processor.use(preset)` -* `processor.use(list)` - -###### Parameters - -* `plugin` ([`Plugin`][plugin]) -* `options` (`*`, optional) — Configuration for `plugin` -* `preset` (`Object`) — Object with an optional `plugins` (set to `list`), - and/or an optional `settings` object -* `list` (`Array`) — List of plugins, presets, and pairs (`plugin` and - `options` in an array) - -###### Returns - -`processor` — The processor on which `use` is invoked. - -###### Note - -`use` cannot be called on [frozen][freeze] processors. Invoke the processor -first to create a new unfrozen processor. - -###### Example - -There are many ways to pass plugins to `.use()`. The below example gives an -overview. - -```js -var unified = require('unified') - -unified() - // Plugin with options: - .use(plugin, {}) - // Plugins: - .use([plugin, pluginB]) - // Two plugins, the second with options: - .use([plugin, [pluginB, {}]]) - // Preset with plugins and settings: - .use({plugins: [plugin, [pluginB, {}]], settings: {position: false}}) - // Settings only: - .use({settings: {position: false}}) - -function plugin() {} -function pluginB() {} -``` - -### `processor.parse(file|value)` - -Parse text to a syntax tree. - -###### Parameters - -* `file` ([`VFile`][file]) - — Or anything which can be given to `vfile()` - -###### Returns - -[`Node`][node] — Syntax tree representation of input. - -###### Note - -`parse` [freezes][freeze] the processor if not already frozen. - -#### `processor.Parser` - -Function handling the parsing of text to a syntax tree. Used in the -[**parse**][parse] phase in the process and invoked with a `string` and -[`VFile`][file] representation of the document to parse. - -`Parser` can be a normal function in which case it must return a -[`Node`][node]: the syntax tree representation of the given file. - -`Parser` can also be a constructor function (a function with keys in its -`prototype`) in which case it’s invoked with `new`. Instances must have a -`parse` method which is invoked without arguments and must return a -[`Node`][node]. - -### `processor.stringify(node[, file])` - -Compile a syntax tree to text. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional); - — Or anything which can be given to `vfile()` - -###### Returns - -`string` — String representation of the syntax tree file. - -###### Note - -`stringify` [freezes][freeze] the processor if not already frozen. - -#### `processor.Compiler` - -Function handling the compilation of syntax tree to a text. Used in the -[**stringify**][stringify] phase in the process and invoked with a -[`Node`][node] and [`VFile`][file] representation of the document to stringify. - -`Compiler` can be a normal function in which case it must return a `string`: -the text representation of the given syntax tree. - -`Compiler` can also be a constructor function (a function with keys in its -`prototype`) in which case it’s invoked with `new`. Instances must have a -`compile` method which is invoked without arguments and must return a `string`. - -### `processor.run(node[, file][, done])` - -Transform a syntax tree by applying [**plugin**][plugin]s to it. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional) - — Or anything which can be given to `vfile()` -* `done` ([`Function`][run-done], optional) - -###### Returns - -[`Promise`][promise] if `done` is not given. Rejected with an error, or -resolved with the resulting syntax tree. - -###### Note - -`run` [freezes][freeze] the processor if not already frozen. - -##### `function done(err[, node, file])` - -Invoked when transformation is complete. Either invoked with an error or a -syntax tree and a file. - -###### Parameters - -* `err` (`Error`) — Fatal error -* `node` ([`Node`][node]) -* `file` ([`VFile`][file]) - -### `processor.runSync(node[, file])` - -Transform a syntax tree by applying [**plugin**][plugin]s to it. - -If asynchronous [**plugin**][plugin]s are configured an error is thrown. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional) - — Or anything which can be given to `vfile()` - -###### Returns - -[`Node`][node] — The given syntax tree. - -###### Note - -`runSync` [freezes][freeze] the processor if not already frozen. - -### `processor.process(file|value[, done])` - -Process the given representation of a file as configured on the processor. The -process invokes `parse`, `run`, and `stringify` internally. - -###### Parameters - -* `file` ([`VFile`][file]) -* `value` (`string`) — String representation of a file -* `done` ([`Function`][process-done], optional) - -###### Returns - -[`Promise`][promise] if `done` is not given. Rejected with an error or -resolved with the resulting file. - -###### Note - -`process` [freezes][freeze] the processor if not already frozen. - -#### `function done(err, file)` - -Invoked when the process is complete. Invoked with a fatal error, if any, and -the [`VFile`][file]. - -###### Parameters - -* `err` (`Error`, optional) — Fatal error -* `file` ([`VFile`][file]) - -###### Example - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') - -unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - .process('# Hello world!') - .then( - function(file) { - console.log(String(file)) - }, - function(err) { - console.error(String(err)) - } - ) -``` - -Yields: - -```html - - - - - - - -

Hello world!

- - -``` - -### `processor.processSync(file|value)` - -Process the given representation of a file as configured on the processor. The -process invokes `parse`, `run`, and `stringify` internally. - -If asynchronous [**plugin**][plugin]s are configured an error is thrown. - -###### Parameters - -* `file` ([`VFile`][file]) -* `value` (`string`) — String representation of a file - -###### Returns - -[`VFile`][file] — Virtual file with modified [`contents`][vfile-contents]. - -###### Note - -`processSync` [freezes][freeze] the processor if not already frozen. - -###### Example - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') - -var processor = unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - -console.log(processor.processSync('# Hello world!').toString()) -``` - -Yields: - -```html - - - - - - - -

Hello world!

- - -``` - -### `processor.data(key[, value])` - -Get or set information in an in-memory key-value store accessible to all phases -of the process. An example is a list of HTML elements which are self-closing, -which is needed when parsing, transforming, and compiling HTML. - -###### Parameters - -* `key` (`string`) — Identifier -* `value` (`*`, optional) — Value to set. Omit if getting `key` - -###### Returns - -* `processor` — If setting, the processor on which `data` is invoked -* `*` — If getting, the value at `key` - -###### Note - -Setting information with `data` cannot occur on [frozen][freeze] processors. -Invoke the processor first to create a new unfrozen processor. - -###### Example - -The following example show how to get and set information: - -```js -var unified = require('unified') - -console.log( - unified() - .data('alpha', 'bravo') - .data('alpha') -) -``` - -Yields: - -```txt -bravo -``` - -### `processor.freeze()` - -Freeze a processor. Frozen processors are meant to be extended and not to be -configured or processed directly. - -Once a processor is frozen it cannot be unfrozen. New processors functioning -just like it can be created by invoking the processor. - -It’s possible to freeze processors explicitly, by calling `.freeze()`, but -[`.parse()`][parse], [`.run()`][run], [`.stringify()`][stringify], and -[`.process()`][process] call `.freeze()` to freeze a processor too. - -###### Returns - -`Processor` — The processor on which `freeze` is invoked. - -###### Example - -The following example, `index.js`, shows how [**rehype**][rehype] prevents -extensions to itself: - -```js -var unified = require('unified') -var parse = require('rehype-parse') -var stringify = require('rehype-stringify') - -module.exports = unified() - .use(parse) - .use(stringify) - .freeze() -``` - -The below example, `a.js`, shows how that processor can be used and configured. - -```js -var rehype = require('rehype') -var format = require('rehype-format') -// ... - -rehype() - .use(format) - // ... -``` - -The below example, `b.js`, shows a similar looking example which operates on -the frozen [**rehype**][rehype] interface. If this behaviour was allowed it -would result in unexpected behaviour so an error is thrown. **This is -invalid**: - -```js -var rehype = require('rehype') -var format = require('rehype-format') -// ... - -rehype - .use(format) - // ... -``` - -Yields: - -```txt -~/node_modules/unified/index.js:440 - throw new Error( - ^ - -Error: Cannot invoke `use` on a frozen processor. -Create a new processor first, by invoking it: use `processor()` instead of `processor`. - at assertUnfrozen (~/node_modules/unified/index.js:440:11) - at Function.use (~/node_modules/unified/index.js:172:5) - at Object. (~/b.js:6:4) -``` - -## `Plugin` - -**unified** plugins change the way the applied-on processor works in the -following ways: - -* They modify the [**processor**][processor]: such as changing the parser, - the compiler, or linking it to other processors -* They transform [**syntax tree**][node] representation of files -* They modify metadata of files - -Plugins are a concept. They materialise as [`attacher`][attacher]s. - -###### Example - -`move.js`: - -```js -module.exports = move - -function move(options) { - var expected = (options || {}).extname - - if (!expected) { - throw new Error('Missing `extname` in options') - } - - return transformer - - function transformer(tree, file) { - if (file.extname && file.extname !== expected) { - file.extname = expected - } - } -} -``` - -`index.js`: - -```js -var unified = require('unified') -var parse = require('remark-parse') -var remark2rehype = require('remark-rehype') -var stringify = require('rehype-stringify') -var vfile = require('to-vfile') -var report = require('vfile-reporter') -var move = require('./move') - -unified() - .use(parse) - .use(remark2rehype) - .use(move, {extname: '.html'}) - .use(stringify) - .process(vfile.readSync('index.md'), function(err, file) { - console.error(report(err || file)) - if (file) { - vfile.writeSync(file) // Written to `index.html`. - } - }) -``` - -### `function attacher([options])` - -An attacher is the thing passed to [`use`][use]. It configures the processor -and in turn can receive options. - -Attachers can configure processors, such as by interacting with parsers and -compilers, linking them to other processors, or by specifying how the syntax -tree is handled. - -###### Context - -The context object is set to the invoked on [`processor`][processor]. - -###### Parameters - -* `options` (`*`, optional) — Configuration - -###### Returns - -[`transformer`][transformer] — Optional. - -###### Note - -Attachers are invoked when the processor is [frozen][freeze]: either when -`.freeze()` is called explicitly, or when [`.parse()`][parse], [`.run()`][run], -[`.stringify()`][stringify], or [`.process()`][process] is called for the first -time. - -### `function transformer(node, file[, next])` - -Transformers modify the syntax tree or metadata of a file. A transformer is a -function which is invoked each time a file is passed through the transform -phase. If an error occurs (either because it’s thrown, returned, rejected, or -passed to [`next`][next]), the process stops. - -The transformation process in **unified** is handled by [`trough`][trough], see -it’s documentation for the exact semantics of transformers. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file]) -* `next` ([`Function`][next], optional) - -###### Returns - -* `Error` — Can be returned to stop the process -* [`Node`][node] — Can be returned and results in further transformations - and `stringify`s to be performed on the new tree -* `Promise` — If a promise is returned, the function is asynchronous, and - **must** be resolved (optionally with a [`Node`][node]) or rejected - (optionally with an `Error`) - -#### `function next(err[, tree[, file]])` - -If the signature of a transformer includes `next` (third argument), the -function **may** finish asynchronous, and **must** invoke `next()`. - -###### Parameters - -* `err` (`Error`, optional) — Stop the process -* `node` ([`Node`][node], optional) — New syntax tree -* `file` ([`VFile`][file], optional) — New virtual file - -## `Preset` - -Presets provide a potentially sharable way to configure processors. They can -contain multiple plugins and optionally settings as well. - -###### Example - -`preset.js`: - -```js -exports.settings = {bullet: '*', fences: true} - -exports.plugins = [ - require('remark-preset-lint-recommended'), - require('remark-comment-config'), - require('remark-preset-lint-markdown-style-guide'), - [require('remark-toc'), {maxDepth: 3, tight: true}], - require('remark-github') -] -``` - -`index.js`: - -```js -var remark = require('remark') -var vfile = require('to-vfile') -var report = require('vfile-reporter') -var preset = require('./preset') - -remark() - .use(preset) - .process(vfile.readSync('index.md'), function(err, file) { - console.error(report(err || file)) - - if (file) { - vfile.writeSync(file) - } - }) -``` - -## Contribute - -**unified** is built by people just like you! Check out -[`contributing.md`][contributing] for ways to get started. - -This project has a [Code of Conduct][coc]. By interacting with this repository, -organisation, or community you agree to abide by its terms. - -Want to chat with the community and contributors? Join us in [Gitter][chat]! - -Have an idea for a cool new utility or tool? That’s great! If you want -feedback, help, or just to share it with the world you can do so by creating -an issue in the [`unifiedjs/ideas`][ideas] repository! - -## Acknowledgments - -Preliminary work for unified was done [in 2014][preliminary] for -[**retext**][retext] and inspired by [`ware`][ware]. Further incubation -happened in [**remark**][remark]. The project was finally [externalised][] -in 2015 and [published][] as `unified`. The project was authored by -[**@wooorm**](https://github.com/wooorm). - -Although `unified` since moved it’s plugin architecture to [`trough`][trough], -thanks to [**@calvinfo**](https://github.com/calvinfo), -[**@ianstormtaylor**](https://github.com/ianstormtaylor), and others for their -work on [`ware`][ware], which was a huge initial inspiration. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[logo]: https://cdn.rawgit.com/unifiedjs/unified/0cd3a41/logo.svg - -[travis-badge]: https://img.shields.io/travis/unifiedjs/unified.svg - -[travis]: https://travis-ci.org/unifiedjs/unified - -[codecov-badge]: https://img.shields.io/codecov/c/github/unifiedjs/unified.svg - -[codecov]: https://codecov.io/github/unifiedjs/unified - -[chat-badge]: https://img.shields.io/gitter/room/unifiedjs/Lobby.svg - -[chat]: https://gitter.im/unifiedjs/Lobby - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[site]: https://unifiedjs.github.io - -[guides]: https://unifiedjs.github.io/#guides - -[rehype]: https://github.com/rehypejs/rehype - -[remark]: https://github.com/remarkjs/remark - -[retext]: https://github.com/retextjs/retext - -[hast]: https://github.com/syntax-tree/hast - -[mdast]: https://github.com/syntax-tree/mdast - -[nlcst]: https://github.com/syntax-tree/nlcst - -[unist]: https://github.com/syntax-tree/unist - -[engine]: https://github.com/unifiedjs/unified-engine - -[args]: https://github.com/unifiedjs/unified-args - -[gulp]: https://github.com/unifiedjs/unified-engine-gulp - -[atom]: https://github.com/unifiedjs/unified-engine-atom - -[remark-rehype]: https://github.com/remarkjs/remark-rehype - -[remark-retext]: https://github.com/remarkjs/remark-retext - -[rehype-retext]: https://github.com/rehypejs/rehype-retext - -[rehype-remark]: https://github.com/rehypejs/rehype-remark - -[unist-utilities]: https://github.com/syntax-tree/unist#list-of-utilities - -[vfile]: https://github.com/vfile/vfile - -[vfile-contents]: https://github.com/vfile/vfile#vfilecontents - -[vfile-utilities]: https://github.com/vfile/vfile#related-tools - -[file]: #file - -[node]: #node - -[processor]: #processor - -[process]: #processorprocessfilevalue-done - -[parse]: #processorparsefilevalue - -[parser]: #processorparser - -[stringify]: #processorstringifynode-file - -[run]: #processorrunnode-file-done - -[compiler]: #processorcompiler - -[use]: #processoruseplugin-options - -[attacher]: #function-attacheroptions - -[transformer]: #function-transformernode-file-next - -[next]: #function-nexterr-tree-file - -[freeze]: #processorfreeze - -[plugin]: #plugin - -[run-done]: #function-doneerr-node-file - -[process-done]: #function-doneerr-file - -[trough]: https://github.com/wooorm/trough#function-fninput-next - -[promise]: https://developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/Promise - -[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#list-of-plugins - -[rehype-plugins]: https://github.com/rehypejs/rehype/blob/master/doc/plugins.md#list-of-plugins - -[retext-plugins]: https://github.com/retextjs/retext/blob/master/doc/plugins.md#list-of-plugins - -[stream]: https://github.com/unifiedjs/unified-stream - -[contributing]: contributing.md - -[coc]: code-of-conduct.md - -[ideas]: https://github.com/unifiedjs/ideas - -[preliminary]: https://github.com/retextjs/retext/commit/8fcb1f#diff-168726dbe96b3ce427e7fedce31bb0bc - -[externalised]: https://github.com/remarkjs/remark/commit/9892ec#diff-168726dbe96b3ce427e7fedce31bb0bc - -[published]: https://github.com/unifiedjs/unified/commit/2ba1cf - -[ware]: https://github.com/segmentio/ware diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js deleted file mode 100644 index f92f34f1051b25..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js +++ /dev/null @@ -1,87 +0,0 @@ -'use strict' - -module.exports = convert - -function convert(test) { - if (typeof test === 'string') { - return typeFactory(test) - } - - if (test === null || test === undefined) { - return ok - } - - if (typeof test === 'object') { - return ('length' in test ? anyFactory : matchesFactory)(test) - } - - if (typeof test === 'function') { - return test - } - - throw new Error('Expected function, string, or object as test') -} - -function convertAll(tests) { - var results = [] - var length = tests.length - var index = -1 - - while (++index < length) { - results[index] = convert(tests[index]) - } - - return results -} - -// Utility assert each property in `test` is represented in `node`, and each -// values are strictly equal. -function matchesFactory(test) { - return matches - - function matches(node) { - var key - - for (key in test) { - if (node[key] !== test[key]) { - return false - } - } - - return true - } -} - -function anyFactory(tests) { - var checks = convertAll(tests) - var length = checks.length - - return matches - - function matches() { - var index = -1 - - while (++index < length) { - if (checks[index].apply(this, arguments)) { - return true - } - } - - return false - } -} - -// Utility to convert a string into a function which checks a given node’s type -// for said string. -function typeFactory(test) { - return type - - function type(node) { - return Boolean(node && node.type === test) - } -} - -// Utility to return true. -function ok() { - return true -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js deleted file mode 100644 index f18d416e08d214..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict' - -var convert = require('./convert') - -module.exports = is - -is.convert = convert - -// Assert if `test` passes for `node`. -// When a `parent` node is known the `index` of node should also be given. -// eslint-disable-next-line max-params -function is(node, test, index, parent, context) { - var hasParent = parent !== null && parent !== undefined - var hasIndex = index !== null && index !== undefined - var check = convert(test) - - if ( - hasIndex && - (typeof index !== 'number' || index < 0 || index === Infinity) - ) { - throw new Error('Expected positive finite index or child node') - } - - if (hasParent && (!is(parent) || !parent.children)) { - throw new Error('Expected parent node') - } - - if (!node || !node.type || typeof node.type !== 'string') { - return false - } - - if (hasParent !== hasIndex) { - throw new Error('Expected both parent and index') - } - - return Boolean(check.call(context, node, index, parent)) -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license deleted file mode 100644 index cfa79e66cfc072..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT license) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json deleted file mode 100644 index 25193acddd8a0d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "unist-util-is", - "version": "3.0.0", - "description": "Utility to check if a node passes a test", - "license": "MIT", - "keywords": [ - "unist", - "node", - "is", - "equal", - "test", - "type", - "util", - "utility" - ], - "repository": "syntax-tree/unist-util-is", - "bugs": "https://github.com/syntax-tree/unist-util-is/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js", - "convert.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unistUtilIs > unist-util-is.js", - "build-mangle": "browserify . -s unistUtilIs -p tinyify > unist-util-is.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-type-error": "off" - }, - "ignore": [ - "unist-util-is.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md deleted file mode 100644 index 7d53629aba87db..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md +++ /dev/null @@ -1,202 +0,0 @@ -# unist-util-is - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to check if a node passes a test. - -## Install - -[npm][]: - -```sh -npm install unist-util-is -``` - -## Usage - -```js -var is = require('unist-util-is') - -var node = {type: 'strong'} -var parent = {type: 'paragraph', children: [node]} - -function test(node, n) { - return n === 5 -} - -is() // => false -is({children: []}) // => false -is(node) // => true -is(node, 'strong') // => true -is(node, 'emphasis') // => false - -is(node, node) // => true -is(parent, {type: 'paragraph'}) // => true -is(parent, {type: 'strong'}) // => false - -is(node, test) // => false -is(node, test, 4, parent) // => false -is(node, test, 5, parent) // => true -``` - -## API - -### `is(node[, test[, index, parent[, context]]])` - -###### Parameters - -* `node` ([`Node`][node]) — Node to check. -* `test` ([`Function`][test], `string`, `Object`, or `Array.`, optional) - — When not given, checks if `node` is a [`Node`][node]. - When `string`, works like passing `node => node.type === test`. - When `array`, checks if any one of the subtests pass. - When `object`, checks that all keys in `test` are in `node`, - and that they have strictly equal values -* `index` (`number`, optional) — [Index][] of `node` in `parent` -* `parent` ([`Node`][node], optional) — [Parent][] of `node` -* `context` (`*`, optional) — Context object to invoke `test` with - -###### Returns - -`boolean` — Whether `test` passed *and* `node` is a [`Node`][node] (object with -`type` set to a non-empty `string`). - -#### `function test(node[, index, parent])` - -###### Parameters - -* `node` ([`Node`][node]) — Node to check -* `index` (`number?`) — [Index][] of `node` in `parent` -* `parent` ([`Node?`][node]) — [Parent][] of `node` - -###### Context - -`*` — The to `is` given `context`. - -###### Returns - -`boolean?` — Whether `node` matches. - -### `is.convert(test)` - -Create a test function from `test`, that can later be called with a `node`, -`index`, and `parent`. -Useful if you’re going to test many nodes, for example when creating a utility -where something else passes an is-compatible test. - -Can also be accessed with `require('unist-util-is/convert')`. - -For example: - -```js -var u = require('unist-builder') -var convert = require('unist-util-is/convert') - -var test = convert('leaf') - -var tree = u('tree', [ - u('node', [u('leaf', '1')]), - u('leaf', '2'), - u('node', [u('leaf', '3'), u('leaf', '4')]), - u('leaf', '5') -]) - -var leafs = tree.children.filter((child, index) => test(child, index, tree)) - -console.log(leafs) -``` - -Yields: - -```js -[({type: 'leaf', value: '2'}, {type: 'leaf', value: '5'})] -``` - -## Related - -* [`unist-util-find-after`](https://github.com/syntax-tree/unist-util-find-after) - — Find a node after another node -* [`unist-util-find-before`](https://github.com/syntax-tree/unist-util-find-before) - — Find a node before another node -* [`unist-util-find-all-after`](https://github.com/syntax-tree/unist-util-find-all-after) - — Find all nodes after another node -* [`unist-util-find-all-before`](https://github.com/syntax-tree/unist-util-find-all-before) - — Find all nodes before another node -* [`unist-util-find-all-between`](https://github.com/mrzmmr/unist-util-find-all-between) - — Find all nodes between two nodes -* [`unist-util-find`](https://github.com/blahah/unist-util-find) - — Find nodes matching a predicate -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with nodes that pass a check -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from tree - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-is.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-is - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-is.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-is - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-is.svg - -[downloads]: https://www.npmjs.com/package/unist-util-is - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-is.svg - -[size]: https://bundlephobia.com/result?p=unist-util-is - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[parent]: https://github.com/syntax-tree/unist#parent-1 - -[index]: https://github.com/syntax-tree/unist#index - -[test]: #function-testnode-index-parent diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js deleted file mode 100644 index 096395981793d9..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict' - -var visit = require('unist-util-visit') - -module.exports = removePosition - -function removePosition(node, force) { - visit(node, force ? hard : soft) - return node -} - -function hard(node) { - delete node.position -} - -function soft(node) { - node.position = undefined -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json deleted file mode 100644 index e1166471c37d6e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "unist-util-remove-position", - "version": "1.1.4", - "description": "Remove `position`s from a unist tree", - "license": "MIT", - "keywords": [ - "unist", - "utility", - "remove", - "position", - "location" - ], - "repository": "syntax-tree/unist-util-remove-position", - "bugs": "https://github.com/syntax-tree/unist-util-remove-position/issues", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-visit": "^1.1.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^11.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "unist-builder": "^2.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unistUtilRemovePosition > unist-util-remove-position.js", - "build-mangle": "browserify . -s unistUtilRemovePosition -p tinyify > unist-util-remove-position.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-remove-position.js" - ] - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md deleted file mode 100644 index e79ed14b35084f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md +++ /dev/null @@ -1,131 +0,0 @@ -# unist-util-remove-position - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to remove [`position`][position]s from tree. - -## Install - -[npm][]: - -```sh -npm install unist-util-remove-position -``` - -## Usage - -```js -var remark = require('remark') -var removePosition = require('unist-util-remove-position') - -var tree = remark().parse('Some _emphasis_, **importance**, and `code`.') - -removePosition(tree, true) - -console.dir(tree, {depth: null}) -``` - -Yields: - -```js -{ - type: 'root', - children: [ - { - type: 'paragraph', - children: [ - { type: 'text', value: 'Some ' }, - { - type: 'emphasis', - children: [ { type: 'text', value: 'emphasis' } ] - }, - { type: 'text', value: ', ' }, - { - type: 'strong', - children: [ { type: 'text', value: 'importance' } ] - }, - { type: 'text', value: ', and ' }, - { type: 'inlineCode', value: 'code' }, - { type: 'text', value: '.' } - ] - } - ] -} -``` - -## API - -### `removePosition(node[, force])` - -Remove [`position`][position]s from [`node`][node]. -If `force` is given, uses `delete`, otherwise, sets `position`s to `undefined`. - -###### Returns - -The given `node`. - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-remove-position.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-remove-position - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-remove-position.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-remove-position - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-remove-position.svg - -[downloads]: https://www.npmjs.com/package/unist-util-remove-position - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-remove-position.svg - -[size]: https://bundlephobia.com/result?p=unist-util-remove-position - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[position]: https://github.com/syntax-tree/unist#position - -[node]: https://github.com/syntax-tree/unist#node diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js deleted file mode 100644 index 3be1e14276cf79..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict' - -var own = {}.hasOwnProperty - -module.exports = stringify - -function stringify(value) { - /* Nothing. */ - if (!value || typeof value !== 'object') { - return null - } - - /* Node. */ - if (own.call(value, 'position') || own.call(value, 'type')) { - return position(value.position) - } - - /* Position. */ - if (own.call(value, 'start') || own.call(value, 'end')) { - return position(value) - } - - /* Point. */ - if (own.call(value, 'line') || own.call(value, 'column')) { - return point(value) - } - - /* ? */ - return null -} - -function point(point) { - if (!point || typeof point !== 'object') { - point = {} - } - - return index(point.line) + ':' + index(point.column) -} - -function position(pos) { - if (!pos || typeof pos !== 'object') { - pos = {} - } - - return point(pos.start) + '-' + point(pos.end) -} - -function index(value) { - return value && typeof value === 'number' ? value : 1 -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json deleted file mode 100644 index 2e20b672051031..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "unist-util-stringify-position", - "version": "1.1.2", - "description": "Stringify a Unist node, position, or point", - "license": "MIT", - "keywords": [ - "unist", - "position", - "location", - "point", - "node", - "stringify", - "tostring", - "util", - "utility" - ], - "repository": "syntax-tree/unist-util-stringify-position", - "bugs": "https://github.com/syntax-tree/unist-util-stringify-position/issues", - "author": "Titus Wormer (http://wooorm.com)", - "contributors": [ - "Titus Wormer (http://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "prettier": "^1.12.1", - "remark-cli": "^5.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.5.1", - "xo": "^0.20.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "build-bundle": "browserify index.js --no-builtins -s unistUtilStringifyPosition > unist-util-stringify-position.js", - "build-mangle": "esmangle unist-util-stringify-position.js > unist-util-stringify-position.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "guard-for-in": "off", - "no-var": "off", - "prefer-arrow-callback": "off" - }, - "ignores": [ - "unist-util-stringify-position.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md deleted file mode 100644 index 85c753b5e1b47d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md +++ /dev/null @@ -1,100 +0,0 @@ -# unist-util-stringify-position [![Build Status][build-badge]][build-page] [![Coverage Status][coverage-badge]][coverage-page] - -Stringify a [**Unist**][unist] [`Position`][position] or [`Point`][point]. - -## Installation - -[npm][]: - -```bash -npm install unist-util-stringify-position -``` - -## Usage - -```javascript -var stringify = require('unist-util-stringify-position') - -// Point -stringify({line: 2, column: 3}) // => '2:3' - -// Position -stringify({ - start: {line: 2}, - end: {line: 3} -}) // => '2:1-3:1' - -// Node -stringify({ - type: 'text', - value: '!', - position: { - start: {line: 5, column: 11}, - end: {line: 5, column: 12} - } -}) // => '5:11-5:12' -``` - -## API - -### `stringifyPosition(node|position|point)` - -Stringify one point, a position (start and end points), or -a node’s position. - -###### Parameters - -* `node` ([`Node`][node]) - — Node whose `'position'` property to stringify -* `position` ([`Position`][position]) - — Position whose `'start'` and `'end'` points to stringify -* `point` ([`Point`][point]) - — Point whose `'line'` and `'column'` to stringify - -###### Returns - -`string?` — A range `ls:cs-le:ce` (when given `node` or -`position`) or a point `l:c` (when given `point`), where `l` stands -for line, `c` for column, `s` for `start`, and `e` for -end. `null` is returned if the given value is neither `node`, -`position`, nor `point`. - -## Contribute - -See [`contributing.md` in `syntax-tree/unist`][contributing] for ways to get -started. - -This organisation has a [Code of Conduct][coc]. By interacting with this -repository, organisation, or community you agree to abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-stringify-position.svg - -[build-page]: https://travis-ci.org/syntax-tree/unist-util-stringify-position - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-stringify-position.svg - -[coverage-page]: https://codecov.io/github/syntax-tree/unist-util-stringify-position?branch=master - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[position]: https://github.com/syntax-tree/unist#position - -[point]: https://github.com/syntax-tree/unist#point - -[contributing]: https://github.com/syntax-tree/unist/blob/master/contributing.md - -[coc]: https://github.com/syntax-tree/unist/blob/master/code-of-conduct.md diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js deleted file mode 100644 index c72635924f86d1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict' - -module.exports = visitParents - -var convert = require('unist-util-is/convert') - -var CONTINUE = true -var SKIP = 'skip' -var EXIT = false - -visitParents.CONTINUE = CONTINUE -visitParents.SKIP = SKIP -visitParents.EXIT = EXIT - -function visitParents(tree, test, visitor, reverse) { - var is - - if (typeof test === 'function' && typeof visitor !== 'function') { - reverse = visitor - visitor = test - test = null - } - - is = convert(test) - - one(tree, null, []) - - // Visit a single node. - function one(node, index, parents) { - var result = [] - var subresult - - if (!test || is(node, index, parents[parents.length - 1] || null)) { - result = toResult(visitor(node, parents)) - - if (result[0] === EXIT) { - return result - } - } - - if (node.children && result[0] !== SKIP) { - subresult = toResult(all(node.children, parents.concat(node))) - return subresult[0] === EXIT ? subresult : result - } - - return result - } - - // Visit children in `parent`. - function all(children, parents) { - var min = -1 - var step = reverse ? -1 : 1 - var index = (reverse ? children.length : min) + step - var result - - while (index > min && index < children.length) { - result = one(children[index], index, parents) - - if (result[0] === EXIT) { - return result - } - - index = typeof result[1] === 'number' ? result[1] : index + step - } - } -} - -function toResult(value) { - if (value !== null && typeof value === 'object' && 'length' in value) { - return value - } - - if (typeof value === 'number') { - return [CONTINUE, value] - } - - return [value] -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json deleted file mode 100644 index 26e187202d145b..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "unist-util-visit-parents", - "version": "2.1.2", - "description": "Recursively walk over unist nodes, with ancestral information", - "license": "MIT", - "keywords": [ - "unist", - "walk", - "util", - "utility" - ], - "repository": "syntax-tree/unist-util-visit-parents", - "bugs": "https://github.com/syntax-tree/unist-util-visit-parents/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-is": "^3.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^10.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify index.js -s unistUtilVisitParents > unist-util-visit-parents.js", - "build-mangle": "browserify index.js -s unistUtilVisitParents -p tinyify > unist-util-visit-parents.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-visit-parents.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md deleted file mode 100644 index ec7efc7bd03402..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md +++ /dev/null @@ -1,218 +0,0 @@ -# unist-util-visit-parents - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to visit nodes, with ancestral information. - -## Install - -[npm][]: - -```sh -npm install unist-util-visit-parents -``` - -## Usage - -```js -var remark = require('remark') -var visit = require('unist-util-visit-parents') - -var tree = remark.parse('Some _emphasis_, **importance**, and `code`.') - -visit(tree, 'strong', visitor) - -function visitor(node, ancestors) { - console.log(ancestors) -} -``` - -Yields: - -```js -[ { type: 'root', children: [ [Object] ] }, - { type: 'paragraph', - children: - [ [Object], - [Object], - [Object], - [Object], - [Object], - [Object], - [Object] ] } ] -``` - -## API - -### `visit(tree[, test], visitor[, reverse])` - -Visit nodes ([**inclusive descendants**][descendant] of [`tree`][tree]), with -ancestral information. Optionally filtering nodes. Optionally in reverse. - -###### Parameters - -* `tree` ([`Node`][node]) — [Tree][] to traverse -* `test` ([`Test`][is], optional) — [`is`][is]-compatible test (such as a - [type][]) -* `visitor` ([Function][visitor]) — Function invoked when a node is found - that passes `test` -* `reverse` (`boolean`, default: `false`) — The tree is walked in [preorder][] - (NLR), visiting the node itself, then its [head][], etc. - When `reverse` is passed, the tree is stilled walked in preorder, but now - in NRL (the node itself, then its [tail][], etc.) - -#### `next? = visitor(node, ancestors)` - -Invoked when a node (matching `test`, if given) is found. - -Visitors are free to transform `node`. -They can also transform the [parent][] of node (the last of `ancestors`). -Replacing `node` itself, if `visit.SKIP` is not returned, still causes its -[descendant][]s to be visited. -If adding or removing previous [sibling][]s (or next siblings, in case of -`reverse`) of `node`, `visitor` should return a new [`index`][index] (`number`) -to specify the sibling to traverse after `node` is traversed. -Adding or removing next siblings of `node` (or previous siblings, in case of -reverse) is handled as expected without needing to return a new `index`. -Removing the `children` property of parent still results in them being -traversed. - -###### Parameters - -* `node` ([`Node`][node]) — Found node -* `ancestors` (`Array.`) — [Ancestor][]s of `node` - -##### Returns - -The return value can have the following forms: - -* [`index`][index] (`number`) — Treated as a tuple of `[CONTINUE, index]` -* `action` (`*`) — Treated as a tuple of `[action]` -* `tuple` (`Array.<*>`) — List with one or two values, the first an `action`, - the second and `index`. - Note that passing a tuple only makes sense if the `action` is `SKIP`. - If the `action` is `EXIT`, that action can be returned. - If the `action` is `CONTINUE`, `index` can be returned. - -###### `action` - -An action can have the following values: - -* `visit.EXIT` (`false`) — Stop traversing immediately -* `visit.CONTINUE` (`true`) — Continue traversing as normal (same behaviour - as not returning anything) -* `visit.SKIP` (`'skip'`) — Do not traverse this node’s children; continue - with the specified index - -###### `index` - -[`index`][index] (`number`) — Move to the sibling at `index` next (after `node` -itself is completely traversed). -Useful if mutating the tree, such as removing the node the visitor is currently -on, or any of its previous siblings (or next siblings, in case of `reverse`) -Results less than `0` or greater than or equal to `children.length` stop -traversing the parent - -## Related - -* [`unist-util-visit`](https://github.com/syntax-tree/unist-util-visit) - — Like `visit-parents`, but with one parent -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with all nodes that pass a test -* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) - — Create a new tree with all nodes mapped by a given function -* [`unist-util-flatmap`](https://gitlab.com/staltz/unist-util-flatmap) - — Create a new tree by mapping (to an array) with the provided function and - then flattening -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from a tree that pass a test -* [`unist-util-select`](https://github.com/eush77/unist-util-select) - — Select nodes with CSS-like selectors - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit-parents.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-visit-parents - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit-parents.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit-parents - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit-parents.svg - -[downloads]: https://www.npmjs.com/package/unist-util-visit-parents - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit-parents.svg - -[size]: https://bundlephobia.com/result?p=unist-util-visit-parents - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[visitor]: #next--visitornode-ancestors - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[is]: https://github.com/syntax-tree/unist-util-is - -[preorder]: https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/ - -[descendant]: https://github.com/syntax-tree/unist#descendant - -[head]: https://github.com/syntax-tree/unist#head - -[tail]: https://github.com/syntax-tree/unist#tail - -[parent]: https://github.com/syntax-tree/unist#parent-1 - -[sibling]: https://github.com/syntax-tree/unist#sibling - -[index]: https://github.com/syntax-tree/unist#index - -[ancestor]: https://github.com/syntax-tree/unist#ancestor - -[tree]: https://github.com/syntax-tree/unist#tree - -[type]: https://github.com/syntax-tree/unist#type diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js deleted file mode 100644 index 39970e7debaa49..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict' - -module.exports = visit - -var visitParents = require('unist-util-visit-parents') - -var CONTINUE = visitParents.CONTINUE -var SKIP = visitParents.SKIP -var EXIT = visitParents.EXIT - -visit.CONTINUE = CONTINUE -visit.SKIP = SKIP -visit.EXIT = EXIT - -function visit(tree, test, visitor, reverse) { - if (typeof test === 'function' && typeof visitor !== 'function') { - reverse = visitor - visitor = test - test = null - } - - visitParents(tree, test, overload, reverse) - - function overload(node, parents) { - var parent = parents[parents.length - 1] - var index = parent ? parent.children.indexOf(node) : null - return visitor(node, index, parent) - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license deleted file mode 100644 index 32e7a3d93ca5a2..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json deleted file mode 100644 index 44b8bd4897b398..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "name": "unist-util-visit", - "version": "1.4.1", - "description": "Recursively walk over unist nodes", - "license": "MIT", - "keywords": [ - "unist", - "remark", - "markdown", - "retext", - "natural", - "language", - "node", - "visit", - "walk", - "util", - "utility" - ], - "repository": "syntax-tree/unist-util-visit", - "bugs": "https://github.com/syntax-tree/unist-util-visit/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)", - "Eugene Sharygin ", - "Richard Gibson " - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-visit-parents": "^2.0.0" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^10.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s unistUtilVisit > unist-util-visit.js", - "build-mangle": "browserify . -s unistUtilVisit -p tinyify > unist-util-visit.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-visit.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md deleted file mode 100644 index 25808a27a543e5..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md +++ /dev/null @@ -1,121 +0,0 @@ -# unist-util-visit - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -[**unist**][unist] utility to visit nodes. - -## Install - -[npm][]: - -```bash -npm install unist-util-visit -``` - -## Usage - -```javascript -var u = require('unist-builder') -var visit = require('unist-util-visit') - -var tree = u('tree', [ - u('leaf', '1'), - u('node', [u('leaf', '2')]), - u('void'), - u('leaf', '3') -]) - -visit(tree, 'leaf', function(node) { - console.log(node) -}) -``` - -Yields: - -```js -{ type: 'leaf', value: '1' } -{ type: 'leaf', value: '2' } -{ type: 'leaf', value: '3' } -``` - -## API - -### `visit(tree[, test], visitor[, reverse])` - -This function works exactly the same as [`unist-util-visit-parents`][vp], -but `visitor` has a different signature. - -#### `next? = visitor(node, index, parent)` - -Instead of being passed an array of ancestors, `visitor` is invoked with the -node’s [`index`][index] and its [`parent`][parent]. - -Otherwise the same as [`unist-util-visit-parents`][vp]. - -## Related - -* [`unist-util-visit-parents`][vp] - — Like `visit`, but with a stack of parents -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with all nodes that pass a test -* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) - — Create a new tree with all nodes mapped by a given function -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from a tree that pass a test -* [`unist-util-select`](https://github.com/eush77/unist-util-select) - — Select nodes with CSS-like selectors - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-visit - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit.svg - -[downloads]: https://www.npmjs.com/package/unist-util-visit - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit.svg - -[size]: https://bundlephobia.com/result?p=unist-util-visit - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[vp]: https://github.com/syntax-tree/unist-util-visit-parents - -[index]: https://github.com/syntax-tree/unist#index - -[parent]: https://github.com/syntax-tree/unist#parent-1 diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js deleted file mode 100644 index 2d7c21c1808b7f..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict' - -module.exports = factory - -function factory(file) { - var contents = indices(String(file)) - - return { - toPosition: offsetToPositionFactory(contents), - toOffset: positionToOffsetFactory(contents) - } -} - -// Factory to get the line and column-based `position` for `offset` in the bound -// indices. -function offsetToPositionFactory(indices) { - return offsetToPosition - - // Get the line and column-based `position` for `offset` in the bound indices. - function offsetToPosition(offset) { - var index = -1 - var length = indices.length - - if (offset < 0) { - return {} - } - - while (++index < length) { - if (indices[index] > offset) { - return { - line: index + 1, - column: offset - (indices[index - 1] || 0) + 1, - offset: offset - } - } - } - - return {} - } -} - -// Factory to get the `offset` for a line and column-based `position` in the -// bound indices. -function positionToOffsetFactory(indices) { - return positionToOffset - - // Get the `offset` for a line and column-based `position` in the bound - // indices. - function positionToOffset(position) { - var line = position && position.line - var column = position && position.column - - if (!isNaN(line) && !isNaN(column) && line - 1 in indices) { - return (indices[line - 2] || 0) + column - 1 || 0 - } - - return -1 - } -} - -// Get indices of line-breaks in `value`. -function indices(value) { - var result = [] - var index = value.indexOf('\n') - - while (index !== -1) { - result.push(index + 1) - index = value.indexOf('\n', index + 1) - } - - result.push(value.length + 1) - - return result -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license deleted file mode 100644 index 8d8660d36ef2ec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json deleted file mode 100644 index f66857cf1c9cec..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "vfile-location", - "version": "2.0.6", - "description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file", - "license": "MIT", - "keywords": [ - "remark", - "comment", - "message", - "marker", - "control" - ], - "repository": "vfile/vfile-location", - "bugs": "https://github.com/vfile/vfile-location/issues", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": {}, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "vfile": "^4.0.0", - "xo": "^0.25.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "build-bundle": "browserify . -s vfileLocation > vfile-location.js", - "build-mangle": "browserify . -s vfileLocation -p tinyify > vfile-location.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "vfile-location.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md deleted file mode 100644 index aa126a3fe3978d..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md +++ /dev/null @@ -1,115 +0,0 @@ -# vfile-location - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -Convert between positions (line and column-based) and offsets (range-based) -locations in a [virtual file][vfile]. - -## Install - -[npm][]: - -```sh -npm install vfile-location -``` - -## Usage - -```js -var vfile = require('vfile') -var vfileLocation = require('vfile-location') - -var location = vfileLocation(vfile('foo\nbar\nbaz')) - -var offset = location.toOffset({line: 3, column: 3}) // => 10 -location.toPosition(offset) // => {line: 3, column: 3, offset: 10} -``` - -## API - -### `location = vfileLocation(doc)` - -Get transform functions for the given `doc` (`string`) or [`file`][vfile]. - -Returns an object with [`toOffset`][to-offset] and [`toPosition`][to-position]. - -### `location.toOffset(position)` - -Get the `offset` (`number`) for a line and column-based [`position`][position] -in the bound file. -Returns `-1` when given invalid or out of bounds input. - -### `location.toPosition(offset)` - -Get the line and column-based [`position`][position] for `offset` in the bound -file. - -## Contribute - -See [`contributing.md`][contributing] in [`vfile/.github`][health] for ways to -get started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile-location.svg - -[build]: https://travis-ci.org/vfile/vfile-location - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-location.svg - -[coverage]: https://codecov.io/github/vfile/vfile-location - -[downloads-badge]: https://img.shields.io/npm/dm/vfile-location.svg - -[downloads]: https://www.npmjs.com/package/vfile-location - -[size-badge]: https://img.shields.io/bundlephobia/minzip/vfile-location.svg - -[size]: https://bundlephobia.com/result?p=vfile-location - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[contributing]: https://github.com/vfile/.github/blob/master/contributing.md - -[support]: https://github.com/vfile/.github/blob/master/support.md - -[health]: https://github.com/vfile/.github - -[coc]: https://github.com/vfile/.github/blob/master/code-of-conduct.md - -[license]: license - -[author]: https://wooorm.com - -[vfile]: https://github.com/vfile/vfile - -[to-offset]: #locationtooffsetposition - -[to-position]: #locationtopositionoffset - -[position]: https://github.com/syntax-tree/unist#position diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js deleted file mode 100644 index c913753249edad..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict' - -var stringify = require('unist-util-stringify-position') - -module.exports = VMessage - -// Inherit from `Error#`. -function VMessagePrototype() {} -VMessagePrototype.prototype = Error.prototype -VMessage.prototype = new VMessagePrototype() - -// Message properties. -var proto = VMessage.prototype - -proto.file = '' -proto.name = '' -proto.reason = '' -proto.message = '' -proto.stack = '' -proto.fatal = null -proto.column = null -proto.line = null - -// Construct a new VMessage. -// -// Note: We cannot invoke `Error` on the created context, as that adds readonly -// `line` and `column` attributes on Safari 9, thus throwing and failing the -// data. -function VMessage(reason, position, origin) { - var parts - var range - var location - - if (typeof position === 'string') { - origin = position - position = null - } - - parts = parseOrigin(origin) - range = stringify(position) || '1:1' - - location = { - start: {line: null, column: null}, - end: {line: null, column: null} - } - - // Node. - if (position && position.position) { - position = position.position - } - - if (position) { - // Position. - if (position.start) { - location = position - position = position.start - } else { - // Point. - location.start = position - } - } - - if (reason.stack) { - this.stack = reason.stack - reason = reason.message - } - - this.message = reason - this.name = range - this.reason = reason - this.line = position ? position.line : null - this.column = position ? position.column : null - this.location = location - this.source = parts[0] - this.ruleId = parts[1] -} - -function parseOrigin(origin) { - var result = [null, null] - var index - - if (typeof origin === 'string') { - index = origin.indexOf(':') - - if (index === -1) { - result[1] = origin - } else { - result[0] = origin.slice(0, index) - result[1] = origin.slice(index + 1) - } - } - - return result -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license deleted file mode 100644 index 045ffe0e075da4..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2017 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json deleted file mode 100644 index 7396bb68e54f70..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "vfile-message", - "version": "1.1.1", - "description": "Create a virtual message", - "license": "MIT", - "keywords": [ - "vfile", - "virtual", - "message" - ], - "repository": "vfile/vfile-message", - "bugs": "https://github.com/vfile/vfile-message/issues", - "author": "Titus Wormer (https://wooorm.com)", - "contributors": [ - "Titus Wormer (https://wooorm.com)" - ], - "files": [ - "index.js" - ], - "dependencies": { - "unist-util-stringify-position": "^1.1.1" - }, - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^13.0.0", - "prettier": "^1.12.1", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.0.0", - "tinyify": "^2.4.3", - "xo": "^0.23.0" - }, - "scripts": { - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "build-bundle": "browserify . -s vfileMessage > vfile-message.js", - "build-mangle": "browserify . -s vfileMessage -p tinyify > vfile-message.min.js", - "build": "npm run build-bundle && npm run build-mangle", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run format && npm run build && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "no-var": "off", - "prefer-arrow-callback": "off", - "object-shorthand": "off" - }, - "ignores": [ - "vfile-message.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md deleted file mode 100644 index 0c88353a53c9cf..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md +++ /dev/null @@ -1,194 +0,0 @@ -# vfile-message - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Chat][chat-badge]][chat] - -Create [vfile][] messages. - -## Installation - -[npm][]: - -```bash -npm install vfile-message -``` - -## Usage - -```js -var VMessage = require('vfile-message') - -var message = new VMessage( - '`braavo` is misspelt; did you mean `bravo`?', - {line: 1, column: 8}, - 'spell:typo' -) - -console.log(message) -``` - -Yields: - -```js -{ [1:8: `braavo` is misspelt; did you mean `bravo`?] - reason: '`braavo` is misspelt; did you mean `bravo`?', - fatal: null, - line: 1, - column: 8, - location: - { start: { line: 1, column: 8 }, - end: { line: null, column: null } }, - source: 'spell', - ruleId: 'typo' } -``` - -## API - -### `VMessage(reason[, position][, origin])` - -Constructor of a message for `reason` at `position` from `origin`. When -an error is passed in as `reason`, copies the stack. - -##### Parameters - -###### `reason` - -Reason for message (`string` or `Error`). Uses the stack and message of the -error if given. - -###### `position` - -Place at which the message occurred in a file ([`Node`][node], -[`Position`][position], or [`Point`][point], optional). - -###### `origin` - -Place in code the message originates from (`string`, optional). - -Can either be the [`ruleId`][ruleid] (`'rule'`), or a string with both a -[`source`][source] and a [`ruleId`][ruleid] delimited with a colon -(`'source:rule'`). - -##### Extends - -[`Error`][error]. - -##### Returns - -An instance of itself. - -##### Properties - -###### `reason` - -Reason for message (`string`). - -###### `fatal` - -If `true`, marks associated file as no longer processable (`boolean?`). If -`false`, necessitates a (potential) change. The value can also be `null` or -`undefined`. - -###### `line` - -Starting line of error (`number?`). - -###### `column` - -Starting column of error (`number?`). - -###### `location` - -Full range information, when available ([`Position`][position]). Has `start` -and `end` properties, both set to an object with `line` and `column`, set to -`number?`. - -###### `source` - -Namespace of warning (`string?`). - -###### `ruleId` - -Category of message (`string?`). - -###### `stack` - -Stack of message (`string?`). - -##### Custom properties - -It’s OK to store custom data directly on the `VMessage`, some of those are -handled by [utilities][util]. - -###### `file` - -You may add a `file` property with a path of a file (used throughout the -[**VFile**][vfile] ecosystem). - -###### `note` - -You may add a `note` property with a long form description of the message -(supported by [`vfile-reporter`][reporter]). - -###### `url` - -You may add a `url` property with a link to documentation for the message. - -## Contribute - -See [`contributing.md` in `vfile/vfile`][contributing] for ways to get started. - -This organisation has a [Code of Conduct][coc]. By interacting with this -repository, organisation, or community you agree to abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile-message.svg - -[build]: https://travis-ci.org/vfile/vfile-message - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-message.svg - -[coverage]: https://codecov.io/github/vfile/vfile-message - -[downloads-badge]: https://img.shields.io/npm/dm/vfile-message.svg - -[downloads]: https://www.npmjs.com/package/vfile-message - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[error]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error - -[node]: https://github.com/syntax-tree/unist#node - -[position]: https://github.com/syntax-tree/unist#position - -[point]: https://github.com/syntax-tree/unist#point - -[vfile]: https://github.com/vfile/vfile - -[contributing]: https://github.com/vfile/vfile/blob/master/contributing.md - -[coc]: https://github.com/vfile/vfile/blob/master/code-of-conduct.md - -[util]: https://github.com/vfile/vfile#utilities - -[reporter]: https://github.com/vfile/vfile-reporter - -[ruleid]: #ruleid - -[source]: #source diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE deleted file mode 100644 index f3722d94b38121..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js deleted file mode 100644 index 2d88a333993a08..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js +++ /dev/null @@ -1,169 +0,0 @@ -'use strict'; - -var path = require('path'); -var replace = require('replace-ext'); -var buffer = require('is-buffer'); - -module.exports = VFile; - -var own = {}.hasOwnProperty; -var proto = VFile.prototype; - -proto.toString = toString; - -/* Order of setting (least specific to most), we need this because - * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path - * is needed before a stem can be set. */ -var order = [ - 'history', - 'path', - 'basename', - 'stem', - 'extname', - 'dirname' -]; - -/* Construct a new file. */ -function VFile(options) { - var prop; - var index; - var length; - - if (!options) { - options = {}; - } else if (typeof options === 'string' || buffer(options)) { - options = {contents: options}; - } else if ('message' in options && 'messages' in options) { - return options; - } - - if (!(this instanceof VFile)) { - return new VFile(options); - } - - this.data = {}; - this.messages = []; - this.history = []; - this.cwd = process.cwd(); - - /* Set path related properties in the correct order. */ - index = -1; - length = order.length; - - while (++index < length) { - prop = order[index]; - - if (own.call(options, prop)) { - this[prop] = options[prop]; - } - } - - /* Set non-path related properties. */ - for (prop in options) { - if (order.indexOf(prop) === -1) { - this[prop] = options[prop]; - } - } -} - -/* Access full path (`~/index.min.js`). */ -Object.defineProperty(proto, 'path', { - get: function () { - return this.history[this.history.length - 1]; - }, - set: function (path) { - assertNonEmpty(path, 'path'); - - if (path !== this.path) { - this.history.push(path); - } - } -}); - -/* Access parent path (`~`). */ -Object.defineProperty(proto, 'dirname', { - get: function () { - return typeof this.path === 'string' ? path.dirname(this.path) : undefined; - }, - set: function (dirname) { - assertPath(this.path, 'dirname'); - this.path = path.join(dirname || '', this.basename); - } -}); - -/* Access basename (`index.min.js`). */ -Object.defineProperty(proto, 'basename', { - get: function () { - return typeof this.path === 'string' ? path.basename(this.path) : undefined; - }, - set: function (basename) { - assertNonEmpty(basename, 'basename'); - assertPart(basename, 'basename'); - this.path = path.join(this.dirname || '', basename); - } -}); - -/* Access extname (`.js`). */ -Object.defineProperty(proto, 'extname', { - get: function () { - return typeof this.path === 'string' ? path.extname(this.path) : undefined; - }, - set: function (extname) { - var ext = extname || ''; - - assertPart(ext, 'extname'); - assertPath(this.path, 'extname'); - - if (ext) { - if (ext.charAt(0) !== '.') { - throw new Error('`extname` must start with `.`'); - } - - if (ext.indexOf('.', 1) !== -1) { - throw new Error('`extname` cannot contain multiple dots'); - } - } - - this.path = replace(this.path, ext); - } -}); - -/* Access stem (`index.min`). */ -Object.defineProperty(proto, 'stem', { - get: function () { - return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined; - }, - set: function (stem) { - assertNonEmpty(stem, 'stem'); - assertPart(stem, 'stem'); - this.path = path.join(this.dirname || '', stem + (this.extname || '')); - } -}); - -/* Get the value of the file. */ -function toString(encoding) { - var value = this.contents || ''; - return buffer(value) ? value.toString(encoding) : String(value); -} - -/* Assert that `part` is not a path (i.e., does - * not contain `path.sep`). */ -function assertPart(part, name) { - if (part.indexOf(path.sep) !== -1) { - throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`'); - } -} - -/* Assert that `part` is not empty. */ -function assertNonEmpty(part, name) { - if (!part) { - throw new Error('`' + name + '` cannot be empty'); - } -} - -/* Assert `path` exists. */ -function assertPath(path, name) { - if (!path) { - throw new Error('Setting `' + name + '` requires `path` to be set too'); - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js deleted file mode 100644 index 9b3c7e0d10e109..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var VMessage = require('vfile-message'); -var VFile = require('./core.js'); - -module.exports = VFile; - -var proto = VFile.prototype; - -proto.message = message; -proto.info = info; -proto.fail = fail; - -/* Slight backwards compatibility. Remove in the future. */ -proto.warn = message; - -/* Create a message with `reason` at `position`. - * When an error is passed in as `reason`, copies the stack. */ -function message(reason, position, origin) { - var filePath = this.path; - var message = new VMessage(reason, position, origin); - - if (filePath) { - message.name = filePath + ':' + message.name; - message.file = filePath; - } - - message.fatal = false; - - this.messages.push(message); - - return message; -} - -/* Fail. Creates a vmessage, associates it with the file, - * and throws it. */ -function fail() { - var message = this.message.apply(this, arguments); - - message.fatal = true; - - throw message; -} - -/* Info. Creates a vmessage, associates it with the file, - * and marks the fatality as null. */ -function info() { - var message = this.message.apply(this, arguments); - - message.fatal = null; - - return message; -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json deleted file mode 100644 index aba5f34dd9d5ab..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "vfile", - "version": "2.3.0", - "description": "Virtual file format for text processing", - "license": "MIT", - "keywords": [ - "virtual", - "file", - "text", - "processing", - "message", - "warning", - "error", - "remark", - "retext" - ], - "repository": "vfile/vfile", - "bugs": "https://github.com/vfile/vfile/issues", - "author": "Titus Wormer (http://wooorm.com)", - "contributors": [ - "Titus Wormer (http://wooorm.com)", - "Brendan Abbott ", - "Denys Dovhan ", - "Kyle Mathews ", - "Shinnosuke Watanabe ", - "Sindre Sorhus " - ], - "files": [ - "core.js", - "index.js" - ], - "dependencies": { - "is-buffer": "^1.1.4", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - }, - "devDependencies": { - "browserify": "^14.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "remark-cli": "^4.0.0", - "remark-preset-wooorm": "^3.0.0", - "tape": "^4.4.0", - "xo": "^0.18.0" - }, - "scripts": { - "build-md": "remark . -qfo", - "build-bundle": "browserify index.js -s VFile > vfile.js", - "build-mangle": "esmangle vfile.js > vfile.min.js", - "build": "npm run build-md && npm run build-bundle && npm run build-mangle", - "lint": "xo", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js", - "test": "npm run build && npm run lint && npm run test-coverage" - }, - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "xo": { - "space": true, - "esnext": false, - "rules": { - "unicorn/no-new-buffer": "off" - }, - "ignores": [ - "vfile.js" - ] - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md deleted file mode 100644 index 1488031d7edd0a..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md +++ /dev/null @@ -1,285 +0,0 @@ -# ![vfile][] - -[![Build Status][build-badge]][build-status] -[![Coverage Status][coverage-badge]][coverage-status] - -**VFile** is a virtual file format used by [**unified**][unified], -a text processing umbrella (it powers [**retext**][retext] for -natural language, [**remark**][remark] for markdown, and -[**rehype**][rehype] for HTML). Each processors that parse, transform, -and compile text, and need a virtual representation of files and a -place to store [messages][] about them. Plus, they work in the browser. -**VFile** provides these requirements at a small size, in IE 9 and up. - -> **VFile** is different from the excellent [**vinyl**][vinyl] -> in that it has a smaller API, a smaller size, and focuses on -> [messages][]. - -VFile can be used anywhere where files need a lightweight representation. -For example, it’s used in: - -* [`documentation`](https://github.com/documentationjs/documentation) - — The documentation system for modern JavaScript -* [`weh`](https://github.com/wehjs/weh) - — Declarative small site generator -* [`geojsonhint`](https://github.com/mapbox/geojsonhint) - — Complete, fast, standards-based validation for geojson - -## Installation - -[npm][]: - -```bash -npm install vfile -``` - -## Table of Contents - -* [Usage](#usage) -* [Utilities](#utilities) -* [Reporters](#reporters) -* [API](#api) - * [VFile(\[options\])](#vfileoptions) - * [vfile.contents](#vfilecontents) - * [vfile.cwd](#vfilecwd) - * [vfile.path](#vfilepath) - * [vfile.basename](#vfilebasename) - * [vfile.stem](#vfilestem) - * [vfile.extname](#vfileextname) - * [vfile.dirname](#vfiledirname) - * [vfile.history](#vfilehistory) - * [vfile.messages](#vfilemessages) - * [vfile.data](#vfiledata) - * [VFile#toString(\[encoding\])](#vfiletostringencoding) - * [VFile#message(reason\[, position\]\[, origin\])](#vfilemessagereason-position-origin) - * [VFile#info(reason\[, position\]\[, origin\])](#vfileinforeason-position-origin) - * [VFile#fail(reason\[, position\]\[, origin\])](#vfilefailreason-position-origin) -* [License](#license) - -## Usage - -```js -var vfile = require('vfile'); - -var file = vfile({path: '~/example.txt', contents: 'Alpha *braavo* charlie.'}); - -file.path; //=> '~/example.txt' -file.dirname; //=> '~' - -file.extname = '.md'; - -file.basename; //=> 'example.md' - -file.basename = 'index.text'; - -file.history; //=> ['~/example.txt', '~/example.md', '~/index.text'] - -file.message('`braavo` is misspelt; did you mean `bravo`?', {line: 1, column: 8}); - -console.log(file.messages); -``` - -Yields: - -```js -[ { [~/index.text:1:8: `braavo` is misspelt; did you mean `bravo`?] - message: '`braavo` is misspelt; did you mean `bravo`?', - name: '~/index.text:1:8', - file: '~/index.text', - reason: '`braavo` is misspelt; did you mean `bravo`?', - line: 1, - column: 8, - location: { start: [Object], end: [Object] }, - ruleId: null, - source: null, - fatal: false } ] -``` - -## Utilities - -The following list of projects includes tools for working with virtual -files. See [**Unist**][unist] for projects working with nodes. - -* [`convert-vinyl-to-vfile`](https://github.com/dustinspecker/convert-vinyl-to-vfile) - — Convert from [Vinyl][] -* [`is-vfile-message`](https://github.com/shinnn/is-vfile-message) - — Check if a value is a `VMessage` object -* [`to-vfile`](https://github.com/vfile/to-vfile) - — Create a virtual file from a file-path (and optionally read it) -* [`vfile-find-down`](https://github.com/vfile/vfile-find-down) - — Find files by searching the file system downwards -* [`vfile-find-up`](https://github.com/vfile/vfile-find-up) - — Find files by searching the file system upwards -* [`vfile-location`](https://github.com/vfile/vfile-location) - — Convert between line/column- and range-based locations -* [`vfile-statistics`](https://github.com/vfile/vfile-statistics) - — Count messages per category -* [`vfile-messages-to-vscode-diagnostics`](https://github.com/shinnn/vfile-messages-to-vscode-diagnostics) - — Convert to VS Code diagnostics -* [`vfile-sort`](https://github.com/vfile/vfile-sort) - — Sort messages by line/column -* [`vfile-to-eslint`](https://github.com/vfile/vfile-to-eslint) - — Convert VFiles to ESLint formatter compatible output - -## Reporters - -The following list of projects show linting results for given virtual files. -Reporters _must_ accept `Array.` as their first argument, and return -`string`. Reporters _may_ accept other values too, in which case it’s suggested -to stick to `vfile-reporter`s interface. - -* [`vfile-reporter`][reporter] - — Stylish reporter -* [`vfile-reporter-json`](https://github.com/vfile/vfile-reporter-json) - — JSON reporter -* [`vfile-reporter-pretty`](https://github.com/vfile/vfile-reporter-pretty) - — Pretty reporter - -## API - -### `VFile([options])` - -Create a new virtual file. If `options` is `string` or `Buffer`, treats -it as `{contents: options}`. If `options` is a `VFile`, returns it. -All other options are set on the newly created `vfile`. - -Path related properties are set in the following order (least specific -to most specific): `history`, `path`, `basename`, `stem`, `extname`, -`dirname`. - -It’s not possible to set either `dirname` or `extname` without setting -either `history`, `path`, `basename`, or `stem` as well. - -###### Example - -```js -vfile(); -vfile('console.log("alpha");'); -vfile(Buffer.from('exit 1')); -vfile({path: path.join(__dirname, 'readme.md')}); -vfile({stem: 'readme', extname: '.md', dirname: __dirname}); -vfile({other: 'properties', are: 'copied', ov: {e: 'r'}}); -``` - -### `vfile.contents` - -`Buffer`, `string`, `null` — Raw value. - -### `vfile.cwd` - -`string` — Base of `path`. Defaults to `process.cwd()`. - -### `vfile.path` - -`string?` — Path of `vfile`. Cannot be nullified. - -### `vfile.basename` - -`string?` — Current name (including extension) of `vfile`. Cannot -contain path separators. Cannot be nullified either (use -`file.path = file.dirname` instead). - -### `vfile.stem` - -`string?` — Name (without extension) of `vfile`. Cannot be nullified, -and cannot contain path separators. - -### `vfile.extname` - -`string?` — Extension (with dot) of `vfile`. Cannot be set if -there’s no `path` yet and cannot contain path separators. - -### `vfile.dirname` - -`string?` — Path to parent directory of `vfile`. Cannot be set if -there’s no `path` yet. - -### `vfile.history` - -`Array.` — List of file-paths the file moved between. - -### `vfile.messages` - -[`Array.`][message] — List of messages associated with the file. - -### `vfile.data` - -`Object` — Place to store custom information. It’s OK to store custom -data directly on the `vfile`, moving it to `data` gives a _little_ more -privacy. - -### `VFile#toString([encoding])` - -Convert contents of `vfile` to string. If `contents` is a buffer, -`encoding` is used to stringify buffers (default: `'utf8'`). - -### `VFile#message(reason[, position][, origin])` - -Associates a message with the file, where `fatal` is set to `false`. -Constructs a new [`VMessage`][vmessage] and adds it to -[`vfile.messages`][messages]. - -##### Returns - -[`VMessage`][vmessage]. - -### `VFile#info(reason[, position][, origin])` - -Associates an informational message with the file, where `fatal` is set to -`null`. Calls [`#message()`][message] internally. - -##### Returns - -[`VMessage`][vmessage]. - -### `VFile#fail(reason[, position][, origin])` - -Associates a fatal message with the file, then immediately throws it. -Note: fatal errors mean a file is no longer processable. -Calls [`#message()`][message] internally. - -##### Throws - -[`VMessage`][vmessage]. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile.svg - -[build-status]: https://travis-ci.org/vfile/vfile - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile.svg - -[coverage-status]: https://codecov.io/github/vfile/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[vfile]: https://cdn.rawgit.com/vfile/vfile/f65510e/logo.svg - -[unified]: https://github.com/unifiedjs/unified - -[retext]: https://github.com/wooorm/retext - -[remark]: https://github.com/wooorm/remark - -[rehype]: https://github.com/wooorm/rehype - -[vinyl]: https://github.com/gulpjs/vinyl - -[unist]: https://github.com/syntax-tree/unist#list-of-utilities - -[reporter]: https://github.com/vfile/vfile-reporter - -[vmessage]: https://github.com/vfile/vfile-message - -[messages]: #vfilemessages - -[message]: #vfilemessagereason-position-origin diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE deleted file mode 100644 index 0d0834052f3c54..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014 Matt-Esch. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md deleted file mode 100644 index 99977d475ac91e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# x-is-string - -Simple string test - -## Example - -```js -var isString = require("x-is-string") - -isString("hello") -// -> true - -isString("") -// -> true - -isString(new String("things")) -// -> true - -isString(1) -// -> false - -isString(true) -// -> false - -isString(new Date()) -// -> false - -isString({}) -// -> false - -isString(null) -// -> false - -isString(undefined) -// -> false -``` - -## Installation - -`npm install x-is-string` - -## Contributors - - - Matt-Esch - -## MIT Licenced \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js deleted file mode 100644 index 090130d4ce4026..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js +++ /dev/null @@ -1,7 +0,0 @@ -var toString = Object.prototype.toString - -module.exports = isString - -function isString(obj) { - return toString.call(obj) === "[object String]" -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json deleted file mode 100644 index ea267ce35112e1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "x-is-string", - "version": "0.1.0", - "description": "Simple string test", - "keywords": [], - "author": "Matt-Esch ", - "repository": "git://github.com/Matt-Esch/x-is-string.git", - "main": "index", - "homepage": "https://github.com/Matt-Esch/x-is-string", - "contributors": [ - { - "name": "Matt-Esch" - } - ], - "bugs": { - "url": "https://github.com/Matt-Esch/x-is-string/issues", - "email": "matt@mattesch.info" - }, - "dependencies": {}, - "devDependencies": { - "tape": "^2.12.2" - }, - "licenses": [ - { - "type": "MIT", - "url": "http://github.com/Matt-Esch/x-is-string/raw/master/LICENSE" - } - ], - "scripts": { - "test": "node ./test/index.js", - "start": "node ./index.js", - "watch": "nodemon -w ./index.js index.js", - "travis-test": "istanbul cover ./test/index.js && ((cat coverage/lcov.info | coveralls) || exit 0)", - "cover": "istanbul cover --report none --print detail ./test/index.js", - "view-cover": "istanbul report html && google-chrome ./coverage/index.html", - "test-browser": "testem-browser ./test/browser/index.js", - "testem": "testem-both -b=./test/browser/index.js" - }, - "testling": { - "files": "test/index.js", - "browsers": [ - "ie/8..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE deleted file mode 100644 index 0099f4f6c77f40..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md deleted file mode 100644 index 4a2703cff276b1..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# xtend - -[![browser support][3]][4] - -[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) - -Extend like a boss - -xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. - -## Examples - -```js -var extend = require("xtend") - -// extend returns a new object. Does not mutate arguments -var combination = extend({ - a: "a", - b: "c" -}, { - b: "b" -}) -// { a: "a", b: "b" } -``` - -## Stability status: Locked - -## MIT Licensed - - - [3]: http://ci.testling.com/Raynos/xtend.png - [4]: http://ci.testling.com/Raynos/xtend diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js deleted file mode 100644 index 94889c9de11a18..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js deleted file mode 100644 index 72debede6ca585..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json deleted file mode 100644 index f7a39d10af5f5e..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "xtend", - "version": "4.0.2", - "description": "extend like a boss", - "keywords": [ - "extend", - "merge", - "options", - "opts", - "object", - "array" - ], - "author": "Raynos ", - "repository": "git://github.com/Raynos/xtend.git", - "main": "immutable", - "scripts": { - "test": "node test" - }, - "dependencies": {}, - "devDependencies": { - "tape": "~1.1.0" - }, - "homepage": "https://github.com/Raynos/xtend", - "contributors": [ - { - "name": "Jake Verbaten" - }, - { - "name": "Matt Esch" - } - ], - "bugs": { - "url": "https://github.com/Raynos/xtend/issues", - "email": "raynos2@gmail.com" - }, - "license": "MIT", - "testling": { - "files": "test.js", - "browsers": [ - "ie/7..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest" - ] - }, - "engines": { - "node": ">=0.4" - } -} diff --git a/tools/node_modules/eslint-plugin-markdown/package.json b/tools/node_modules/eslint-plugin-markdown/package.json deleted file mode 100644 index f371a4610eea62..00000000000000 --- a/tools/node_modules/eslint-plugin-markdown/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "eslint-plugin-markdown", - "version": "2.0.1", - "description": "An ESLint plugin to lint JavaScript in Markdown code fences.", - "license": "MIT", - "author": { - "name": "Brandon Mills", - "url": "https://github.com/btmills" - }, - "repository": "eslint/eslint-plugin-markdown", - "bugs": { - "url": "https://github.com/eslint/eslint-plugin-markdown/issues" - }, - "homepage": "https://github.com/eslint/eslint-plugin-markdown#readme", - "keywords": [ - "eslint", - "eslintplugin", - "markdown", - "lint", - "linter" - ], - "scripts": { - "lint": "eslint --ext js,md .", - "prepare": "node ./npm-prepare.js", - "test": "npm run lint && npm run test-cov", - "test-cov": "nyc _mocha -- -c tests/{examples,lib}/**/*.js", - "generate-release": "eslint-generate-release", - "generate-alpharelease": "eslint-generate-prerelease alpha", - "generate-betarelease": "eslint-generate-prerelease beta", - "generate-rcrelease": "eslint-generate-prerelease rc", - "publish-release": "eslint-publish-release" - }, - "main": "index.js", - "files": [ - "index.js", - "lib/index.js", - "lib/processor.js" - ], - "devDependencies": { - "chai": "^4.2.0", - "eslint": "^6.8.0", - "eslint-config-eslint": "^6.0.0", - "eslint-plugin-jsdoc": "^15.9.5", - "eslint-plugin-node": "^9.0.0", - "eslint-release": "^3.1.2", - "mocha": "^6.2.2", - "nyc": "^14.1.1" - }, - "dependencies": { - "remark-parse": "^5.0.0", - "unified": "^6.1.2" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.12.0 || >= 12.0.0" - } -} diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/index.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/index.js new file mode 100644 index 00000000000000..cb9928eff07384 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/index.js @@ -0,0 +1,7 @@ +"use strict";var e=require("lodash"),t=require("fs"),n=require("path"),r=require("@eslint/eslintrc"),o=require("module"),s=require("glob-parent"),a=require("is-glob"),i=require("minimatch"),c=require("debug"),l=require("eslint-scope"),u=require("eslint-visitor-keys"),p=require("espree"),d=require("globals"),f=require("util"),m=require("ajv"),g=require("eslint-utils"),h=require("assert"),y=require("levn"),x=require("esquery"),b=require("esutils"),E=require("functional-red-black-tree"),S=require("regexpp"),C=require("ignore"),v=require("natural-compare"),A=require("doctrine"),k=require("imurmurhash"),w=require("file-entry-cache"),P=require("json-stable-stringify-without-jsonify"),T=require("semver");function I(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var F=I(e),D=I(t),O=I(n),B=I(r),N=I(o),j=I(s),L=I(a),R=I(i),M=I(c),_=I(l),$=I(u),q=I(p),U=I(d),V=I(f),W=I(m),G=I(g),z=I(h),J=I(y),K=I(x),Y=I(b),H=I(E),X=I(S),Q=I(C),Z=I(v),ee=I(A),te=I(k),ne=I(w),re=I(P),oe=I(T),se="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function ae(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ie(e){var t={exports:{}};return e(t,t.exports),t.exports}function ce(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var le=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.rewireSpecs=t.rewireSource=t.seedTokens=t.seedSpec=t.seedBlock=t.splitLines=t.splitSpace=t.isSpace=void 0,t.isSpace=function(e){return/^\s+$/.test(e)},t.splitSpace=function(e){const t=e.match(/^\s+/);return null==t?["",e]:[e.slice(0,t[0].length),e.slice(t[0].length)]},t.splitLines=function(e){return e.split(/\r?\n/)},t.seedBlock=function(e={}){return Object.assign({description:"",tags:[],source:[],problems:[]},e)},t.seedSpec=function(e={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},e)},t.seedTokens=function(e={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:""},e)},t.rewireSource=function(e){const t=e.source.reduce(((e,t)=>e.set(t.number,t)),new Map);for(const n of e.tags)n.source=n.source.map((e=>t.get(e.number)));return e},t.rewireSpecs=function(e){const t=e.tags.reduce(((e,t)=>t.source.reduce(((e,t)=>e.set(t.number,t)),e)),new Map);return e.source=e.source.map((e=>t.get(e.number)||e)),e}}));const ue=/^@\S+/;var pe=function({fence:e="```"}={}){const t=function(e){return"string"==typeof e?t=>t.split(e).length%2==0:e}(e),n=(e,n)=>t(e)?!n:n;return function(e){const t=[[]];let r=!1;for(const o of e)ue.test(o.tokens.description)&&!r?t.push([o]):t[t.length-1].push(o),r=n(o.tokens.description,r);return t}};var de=Object.defineProperty({default:pe},"__esModule",{value:!0}),fe=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Markers=void 0,(n=t.Markers||(t.Markers={})).start="/**",n.nostart="/***",n.delim="*",n.end="*/"}));var me=function({startLine:e=0}={}){let t=null,n=e;return function(e){let r=e;const o=le.seedTokens();if([o.start,r]=le.splitSpace(r),null===t&&r.startsWith(fe.Markers.start)&&!r.startsWith(fe.Markers.nostart)&&(t=[],o.delimiter=r.slice(0,fe.Markers.start.length),r=r.slice(fe.Markers.start.length),[o.postDelimiter,r]=le.splitSpace(r)),null===t)return n++,null;const s=r.trimRight().endsWith(fe.Markers.end);if(""===o.delimiter&&r.startsWith(fe.Markers.delim)&&!r.startsWith(fe.Markers.end)&&(o.delimiter=fe.Markers.delim,r=r.slice(fe.Markers.delim.length),[o.postDelimiter,r]=le.splitSpace(r)),s){const e=r.trimRight();o.end=r.slice(e.length-fe.Markers.end.length),r=e.slice(0,-fe.Markers.end.length)}if(o.description=r,t.push({number:n,source:e,tokens:o}),n++,s){const e=t.slice();return t=null,e}return null}},ge=Object.defineProperty({default:me},"__esModule",{value:!0});var he=function({tokenizers:e}){return function(t){var n;let r=le.seedSpec({source:t});for(const t of e)if(r=t(r),null===(n=r.problems[r.problems.length-1])||void 0===n?void 0:n.critical)break;return r}},ye=Object.defineProperty({default:he},"__esModule",{value:!0});var xe=function(){return e=>{const{tokens:t}=e.source[0],n=t.description.match(/\s*(@(\S+))(\s*)/);return null===n?(e.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:e.source[0].number,critical:!0}),e):(t.tag=n[1],t.postTag=n[3],t.description=t.description.slice(n[0].length),e.tag=n[2],e)}},be=Object.defineProperty({default:xe},"__esModule",{value:!0});var Ee=function(e="compact"){const t=function(e){return"compact"===e?e=>e.map(Se).join(""):"preserve"===e?e=>e.join("\n"):e}(e);return e=>{let n=0,r=[];for(const[t,{tokens:o}]of e.source.entries()){let s="";if(0===t&&"{"!==o.description[0])return e;for(const e of o.description)if("{"===e&&n++,"}"===e&&n--,s+=e,0===n)break;if(r.push([o,s]),0===n)break}if(0!==n)return e.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:e.source[0].number,critical:!0}),e;const o=[],s=r[0][0].postDelimiter.length;for(const[e,[t,n]]of r.entries())""!==n&&(t.type=n,e>0&&(t.type=t.postDelimiter.slice(s)+n,t.postDelimiter=t.postDelimiter.slice(0,s)),[t.postType,t.description]=le.splitSpace(t.description.slice(n.length)),o.push(t.type));return o[0]=o[0].slice(1),o[o.length-1]=o[o.length-1].slice(0,-1),e.type=t(o),e}};const Se=e=>e.trim();var Ce=Object.defineProperty({default:Ee},"__esModule",{value:!0});var ve=function(){const e=(e,{tokens:t},n)=>""===t.type?e:n;return t=>{const{tokens:n}=t.source[t.source.reduce(e,0)],r=n.description.trimLeft(),o=r.split('"');if(o.length>1&&""===o[0]&&o.length%2==1)return t.name=o[1],n.name=`"${o[1]}"`,[n.postName,n.description]=le.splitSpace(r.slice(n.name.length)),t;let s,a=0,i="",c=!1;for(const e of r){if(0===a&&le.isSpace(e))break;"["===e&&a++,"]"===e&&a--,i+=e}if(0!==a)return t.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:t.source[0].number,critical:!0}),t;const l=i;if("["===i[0]&&"]"===i[i.length-1]){c=!0,i=i.slice(1,-1);const e=i.split("=");if(i=e[0].trim(),void 0!==e[1]&&(s=e.slice(1).join("=").trim()),""===i)return t.problems.push({code:"spec:name:empty-name",message:"empty name",line:t.source[0].number,critical:!0}),t;if(""===s)return t.problems.push({code:"spec:name:empty-default",message:"empty default value",line:t.source[0].number,critical:!0}),t;if(!((u=s)&&u.startsWith('"')&&u.endsWith('"'))&&/=(?!>)/.test(s))return t.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:t.source[0].number,critical:!0}),t}var u;return t.optional=c,t.name=i,n.name=l,void 0!==s&&(t.default=s),[n.postName,n.description]=le.splitSpace(r.slice(n.name.length)),t}},Ae=Object.defineProperty({default:ve},"__esModule",{value:!0}),ke=ie((function(e,t){function n(e){return"compact"===e?r:"preserve"===e?a:e}function r(e){return e.map((({tokens:{description:e}})=>e.trim())).filter((e=>""!==e)).join(" ")}Object.defineProperty(t,"__esModule",{value:!0}),t.getJoiner=void 0,t.default=function(e="compact"){const t=n(e);return e=>(e.description=t(e.source),e)},t.getJoiner=n;const o=(e,{tokens:t},n)=>""===t.type?e:n,s=({tokens:e})=>(""===e.delimiter?e.start:e.postDelimiter.slice(1))+e.description;function a(e){if(0===e.length)return"";""===e[0].tokens.description&&e[0].tokens.delimiter===fe.Markers.start&&(e=e.slice(1));const t=e[e.length-1];return void 0!==t&&""===t.tokens.description&&t.tokens.end.endsWith(fe.Markers.end)&&(e=e.slice(0,-1)),(e=e.slice(e.reduce(o,0))).map(s).join("\n")}}));var we=function({startLine:e=0,fence:t="```",spacing:n="compact",tokenizers:r=[be.default(),Ce.default(n),Ae.default(),ke.default(n)]}={}){if(e<0||e%1>0)throw new Error("Invalid startLine");const o=ge.default({startLine:e}),s=de.default({fence:t}),a=ye.default({tokenizers:r}),i=ke.getJoiner(n),c=e=>""!=e.tokens.description.trim();return function(e){const t=[];for(const n of le.splitLines(e)){const e=o(n);if(null===e)continue;if(void 0===e.find(c))continue;const r=s(e),l=r.slice(1).map(a);t.push({description:i(r[0]),tags:l,source:e,problems:l.reduce(((e,t)=>e.concat(t.problems)),[])})}return t}},Pe=Object.defineProperty({default:we},"__esModule",{value:!0});var Te=function(){return e=>e.source.map((({tokens:e})=>function(e){return e.start+e.delimiter+e.postDelimiter+e.tag+e.postTag+e.type+e.postType+e.name+e.postName+e.description+e.end}(e))).join("\n")},Ie=Object.defineProperty({default:Te},"__esModule",{value:!0}),Fe=se&&se.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o({start:t.delimiter===fe.Markers.start?t.start.length:e.start,tag:Math.max(e.tag,t.tag.length),type:Math.max(e.type,t.type.length),name:Math.max(e.name,t.name.length)}),Be=e=>"".padStart(e," ");var Ne=function(){let e,t=!1;function n(n){const r=Object.assign({},n.tokens);""!==r.tag&&(t=!0);const o=""===r.tag&&""===r.name&&""===r.type&&""===r.description;if(r.end===fe.Markers.end&&o)return r.start=Be(e.start+1),Object.assign(Object.assign({},n),{tokens:r});switch(r.delimiter){case fe.Markers.start:r.start=Be(e.start);break;case fe.Markers.delim:r.start=Be(e.start+1);break;default:r.delimiter="",r.start=Be(e.start+2)}if(!t)return r.postDelimiter=""===r.description?"":" ",Object.assign(Object.assign({},n),{tokens:r});const s={delim:!1,tag:!1,type:!1,name:!1};return""===r.description&&(s.name=!0,r.postName="",""===r.name&&(s.type=!0,r.postType="",""===r.type&&(s.tag=!0,r.postTag="",""===r.tag&&(s.delim=!0)))),r.postDelimiter=s.delim?"":" ",s.tag||(r.postTag=Be(e.tag-r.tag.length+1)),s.type||(r.postType=Be(e.type-r.type.length+1)),s.name||(r.postName=Be(e.name-r.name.length+1)),Object.assign(Object.assign({},n),{tokens:r})}return t=>{var{source:r}=t,o=Fe(t,["source"]);return e=r.reduce(Oe,Object.assign({},De)),le.rewireSource(Object.assign(Object.assign({},o),{source:r.map(n)}))}},je=Object.defineProperty({default:Ne},"__esModule",{value:!0}),Le=se&&se.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o{if(void 0===t){const r=e-n.length;t=r>0?(e=>{const t="".padStart(e," ");return e=>e+t})(r):(e=>t=>t.slice(e))(-r)}return t(n)},r=e=>Object.assign(Object.assign({},e),{tokens:Object.assign(Object.assign({},e.tokens),{start:n(e.tokens.start)})});return e=>{var{source:t}=e,n=Le(e,["source"]);return le.rewireSource(Object.assign(Object.assign({},n),{source:t.map(r)}))}},Me=Object.defineProperty({default:Re},"__esModule",{value:!0}),_e=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.flow=void 0,t.flow=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)}}));const $e={line:0,start:0,delimiter:0,postDelimiter:0,tag:0,postTag:0,name:0,postName:0,type:0,postType:0,description:0,end:0},qe=Object.keys($e),Ue=e=>le.isSpace(e)?`{${e.length}}`:e,Ve=e=>"|"+e.join("|")+"|",We=(e,t)=>Object.keys(t).map((n=>Ue(t[n]).padEnd(e[n])));var Ge=function({source:e}){if(0===e.length)return"";const t=Object.assign({},$e);for(const e of qe)t[e]=e.length;for(const{number:n,tokens:r}of e){t.line=Math.max(t.line,n.toString().length);for(const e in r)t[e]=Math.max(t[e],Ue(r[e]).length)}const n=[[],[]];for(const e of qe)n[0].push(e.padEnd(t[e]));for(const e of qe)n[1].push("-".padEnd(t[e],"-"));for(const{number:r,tokens:o}of e){const e=r.toString().padStart(t.line);n.push([e,...We(t,o)])}return n.map(Ve).join("\n")},ze=Object.defineProperty({default:Ge},"__esModule",{value:!0}),Je=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.tokenizers=t.transforms=t.inspect=t.stringify=t.parse=void 0,t.parse=function(e,t={}){return Pe.default(t)(e)},t.stringify=Ie.default(),Object.defineProperty(t,"inspect",{enumerable:!0,get:function(){return ze.default}}),t.transforms={flow:_e.flow,align:je.default,indent:Me.default},t.tokenizers={tag:be.default,type:Ce.default,name:Ae.default,description:ke.default}})),Ke=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.findJSDocComment=t.getDecorator=t.getJSDocComment=t.getReducedASTNode=void 0; +/** + * Obtained originally from {@link https://github.com/eslint/eslint/blob/master/lib/util/source-code.js#L313} + * + * @license MIT + */ +const n=e=>{var t,n,r,o,s;return(null==e||null===(t=e.declaration)||void 0===t||null===(n=t.decorators)||void 0===n?void 0:n[0])||(null==e||null===(r=e.decorators)||void 0===r?void 0:r[0])||(null==e||null===(o=e.parent)||void 0===o||null===(s=o.decorators)||void 0===s?void 0:s[0])};t.getDecorator=n;const r=new Set(["CallExpression","OptionalCallExpression","NewExpression"]),o=new Set(["VariableDeclaration","ExpressionStatement","MethodDefinition","Property","ObjectProperty","ClassProperty"]),s=function(e,t){let{parent:n}=e;switch(e.type){case"TSFunctionType":return function(e){const{parent:t}=e,n=t.parent,r=n.parent,o=r&&r.parent;if("TSTypeAnnotation"!==t.type)return e;switch(n.type){case"ClassProperty":case"TSDeclareFunction":case"TSMethodSignature":case"TSPropertySignature":return n;case"ArrowFunctionExpression":return"VariableDeclarator"===r.type?o.parent:e;case"FunctionExpression":if("MethodDefinition"===r.type)return r;default:if("Identifier"!==n.type)return e}switch(r.type){case"ArrowFunctionExpression":return"VariableDeclarator"===o.type&&"VariableDeclaration"===o.parent.type?o.parent:e;case"FunctionDeclaration":return r;case"VariableDeclarator":if("VariableDeclaration"===o.type)return o;default:return e}}(e);case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"ClassDeclaration":case"FunctionDeclaration":return"ExportDefaultDeclaration"===(s=n).type||"ExportNamedDeclaration"===s.type||"ExportAllDeclaration"===s.type||"ExportSpecifier"===s.type?n:e;case"TSDeclareFunction":case"ClassExpression":case"ObjectExpression":case"ArrowFunctionExpression":case"TSEmptyBodyFunctionExpression":case"FunctionExpression":if(!r.has(n.type)){for(;!t.getCommentsBefore(n).length&&!/Function/u.test(n.type)&&!o.has(n.type)&&(n=n.parent,n););if(n&&"FunctionDeclaration"!==n.type&&"Program"!==n.type)return n.parent&&"ExportNamedDeclaration"===n.parent.type?n.parent:n}return e;default:return e}var s};t.getReducedASTNode=s;const a=(e,t,r)=>{const{minLines:o,maxLines:s}=r;let a=e,i=null;for(;a;){const e=n(a);if(e&&(a=e),i=t.getTokenBefore(a,{includeComments:!0}),!i||"Line"!==(c=i).type&&"Block"!==c.type&&"Shebang"!==c.type)return null;if("Line"!==i.type)break;a=i}var c;return"Block"===i.type&&"*"===i.value.charAt(0)&&a.loc.start.line-i.loc.end.line>=o&&a.loc.start.line-i.loc.end.line<=s?i:null};t.findJSDocComment=a;const i=function(e,t,n){const r=s(t,e);return a(r,e,n)};t.getJSDocComment=i;var c=i;t.default=c})),Ye=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(){const e=new WeakMap;return{hasBeenWarned:(t,n)=>e.has(t)&&e.get(t).has(n),markSettingAsWarned(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)}}};t.default=n,e.exports=t.default})),He=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=e=>{const t="jsdoc"===e,n="closure"===e,r="typescript"===e,o="permissive"===e,s=t||r,a=r||n,i=n||o,c=s||o;return new Map([["alias",new Map([["nameContents","namepath-referencing"],["typeOrNameRequired",!0]])],["arg",new Map([["nameContents","namepath-defining"],["nameRequired",!0],["typeAllowed",!0]])],["argument",new Map([["nameContents","namepath-defining"],["nameRequired",!0],["typeAllowed",!0]])],["augments",new Map([["nameContents","namepath-referencing"],["typeAllowed",!0],["typeOrNameRequired",!0]])],["borrows",new Map([["nameContents","namepath-referencing"],["typeOrNameRequired",!0]])],["callback",new Map([["nameContents","namepath-defining"],["nameRequired",!0]])],["class",new Map([["nameContents","namepath-defining"],["typeAllowed",!0]])],["const",new Map([["nameContents","namepath-defining"],["typeAllowed",!0]])],["constant",new Map([["nameContents","namepath-defining"],["typeAllowed",!0]])],["constructor",new Map([["nameContents","namepath-defining"],["typeAllowed",!0]])],["define",new Map([["typeRequired",n]])],["emits",new Map([["nameContents","namepath-referencing"]])],["enum",new Map([["typeAllowed",!0]])],["event",new Map([["nameRequired",!0],["nameContents","namepath-defining"]])],["exception",new Map([["typeAllowed",!0]])],["export",new Map([["typeAllowed",i]])],["extends",new Map([["nameContents","namepath-referencing"],["typeAllowed",i],["nameRequired",s],["typeOrNameRequired",i]])],["external",new Map([["nameContents","namepath-defining"],["nameRequired",!0]])],["fires",new Map([["nameContents","namepath-referencing"]])],["function",new Map([["nameContents","namepath-defining"]])],["func",new Map([["nameContents","namepath-defining"]])],["host",new Map([["nameContents","namepath-defining"],["nameRequired",!0],["typeOrNameRequired",!0]])],["interface",new Map([["nameContents",!!c&&"namepath-defining"]])],["implements",new Map([["typeRequired",!0]])],["lends",new Map([["nameContents","namepath-referencing"],["typeOrNameRequired",!0]])],["listens",new Map([["nameContents","namepath-referencing"]])],["member",new Map([["nameContents","namepath-defining"],["typeAllowed",!0]])],["memberof",new Map([["nameContents","namepath-referencing"],["typeOrNameRequired",!0]])],["memberof!",new Map([["nameContents","namepath-referencing"],["typeOrNameRequired",!0]])],["method",new Map([["nameContents","namepath-defining"]])],["mixes",new Map([["nameContents","namepath-referencing"],["typeOrNameRequired",!0]])],["mixin",new Map([["nameContents","namepath-defining"]])],["modifies",new Map([["typeAllowed",!0]])],["module",new Map([["nameContents",t?"namepath-defining":"text"],["typeAllowed",!0]])],["name",new Map([["nameContents","namepath-defining"],["nameRequired",!0],["typeOrNameRequired",!0]])],["namespace",new Map([["nameContents","namepath-defining"],["typeAllowed",!0]])],["package",new Map([["typeAllowed",i]])],["param",new Map([["nameContents","namepath-defining"],["nameRequired",!0],["typeAllowed",!0]])],["private",new Map([["typeAllowed",i]])],["prop",new Map([["nameContents","namepath-defining"],["nameRequired",!0],["typeAllowed",!0]])],["property",new Map([["nameContents","namepath-defining"],["nameRequired",!0],["typeAllowed",!0]])],["protected",new Map([["typeAllowed",i]])],["public",new Map([["typeAllowed",i]])],["returns",new Map([["typeAllowed",!0]])],["return",new Map([["typeAllowed",!0]])],["see",new Map([["nameContents","text"]])],["static",new Map([["typeAllowed",i]])],["template",new Map([["nameContents",t?"text":"namepath-referencing"],["typeAllowed",a||o]])],["this",new Map([["nameContents",!!t&&"namepath-referencing"],["typeRequired",a],["typeOrNameRequired",t]])],["throws",new Map([["typeAllowed",!0]])],["type",new Map([["typeRequired",!0]])],["typedef",new Map([["nameContents","namepath-defining"],["nameRequired",c],["typeAllowed",!0],["typeOrNameRequired",!0]])],["var",new Map([["nameContents","namepath-defining"],["typeAllowed",!0]])],["yields",new Map([["typeAllowed",!0]])],["yield",new Map([["typeAllowed",!0]])]])};t.default=n,e.exports=t.default})),Xe=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.typeScriptTags=t.closureTags=t.jsdocTags=void 0;const n={modifies:[],abstract:["virtual"],access:[],alias:[],async:[],augments:["extends"],author:[],borrows:[],callback:[],class:["constructor"],classdesc:[],constant:["const"],constructs:[],copyright:[],default:["defaultvalue"],deprecated:[],description:["desc"],enum:[],event:[],example:[],exports:[],external:["host"],file:["fileoverview","overview"],fires:["emits"],function:["func","method"],generator:[],global:[],hideconstructor:[],ignore:[],implements:[],inheritdoc:[],inheritDoc:[],inner:[],instance:[],interface:[],kind:[],lends:[],license:[],listens:[],member:["var"],memberof:[],"memberof!":[],mixes:[],mixin:[],module:[],name:[],namespace:[],override:[],package:[],param:["arg","argument"],private:[],property:["prop"],protected:[],public:[],readonly:[],requires:[],returns:["return"],see:[],since:[],static:[],summary:[],this:[],throws:["exception"],todo:[],tutorial:[],type:[],typedef:[],variation:[],version:[],yields:["yield"]};t.jsdocTags=n;const r={...n,template:[]};t.typeScriptTags=r;const{inheritdoc:o,returns:s,...a}=r,i={...a,closurePrimitive:[],customElement:[],expose:[],hidden:[],idGenerator:[],meaning:[],mixinClass:[],mixinFunction:[],ngInject:[],owner:[],typeSummary:[],wizaction:[],define:[],dict:[],export:[],externs:[],final:[],implicitCast:[],noalias:[],nocollapse:[],nocompile:[],noinline:[],nosideeffects:[],polymer:[],polymerBehavior:[],preserve:[],record:[],return:["returns"],struct:[],suppress:[],unrestricted:[]};t.closureTags=i})),Qe=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(F.default),r=s(Ye),o=s(He);function s(e){return e&&e.__esModule?e:{default:e}}let a;const i=(e,t="")=>{let n=!1,r=!1;const o=[],s=e.reduce(((e,s)=>{if(Array.isArray(s)){let a;Array.isArray(s[1])?a=s[1]:(s[1].hasRestElement&&(n=!0),s[1].hasPropertyRest&&(r=!0),a=s[1].names);const c=i(a,t?`${t}.${s[0]}`:s[0]);c.hasRestElement&&(n=!0),c.hasPropertyRest&&(r=!0);const l=[t?`${t}.${s[0]}`:s[0],...c.names].filter(Boolean);return o.push(!1,...c.rests),e.concat(l)}return"object"==typeof s?(s.isRestProperty?(r=!0,o.push(!0)):o.push(!1),s.restElement&&(n=!0),e.push(t?`${t}.${s.name}`:s.name)):void 0!==s&&(o.push(!1),e.push(t?`${t}.${s}`:s)),e}),[]);return{hasPropertyRest:r,hasRestElement:n,names:s,rests:o}},c=e=>{if("TSIndexSignature"!==e.type&&"TSConstructSignatureDeclaration"!==e.type&&"TSCallSignatureDeclaration"!==e.type)return e.typeAnnotation&&"TSTypeLiteral"===e.typeAnnotation.typeAnnotation.type?[e.key.name,e.typeAnnotation.typeAnnotation.members.map((e=>c(e)))]:e.key.name},l=(0,r.default)(),u=(e,t)=>{switch(e){case"jsdoc":return Xe.jsdocTags;case"typescript":return Xe.typeScriptTags;case"closure":case"permissive":return Xe.closureTags;default:return l.hasBeenWarned(t,"mode")||(t.report({loc:{start:{column:1,line:1}},message:`Unrecognized value \`${e}\` for \`settings.jsdoc.mode\`.`}),l.markSettingAsWarned(t,"mode")),Xe.jsdocTags}},p=(e,t,r,o={})=>{var s;const a=Object.values(o);if(a.includes(r)||a.some((e=>e&&"object"==typeof e&&e.replacement===r)))return r;const i=n.default.mapKeys(o,((e,t)=>t.replace("tag ","")));if(n.default.has(i,r))return i[r];const c=u(t,e),l=null===(s=Object.entries(c).find((([,e])=>e.includes(r))))||void 0===s?void 0:s[0];return l||r},d=(e,t)=>{const r=t.toLowerCase();return n.default.some(e.tags,(e=>e.tag.toLowerCase()===r))},f=(e,t)=>t.some((t=>d(e,t))),m=(e,t)=>(e.has(t)||e.set(t,new Map),e.get(t)),g=(e,t=a)=>{Object.entries(e).forEach((([e,{name:n,type:r,required:o=[]}])=>{const s=m(t,e);s.set("nameContents",n),s.set("typeAllowed",r);const a=o.includes("name");if(a&&!1===n)throw new Error('Cannot add "name" to `require` with the tag\'s `name` set to `false`');s.set("nameRequired",a);const i=o.includes("type");if(i&&!1===r)throw new Error('Cannot add "type" to `require` with the tag\'s `type` set to `false`');s.set("typeRequired",i);const c=o.includes("typeOrNameRequired");if(c&&!1===n)throw new Error('Cannot add "typeOrNameRequired" to `require` with the tag\'s `name` set to `false`');if(c&&!1===r)throw new Error('Cannot add "typeOrNameRequired" to `require` with the tag\'s `type` set to `false`');s.set("typeOrNameRequired",c)}))},h=(e,t=a)=>m(t,e).get("typeRequired"),y=(e,t=a)=>{if(h(e,t))return!0;const n=m(t,e).get("typeAllowed");return void 0===n||n},x=new Set(["namepath-defining","namepath-referencing"]),b=(e,t=a)=>{const n=m(t,e);return x.has(n.get("nameContents"))},E=(e,t=a)=>m(t,e).get("nameRequired"),S=(e,t)=>{if(!e)return!1;switch(e.type){case"FunctionExpression":case"FunctionDeclaration":case"ArrowFunctionExpression":return e.expression||S(e.body,t);case"BlockStatement":return e.body.some((e=>"FunctionDeclaration"!==e.type&&S(e,t)));case"LabeledStatement":case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":case"WithStatement":return S(e.body,t);case"IfStatement":return S(e.consequent,t)||S(e.alternate,t);case"TryStatement":return S(e.block,t)||S(e.handler&&e.handler.body,t)||S(e.finalizer,t);case"SwitchStatement":return e.cases.some((e=>e.consequent.some((e=>S(e,t)))));case"ReturnStatement":return null!==e.argument&&(!t||!(e=>"NewExpression"===e.type&&"Identifier"===e.callee.type&&"Promise"===e.callee.name)(e.argument)||t(e.argument));default:return!1}},C=(e,t)=>{if(!e)return!1;switch(e.type){case"OptionalCallExpression":case"CallExpression":return e.callee.name===t&&(e.arguments.length>1||void 0!==e.arguments[0])||e.arguments.some((e=>"Identifier"===e.type&&e.name===t||C(e,t)));case"ChainExpression":case"Decorator":case"ExpressionStatement":return C(e.expression,t);case"ClassBody":case"BlockStatement":return e.body.some((e=>C(e,t)));case"FunctionExpression":case"FunctionDeclaration":case"ArrowFunctionExpression":var n;return(null===(n=e.params[0])||void 0===n?void 0:n.name)!==t&&C(e.body,t);case"LabeledStatement":case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":case"WithStatement":return C(e.body,t);case"ConditionalExpression":case"IfStatement":return C(e.test,t)||C(e.consequent,t)||C(e.alternate,t);case"TryStatement":return C(e.block,t)||C(e.handler&&e.handler.body,t)||C(e.finalizer,t);case"SwitchStatement":return e.cases.some((e=>e.consequent.some((e=>C(e,t)))));case"ArrayPattern":case"ArrayExpression":return e.elements.some((e=>C(e,t)));case"AssignmentPattern":return C(e.right,t);case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":return C(e.left,t)||C(e.right,t);case"SequenceExpression":case"TemplateLiteral":return e.expressions.some((e=>C(e,t)));case"ObjectPattern":case"ObjectExpression":return e.properties.some((e=>C(e,t)));case"ClassMethod":case"MethodDefinition":return e.decorators&&e.decorators.some((e=>C(e,t)))||e.computed&&C(e.key,t)||C(e.value,t);case"ObjectProperty":case"ClassProperty":case"Property":return e.computed&&C(e.key,t)||C(e.value,t);case"ObjectMethod":return e.computed&&C(e.key,t)||e.arguments.some((e=>C(e,t)));case"ClassExpression":case"ClassDeclaration":return C(e.body,t);case"AwaitExpression":case"SpreadElement":case"UnaryExpression":case"YieldExpression":return C(e.argument,t);case"VariableDeclaration":return e.declarations.some((e=>C(e,t)));case"VariableDeclarator":return C(e.id,t)||C(e.init,t);case"TaggedTemplateExpression":return C(e.quasi,t);case"OptionalMemberExpression":case"MemberExpression":return C(e.object,t)||C(e.property,t);case"Import":case"ImportExpression":return C(e.source,t);case"ReturnStatement":return null!==e.argument&&C(e.argument,t);default:return!1}},v=(e,t)=>{if(!e)return!1;switch(e.type){case"BlockStatement":return e.body.some((e=>!["ArrowFunctionExpression","FunctionDeclaration","FunctionExpression"].includes(e.type)&&v(e,t)));case"OptionalCallExpression":case"CallExpression":return e.arguments.some((e=>v(e,t)));case"ChainExpression":case"ExpressionStatement":return v(e.expression,t);case"LabeledStatement":case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":case"WithStatement":return v(e.body,t);case"ConditionalExpression":case"IfStatement":return v(e.test,t)||v(e.consequent,t)||v(e.alternate,t);case"TryStatement":return v(e.block,t)||v(e.handler&&e.handler.body,t)||v(e.finalizer,t);case"SwitchStatement":return e.cases.some((e=>e.consequent.some((e=>v(e,t)))));case"ArrayPattern":case"ArrayExpression":return e.elements.some((e=>v(e,t)));case"AssignmentPattern":return v(e.right,t);case"VariableDeclaration":return e.declarations.some((e=>v(e,t)));case"VariableDeclarator":return v(e.id,t)||v(e.init,t);case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":return v(e.left,t)||v(e.right,t);case"SequenceExpression":case"TemplateLiteral":return e.expressions.some((e=>v(e,t)));case"ObjectPattern":case"ObjectExpression":return e.properties.some((e=>v(e,t)));case"ObjectProperty":case"ClassProperty":case"Property":return e.computed&&v(e.key,t)||v(e.value,t);case"ObjectMethod":return e.computed&&v(e.key,t)||e.arguments.some((e=>v(e,t)));case"SpreadElement":case"UnaryExpression":return v(e.argument,t);case"TaggedTemplateExpression":return v(e.quasi,t);case"OptionalMemberExpression":case"MemberExpression":return v(e.object,t)||v(e.property,t);case"Import":case"ImportExpression":return v(e.source,t);case"ReturnStatement":return null!==e.argument&&v(e.argument,t);case"YieldExpression":return t?"VariableDeclarator"===e.parent.type:null!==e.argument;default:return!1}},A=(e,t)=>{if(!e)return!1;switch(e.type){case"FunctionExpression":case"FunctionDeclaration":case"ArrowFunctionExpression":return!t&&A(e.body,!0);case"BlockStatement":return e.body.some((e=>"FunctionDeclaration"!==e.type&&A(e)));case"LabeledStatement":case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":case"WithStatement":return A(e.body);case"IfStatement":return A(e.consequent)||A(e.alternate);case"TryStatement":return A(e.handler&&e.handler.body)||A(e.finalizer);case"SwitchStatement":return e.cases.some((e=>e.consequent.some((e=>A(e)))));case"ThrowStatement":return!0;default:return!1}},k=(e,t)=>e.filter(t),w=new Set(["param","arg","argument","property","prop","template","returns","return"]),P=e=>{var t;return"MethodDefinition"===(null==e?void 0:e.type)&&"constructor"===e.kind||"constructor"===(null==e||null===(t=e.parent)||void 0===t?void 0:t.kind)},T=e=>e&&"get"===e.parent.kind,I=e=>e&&"set"===e.parent.kind,D=e=>{const{type:t,kind:n,key:{name:r}}=e,o="get"===n?"set":"get",s="MethodDefinition"===t?"body":"properties";return e.parent[s].some((({kind:e,key:{name:t}})=>e===o&&t===r))},O=e=>e.replace(/\.(['"])(.*)\1/gu,".$2");var B={comparePaths:e=>t=>t===e||O(t)===O(e),dropPathSegmentQuotes:O,enforcedContexts:(e,t)=>{const{contexts:n=(!0===t?["ArrowFunctionExpression","FunctionDeclaration","FunctionExpression"]:t)}=e.options[0]||{};return n},exemptSpeciaMethods:(e,t,n,r)=>{const o=e=>{var t,o;const s=r[0].properties;return null!==(t=null===(o=n.options[0])||void 0===o?void 0:o[e])&&void 0!==t?t:s[e]&&s[e].default},s=o("checkGetters"),a=o("checkSetters");return!o("checkConstructors")&&(P(t)||f(e,["class","constructor"]))||T(t)&&(!s||"no-setter"===s&&D(t.parent))||I(t)&&(!a||"no-getter"===a&&D(t.parent))},filterTags:k,flattenRoots:i,getContextObject:(e,t)=>{const n={};return e.forEach((e=>{"object"==typeof e?n[e.context]=t:n[e]=t})),n},getFunctionParameterNames:(e,t)=>{const r=(e,o)=>{var s,a;if(n.default.has(e,"typeAnnotation")||n.default.has(e,"left.typeAnnotation")){const t=n.default.has(e,"left.typeAnnotation")?e.left.typeAnnotation:e.typeAnnotation;if("TSTypeLiteral"===t.typeAnnotation.type){const r=t.typeAnnotation.members.map((e=>c(e))),o={...i(r),annotationParamName:e.name};return n.default.has(e,"name")||n.default.has(e,"left.name")?[n.default.has(e,"left.name")?e.left.name:e.name,o]:[void 0,o]}}if(n.default.has(e,"name"))return e.name;if(n.default.has(e,"left.name"))return e.left.name;if("ObjectPattern"===e.type||"ObjectPattern"===(null===(s=e.left)||void 0===s?void 0:s.type)){var l;const t=(e.properties||(null===(l=e.left)||void 0===l?void 0:l.properties)).map((e=>r(e,!0)));return[void 0,i(t)]}if("Property"===e.type){switch(e.value.type){case"ArrayPattern":return[e.key.name,e.value.elements.map(((e,t)=>({name:t,restElement:"RestElement"===e.type})))];case"ObjectPattern":return[e.key.name,e.value.properties.map((e=>r(e,o)))];case"AssignmentPattern":switch(e.value.left.type){case"Identifier":if(t&&"ObjectExpression"===e.value.right.type)return[e.key.name,e.value.right.properties.map((e=>r(e,o)))];break;case"ObjectPattern":return[e.key.name,e.value.left.properties.map((e=>r(e,o)))];case"ArrayPattern":return[e.key.name,e.value.left.elements.map(((e,t)=>({name:t,restElement:"RestElement"===e.type})))]}}switch(e.key.type){case"Identifier":return e.key.name;case"Literal":return e.key.raw||e.key.value;default:return}}if("ArrayPattern"===e.type||"ArrayPattern"===(null===(a=e.left)||void 0===a?void 0:a.type)){var u;const t=(e.elements||(null===(u=e.left)||void 0===u?void 0:u.elements)).map(((e,t)=>({name:t,restElement:"RestElement"===e.type})));return[void 0,i(t)]}if(["RestElement","ExperimentalRestProperty"].includes(e.type))return{isRestProperty:o,name:e.argument.name,restElement:!0};if("TSParameterProperty"===e.type)return r(e.parameter,!0);throw new Error(`Unsupported function signature format: \`${e.type}\`.`)};return(e.params||e.value.params).map((e=>r(e)))},getIndent:e=>{var t,n;return(null!==(t=null===(n=e.text.match(/^\n*([ \t]+)/u))||void 0===n?void 0:n[1])&&void 0!==t?t:"")+" "},getJsdocTagsDeep:(e,t)=>{const n=[];return e.tags.forEach((({name:e,tag:r,type:o},s)=>{r===t&&n.push({idx:s,name:e,type:o})})),n},getPreferredTagName:p,getRegexFromString:(e,t)=>{const n=e.match(/^\/(.*)\/([gimyus]*)$/us);let r="u",o=e;n&&([,o,r]=n,r||(r="u"));return r=[...new Set(r+(t||""))].join(""),new RegExp(o,r)},getTagsByType:(e,t,n,r)=>{const o=p(e,t,"description",r),s=[];return{tagsWithNames:k(n,(e=>{const{tag:t}=e,n=w.has(t);return n||t===o||s.push(e),n})),tagsWithoutNames:s}},getTagStructureForMode:(e,t)=>{const n=(0,o.default)(e);try{g(t,n)}catch{}return n},hasATag:f,hasDefinedTypeTag:e=>{if(null==e)return!1;const t=e.type.trim();return"undefined"!==t&&"void"!==t},hasParams:e=>e.params.length,hasReturnValue:S,hasTag:d,hasThrowValue:A,hasValueOrExecutorHasNonEmptyResolveValue:(e,t)=>S(e,(e=>{if(t)return!0;const[{params:n,body:r}={}]=e.arguments;if(null==n||!n.length)return!1;const[{name:o}]=n;return C(r,o)})),hasYieldValue:(e,t)=>e.generator&&(e.expression||v(e.body,t)),isConstructor:P,isGetter:T,isNamepathDefiningTag:(e,t=a)=>"namepath-defining"===m(t,e).get("nameContents"),isSetter:I,isValidTag:(e,t,r,o)=>{const s=u(t,e),a=o;return Object.keys(s).concat(n.default.flatten(Object.values(s))).concat(a).includes(r)},overrideTagStructure:g,parseClosureTemplateTag:e=>e.name.split(",").map((e=>e.trim())),setTagStructure:e=>{a=(0,o.default)(e)},tagMightHaveNamepath:b,tagMightHaveNamePosition:(e,t=a)=>{const n=m(t,e).get("nameContents");return void 0===n||Boolean(n)},tagMightHaveTypePosition:y,tagMissingRequiredTypeOrNamepath:(e,t=a)=>{const n=h(e.tag,t),r=y(e.tag,t)&&Boolean(e.type),o=(E(e.tag,t)||b(e.tag,t))&&Boolean(e.name),s=((e,t)=>m(t,e).get("typeOrNameRequired"))(e.tag,t),i=((e,t)=>y(e,t)||b(e,t))(e.tag,t)&&(r||o);return s&&!i&&!n},tagMustHaveNamePosition:E,tagMustHaveTypePosition:h};t.default=B,e.exports=t.default})),Ze=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n;const r=null==t||null===(n=t.meta)||void 0===n?void 0:n.type;if(!r||!["problem","suggestion","layout"].includes(r))throw new TypeError('Rule must include `meta.type` option (with value "problem", "suggestion", or "layout")');if("function"!=typeof e)throw new TypeError("The iterator argument must be a function.");if(t.checkFile)return((e,t)=>({create(t){const n=t.getSourceCode(),r=f(t);return r?{"Program:exit"(){const o=n.getAllComments(),{lines:s}=n,a=d(t,r);e({allComments:o,context:t,lines:s,makeReport:m,settings:r,sourceCode:n,utils:a})}}:{}},meta:t.meta}))(e,t);if(t.iterateAllJsdocs)return h(e,t);return{create(n){let r;if(t.contextDefaults&&(r=i.default.enforcedContexts(n,t.contextDefaults),r.includes("any")))return h(e,t).create(n);const o=n.getSourceCode(),s=f(n);if(!s)return{};const{lines:a}=o,c=r=>{const i=(0,Ke.getJSDocComment)(o,r,s);i&&g(t,n,a,i,r,s,o,e)};return t.contextDefaults?i.default.getContextObject(r,c):{ArrowFunctionExpression:c,FunctionDeclaration:c,FunctionExpression:c}},meta:t.meta}},t.parseComment=t.getSettings=void 0;var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var s=r?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(n,o,s):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(ke),r=c(Ae),o=c(be),s=c(Ce),a=c(F.default),i=c(Qe);function c(e){return e&&e.__esModule?e:{default:e}}function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}const u=new Map,p=(e,t)=>(0,Je.parse)(`/*${e.value}*/`,{tokenizers:[(0,o.default)(),e=>["default","defaultvalue","see"].includes(e.tag)?e:(0,s.default)()(e),e=>{if("template"===e.tag){const t=e.source[0].tokens.description,n=t.search(/(?"see"===e.tag&&/\{@link.+?\}/u.test(e.source[0].source))(e)?e:(0,r.default)()(e)},e=>(0,n.default)((0,n.getJoiner)("preserve"))(e)]})[0]||(0,le.seedBlock)({source:[{number:0,tokens:(0,le.seedTokens)({delimiter:"/**",description:"",end:"",postDelimiter:"",start:""})},{number:1,tokens:(0,le.seedTokens)({delimiter:"",description:"",end:"*/",postDelimiter:"",start:t+" "})}]});t.parseComment=p;const d=(e,{tagNamePreference:t,mode:n})=>{const r={reportSettings:t=>{e.report({loc:{start:{column:1,line:1}},message:t})},parseClosureTemplateTag:e=>i.default.parseClosureTemplateTag(e),getPreferredTagNameObject:({tagName:r})=>{const o=i.default.getPreferredTagName(e,n,r,t);return!1===o||o&&"object"==typeof o&&!o.replacement?{blocked:!0,tagName:r}:o}};return r},f=e=>{var t,n,r,o,s,a,c,l,u,p,d,f,m,g,h,y,x;const b={ignorePrivate:Boolean(null===(t=e.settings.jsdoc)||void 0===t?void 0:t.ignorePrivate),ignoreInternal:Boolean(null===(n=e.settings.jsdoc)||void 0===n?void 0:n.ignoreInternal),maxLines:Number(null!==(r=null===(o=e.settings.jsdoc)||void 0===o?void 0:o.maxLines)&&void 0!==r?r:1),minLines:Number(null!==(s=null===(a=e.settings.jsdoc)||void 0===a?void 0:a.minLines)&&void 0!==s?s:0),tagNamePreference:null!==(c=null===(l=e.settings.jsdoc)||void 0===l?void 0:l.tagNamePreference)&&void 0!==c?c:{},preferredTypes:null!==(u=null===(p=e.settings.jsdoc)||void 0===p?void 0:p.preferredTypes)&&void 0!==u?u:{},structuredTags:null!==(d=null===(f=e.settings.jsdoc)||void 0===f?void 0:f.structuredTags)&&void 0!==d?d:{},overrideReplacesDocs:null===(m=e.settings.jsdoc)||void 0===m?void 0:m.overrideReplacesDocs,implementsReplacesDocs:null===(g=e.settings.jsdoc)||void 0===g?void 0:g.implementsReplacesDocs,augmentsExtendsReplacesDocs:null===(h=e.settings.jsdoc)||void 0===h?void 0:h.augmentsExtendsReplacesDocs,mode:null!==(y=null===(x=e.settings.jsdoc)||void 0===x?void 0:x.mode)&&void 0!==y?y:e.parserPath.includes("@typescript-eslint")?"typescript":"jsdoc"};i.default.setTagStructure(b.mode);try{i.default.overrideTagStructure(b.structuredTags)}catch(t){return e.report({loc:{start:{column:1,line:1}},message:t.message}),!1}return b};t.getSettings=f;const m=(e,t)=>(n,r=null,o=null,s=null)=>{let a;if(o){"line"in o||(o.line=o.source[0].number);const e=t.loc.start.line+o.line;if(a={end:{line:e},start:{line:e}},o.column){const e=t.loc.start.column+o.column;a.end.column=e,a.start.column=e}}e.report({data:s,fix:r,loc:a,message:n,node:t})},g=(e,t,n,r,o,s,c,l,f,g)=>{const h=n[r.loc.start.line-1].charAt(0).repeat(r.loc.start.column),y=p(r,h),x=m(t,r),b=((e,t,n,r,o,s,c,l,u)=>{const f=s.getAncestors(),m=s.getSourceCode(),g=d(s,r),{tagNamePreference:h,overrideReplacesDocs:y,implementsReplacesDocs:x,augmentsExtendsReplacesDocs:b,maxLines:E,minLines:S,mode:C}=r;return g.isIteratingFunction=()=>!c||["MethodDefinition","ArrowFunctionExpression","FunctionDeclaration","FunctionExpression"].includes(e&&e.type),g.isVirtualFunction=()=>c&&g.hasATag(["callback","function","func","method"]),g.stringify=(e,t)=>(0,Je.stringify)(t?(0,le.rewireSpecs)(e):e),g.reportJSDoc=(e,r,s,a)=>{o(e,s?e=>{s();const r=g.stringify(t,a);return e.replaceText(n,r)}:null,r)},g.getRegexFromString=(e,t)=>i.default.getRegexFromString(e,t),g.getDescription=()=>{const e=[];let n;return t.source[0].tokens.description&&e.push(t.source[0].tokens.description),t.source.slice(1).some((({tokens:{description:t,tag:r,end:o}},s)=>r||o?(n=s,!0):(e.push(t),!1))),{description:e.join("\n"),lastDescriptionLine:n}},g.changeTag=(e,...t)=>{e.source.forEach(((e,n)=>{e.tokens={...e.tokens,...t[n]}}))},g.setTag=(e,t)=>{e.source=[{number:e.line,tokens:(0,le.seedTokens)({delimiter:"*",postDelimiter:" ",start:u+" ",tag:"@"+e.tag,...t})}]},g.removeTag=e=>{const{source:n}=t.tags[e];let r;const o=t.source[0].number;n.forEach((({number:e})=>{const n=t.source.findIndex((({number:t,tokens:{end:n}})=>e===t&&!n));n>-1&&(t.source.splice(n,1),r=n)})),t.source.slice(r).forEach(((e,t)=>{e.number=o+r+t}))},g.addTag=e=>{var n,r,o;const s=(null!==(n=null===(r=t.tags[t.tags.length-1])||void 0===r||null===(o=r.source[0])||void 0===o?void 0:o.number)&&void 0!==n?n:0)+1;t.source.splice(s,0,{number:s,source:"",tokens:(0,le.seedTokens)({delimiter:"*",postDelimiter:" ",start:u+" ",tag:`@${e}`})}),t.source.slice(s+1).forEach((e=>{e.number++}))},g.flattenRoots=e=>i.default.flattenRoots(e),g.getFunctionParameterNames=t=>i.default.getFunctionParameterNames(e,t),g.hasParams=()=>i.default.hasParams(e),g.isGenerator=()=>e&&(e.generator||"MethodDefinition"===e.type&&e.value.generator||["ExportNamedDeclaration","ExportDefaultDeclaration"].includes(e.type)&&e.declaration.generator),g.isConstructor=()=>i.default.isConstructor(e),g.getJsdocTagsDeep=e=>{const n=g.getPreferredTagName({tagName:e});return!!n&&i.default.getJsdocTagsDeep(t,n)},g.getPreferredTagName=({tagName:e,skipReportingBlockedTag:t=!1,allowObjectReturn:n=!1,defaultMessage:r=`Unexpected tag \`@${e}\``})=>{const a=i.default.getPreferredTagName(s,C,e,h),c=a&&"object"==typeof a;if(g.hasTag(e)&&(!1===a||c&&!a.replacement)){if(t)return{blocked:!0,tagName:e};const n=c&&a.message||r;return o(n,null,g.getTags(e)[0]),!1}return c&&!n?a.replacement:a},g.isValidTag=(e,t)=>i.default.isValidTag(s,C,e,t),g.hasATag=e=>i.default.hasATag(t,e),g.hasTag=e=>i.default.hasTag(t,e),g.comparePaths=e=>i.default.comparePaths(e),g.dropPathSegmentQuotes=e=>i.default.dropPathSegmentQuotes(e),g.avoidDocs=()=>{var n,r;if(!1!==y&&(g.hasTag("override")||g.classHasTag("override"))||!1!==x&&(g.hasTag("implements")||g.classHasTag("implements"))||b&&(g.hasATag(["augments","extends"])||g.classHasTag("augments")||g.classHasTag("extends")))return!0;if(i.default.exemptSpeciaMethods(t,e,s,l.meta.schema))return!0;const o=null!==(n=null===(r=s.options[0])||void 0===r?void 0:r.exemptedBy)&&void 0!==n?n:["inheritDoc",..."closure"===C?[]:["inheritdoc"]];return!(!o.length||!g.getPresentTags(o).length)},["tagMightHaveNamePosition","tagMightHaveTypePosition"].forEach((e=>{g[e]=(t,n)=>!!i.default[e](t)||!!n&&(!!n.some((n=>i.default[e](t,n)))&&{otherMode:!0})})),["tagMustHaveNamePosition","tagMustHaveTypePosition","tagMissingRequiredTypeOrNamepath"].forEach((e=>{g[e]=(t,n)=>!!i.default[e](t)&&(!!n.every((n=>i.default[e](t,n)))||{otherMode:!1})})),["isNamepathDefiningTag","tagMightHaveNamepath"].forEach((e=>{g[e]=t=>i.default[e](t)})),g.getTagStructureForMode=e=>i.default.getTagStructureForMode(e,r.structuredTags),g.hasDefinedTypeTag=e=>i.default.hasDefinedTypeTag(e),g.hasValueOrExecutorHasNonEmptyResolveValue=t=>i.default.hasValueOrExecutorHasNonEmptyResolveValue(e,t),g.hasYieldValue=()=>["ExportNamedDeclaration","ExportDefaultDeclaration"].includes(e.type)?i.default.hasYieldValue(e.declaration):i.default.hasYieldValue(e),g.hasYieldReturnValue=()=>i.default.hasYieldValue(e,!0),g.hasThrowValue=()=>i.default.hasThrowValue(e),g.isAsync=()=>e.async,g.getTags=e=>g.filterTags((t=>t.tag===e)),g.getPresentTags=e=>g.filterTags((t=>e.includes(t.tag))),g.filterTags=e=>i.default.filterTags(t.tags,e),g.getTagsByType=e=>i.default.getTagsByType(s,C,e,h),g.hasOptionTag=e=>{var t;const{tags:n}=null!==(t=s.options[0])&&void 0!==t?t:{};return Boolean(n&&n.includes(e))},g.getClassNode=()=>[...f,e].reverse().find((e=>e&&["ClassDeclaration","ClassExpression"].includes(e.type)))||null,g.getClassJsdoc=()=>{const e=g.getClassNode();if(!e)return null;const t=(0,Ke.getJSDocComment)(m,e,{maxLines:E,minLines:S});if(t){const e=" ".repeat(t.loc.start.column);return p(t,e)}return null},g.classHasTag=e=>{const t=g.getClassJsdoc();return Boolean(t)&&i.default.hasTag(t,e)},g.forEachPreferredTag=(e,n,r=!1)=>{const o=g.getPreferredTagName({skipReportingBlockedTag:r,tagName:e});!o||r&&o&&"object"==typeof o||a.default.filter(t.tags,{tag:o}).forEach((e=>{n(e,o)}))},g})(o,y,r,s,x,t,g,e,h);!e.checkInternal&&s.ignoreInternal&&b.hasTag("internal")||!e.checkPrivate&&s.ignorePrivate&&(b.hasTag("private")||a.default.filter(y.tags,{tag:"access"}).some((({description:e})=>"private"===e)))||l({context:t,globalState:u,indent:h,iteratingAll:g,jsdoc:y,jsdocNode:r,node:o,report:x,settings:s,sourceCode:c,state:f,utils:b})},h=(e,t)=>{const n=[];let r;const o=(n,o,s,a,i)=>{const c=n.getSourceCode(),{lines:l}=c,u=d(n,r);s.forEach((s=>{/^\/\*\*\s/.test(c.getText(s))&&g(t,n,l,s,o,r,c,e,a,!0)})),i&&t.exit&&t.exit({context:n,state:a,utils:u})};return{create(e){const s=e.getSourceCode();if(r=f(e),!r)return{};const a={};return{"*:not(Program)"(i){if(i!==(0,Ke.getReducedASTNode)(i,s))return;const c=(0,Ke.getJSDocComment)(s,i,r);n.includes(c)||(c?(n.push(c),o(e,i,[c],a)):t.nonComment&&t.nonComment({node:i,state:a}))},"Program:exit"(){const t=s.getAllComments().filter((e=>!n.includes(e)));o(e,null,t,a,!0)}}},meta:t.meta}}})),et=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=["package","private","protected","public"];var s=(0,r.default)((({report:e,utils:t})=>{t.forEachPreferredTag("access",((t,n)=>{const r="access"===n?t.description:t.name+" "+t.description;o.includes(r.trim())||e(`Missing valid JSDoc @${n} level.`,null,t)}));const n=t.getTags("access").length,r=t.getPresentTags(o).length;n&&r&&e("The @access tag may not be used with specific access-control tags (@package, @private, @protected, or @public)."),(n>1||r>1)&&e("At most one access-control tag may be present on a jsdoc block.")}),{checkPrivate:!0,iterateAllJsdocs:!0,meta:{docs:{description:"Checks that `@access` tags have a valid value.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-access"},type:"suggestion"}});t.default=s,e.exports=t.default})),tt=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=e=>e.replace(/^\s+/u,"");var s=(0,r.default)((({sourceCode:e,jsdocNode:t,report:n,indent:r})=>{const s=r.length+1,a=e.getText(t).split("\n").slice(1).map((e=>e.split("*")[0])).filter((e=>!o(e).length)),i=n=>{const s=e.getText(t).split("\n").map(((e,t)=>!t||o(e.split("*")[0]).length?e:`${r} ${o(e)}`)).join("\n");return n.replaceText(t,s)};a.some(((e,t)=>e.length!==s&&(n("Expected JSDoc block to be aligned.",i,{line:t+1}),!0)))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Reports invalid alignment of JSDoc block asterisks.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-alignment"},fixable:"code",type:"layout"}});t.default=s,e.exports=t.default})),nt={configFile:null,baseConfig:!1,rulePaths:[],useEslintrc:!0,envs:[],globals:[],extensions:null,ignore:!0,ignorePath:void 0,cache:!1,cacheLocation:"",cacheFile:".eslintcache",cacheStrategy:"metadata",fix:!1,allowInlineConfig:!0,reportUnusedDisableDirectives:void 0,globInputPaths:!0},rt={name:"eslint",version:"7.24.0",author:"Nicholas C. Zakas ",description:"An AST-based pattern checker for JavaScript.",bin:{eslint:"./bin/eslint.js"},main:"./lib/api.js",scripts:{test:"node Makefile.js test","test:cli":"mocha",lint:"node Makefile.js lint",fix:"node Makefile.js lint -- fix",fuzz:"node Makefile.js fuzz","generate-release":"node Makefile.js generateRelease","generate-alpharelease":"node Makefile.js generatePrerelease -- alpha","generate-betarelease":"node Makefile.js generatePrerelease -- beta","generate-rcrelease":"node Makefile.js generatePrerelease -- rc","publish-release":"node Makefile.js publishRelease",docs:"node Makefile.js docs",gensite:"node Makefile.js gensite",webpack:"node Makefile.js webpack",perf:"node Makefile.js perf"},gitHooks:{"pre-commit":"lint-staged"},"lint-staged":{"*.js":["eslint --fix","git add"],"*.md":"markdownlint"},files:["LICENSE","README.md","bin","conf","lib","messages"],repository:"eslint/eslint",funding:"https://opencollective.com/eslint",homepage:"https://eslint.org",bugs:"https://github.com/eslint/eslint/issues/",dependencies:{"@babel/code-frame":"7.12.11","@eslint/eslintrc":"^0.4.0",ajv:"^6.10.0",chalk:"^4.0.0","cross-spawn":"^7.0.2",debug:"^4.0.1",doctrine:"^3.0.0",enquirer:"^2.3.5","eslint-scope":"^5.1.1","eslint-utils":"^2.1.0","eslint-visitor-keys":"^2.0.0",espree:"^7.3.1",esquery:"^1.4.0",esutils:"^2.0.2","file-entry-cache":"^6.0.1","functional-red-black-tree":"^1.0.1","glob-parent":"^5.0.0",globals:"^13.6.0",ignore:"^4.0.6","import-fresh":"^3.0.0",imurmurhash:"^0.1.4","is-glob":"^4.0.0","js-yaml":"^3.13.1","json-stable-stringify-without-jsonify":"^1.0.1",levn:"^0.4.1",lodash:"^4.17.21",minimatch:"^3.0.4","natural-compare":"^1.4.0",optionator:"^0.9.1",progress:"^2.0.0",regexpp:"^3.1.0",semver:"^7.2.1","strip-ansi":"^6.0.0","strip-json-comments":"^3.1.0",table:"^6.0.4","text-table":"^0.2.0","v8-compile-cache":"^2.0.3"},devDependencies:{"@babel/core":"^7.4.3","@babel/preset-env":"^7.4.3",acorn:"^7.2.0","babel-loader":"^8.0.5",chai:"^4.0.1",cheerio:"^0.22.0","common-tags":"^1.8.0","core-js":"^3.1.3",dateformat:"^3.0.3",ejs:"^3.0.2","escape-string-regexp":"^3.0.0",eslint:"file:.","eslint-config-eslint":"file:packages/eslint-config-eslint","eslint-plugin-eslint-plugin":"^2.2.1","eslint-plugin-internal-rules":"file:tools/internal-rules","eslint-plugin-jsdoc":"^25.4.3","eslint-plugin-node":"^11.1.0","eslint-release":"^2.0.0",eslump:"^2.0.0",esprima:"^4.0.1","fs-teardown":"^0.1.0",glob:"^7.1.6",jsdoc:"^3.5.5",karma:"^6.1.1","karma-chrome-launcher":"^3.1.0","karma-mocha":"^2.0.1","karma-mocha-reporter":"^2.2.5","karma-webpack":"^5.0.0","lint-staged":"^10.1.2","load-perf":"^0.2.0",markdownlint:"^0.19.0","markdownlint-cli":"^0.22.0",memfs:"^3.0.1",mocha:"^8.3.2","mocha-junit-reporter":"^2.0.0","node-polyfill-webpack-plugin":"^1.0.3","npm-license":"^0.3.3",nyc:"^15.0.1",proxyquire:"^2.0.1",puppeteer:"^7.1.0",recast:"^0.19.0","regenerator-runtime":"^0.13.2",shelljs:"^0.8.2",sinon:"^9.0.1",temp:"^0.9.0",webpack:"^5.23.0","webpack-cli":"^4.5.0",yorkie:"^2.0.0"},keywords:["ast","lint","javascript","ecmascript","espree"],license:"MIT",engines:{node:"^10.12.0 || >=12.0.0"}};const ot=N.default.createRequire||N.default.createRequireFromPath;var st={resolve(e,t){try{return ot(t).resolve(e)}catch(n){throw"object"==typeof n&&null!==n&&"MODULE_NOT_FOUND"===n.code&&!n.requireStack&&n.message.includes(e)&&(n.message+=`\nRequire stack:\n- ${t}`),n}}};const{escapeRegExp:at}=F.default,{Minimatch:ct}=R.default,{Legacy:{IgnorePattern:lt,CascadingConfigArrayFactory:ut}}=B.default,pt=M.default("eslint:file-enumerator"),dt={dot:!0,matchBase:!0},ft=/(?:(?:^\.)|(?:[/\\]\.))[^/\\.].*/u,mt=new WeakMap;function gt(e){try{return D.default.statSync(e)}catch(e){if("ENOENT"!==e.code)throw e;return null}}function ht(e){if(e){const t=e.map((e=>at(e.startsWith(".")?e.slice(1):e)));return new RegExp(`.\\.(?:${t.join("|")})$`,"u")}return null}class yt extends Error{constructor(e,t){super(`No files matching '${e}' were found${t?" (glob was disabled)":""}.`),this.messageTemplate="file-not-found",this.messageData={pattern:e,globDisabled:t}}}class xt extends Error{constructor(e){super(`All files matched by '${e}' are ignored.`),this.messageTemplate="all-files-ignored",this.messageData={pattern:e}}}var bt={FileEnumerator:class{constructor({cwd:e=process.cwd(),configArrayFactory:t=new ut({cwd:e,eslintRecommendedPath:O.default.resolve(__dirname,"../../conf/eslint-recommended.js"),eslintAllPath:O.default.resolve(__dirname,"../../conf/eslint-all.js")}),extensions:n=null,globInputPaths:r=!0,errorOnUnmatchedPattern:o=!0,ignore:s=!0}={}){mt.set(this,{configArrayFactory:t,cwd:e,defaultIgnores:lt.createDefaultIgnore(e),extensionRegExp:ht(n),globInputPaths:r,errorOnUnmatchedPattern:o,ignoreFlag:s})}isTargetPath(e,t){const{configArrayFactory:n,extensionRegExp:r}=mt.get(this);if(r)return r.test(e);if(e.endsWith(".js"))return!0;return(t||n.getConfigArrayForFile(e,{ignoreNotFoundError:!0})).isAdditionalTargetPath(e)}*iterateFiles(e){const{globInputPaths:t,errorOnUnmatchedPattern:n}=mt.get(this),r=Array.isArray(e)?e:[e];pt("Start to iterate files: %o",r);const o=new Set;for(const e of r){let r=!1,s=!1;if(e){for(const{config:t,filePath:n,flag:a}of this._iterateFiles(e))r=!0,1!==a&&(s=!0,o.has(n)||(o.add(n),yield{config:t,filePath:n,ignored:2===a}));if(n){if(!r)throw new yt(e,!t&&L.default(e));if(!s)throw new xt(e)}}}pt(`Complete iterating files: ${JSON.stringify(r)}`)}_iterateFiles(e){const{cwd:t,globInputPaths:n}=mt.get(this),r=O.default.resolve(t,e),o=ft.test(e),s=gt(r);return s&&s.isDirectory()?this._iterateFilesWithDirectory(r,o):s&&s.isFile()?this._iterateFilesWithFile(r):n&&function(e){return L.default("\\"===O.default.sep?e.replace(/\\/gu,"/"):e)}(e)?this._iterateFilesWithGlob(r,o):[]}_iterateFilesWithFile(e){pt(`File: ${e}`);const{configArrayFactory:t}=mt.get(this),n=t.getConfigArrayForFile(e);return[{config:n,filePath:e,flag:this._isIgnoredFile(e,{config:n,direct:!0})?2:0}]}_iterateFilesWithDirectory(e,t){return pt(`Directory: ${e}`),this._iterateFilesRecursive(e,{dotfiles:t,recursive:!0,selector:null})}_iterateFilesWithGlob(e,t){pt(`Glob: ${e}`);const n=O.default.resolve(j.default(e)),r=e.slice(n.length+1),o=/\*\*|\/|\\/u.test(r),s=new ct(e,dt);return pt(`recursive? ${o}`),this._iterateFilesRecursive(n,{dotfiles:t,recursive:o,selector:s})}*_iterateFilesRecursive(e,t){pt(`Enter the directory: ${e}`);const{configArrayFactory:n}=mt.get(this);let r=null;for(const o of function(e){try{return D.default.readdirSync(e,{withFileTypes:!0})}catch(e){if("ENOENT"!==e.code)throw e;return[]}}(e)){const s=O.default.join(e,o.name),a=o.isSymbolicLink()?gt(s):o;if(a)if(a.isFile()){r||(r=n.getConfigArrayForFile(s,{ignoreNotFoundError:!0}));if(t.selector?t.selector.match(s):this.isTargetPath(s,r)){const e=this._isIgnoredFile(s,{...t,config:r}),a=e?1:0;pt(`Yield: ${o.name}${e?" but ignored":""}`),yield{config:n.getConfigArrayForFile(s),filePath:s,flag:a}}else pt(`Didn't match: ${o.name}`)}else if(t.recursive&&a.isDirectory()){r||(r=n.getConfigArrayForFile(s,{ignoreNotFoundError:!0}));this._isIgnoredFile(s+O.default.sep,{...t,config:r})||(yield*this._iterateFilesRecursive(s,t))}}pt(`Leave the directory: ${e}`)}_isIgnoredFile(e,{config:t,dotfiles:n=!1,direct:r=!1}){const{configArrayFactory:o,defaultIgnores:s,ignoreFlag:a}=mt.get(this);if(a){return((t||o.getConfigArrayForFile(e,{ignoreNotFoundError:!0})).extractConfig(e).ignores||s)(e,n)}return!r&&s(e,n)}}};const Et=function(e,t){const n={};for(const[r,o]of Object.entries(e))Object.hasOwnProperty.call(t,r)||(n[r]=o);return n}(U.default.es2015,U.default.es5),St={Atomics:!1,SharedArrayBuffer:!1},Ct={BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,globalThis:!1};var vt=new Map(Object.entries({builtin:{globals:U.default.es5},es6:{globals:Et,parserOptions:{ecmaVersion:6}},es2015:{globals:Et,parserOptions:{ecmaVersion:6}},es2017:{globals:{...Et,...St},parserOptions:{ecmaVersion:8}},es2020:{globals:{...Et,...St,...Ct},parserOptions:{ecmaVersion:11}},es2021:{globals:{...Et,...St,...Ct,AggregateError:!1,FinalizationRegistry:!1,WeakRef:!1},parserOptions:{ecmaVersion:12}},browser:{globals:U.default.browser},node:{globals:U.default.node,parserOptions:{ecmaFeatures:{globalReturn:!0}}},"shared-node-browser":{globals:U.default["shared-node-browser"]},worker:{globals:U.default.worker},serviceworker:{globals:U.default.serviceworker},commonjs:{globals:U.default.commonjs,parserOptions:{ecmaFeatures:{globalReturn:!0}}},amd:{globals:U.default.amd},mocha:{globals:U.default.mocha},jasmine:{globals:U.default.jasmine},jest:{globals:U.default.jest},phantomjs:{globals:U.default.phantomjs},jquery:{globals:U.default.jquery},qunit:{globals:U.default.qunit},prototypejs:{globals:U.default.prototypejs},shelljs:{globals:U.default.shelljs},meteor:{globals:U.default.meteor},mongo:{globals:U.default.mongo},protractor:{globals:U.default.protractor},applescript:{globals:U.default.applescript},nashorn:{globals:U.default.nashorn},atomtest:{globals:U.default.atomtest},embertest:{globals:U.default.embertest},webextensions:{globals:U.default.webextensions},greasemonkey:{globals:U.default.greasemonkey}}));const At=/\r\n|[\r\n\u2028\u2029]/u;var kt={breakableTypePattern:/^(?:(?:Do)?While|For(?:In|Of)?|Switch)Statement$/u,lineBreakPattern:At,createGlobalLinebreakMatcher:function(){return new RegExp(At.source,"gu")},shebangPattern:/^#!([^\r\n]+)/u},wt=ie((function(e){const t=["off","warn","error"],n=t.reduce(((e,t,n)=>(e[t]=n,e)),{}),r=[0,1,2,"off","warn","error"];e.exports={getRuleSeverity(e){const t=Array.isArray(e)?e[0]:e;return 0===t||1===t||2===t?t:"string"==typeof t&&n[t.toLowerCase()]||0},normalizeToStrings(e){e.rules&&Object.keys(e.rules).forEach((n=>{const r=e.rules[n];"number"==typeof r?e.rules[n]=t[r]||t[0]:Array.isArray(r)&&"number"==typeof r[0]&&(r[0]=t[r[0]]||t[0])}))},isErrorSeverity:t=>2===e.exports.getRuleSeverity(t),isValidSeverity(e){let t=Array.isArray(e)?e[0]:e;return"string"==typeof t&&(t=t.toLowerCase()),-1!==r.indexOf(t)},isEverySeverityValid(e){return Object.keys(e).every((t=>this.isValidSeverity(e[t])))},normalizeConfigGlobal(e){switch(e){case"off":return"off";case!0:case"true":case"writeable":case"writable":return"writable";case null:case!1:case"false":case"readable":case"readonly":return"readonly";default:throw new Error(`'${e}' is not a valid configuration for a global (use 'readonly', 'writable', or 'off')`)}}}}));const Pt={$schema:{type:"string"},env:{type:"object"},extends:{$ref:"#/definitions/stringOrStrings"},globals:{type:"object"},overrides:{type:"array",items:{$ref:"#/definitions/overrideConfig"},additionalItems:!1},parser:{type:["string","null"]},parserOptions:{type:"object"},plugins:{type:"array"},processor:{type:"string"},rules:{type:"object"},settings:{type:"object"},noInlineConfig:{type:"boolean"},reportUnusedDisableDirectives:{type:"boolean"},ecmaFeatures:{type:"object"}};var Tt={definitions:{stringOrStrings:{oneOf:[{type:"string"},{type:"array",items:{type:"string"},additionalItems:!1}]},stringOrStringsRequired:{oneOf:[{type:"string"},{type:"array",items:{type:"string"},additionalItems:!1,minItems:1}]},objectConfig:{type:"object",properties:{root:{type:"boolean"},ignorePatterns:{$ref:"#/definitions/stringOrStrings"},...Pt},additionalProperties:!1},overrideConfig:{type:"object",properties:{excludedFiles:{$ref:"#/definitions/stringOrStrings"},files:{$ref:"#/definitions/stringOrStringsRequired"},...Pt},required:["files"],additionalProperties:!1}},$ref:"#/definitions/objectConfig"};const It={ESLINT_LEGACY_ECMAFEATURES:"The 'ecmaFeatures' config file property is deprecated and has no effect.",ESLINT_PERSONAL_CONFIG_LOAD:"'~/.eslintrc.*' config files have been deprecated. Please use a config file per project or the '--config' option.",ESLINT_PERSONAL_CONFIG_SUPPRESS:"'~/.eslintrc.*' config files have been deprecated. Please remove it or add 'root:true' to the config files in your projects in order to avoid loading '~/.eslintrc.*' accidentally."},Ft=new Set;var Dt={emitDeprecationWarning:function(e,t){const n=JSON.stringify({source:e,errorCode:t});if(Ft.has(n))return;Ft.add(n);const r=O.default.relative(process.cwd(),e),o=It[t];process.emitWarning(`${o} (found in "${r}")`,"DeprecationWarning",t)}},Ot={id:"http://json-schema.org/draft-04/schema#",$schema:"http://json-schema.org/draft-04/schema#",description:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},positiveInteger:{type:"integer",minimum:0},positiveIntegerDefault0:{allOf:[{$ref:"#/definitions/positiveInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},minItems:1,uniqueItems:!0}},type:"object",properties:{id:{type:"string"},$schema:{type:"string"},title:{type:"string"},description:{type:"string"},default:{},multipleOf:{type:"number",minimum:0,exclusiveMinimum:!0},maximum:{type:"number"},exclusiveMaximum:{type:"boolean",default:!1},minimum:{type:"number"},exclusiveMinimum:{type:"boolean",default:!1},maxLength:{$ref:"#/definitions/positiveInteger"},minLength:{$ref:"#/definitions/positiveIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:{}},maxItems:{$ref:"#/definitions/positiveInteger"},minItems:{$ref:"#/definitions/positiveIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxProperties:{$ref:"#/definitions/positiveInteger"},minProperties:{$ref:"#/definitions/positiveIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},enum:{type:"array",minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},dependencies:{exclusiveMaximum:["maximum"],exclusiveMinimum:["minimum"]},default:{}};const{emitDeprecationWarning:Bt}=Dt,Nt=((e={})=>{const t=new W.default({meta:!1,useDefaults:!0,validateSchema:!1,missingRefs:"ignore",verbose:!0,schemaId:"auto",...e});return t.addMetaSchema(Ot),t._opts.defaultMeta=Ot.id,t})(),jt=new WeakMap,Lt=Function.prototype;let Rt;const Mt={error:2,warn:1,off:0},_t=new WeakSet;const $t=M.default("eslint:traverser");function qt(){}class Ut{constructor(){this._current=null,this._parents=[],this._skipped=!1,this._broken=!1,this._visitorKeys=null,this._enter=null,this._leave=null}current(){return this._current}parents(){return this._parents.slice(0)}break(){this._broken=!0}skip(){this._skipped=!0}traverse(e,t){this._current=null,this._parents=[],this._skipped=!1,this._broken=!1,this._visitorKeys=t.visitorKeys||$.default.KEYS,this._enter=t.enter||qt,this._leave=t.leave||qt,this._traverse(e,null)}_traverse(e,t){if(null!==(n=e)&&"object"==typeof n&&"string"==typeof n.type){var n;if(this._current=e,this._skipped=!1,this._enter(e,t),!this._skipped&&!this._broken){const t=function(e,t){let n=e[t.type];return n||(n=$.default.getKeys(t),$t('Unknown node type "%s": Estimated visitor keys %j',t.type,n)),n}(this._visitorKeys,e);if(t.length>=1){this._parents.push(e);for(let n=0;n=0&&r=n?r:r+1}return 0},Kt=function(e,t,n){if(n in t)return t[n]-1;if(n-1 in t){const r=t[n-1],o=r>=0&&rn?r-1:r}return e.length-1},Yt=class extends Wt{constructor(e){super(),this.cursor=e}moveNext(){const e=this.cursor.moveNext();return this.current=this.cursor.current,e}},Ht=class extends Yt{constructor(e,t){super(e),this.predicate=t}moveNext(){const e=this.predicate;for(;super.moveNext();)if(e(this.current))return!0;return!1}},Xt=class extends Wt{constructor(e,t,n,r,o){super(),this.tokens=e,this.index=Jt(e,n,r),this.indexEnd=Kt(e,n,o)}moveNext(){return this.index<=this.indexEnd&&(this.current=this.tokens[this.index],this.index+=1,!0)}getOneToken(){return this.index<=this.indexEnd?this.tokens[this.index]:null}getAllTokens(){return this.tokens.slice(this.index,this.indexEnd+1)}},Qt=class extends Yt{constructor(e,t){super(e),this.count=t}moveNext(){return this.count>0&&(this.count-=1,super.moveNext())}},Zt=class extends Yt{constructor(e,t){super(e),this.count=t}moveNext(){for(;this.count>0;)if(this.count-=1,!super.moveNext())return!1;return super.moveNext()}};class en{constructor(e,t){this.TokenCursor=e,this.TokenCommentCursor=t}createBaseCursor(e,t,n,r,o,s){return new(s?this.TokenCommentCursor:this.TokenCursor)(e,t,n,r,o)}createCursor(e,t,n,r,o,s,a,i,c){let l=this.createBaseCursor(e,t,n,r,o,s);return a&&(l=new Ht(l,a)),i>=1&&(l=new Zt(l,i)),c>=0&&(l=new Qt(l,c)),l}}var tn={forward:new en(Xt,class extends Wt{constructor(e,t,n,r,o){super(),this.tokens=e,this.comments=t,this.tokenIndex=Jt(e,n,r),this.commentIndex=zt(t,r),this.border=o}moveNext(){const e=this.tokenIndex=this.indexEnd&&(this.current=this.tokens[this.index],this.index-=1,!0)}getOneToken(){return this.index>=this.indexEnd?this.tokens[this.index]:null}},class extends Wt{constructor(e,t,n,r,o){super(),this.tokens=e,this.comments=t,this.tokenIndex=Kt(e,n,o),this.commentIndex=zt(t,o)-1,this.border=r}moveNext(){const e=this.tokenIndex>=0?this.tokens[this.tokenIndex]:null,t=this.commentIndex>=0?this.comments[this.commentIndex]:null;return e&&(!t||e.range[1]>t.range[1])?(this.current=e,this.tokenIndex-=1):t?(this.current=t,this.commentIndex-=1):this.current=null,Boolean(this.current)&&(-1===this.border||this.current.range[0]>=this.border)}})},nn=class extends Xt{constructor(e,t,n,r,o,s,a){super(e,t,n,r,o),this.index=Math.max(0,this.index-s),this.indexEnd=Math.min(e.length-1,this.indexEnd+a)}};const{isCommentToken:rn}=G.default,on=Symbol("tokens"),sn=Symbol("comments"),an=Symbol("indexMap");function cn(e,t,n,r,o,s,a){let i=!1,c=0,l=null;return"number"==typeof a?c=0|a:"function"==typeof a?l=a:a&&(i=!!a.includeComments,c=0|a.skip,l=a.filter||null),z.default(c>=0,"options.skip should be zero or a positive integer."),z.default(!l||"function"==typeof l,"options.filter should be a function."),e.createCursor(t,n,r,o,s,i,l,c,-1)}function ln(e,t,n,r,o,s,a){let i=!1,c=0,l=!1,u=null;return"number"==typeof a?(c=0|a,l=!0):"function"==typeof a?u=a:a&&(i=!!a.includeComments,c=0|a.count,l="number"==typeof a.count,u=a.filter||null),z.default(c>=0,"options.count should be zero or a positive integer."),z.default(!u||"function"==typeof u,"options.filter should be a function."),e.createCursor(t,n,r,o,s,i,u,0,l?c:-1)}function un(e,t,n,r,o,s,a){return void 0===s&&void 0===a?new Xt(e,t,n,r,o):"number"==typeof s||void 0===s?new nn(e,t,n,r,o,0|s,0|a):ln(tn.forward,e,t,n,r,o,s)}function pn(e){const t=[];let n=e.getOneToken();for(;n&&rn(n);)t.push(n),n=e.getOneToken();return t}const{isCommentToken:dn}=G.default;function fn(e,t,n,r){if(function(e,t){return e.range[0]<=t.range[0]&&e.range[1]>=t.range[0]||t.range[0]<=e.range[0]&&t.range[1]>=e.range[0]}(t,n))return!1;const[o,s]=t.range[1]<=n.range[0]?[t,n]:[n,t],a=e.getLastToken(o)||o,i=e.getFirstToken(s)||s;let c=a;for(;c!==i;){const t=e.getTokenAfter(c,{includeComments:!0});if(c.range[1]!==t.range[0]||r&&t!==i&&"JSXText"===t.type&&/\s/u.test(t.value))return!0;c=t}return!1}var mn={SourceCode:class extends class{constructor(e,t){this[on]=e,this[sn]=t,this[an]=function(e,t){const n=Object.create(null);let r=0,o=0,s=0,a=null;for(;r=t.length||re.parent.end);)t.trailing.push(n),n=this.getTokenAfter(n,{includeComments:!0})}return this._commentCache.set(e,t),t}getJSDocComment(e){const t=e=>{const t=this.getTokenBefore(e,{includeComments:!0});return t&&dn(t)&&"Block"===t.type&&"*"===t.value.charAt(0)&&e.loc.start.line-t.loc.end.line<=1?t:null};let n=e.parent;switch(e.type){case"ClassDeclaration":case"FunctionDeclaration":return t("ExportDefaultDeclaration"===(r=n).type||"ExportNamedDeclaration"===r.type||"ExportAllDeclaration"===r.type||"ExportSpecifier"===r.type?n:e);case"ClassExpression":return t(n.parent);case"ArrowFunctionExpression":case"FunctionExpression":if("CallExpression"!==n.type&&"NewExpression"!==n.type){for(;!this.getCommentsBefore(n).length&&!/Function/u.test(n.type)&&"MethodDefinition"!==n.type&&"Property"!==n.type&&(n=n.parent,n););if(n&&"FunctionDeclaration"!==n.type&&"Program"!==n.type)return t(n)}return t(e);default:return null}var r}getNodeByRangeIndex(e){let t=null;return Vt.traverse(this.ast,{visitorKeys:this.visitorKeys,enter(n){n.range[0]<=e&&ethis.text.length)throw new RangeError(`Index out of range (requested index ${e}, but source text has length ${this.text.length}).`);if(e===this.text.length)return{line:this.lines.length,column:this.lines[this.lines.length-1].length};const t=F.default.sortedLastIndex(this.lineStartIndices,e);return{line:t,column:e-this.lineStartIndices[t-1]}}getIndexFromLoc(e){if("object"!=typeof e||"number"!=typeof e.line||"number"!=typeof e.column)throw new TypeError("Expected `loc` to be an object with numeric `line` and `column` properties.");if(e.line<=0)throw new RangeError(`Line number out of range (line ${e.line} requested). Line numbers should be 1-based.`);if(e.line>this.lineStartIndices.length)throw new RangeError(`Line number out of range (line ${e.line} requested, but only ${this.lineStartIndices.length} lines present).`);const t=this.lineStartIndices[e.line-1],n=e.line===this.lineStartIndices.length?this.text.length:this.lineStartIndices[e.line],r=t+e.column;if(e.line===this.lineStartIndices.length&&r>n||e.line=n)throw new RangeError(`Column number out of range (column ${e.column} requested, but the length of line ${e.line} is ${n-t}).`);return r}}};const gn=M.default("eslint:code-path");function hn(e){return e.id+(e.reachable?"":"!")}function yn(e,t){const n=t?`:${t}`:"";switch(e.type){case"Identifier":return`${e.type}${n} (${e.name})`;case"Literal":return`${e.type}${n} (${e.value})`;default:return`${e.type}${n}`}}var xn={enabled:gn.enabled,dump:gn,dumpState:gn.enabled?function(e,t,n){for(let r=0;r=0&&o.nodes[t]===yn(e,"enter")?o.nodes[t]=yn(e,void 0):o.nodes.push(yn(e,"exit"))}else o.nodes.push(yn(e,"enter"))}gn([`${t.currentSegments.map(hn).join(",")})`,`${e.type}${n?":exit":""}`].join(" "))}:gn,dumpDot:gn.enabled?function(e){let t='\ndigraph {\nnode[shape=box,style="rounded,filled",fillcolor=white];\ninitial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];\n';e.returnedSegments.length>0&&(t+='final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];\n'),e.thrownSegments.length>0&&(t+='thrown[label="✘",shape=circle,width=0.3,height=0.3,fixedsize];\n');const n=Object.create(null),r=this.makeDotArrows(e,n);for(const e in n){const r=n[e];t+=`${e}[`,r.reachable?t+='label="':t+='style="rounded,dashed,filled",fillcolor="#FF9800",label="<>\\n',r.internal.nodes.length>0?t+=r.internal.nodes.join("\\n"):t+="????",t+='"];\n'}t+=`${r}\n`,t+="}",gn("DOT",t)}:gn,makeDotArrows(e,t){const n=[[e.initialSegment,0]],r=t||Object.create(null);let o=e.initialSegment.id,s=`initial->${e.initialSegment.id}`;for(;n.length>0;){const e=n.pop(),t=e[0],a=e[1];if(r[t.id]&&0===a)continue;r[t.id]=t;const i=t.allNextSegments[a];i&&(o===t.id?s+=`->${i.id}`:s+=`;\n${t.id}->${i.id}`,o=i.id,n.unshift([t,1+a]),n.push([i,0]))}return e.returnedSegments.forEach((e=>{o===e.id?s+="->final":s+=`;\n${e.id}->final`,o=null})),e.thrownSegments.forEach((e=>{o===e.id?s+="->thrown":s+=`;\n${e.id}->thrown`,o=null})),`${s};`}};function bn(e){return e.reachable}class En{constructor(e,t,n){this.id=e,this.nextSegments=[],this.prevSegments=t.filter(bn),this.allNextSegments=[],this.allPrevSegments=t,this.reachable=n,Object.defineProperty(this,"internal",{value:{used:!1,loopedPrevSegments:[]}}),xn.enabled&&(this.internal.nodes=[])}isLoopedPrevSegment(e){return-1!==this.internal.loopedPrevSegments.indexOf(e)}static newRoot(e){return new En(e,[],!0)}static newNext(e,t){return new En(e,En.flattenUnusedSegments(t),t.some(bn))}static newUnreachable(e,t){const n=new En(e,En.flattenUnusedSegments(t),!1);return En.markUsed(n),n}static newDisconnected(e,t){return new En(e,[],t.some(bn))}static markUsed(e){if(e.internal.used)return;let t;if(e.internal.used=!0,e.reachable)for(t=0;t=0?t:o.length+t,a=n>=0?n:o.length+n,i=[];for(let t=0;te.count;){const t=[];for(let r=0,o=n.length/2|0;r0&&e.some(Cn)}makeNext(e,t){return vn(this,e,t,Sn.newNext)}makeUnreachable(e,t){return vn(this,e,t,Sn.newUnreachable)}makeDisconnected(e,t){return vn(this,e,t,Sn.newDisconnected)}add(e){z.default(e.length>=this.count,`${e.length} >= ${this.count}`),this.segmentsList.push(An(this,e))}replaceHead(e){z.default(e.length>=this.count,`${e.length} >= ${this.count}`),this.segmentsList.splice(-1,1,An(this,e))}addAll(e){z.default(e.count===this.count);const t=e.segmentsList;for(let e=0;e=2&&Sn.markPrevSegmentAsLooped(s,n),e.notifyLooped(n,s)}}function On(e,t,n){t.processed||(t.trueForkContext.add(n),t.falseForkContext.add(n),t.qqForkContext.add(n)),!0!==e.test&&e.brokenForkContext.addAll(t.falseForkContext),e.endOfTestSegments=t.trueForkContext.makeNext(0,-1)}var Bn=class{constructor(e,t){this.idGenerator=e,this.notifyLooped=t,this.forkContext=wn.newRoot(e),this.choiceContext=null,this.switchContext=null,this.tryContext=null,this.loopContext=null,this.breakContext=null,this.chainContext=null,this.currentSegments=[],this.initialSegment=this.forkContext.head[0];const n=this.finalSegments=[],r=this.returnedForkContext=[],o=this.thrownForkContext=[];r.add=Pn.bind(null,r,o,n),o.add=Pn.bind(null,o,r,n)}get headSegments(){return this.forkContext.head}get parentForkContext(){const e=this.forkContext;return e&&e.upper}pushForkContext(e){return this.forkContext=wn.newEmpty(this.forkContext,e),this.forkContext}popForkContext(){const e=this.forkContext;return this.forkContext=e.upper,this.forkContext.replaceHead(e.makeNext(0,-1)),e}forkPath(){this.forkContext.add(this.parentForkContext.makeNext(-1,-1))}forkBypassPath(){this.forkContext.add(this.parentForkContext.head)}pushChoiceContext(e,t){this.choiceContext={upper:this.choiceContext,kind:e,isForkingAsResult:t,trueForkContext:wn.newEmpty(this.forkContext),falseForkContext:wn.newEmpty(this.forkContext),qqForkContext:wn.newEmpty(this.forkContext),processed:!1}}popChoiceContext(){const e=this.choiceContext;this.choiceContext=e.upper;const t=this.forkContext,n=t.head;switch(e.kind){case"&&":case"||":case"??":if(e.processed||(e.trueForkContext.add(n),e.falseForkContext.add(n),e.qqForkContext.add(n)),e.isForkingAsResult){const t=this.choiceContext;return t.trueForkContext.addAll(e.trueForkContext),t.falseForkContext.addAll(e.falseForkContext),t.qqForkContext.addAll(e.qqForkContext),t.processed=!0,e}break;case"test":e.processed?(e.falseForkContext.clear(),e.falseForkContext.add(n)):(e.trueForkContext.clear(),e.trueForkContext.add(n));break;case"loop":return e;default:throw new Error("unreachable")}const r=e.trueForkContext;return r.addAll(e.falseForkContext),t.replaceHead(r.makeNext(0,-1)),e}makeLogicalRight(){const e=this.choiceContext,t=this.forkContext;if(e.processed){let n;switch(e.kind){case"&&":n=e.trueForkContext;break;case"||":n=e.falseForkContext;break;case"??":n=e.qqForkContext;break;default:throw new Error("unreachable")}t.replaceHead(n.makeNext(0,-1)),n.clear(),e.processed=!1}else{switch(e.kind){case"&&":e.falseForkContext.add(t.head);break;case"||":e.trueForkContext.add(t.head);break;case"??":e.trueForkContext.add(t.head),e.falseForkContext.add(t.head);break;default:throw new Error("unreachable")}t.replaceHead(t.makeNext(-1,-1))}}makeIfConsequent(){const e=this.choiceContext,t=this.forkContext;e.processed||(e.trueForkContext.add(t.head),e.falseForkContext.add(t.head),e.qqForkContext.add(t.head)),e.processed=!1,t.replaceHead(e.trueForkContext.makeNext(0,-1))}makeIfAlternate(){const e=this.choiceContext,t=this.forkContext;e.trueForkContext.clear(),e.trueForkContext.add(t.head),e.processed=!0,t.replaceHead(e.falseForkContext.makeNext(0,-1))}pushChainContext(){this.chainContext={upper:this.chainContext,countChoiceContexts:0}}popChainContext(){const e=this.chainContext;this.chainContext=e.upper;for(let t=e.countChoiceContexts;t>0;--t)this.popChoiceContext()}makeOptionalNode(){this.chainContext&&(this.chainContext.countChoiceContexts+=1,this.pushChoiceContext("??",!1))}makeOptionalRight(){this.chainContext&&this.makeLogicalRight()}pushSwitchContext(e,t){this.switchContext={upper:this.switchContext,hasCase:e,defaultSegments:null,defaultBodySegments:null,foundDefault:!1,lastIsDefault:!1,countForks:0},this.pushBreakContext(!0,t)}popSwitchContext(){const e=this.switchContext;this.switchContext=e.upper;const t=this.forkContext,n=this.popBreakContext().brokenForkContext;if(0===e.countForks)return void(n.empty||(n.add(t.makeNext(-1,-1)),t.replaceHead(n.makeNext(0,-1))));const r=t.head;this.forkBypassPath();const o=t.head;n.add(r),e.lastIsDefault||(e.defaultBodySegments?(!function(e,t){for(let n=0;n0&&e[0].reachable&&this.returnedForkContext.add(e)}};var Nn=class{constructor(e){this.prefix=String(e),this.n=0}next(){return this.n=1+this.n|0,this.n<0&&(this.n=1),this.prefix+this.n}};var jn=class{constructor(e,t,n){this.id=e,this.upper=t,this.childCodePaths=[],Object.defineProperty(this,"internal",{value:new Bn(new Nn(`${e}_`),n)}),t&&t.childCodePaths.push(this)}static getState(e){return e.internal}get initialSegment(){return this.internal.initialSegment}get finalSegments(){return this.internal.finalSegments}get returnedSegments(){return this.internal.returnedForkContext}get thrownSegments(){return this.internal.thrownForkContext}get currentSegments(){return this.internal.currentSegments}traverseSegments(e,t){let n,r;"function"==typeof e?(r=e,n={}):(n=e||{},r=t);const o=n.first||this.internal.initialSegment,s=n.last;let a=null,i=0,c=0,l=null;const u=Object.create(null),p=[[o,0]];let d=null,f=!1;const m={skip(){p.length<=1?f=!0:d=p[p.length-2][0]},break(){f=!0}};function g(e){return u[e.id]||l.isLoopedPrevSegment(e)}for(;p.length>0;){if(a=p[p.length-1],l=a[0],i=a[1],0===i){if(u[l.id]){p.pop();continue}if(l!==o&&l.prevSegments.length>0&&!l.prevSegments.every(g)){p.pop();continue}if(d&&-1!==l.prevSegments.indexOf(d)&&(d=null),u[l.id]=!0,!d&&(r.call(this,l,m),l===s&&m.skip(),f))break}c=l.nextSegments.length-1,i=1&&o.arguments[0]===t&&r.makeOptionalRight();break;case"MemberExpression":!0===o.optional&&o.property===t&&r.makeOptionalRight();break;case"LogicalExpression":o.right===t&&Mn(o.operator)&&r.makeLogicalRight();break;case"AssignmentExpression":o.right===t&&_n(o.operator)&&r.makeLogicalRight();break;case"ConditionalExpression":case"IfStatement":o.consequent===t?r.makeIfConsequent():o.alternate===t&&r.makeIfAlternate();break;case"SwitchCase":o.consequent[0]===t&&r.makeSwitchCaseBody(!1,!o.test);break;case"TryStatement":o.handler===t?r.makeCatchBlock():o.finalizer===t&&r.makeFinallyBlock();break;case"WhileStatement":o.test===t?r.makeWhileTest(Un(t)):(z.default(o.body===t),r.makeWhileBody());break;case"DoWhileStatement":o.body===t?r.makeDoWhileBody():(z.default(o.test===t),r.makeDoWhileTest(Un(t)));break;case"ForStatement":o.test===t?r.makeForTest(Un(t)):o.update===t?r.makeForUpdate():o.body===t&&r.makeForBody();break;case"ForInStatement":case"ForOfStatement":o.left===t?r.makeForInOfLeft():o.right===t?r.makeForInOfRight():(z.default(o.body===t),r.makeForInOfBody());break;case"AssignmentPattern":o.right===t&&(r.pushForkContext(),r.forkBypassPath(),r.forkPath())}}(this,e),function(e,t){let n=e.codePath,r=n&&jn.getState(n);const o=t.parent;switch(t.type){case"Program":case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":n&&(Vn(e,t),xn.dumpState(t,r,!1)),n=e.codePath=new jn(e.idGenerator.next(),n,e.onLooped),r=jn.getState(n),xn.dump(`onCodePathStart ${n.id}`),e.emitter.emit("onCodePathStart",n,t);break;case"ChainExpression":r.pushChainContext();break;case"CallExpression":case"MemberExpression":!0===t.optional&&r.makeOptionalNode();break;case"LogicalExpression":Mn(t.operator)&&r.pushChoiceContext(t.operator,qn(t));break;case"AssignmentExpression":_n(t.operator)&&r.pushChoiceContext(t.operator.slice(0,-1),qn(t));break;case"ConditionalExpression":case"IfStatement":r.pushChoiceContext("test",!1);break;case"SwitchStatement":r.pushSwitchContext(t.cases.some(Rn),$n(t));break;case"TryStatement":r.pushTryContext(Boolean(t.finalizer));break;case"SwitchCase":o.discriminant!==t&&o.cases[0]!==t&&r.forkPath();break;case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":r.pushLoopContext(t.type,$n(t));break;case"LabeledStatement":Ln.test(t.body.type)||r.pushBreakContext(!1,t.label.name)}Vn(e,t),xn.dumpState(t,r,!1)}(this,e),this.original.enterNode(e),this.currentNode=null}leaveNode(e){this.currentNode=e,function(e,t){const n=e.codePath,r=jn.getState(n);let o=!1;switch(t.type){case"ChainExpression":r.popChainContext();break;case"IfStatement":case"ConditionalExpression":r.popChoiceContext();break;case"LogicalExpression":Mn(t.operator)&&r.popChoiceContext();break;case"AssignmentExpression":_n(t.operator)&&r.popChoiceContext();break;case"SwitchStatement":r.popSwitchContext();break;case"SwitchCase":0===t.consequent.length&&r.makeSwitchCaseBody(!0,!t.test),r.forkContext.reachable&&(o=!0);break;case"TryStatement":r.popTryContext();break;case"BreakStatement":Vn(e,t),r.makeBreak(t.label&&t.label.name),o=!0;break;case"ContinueStatement":Vn(e,t),r.makeContinue(t.label&&t.label.name),o=!0;break;case"ReturnStatement":Vn(e,t),r.makeReturn(),o=!0;break;case"ThrowStatement":Vn(e,t),r.makeThrow(),o=!0;break;case"Identifier":(function(e){const t=e.parent;switch(t.type){case"LabeledStatement":case"BreakStatement":case"ContinueStatement":case"ArrayPattern":case"RestElement":case"ImportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"CatchClause":return!1;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ClassDeclaration":case"ClassExpression":case"VariableDeclarator":return t.id!==e;case"Property":case"MethodDefinition":return t.key!==e||t.computed||t.shorthand;case"AssignmentPattern":return t.key!==e;default:return!0}})(t)&&(r.makeFirstThrowablePathInTryBlock(),o=!0);break;case"CallExpression":case"ImportExpression":case"MemberExpression":case"NewExpression":case"YieldExpression":r.makeFirstThrowablePathInTryBlock();break;case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":r.popLoopContext();break;case"AssignmentPattern":r.popForkContext();break;case"LabeledStatement":Ln.test(t.body.type)||r.popBreakContext()}o||Vn(e,t),xn.dumpState(t,r,!0)}(this,e),this.original.leaveNode(e),Wn(this,e),this.currentNode=null}onLooped(e,t){e.reachable&&t.reachable&&(xn.dump(`onCodePathSegmentLoop ${e.id} -> ${t.id}`),this.emitter.emit("onCodePathSegmentLoop",e,t,this.currentNode))}};function zn(e,t){return e.line-t.line||e.column-t.column}function Jn(e){const t=[];let n=0,r=null;const o=new Map,s=new Set,a=new Set;for(const i of e.problems){for(;n"disable"===e.type&&!a.has(e))).map((t=>({ruleId:null,message:t.ruleId?`Unused eslint-disable directive (no problems were reported from '${t.ruleId}').`:"Unused eslint-disable directive (no problems were reported).",line:t.unprocessedDirective.line,column:t.unprocessedDirective.column,severity:"warn"===e.reportUnusedDisableDirectives?1:2,nodeType:null})))}}const Kn=M.default("eslint:config-comment-parser");function Yn(e){switch(e.type){case"identifier":return[e.value];case"matches":{const t=e.selectors.map(Yn);return t.every(Boolean)?F.default.union(...t):null}case"compound":{const t=e.selectors.map(Yn).filter((e=>e));return t.length?F.default.intersection(...t):null}case"child":case"descendant":case"sibling":case"adjacent":return Yn(e.right);default:return null}}function Hn(e){switch(e.type){case"child":case"descendant":case"sibling":case"adjacent":return Hn(e.left)+Hn(e.right);case"compound":case"not":case"matches":return e.selectors.reduce(((e,t)=>e+Hn(t)),0);case"attribute":case"field":case"nth-child":case"nth-last-child":return 1;default:return 0}}function Xn(e){switch(e.type){case"child":case"descendant":case"sibling":case"adjacent":return Xn(e.left)+Xn(e.right);case"compound":case"not":case"matches":return e.selectors.reduce(((e,t)=>e+Xn(t)),0);case"identifier":return 1;default:return 0}}function Qn(e,t){return e.attributeCount-t.attributeCount||e.identifierCount-t.identifierCount||(e.rawSelector<=t.rawSelector?-1:1)}const Zn=F.default.memoize((e=>{const t=function(e){try{return K.default.parse(e.replace(/:exit$/u,""))}catch(t){if(t.location&&t.location.start&&"number"==typeof t.location.start.offset)throw new SyntaxError(`Syntax error in selector "${e}" at position ${t.location.start.offset}: ${t.message}`);throw t}}(e);return{rawSelector:e,isExit:e.endsWith(":exit"),parsedSelector:t,listenerTypes:Yn(t),attributeCount:Hn(t),identifierCount:Xn(t)}}));var er=class{constructor(e,t){this.emitter=e,this.esqueryOptions=t,this.currentAncestry=[],this.enterSelectorsByNodeType=new Map,this.exitSelectorsByNodeType=new Map,this.anyTypeEnterSelectors=[],this.anyTypeExitSelectors=[],e.eventNames().forEach((e=>{const t=Zn(e);if(t.listenerTypes){const e=t.isExit?this.exitSelectorsByNodeType:this.enterSelectorsByNodeType;return void t.listenerTypes.forEach((n=>{e.has(n)||e.set(n,[]),e.get(n).push(t)}))}(t.isExit?this.anyTypeExitSelectors:this.anyTypeEnterSelectors).push(t)})),this.anyTypeEnterSelectors.sort(Qn),this.anyTypeExitSelectors.sort(Qn),this.enterSelectorsByNodeType.forEach((e=>e.sort(Qn))),this.exitSelectorsByNodeType.forEach((e=>e.sort(Qn)))}applySelector(e,t){K.default.matches(e,t.parsedSelector,this.currentAncestry,this.esqueryOptions)&&this.emitter.emit(t.rawSelector,e)}applySelectors(e,t){const n=(t?this.exitSelectorsByNodeType:this.enterSelectorsByNodeType).get(e.type)||[],r=t?this.anyTypeExitSelectors:this.anyTypeEnterSelectors;let o=0,s=0;for(;o=n.length||str(e[1],t),insertTextBefore(e,t){return this.insertTextBeforeRange(e.range,t)},insertTextBeforeRange:(e,t)=>tr(e[0],t),replaceText(e,t){return this.replaceTextRange(e.range,t)},replaceTextRange:(e,t)=>({range:e,text:t}),remove(e){return this.removeRange(e.range)},removeRange:e=>({range:e,text:""})}),rr=(e,t)=>t?e.replace(/\{\{([^{}]+?)\}\}/gu,((e,n)=>{const r=n.trim();return r in t?t[r]:e})):e;function or(e){return e.loc?e.loc.start?e.loc:{start:e.loc,end:null}:e.node.loc}function sr(e){e&&z.default(e.range&&"number"==typeof e.range[0]&&"number"==typeof e.range[1],`Fix has invalid range: ${JSON.stringify(e,null,2)}`)}function ar(e,t){return e.range[0]-t.range[0]||e.range[1]-t.range[1]}function ir(e,t){if("function"!=typeof e.fix)return null;const n=e.fix(nr);return n&&Symbol.iterator in n?function(e,t){for(const t of e)sr(t);if(0===e.length)return null;if(1===e.length)return e[0];e.sort(ar);const n=t.text,r=e[0].range[0],o=e[e.length-1].range[1];let s="",a=Number.MIN_SAFE_INTEGER;for(const t of e)z.default(t.range[0]>=a,"Fix objects must not be overlapped in a report."),t.range[0]>=0&&(s+=n.slice(Math.max(0,r,a),t.range[0])),s+=t.text,a=t.range[1];return s+=n.slice(Math.max(0,r,a),o),{range:[r,o],text:s}}(Array.from(n),t):(sr(n),n)}function cr(e,t,n){return e.suggest&&Array.isArray(e.suggest)?e.suggest.map((e=>{const r=e.desc||n[e.messageId];return{...e,desc:rr(r,e.data),fix:ir(e,t)}})).filter((({fix:e})=>e)):[]}var lr=function(e){return(...t)=>{const n=function(...e){return 1===e.length?Object.assign({},e[0]):"string"==typeof e[1]?{node:e[0],message:e[1],data:e[2],fix:e[3]}:{node:e[0],loc:e[1],message:e[2],data:e[3],fix:e[4]}}(...t),r=e.messageIds;let o;if(function(e){e.node?z.default("object"==typeof e.node,"Node must be an object"):z.default(e.loc,"Node must be provided when reporting error if location is not provided")}(n),n.messageId){if(!r)throw new TypeError("context.report() called with a messageId, but no messages were present in the rule metadata.");const e=n.messageId;if(n.message)throw new TypeError("context.report() called with a message and a messageId. Please only pass one.");if(!r||!Object.prototype.hasOwnProperty.call(r,e))throw new TypeError(`context.report() called with a messageId of '${e}' which is not present in the 'messages' config: ${JSON.stringify(r,null,2)}`);o=r[e]}else{if(!n.message)throw new TypeError("Missing `message` property in report() call; add a message that describes the linting problem.");o=n.message}return function(e,t){e&&Array.isArray(e)&&e.forEach((e=>{if(e.messageId){const{messageId:n}=e;if(!t)throw new TypeError(`context.report() called with a suggest option with a messageId '${n}', but no messages were present in the rule metadata.`);if(!t[n])throw new TypeError(`context.report() called with a suggest option with a messageId '${n}' which is not present in the 'messages' config: ${JSON.stringify(t,null,2)}`);if(e.desc)throw new TypeError("context.report() called with a suggest option that defines both a 'messageId' and an 'desc'. Please only pass one.")}else if(!e.desc)throw new TypeError("context.report() called with a suggest option that doesn't have either a `desc` or `messageId`");if("function"!=typeof e.fix)throw new TypeError(`context.report() called with a suggest option without a fix function. See: ${e}`)}))}(n.suggest,r),function(e){const t={ruleId:e.ruleId,severity:e.severity,message:e.message,line:e.loc.start.line,column:e.loc.start.column+1,nodeType:e.node&&e.node.type||null};return e.messageId&&(t.messageId=e.messageId),e.loc.end&&(t.endLine=e.loc.end.line,t.endColumn=e.loc.end.column+1),e.fix&&(t.fix=e.fix),e.suggestions&&e.suggestions.length>0&&(t.suggestions=e.suggestions),t}({ruleId:e.ruleId,severity:e.severity,node:n.node,message:rr(o,n.data),messageId:n.messageId,loc:or(n),fix:e.disableFixes?null:ir(n,e.sourceCode),suggestions:e.disableFixes?[]:cr(n,e.sourceCode,r)})}};const ur=M.default("eslint:rules");class pr extends Map{constructor(e){let t=e.length;super(ur.enabled?e.map((([e,n])=>{let r=null;return[e,()=>(r||(ur("Loading rule %o (remaining=%d)",e,--t),r=n()),r)]})):e),Object.defineProperty(pr.prototype,"set",{configurable:!0,value:void 0})}get(e){const t=super.get(e);return t&&t()}*values(){for(const e of super.values())yield e()}*entries(){for(const[e,t]of super.entries())yield[e,t()]}forEach(e,t){for(const[n,r]of super.entries())e.call(t,r(),n,this)}}Object.defineProperties(pr.prototype,{clear:{configurable:!0,value:void 0},delete:{configurable:!0,value:void 0},[Symbol.iterator]:{configurable:!0,writable:!0,value:pr.prototype.entries}});var dr={LazyLoadingRuleMap:pr},fr=ie((function(e){const{breakableTypePattern:t,createGlobalLinebreakMatcher:n,lineBreakPattern:r,shebangPattern:o}=kt,s=/^(?:Function(?:Declaration|Expression)|ArrowFunctionExpression)$/u,a=/^(?:DoWhile|For|ForIn|ForOf|While)Statement$/u,i=/Array$/u,c=/^(?:every|filter|find|findIndex|forEach|map|some)$/u,l=/^(?:bind|call|apply)$/u,u=/^[\s*]*@this/mu,p=new Set(["\r\n","\r","\n","\u2028","\u2029"]),d=new Set(["Program","BlockStatement","SwitchCase"]),f=/^(?:0|0[0-7]*[89]\d*|[1-9](?:_?\d)*)$/u,m=/^(?:[^\\]|\\.)*\\(?:[1-9]|0[0-9])/us,g=new Set(["&&=","||=","??="]);function h(e,t,n){const r=e.identifier,o=0===t||n[t-1].identifier!==r;return r&&!1===e.init&&e.isWrite()&&o}function y(e){return e[0]!==e[0].toLocaleLowerCase()}function x(e){return e.id&&y(e.id.name)}function b(e){for(let t=e;t;t=t.parent)if(s.test(t.type))return t;return null}function E(e){return Boolean(e&&s.test(e.type))}function S(e){return Boolean(e&&a.test(e.type))}function C(e){return"Literal"===e.type&&null===e.value&&!e.regex&&!e.bigint}function v(e){return C(e)||"Identifier"===e.type&&"undefined"===e.name||"UnaryExpression"===e.type&&"void"===e.operator}function A(e){return"CallExpression"===e.parent.type&&e.parent.callee===e}function k(e){switch(e.type){case"Literal":if(null!==e.value)return String(e.value);if(C(e))return String(e.value);if(e.regex)return`/${e.regex.pattern}/${e.regex.flags}`;if(e.bigint)return e.bigint;break;case"TemplateLiteral":if(0===e.expressions.length&&1===e.quasis.length)return e.quasis[0].value.cooked}return null}function w(e){let t;switch(e&&e.type){case"ChainExpression":return w(e.expression);case"Property":case"MethodDefinition":t=e.key;break;case"MemberExpression":t=e.property}return t?"Identifier"!==t.type||e.computed?k(t):t.name:null}function P(e){return e&&"ChainExpression"===e.type?e.expression:e}function T(e,t){return"string"==typeof t?e===t:t.test(e)}function I(e,t){return"Identifier"===e.type&&T(e.name,t)}function D(e,t,n){const r=P(e);if("MemberExpression"!==r.type)return!1;if(t&&!I(r.object,t))return!1;if(n){const e=w(r);if("string"!=typeof e||!T(e,n))return!1}return!0}function O(e,t){return e.regex||t.regex?Boolean(e.regex&&t.regex&&e.regex.pattern===t.regex.pattern&&e.regex.flags===t.regex.flags):e.bigint||t.bigint?e.bigint===t.bigint:e.value===t.value}function B(e){return D(e,"Reflect","apply")}function N(e){return D(e,i,"from")}function j(e){return D(e,null,c)}function L(e){return t=>!e(t)}function R(e){return"=>"===e.value&&"Punctuator"===e.type}function M(e){return","===e.value&&"Punctuator"===e.type}function _(e){return"."===e.value&&"Punctuator"===e.type}function $(e){return"?."===e.value&&"Punctuator"===e.type}function U(e){return";"===e.value&&"Punctuator"===e.type}function V(e){return":"===e.value&&"Punctuator"===e.type}function W(e){return"("===e.value&&"Punctuator"===e.type}function G(e){return")"===e.value&&"Punctuator"===e.type}function z(e){return"["===e.value&&"Punctuator"===e.type}function J(e){return"]"===e.value&&"Punctuator"===e.type}function K(e){return"{"===e.value&&"Punctuator"===e.type}function H(e){return"}"===e.value&&"Punctuator"===e.type}function X(e,t){return e.id?t.getTokenAfter(e.id,W):t.getFirstToken(e,W)}function Q(e){return"LogicalExpression"===e.type&&("&&"===e.operator||"||"===e.operator)}function Z(e){return"LogicalExpression"===e.type&&"??"===e.operator}e.exports={COMMENTS_IGNORE_PATTERN:/^\s*(?:eslint|jshint\s+|jslint\s+|istanbul\s+|globals?\s+|exported\s+|jscs)/u,LINEBREAKS:p,LINEBREAK_MATCHER:r,SHEBANG_MATCHER:o,STATEMENT_LIST_PARENTS:d,isTokenOnSameLine:(e,t)=>e.loc.end.line===t.loc.start.line,isNullOrUndefined:v,isCallee:A,isES5Constructor:x,getUpperFunction:b,isFunction:E,isLoop:S,isInLoop:function(e){for(let t=e;t&&!E(t);t=t.parent)if(S(t))return!0;return!1},isArrayFromMethod:N,isParenthesised:function(e,t){const n=e.getTokenBefore(t),r=e.getTokenAfter(t);return Boolean(n&&r)&&"("===n.value&&n.range[1]<=t.range[0]&&")"===r.value&&r.range[0]>=t.range[1]},createGlobalLinebreakMatcher:n,equalTokens:function(e,t,n){const r=n.getTokens(e),o=n.getTokens(t);if(r.length!==o.length)return!1;for(let e=0;e"Literal"===e.type&&"string"==typeof e.value||"TemplateLiteral"===e.type,isBreakableStatement:e=>t.test(e.type),getModifyingReferences:e=>e.filter(h),isSurroundedBy:(e,t)=>e[0]===t&&e[e.length-1]===t,isDirectiveComment(e){const t=e.value.trim();return"Line"===e.type&&0===t.indexOf("eslint-")||"Block"===e.type&&(0===t.indexOf("global ")||0===t.indexOf("eslint ")||0===t.indexOf("eslint-"))},getTrailingStatement:Y.default.ast.trailingStatement,getVariableByName(e,t){let n=e;for(;n;){const e=n.set.get(t);if(e)return e;n=n.upper}return null},isDefaultThisBinding(e,t,{capIsConstructor:n=!0}={}){if(n&&x(e)||function(e,t){const n=t.getJSDocComment(e);return!(!n||!u.test(n.value))||t.getCommentsBefore(e).some((e=>u.test(e.value)))}(e,t))return!1;const r=null===e.id;let o=e;for(;o;){const e=o.parent;switch(e.type){case"LogicalExpression":case"ConditionalExpression":case"ChainExpression":o=e;break;case"ReturnStatement":{const t=b(e);if(null===t||!A(t))return!0;o=t.parent;break}case"ArrowFunctionExpression":if(o!==e.body||!A(e))return!0;o=e.parent;break;case"Property":case"MethodDefinition":return e.value!==o;case"AssignmentExpression":case"AssignmentPattern":return"MemberExpression"!==e.left.type&&!(n&&r&&"Identifier"===e.left.type&&y(e.left.name));case"VariableDeclarator":return!(n&&r&&e.init===o&&"Identifier"===e.id.type&&y(e.id.name));case"MemberExpression":if(e.object===o&&D(e,null,l)){const t="ChainExpression"===e.parent.type?e.parent:e;return!(A(t)&&t.parent.arguments.length>=1&&!v(t.parent.arguments[0]))}return!0;case"CallExpression":return B(e.callee)?3!==e.arguments.length||e.arguments[0]!==o||v(e.arguments[1]):N(e.callee)?3!==e.arguments.length||e.arguments[1]!==o||v(e.arguments[2]):!j(e.callee)||(2!==e.arguments.length||e.arguments[0]!==o||v(e.arguments[1]));default:return!0}}return!0},getPrecedence(e){switch(e.type){case"SequenceExpression":return 0;case"AssignmentExpression":case"ArrowFunctionExpression":case"YieldExpression":return 1;case"ConditionalExpression":return 3;case"LogicalExpression":switch(e.operator){case"||":case"??":return 4;case"&&":return 5}case"BinaryExpression":switch(e.operator){case"|":return 6;case"^":return 7;case"&":return 8;case"==":case"!=":case"===":case"!==":return 9;case"<":case"<=":case">":case">=":case"in":case"instanceof":return 10;case"<<":case">>":case">>>":return 11;case"+":case"-":return 12;case"*":case"/":case"%":return 13;case"**":return 15}case"UnaryExpression":case"AwaitExpression":return 16;case"UpdateExpression":return 17;case"CallExpression":case"ChainExpression":case"ImportExpression":return 18;case"NewExpression":return 19;default:return 20}},isEmptyBlock:e=>Boolean(e&&"BlockStatement"===e.type&&0===e.body.length),isEmptyFunction:t=>E(t)&&e.exports.isEmptyBlock(t.body),getDirectivePrologue(e){const t=[];if("Program"===e.type||"FunctionDeclaration"===e.type||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type){const n="Program"===e.type?e.body:e.body.body;for(const e of n){if("ExpressionStatement"!==e.type||"Literal"!==e.expression.type)break;t.push(e)}}return t},isDecimalInteger:e=>"Literal"===e.type&&"number"==typeof e.value&&f.test(e.raw),isDecimalIntegerNumericToken:e=>"Numeric"===e.type&&f.test(e.value),getFunctionNameWithKind(e){const t=e.parent,n=[];if("MethodDefinition"===t.type&&t.static&&n.push("static"),e.async&&n.push("async"),e.generator&&n.push("generator"),"ArrowFunctionExpression"===e.type)n.push("arrow","function");else if("Property"===t.type||"MethodDefinition"===t.type){if("constructor"===t.kind)return"constructor";"get"===t.kind?n.push("getter"):"set"===t.kind?n.push("setter"):n.push("method")}else n.push("function");if(e.id)n.push(`'${e.id.name}'`);else{const e=w(t);null!==e&&n.push(`'${e}'`)}return n.join(" ")},getFunctionHeadLoc(e,t){const n=e.parent;let r=null,o=null;if("ArrowFunctionExpression"===e.type){const n=t.getTokenBefore(e.body,R);r=n.loc.start,o=n.loc.end}else"Property"===n.type||"MethodDefinition"===n.type?(r=n.loc.start,o=X(e,t).loc.start):(r=e.loc.start,o=X(e,t).loc.start);return{start:Object.assign({},r),end:Object.assign({},o)}},getNextLocation:(e,{line:t,column:n})=>n"Literal"===e.type&&("number"==typeof e.value||Boolean(e.bigint)),canTokensBeAdjacent(e,t){const n={ecmaVersion:q.default.latestEcmaVersion,comment:!0,range:!0};let r,o;if("string"==typeof e){let t;try{t=q.default.tokenize(e,n)}catch{return!1}const o=t.comments;if(r=t[t.length-1],o.length){const e=o[o.length-1];e.range[0]>r.range[0]&&(r=e)}}else r=e;if("Shebang"===r.type)return!1;if("string"==typeof t){let e;try{e=q.default.tokenize(t,n)}catch{return!1}const r=e.comments;if(o=e[0],r.length){const e=r[0];e.range[0]m.test(e),isLogicalExpression:Q,isCoalesceExpression:Z,isMixedLogicalAndCoalesceExpressions:function(e,t){return Q(e)&&Z(t)||Z(e)&&Q(t)},isNullLiteral:C,getStaticStringValue:k,getStaticPropertyName:w,skipChainExpression:P,isSpecificId:I,isSpecificMemberAccess:D,equalLiteralValue:O,isSameReference:function e(t,n,r=!1){if(t.type!==n.type)return"ChainExpression"===t.type?e(t.expression,n,r):"ChainExpression"===n.type&&e(t,n.expression,r);switch(t.type){case"Super":case"ThisExpression":return!0;case"Identifier":return t.name===n.name;case"Literal":return O(t,n);case"ChainExpression":return e(t.expression,n.expression,r);case"MemberExpression":if(!r){const o=w(t);if(null!==o)return e(t.object,n.object,r)&&o===w(n)}return t.computed===n.computed&&e(t.object,n.object,r)&&e(t.property,n.property,r);default:return!1}},isLogicalAssignmentOperator:function(e){return g.has(e)}}}));function mr(e){return"get"===e.kind||"set"===e.kind}function gr(e,t,n,r){const o=e.parent;return"CallExpression"===o.type&&fr.isSpecificMemberAccess(o.callee,n,r)&&o.arguments[t]===e}var hr={meta:{type:"suggestion",docs:{description:"enforce getter and setter pairs in objects and classes",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/accessor-pairs"},schema:[{type:"object",properties:{getWithoutSet:{type:"boolean",default:!1},setWithoutGet:{type:"boolean",default:!0},enforceForClassMembers:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{missingGetterInPropertyDescriptor:"Getter is not present in property descriptor.",missingSetterInPropertyDescriptor:"Setter is not present in property descriptor.",missingGetterInObjectLiteral:"Getter is not present for {{ name }}.",missingSetterInObjectLiteral:"Setter is not present for {{ name }}.",missingGetterInClass:"Getter is not present for class {{ name }}.",missingSetterInClass:"Setter is not present for class {{ name }}."}},create(e){const t=e.options[0]||{},n=!0===t.getWithoutSet,r=!1!==t.setWithoutGet,o=!1!==t.enforceForClassMembers,s=e.getSourceCode();function a(t,n){"Property"===t.type?e.report({node:t,messageId:`${n}InObjectLiteral`,loc:fr.getFunctionHeadLoc(t.value,s),data:{name:fr.getFunctionNameWithKind(t.value)}}):"MethodDefinition"===t.type?e.report({node:t,messageId:`${n}InClass`,loc:fr.getFunctionHeadLoc(t.value,s),data:{name:fr.getFunctionNameWithKind(t.value)}}):e.report({node:t,messageId:`${n}InPropertyDescriptor`})}function i(e,t){for(const n of e)a(n,t)}function c(e){const t=fr.getStaticPropertyName(e);return{key:null!==t?t:s.getTokens(e.key),getters:"get"===e.kind?[e]:[],setters:"set"===e.kind?[e]:[]}}function l(e,t){const n=e.find((e=>{return n=e.key,r=t.key,"string"==typeof n&&"string"==typeof r?n===r:!(!Array.isArray(n)||!Array.isArray(r))&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n"Property"===e.type)))}(e),function(e){if(gr(e,2,"Object","defineProperty")||gr(e,2,"Reflect","defineProperty"))return!0;const t=e.parent.parent;return"ObjectExpression"===t.type&&(gr(t,1,"Object","create")||gr(t,1,"Object","defineProperties"))}(e)&&function(e){const t=e.properties.filter((e=>"Property"===e.type&&"init"===e.kind&&!e.computed)).map((({key:e})=>e.name)),o=t.includes("get"),s=t.includes("set");r&&s&&!o&&a(e,"missingGetter"),n&&o&&!s&&a(e,"missingSetter")}(e)},o&&(p.ClassBody=function(e){const t=e.body.filter((e=>"MethodDefinition"===e.type));u(t.filter((e=>e.static))),u(t.filter((e=>!e.static)))})),p}},yr={meta:{type:"layout",docs:{description:"enforce linebreaks after opening and before closing array brackets",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/array-bracket-newline"},fixable:"whitespace",schema:[{oneOf:[{enum:["always","never","consistent"]},{type:"object",properties:{multiline:{type:"boolean"},minItems:{type:["integer","null"],minimum:0}},additionalProperties:!1}]}],messages:{unexpectedOpeningLinebreak:"There should be no linebreak after '['.",unexpectedClosingLinebreak:"There should be no linebreak before ']'.",missingOpeningLinebreak:"A linebreak is required after '['.",missingClosingLinebreak:"A linebreak is required before ']'."}},create(e){const t=e.getSourceCode();function n(e){const t=function(e){let t=!1,n=!1,r=0;return e?"consistent"===e?(t=!0,r=Number.POSITIVE_INFINITY):"always"===e||0===e.minItems?r=0:"never"===e?r=Number.POSITIVE_INFINITY:(n=Boolean(e.multiline),r=e.minItems||Number.POSITIVE_INFINITY):(t=!1,n=!0,r=Number.POSITIVE_INFINITY),{consistent:t,multiline:n,minItems:r}}(e);return{ArrayExpression:t,ArrayPattern:t}}function r(r){const o=r.elements,s=n(e.options[0])[r.type],a=t.getFirstToken(r),i=t.getLastToken(r),c=t.getTokenAfter(a,{includeComments:!0}),l=t.getTokenBefore(i,{includeComments:!0}),u=t.getTokenAfter(a),p=t.getTokenBefore(i);o.length>=s.minItems||s.multiline&&o.length>0&&c.loc.start.line!==l.loc.end.line||0===o.length&&"Block"===c.type&&c.loc.start.line!==l.loc.end.line&&c===l||s.consistent&&a.loc.end.line!==u.loc.start.line?(fr.isTokenOnSameLine(a,u)&&function(t,n){e.report({node:t,loc:n.loc,messageId:"missingOpeningLinebreak",fix:e=>e.insertTextAfter(n,"\n")})}(r,a),fr.isTokenOnSameLine(p,i)&&function(t,n){e.report({node:t,loc:n.loc,messageId:"missingClosingLinebreak",fix:e=>e.insertTextBefore(n,"\n")})}(r,i)):(fr.isTokenOnSameLine(a,u)||function(n,r){e.report({node:n,loc:r.loc,messageId:"unexpectedOpeningLinebreak",fix(e){const n=t.getTokenAfter(r,{includeComments:!0});return fr.isCommentToken(n)?null:e.removeRange([r.range[1],n.range[0]])}})}(r,a),fr.isTokenOnSameLine(p,i)||function(n,r){e.report({node:n,loc:r.loc,messageId:"unexpectedClosingLinebreak",fix(e){const n=t.getTokenBefore(r,{includeComments:!0});return fr.isCommentToken(n)?null:e.removeRange([n.range[1],r.range[0]])}})}(r,i))}return{ArrayPattern:r,ArrayExpression:r}}},xr={meta:{type:"layout",docs:{description:"enforce consistent spacing inside array brackets",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/array-bracket-spacing"},fixable:"whitespace",schema:[{enum:["always","never"]},{type:"object",properties:{singleValue:{type:"boolean"},objectsInArrays:{type:"boolean"},arraysInArrays:{type:"boolean"}},additionalProperties:!1}],messages:{unexpectedSpaceAfter:"There should be no space after '{{tokenValue}}'.",unexpectedSpaceBefore:"There should be no space before '{{tokenValue}}'.",missingSpaceAfter:"A space is required after '{{tokenValue}}'.",missingSpaceBefore:"A space is required before '{{tokenValue}}'."}},create(e){const t="always"===e.options[0],n=e.getSourceCode();function r(n){return!!e.options[1]&&e.options[1][n]===!t}const o={spaced:t,singleElementException:r("singleValue"),objectsInArraysException:r("objectsInArrays"),arraysInArraysException:r("arraysInArrays")};function s(e){return e&&("ObjectExpression"===e.type||"ObjectPattern"===e.type)}function a(e){return e&&("ArrayExpression"===e.type||"ArrayPattern"===e.type)}function i(t){if(o.spaced&&0===t.elements.length)return;const r=n.getFirstToken(t),i=n.getFirstToken(t,1),c=t.typeAnnotation?n.getTokenBefore(t.typeAnnotation):n.getLastToken(t),l=n.getTokenBefore(c),u=t.elements[0],p=t.elements[t.elements.length-1],d=o.objectsInArraysException&&s(u)||o.arraysInArraysException&&a(u)||o.singleElementException&&1===t.elements.length?!o.spaced:o.spaced,f=o.objectsInArraysException&&s(p)||o.arraysInArraysException&&a(p)||o.singleElementException&&1===t.elements.length?!o.spaced:o.spaced;fr.isTokenOnSameLine(r,i)&&(d&&!n.isSpaceBetweenTokens(r,i)&&function(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpaceAfter",data:{tokenValue:n.value},fix:e=>e.insertTextAfter(n," ")})}(t,r),!d&&n.isSpaceBetweenTokens(r,i)&&function(t,r){const o=n.getTokenAfter(r);e.report({node:t,loc:{start:r.loc.end,end:o.loc.start},messageId:"unexpectedSpaceAfter",data:{tokenValue:r.value},fix:e=>e.removeRange([r.range[1],o.range[0]])})}(t,r)),r!==l&&fr.isTokenOnSameLine(l,c)&&(f&&!n.isSpaceBetweenTokens(l,c)&&function(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpaceBefore",data:{tokenValue:n.value},fix:e=>e.insertTextBefore(n," ")})}(t,c),!f&&n.isSpaceBetweenTokens(l,c)&&function(t,r){const o=n.getTokenBefore(r);e.report({node:t,loc:{start:o.loc.end,end:r.loc.start},messageId:"unexpectedSpaceBefore",data:{tokenValue:r.value},fix:e=>e.removeRange([o.range[1],r.range[0]])})}(t,c))}return{ArrayPattern:i,ArrayExpression:i}}};const br=/^(?:Arrow)?FunctionExpression$/u,Er=/^(?:every|filter|find(?:Index)?|flatMap|forEach|map|reduce(?:Right)?|some|sort)$/u;function Sr(e){return e.reachable}function Cr(e){return fr.isSpecificMemberAccess(e,null,Er)}function vr(e){return["from","of","isArray"].includes(e)?"Array.".concat(e):"Array.prototype.".concat(e)}var Ar={meta:{type:"problem",docs:{description:"enforce `return` statements in callbacks of array methods",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/array-callback-return"},schema:[{type:"object",properties:{allowImplicit:{type:"boolean",default:!1},checkForEach:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{expectedAtEnd:"{{arrayMethodName}}() expects a value to be returned at the end of {{name}}.",expectedInside:"{{arrayMethodName}}() expects a return value from {{name}}.",expectedReturnValue:"{{arrayMethodName}}() expects a return value from {{name}}.",expectedNoReturnValue:"{{arrayMethodName}}() expects no useless return value from {{name}}."}},create(e){const t=e.options[0]||{allowImplicit:!1,checkForEach:!1},n=e.getSourceCode();let r={arrayMethodName:null,upper:null,codePath:null,hasReturn:!1,shouldCheck:!1,node:null};function o(o){if(!r.shouldCheck)return;let s=null;if("forEach"===r.arrayMethodName?t.checkForEach&&"ArrowFunctionExpression"===o.type&&o.expression&&(s="expectedNoReturnValue"):"BlockStatement"===o.body.type&&r.codePath.currentSegments.some(Sr)&&(s=r.hasReturn?"expectedAtEnd":"expectedInside"),s){const t=fr.getFunctionNameWithKind(o);e.report({node:o,loc:fr.getFunctionHeadLoc(o,n),messageId:s,data:{name:t,arrayMethodName:vr(r.arrayMethodName)}})}}return{onCodePathStart(e,t){let n=null;br.test(t.type)&&(n=function(e){let t=e;for(;t;){const e=t.parent;switch(e.type){case"LogicalExpression":case"ConditionalExpression":case"ChainExpression":t=e;break;case"ReturnStatement":{const n=fr.getUpperFunction(e);if(null===n||!fr.isCallee(n))return null;t=n.parent;break}case"CallExpression":return fr.isArrayFromMethod(e.callee)&&e.arguments.length>=2&&e.arguments[1]===t?"from":Cr(e.callee)&&e.arguments.length>=1&&e.arguments[0]===t?fr.getStaticPropertyName(e.callee):null;default:return null}}return null}(t)),r={arrayMethodName:n,upper:r,codePath:e,hasReturn:!1,shouldCheck:n&&!t.async&&!t.generator,node:t}},onCodePathEnd(){r=r.upper},ReturnStatement(n){if(!r.shouldCheck)return;r.hasReturn=!0;let o=null;"forEach"===r.arrayMethodName?t.checkForEach&&n.argument&&(o="expectedNoReturnValue"):t.allowImplicit||n.argument||(o="expectedReturnValue"),o&&e.report({node:n,messageId:o,data:{name:fr.getFunctionNameWithKind(r.node),arrayMethodName:vr(r.arrayMethodName)}})},"FunctionExpression:exit":o,"ArrowFunctionExpression:exit":o}}},kr={meta:{type:"layout",docs:{description:"enforce line breaks after each array element",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/array-element-newline"},fixable:"whitespace",schema:{definitions:{basicConfig:{oneOf:[{enum:["always","never","consistent"]},{type:"object",properties:{multiline:{type:"boolean"},minItems:{type:["integer","null"],minimum:0}},additionalProperties:!1}]}},items:[{oneOf:[{$ref:"#/definitions/basicConfig"},{type:"object",properties:{ArrayExpression:{$ref:"#/definitions/basicConfig"},ArrayPattern:{$ref:"#/definitions/basicConfig"}},additionalProperties:!1,minProperties:1}]}]},messages:{unexpectedLineBreak:"There should be no linebreak here.",missingLineBreak:"There should be a linebreak after this element."}},create(e){const t=e.getSourceCode();function n(e){let t,n=!1,r=!1;const o=e||"always";return o&&"always"!==o&&0!==o.minItems?"never"===o?t=Number.POSITIVE_INFINITY:"consistent"===o?(n=!0,t=Number.POSITIVE_INFINITY):(r=Boolean(o.multiline),t=o.minItems||Number.POSITIVE_INFINITY):t=0,{consistent:n,multiline:r,minItems:t}}function r(r){const o=r.elements,s=function(e){if(e&&(e.ArrayExpression||e.ArrayPattern)){let t,r;return e.ArrayExpression&&(t=n(e.ArrayExpression)),e.ArrayPattern&&(r=n(e.ArrayPattern)),{ArrayExpression:t,ArrayPattern:r}}const t=n(e);return{ArrayExpression:t,ArrayPattern:t}}(e.options[0])[r.type];if(!s)return;let a=!1;s.multiline&&(a=o.filter((e=>null!==e)).some((e=>e.loc.start.line!==e.loc.end.line)));const i=r.elements.map(((e,n)=>{const r=o[n-1];if(0===n||null===e||null===r)return!1;const s=t.getFirstTokenBetween(r,e,fr.isCommaToken),a=t.getTokenBefore(s),i=t.getTokenAfter(s);return!fr.isTokenOnSameLine(a,i)})).filter((e=>!0===e)).length,c=o.length>=s.minItems||s.multiline&&a||s.consistent&&i>0&&i{const s=o[r-1];if(0===r||null===n||null===s)return;const a=t.getFirstTokenBetween(s,n,fr.isCommaToken),i=t.getTokenBefore(a),l=t.getTokenAfter(a);c?fr.isTokenOnSameLine(i,l)&&function(n){const r=t.getTokenBefore(n,{includeComments:!0});e.report({loc:{start:r.loc.end,end:n.loc.start},messageId:"missingLineBreak",fix:e=>e.replaceTextRange([r.range[1],n.range[0]],"\n")})}(l):fr.isTokenOnSameLine(i,l)||function(n){const r=t.getTokenBefore(n,{includeComments:!0});e.report({loc:{start:r.loc.end,end:n.loc.start},messageId:"unexpectedLineBreak",fix(e){if(fr.isCommentToken(r))return null;if(!fr.isTokenOnSameLine(r,n))return e.replaceTextRange([r.range[1],n.range[0]]," ");const o=t.getTokenBefore(r,{includeComments:!0});return fr.isCommentToken(o)?null:e.replaceTextRange([o.range[1],r.range[0]],"")}})}(l)}))}return{ArrayPattern:r,ArrayExpression:r}}},wr={meta:{type:"suggestion",docs:{description:"require braces around arrow function bodies",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/arrow-body-style"},schema:{anyOf:[{type:"array",items:[{enum:["always","never"]}],minItems:0,maxItems:1},{type:"array",items:[{enum:["as-needed"]},{type:"object",properties:{requireReturnForObjectLiteral:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},fixable:"code",messages:{unexpectedOtherBlock:"Unexpected block statement surrounding arrow body.",unexpectedEmptyBlock:"Unexpected block statement surrounding arrow body; put a value of `undefined` immediately after the `=>`.",unexpectedObjectBlock:"Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the `=>`.",unexpectedSingleBlock:"Unexpected block statement surrounding arrow body; move the returned value immediately after the `=>`.",expectedBlock:"Expected block statement surrounding arrow body."}},create(e){const t=e.options,n="always"===t[0],r=!t[0]||"as-needed"===t[0],o="never"===t[0],s=t[1]&&t[1].requireReturnForObjectLiteral,a=e.getSourceCode();let i=null;function c(e){return!(!e||!e.parent)&&("ForStatement"===e.parent.type&&e.parent.init===e||c(e.parent))}function l(t){const l=t.body;if("BlockStatement"===l.type){const n=l.body;if(1!==n.length&&!o)return;if(r&&s&&"ReturnStatement"===n[0].type&&n[0].argument&&"ObjectExpression"===n[0].argument.type)return;if(o||r&&"ReturnStatement"===n[0].type){let r;r=0===n.length?"unexpectedEmptyBlock":n.length>1?"unexpectedOtherBlock":null===n[0].argument?"unexpectedSingleBlock":fr.isOpeningBraceToken(a.getFirstToken(n[0],{skip:1}))?"unexpectedObjectBlock":"unexpectedSingleBlock",e.report({node:t,loc:l.loc,messageId:r,fix(e){const r=[];if(1!==n.length||"ReturnStatement"!==n[0].type||!n[0].argument||(o=a.getTokenAfter(l))&&"Punctuator"===o.type&&/^[([/`+-]/u.test(o.value))return r;var o;const s=a.getFirstToken(l),u=a.getLastToken(l),p=a.getFirstToken(n[0],1),d=a.getLastToken(n[0]);return a.commentsExistBetween(s,p)||a.commentsExistBetween(d,u)?r.push(e.remove(s),e.remove(u),e.remove(a.getTokenAfter(s))):r.push(e.removeRange([s.range[0],p.range[0]]),e.removeRange([d.range[1],u.range[1]])),(fr.isOpeningBraceToken(p)||"SequenceExpression"===n[0].argument.type||i.hasInOperator&&c(t))&&(fr.isParenthesised(a,n[0].argument)||r.push(e.insertTextBefore(p,"("),e.insertTextAfter(d,")"))),fr.isSemicolonToken(d)&&r.push(e.remove(d)),r}})}}else(n||r&&s&&"ObjectExpression"===l.type)&&e.report({node:t,loc:l.loc,messageId:"expectedBlock",fix(e){const n=[],r=a.getTokenBefore(l,fr.isArrowToken),[o,s]=a.getTokensAfter(r,{count:2}),i=a.getLastToken(t);if(fr.isOpeningParenToken(o)&&fr.isOpeningBraceToken(s)){const t=o,r=s;fr.isTokenOnSameLine(t,r)?n.push(e.replaceText(t,"{return ")):n.push(e.replaceText(t,"{"),e.insertTextBefore(r,"return ")),n.push(e.remove(function(e){let t=a.getNodeByRangeIndex(e.range[0]);for(;!fr.isParenthesised(a,t);)t=t.parent;return a.getTokenAfter(t)}(r))),n.push(e.insertTextAfter(i,"}"))}else n.push(e.insertTextBefore(o,"{return ")),n.push(e.insertTextAfter(i,"}"));return n}})}return{"BinaryExpression[operator='in']"(){let e=i;for(;e;)e.hasInOperator=!0,e=e.upper},ArrowFunctionExpression(){i={upper:i,hasInOperator:!1}},"ArrowFunctionExpression:exit"(e){l(e),i=i.upper}}}};var Pr={meta:{type:"layout",docs:{description:"require parentheses around arrow function arguments",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/arrow-parens"},fixable:"code",schema:[{enum:["always","as-needed"]},{type:"object",properties:{requireForBlockBody:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedParens:"Unexpected parentheses around single function argument.",expectedParens:"Expected parentheses around arrow function argument.",unexpectedParensInline:"Unexpected parentheses around single function argument having a body with no curly braces.",expectedParensBlock:"Expected parentheses around arrow function argument having a body with curly braces."}},create(e){const t="as-needed"===e.options[0],n=t&&e.options[1]&&!0===e.options[1].requireForBlockBody,r=e.getSourceCode();function o(e){return r.getTokenAfter(e.params[0],fr.isClosingParenToken)}return{"ArrowFunctionExpression[params.length=1]"(s){const a=!t||n&&function(e){return"BlockStatement"===e.body.type}(s),i=function(e){const t=r.getTokenBefore(e.params[0]);return t&&fr.isOpeningParenToken(t)&&e.range[0]<=t.range[0]?t:null}(s),c=null!==i,[l]=s.params;a&&!c&&e.report({node:s,messageId:n?"expectedParensBlock":"expectedParens",loc:l.loc,*fix(e){yield e.insertTextBefore(l,"("),yield e.insertTextAfter(l,")")}}),a||!c||"Identifier"!==l.type||l.typeAnnotation||s.returnType||function(e,t){return r.commentsExistBetween(t,o(e))}(s,i)||function(e,t){const n=e.async?1:0;return r.getFirstToken(e,{skip:n})!==t}(s,i)||e.report({node:s,messageId:n?"unexpectedParensInline":"unexpectedParens",loc:l.loc,*fix(e){const t=r.getTokenBefore(i),n=o(s);t&&t.range[1]===i.range[0]&&!fr.canTokensBeAdjacent(t,r.getFirstToken(l))&&(yield e.insertTextBefore(i," ")),yield e.removeRange([i.range[0],l.range[0]]),yield e.removeRange([l.range[1],n.range[1]])}})}}}},Tr={meta:{type:"layout",docs:{description:"enforce consistent spacing before and after the arrow in arrow functions",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/arrow-spacing"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean",default:!0},after:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{expectedBefore:"Missing space before =>.",unexpectedBefore:"Unexpected space before =>.",expectedAfter:"Missing space after =>.",unexpectedAfter:"Unexpected space after =>."}},create(e){const t=Object.assign({},e.options[0]);t.before=!1!==t.before,t.after=!1!==t.after;const n=e.getSourceCode();return{ArrowFunctionExpression:function(r){const o=function(e){const t=n.getTokenBefore(e.body,fr.isArrowToken);return{before:n.getTokenBefore(t),arrow:t,after:n.getTokenAfter(t)}}(r),s=function(e){return{before:e.arrow.range[0]-e.before.range[1],after:e.after.range[0]-e.arrow.range[1]}}(o);t.before?0===s.before&&e.report({node:o.before,messageId:"expectedBefore",fix:e=>e.insertTextBefore(o.arrow," ")}):s.before>0&&e.report({node:o.before,messageId:"unexpectedBefore",fix:e=>e.removeRange([o.before.range[1],o.arrow.range[0]])}),t.after?0===s.after&&e.report({node:o.after,messageId:"expectedAfter",fix:e=>e.insertTextAfter(o.arrow," ")}):s.after>0&&e.report({node:o.after,messageId:"unexpectedAfter",fix:e=>e.removeRange([o.arrow.range[1],o.after.range[0]])})}}}},Ir={meta:{type:"suggestion",docs:{description:"enforce the use of variables within the scope they are defined",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/block-scoped-var"},schema:[],messages:{outOfScope:"'{{name}}' used outside of binding context."}},create(e){let t=[];function n(e){t.push(e.range)}function r(){t.pop()}function o(t){const n=t.identifier;e.report({node:n,messageId:"outOfScope",data:{name:n.name}})}return{Program(e){t=[e.range]},BlockStatement:n,"BlockStatement:exit":r,ForStatement:n,"ForStatement:exit":r,ForInStatement:n,"ForInStatement:exit":r,ForOfStatement:n,"ForOfStatement:exit":r,SwitchStatement:n,"SwitchStatement:exit":r,CatchClause:n,"CatchClause:exit":r,VariableDeclaration:function(n){if("var"!==n.kind)return;const r=t[t.length-1];function s(e){const t=e.identifier.range;return t[0]r[1]}const a=e.getDeclaredVariables(n);for(let e=0;e0?r.getTokenBefore(e.cases[0]):r.getLastToken(e,1):r.getFirstToken(e)}(s),i=r.getLastToken(s),c=r.getTokenAfter(a,{includeComments:!0}),l=r.getTokenBefore(i,{includeComments:!0});if("Punctuator"===a.type&&"{"===a.value&&"Punctuator"===i.type&&"}"===i.value&&c!==i&&(t||"Line"!==c.type)){if(!o(a,c)){let r=a.loc;"extra"===n&&(r={start:a.loc.end,end:c.loc.start}),e.report({node:s,loc:r,messageId:n,data:{location:"after",token:a.value},fix:e=>t?e.insertTextBefore(c," "):e.removeRange([a.range[1],c.range[0]])})}if(!o(l,i)){let r=i.loc;"extra"===n&&(r={start:l.loc.end,end:i.loc.start}),e.report({node:s,loc:r,messageId:n,data:{location:"before",token:i.value},fix:e=>t?e.insertTextAfter(l," "):e.removeRange([l.range[1],i.range[0]])})}}}return{BlockStatement:s,SwitchStatement:s}}},Dr={meta:{type:"layout",docs:{description:"enforce consistent brace style for blocks",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/brace-style"},schema:[{enum:["1tbs","stroustrup","allman"]},{type:"object",properties:{allowSingleLine:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"whitespace",messages:{nextLineOpen:"Opening curly brace does not appear on the same line as controlling statement.",sameLineOpen:"Opening curly brace appears on the same line as controlling statement.",blockSameLine:"Statement inside of curly braces should be on next line.",nextLineClose:"Closing curly brace does not appear on the same line as the subsequent block.",singleLineClose:"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.",sameLineClose:"Closing curly brace appears on the same line as the subsequent block."}},create(e){const t=e.options[0]||"1tbs",n=e.options[1]||{},r=e.getSourceCode();function o(e,t){const n=[e.range[1],t.range[0]];return r.text.slice(n[0],n[1]).trim()?null:e=>e.replaceTextRange(n," ")}function s(s,a){const i=r.getTokenBefore(s),c=r.getTokenAfter(s),l=r.getTokenBefore(a),u=n.allowSingleLine&&fr.isTokenOnSameLine(s,a);"allman"===t||fr.isTokenOnSameLine(i,s)||e.report({node:s,messageId:"nextLineOpen",fix:o(i,s)}),"allman"===t&&fr.isTokenOnSameLine(i,s)&&!u&&e.report({node:s,messageId:"sameLineOpen",fix:e=>e.insertTextBefore(s,"\n")}),fr.isTokenOnSameLine(s,c)&&c!==a&&!u&&e.report({node:s,messageId:"blockSameLine",fix:e=>e.insertTextAfter(s,"\n")}),l!==s&&!u&&fr.isTokenOnSameLine(l,a)&&e.report({node:a,messageId:"singleLineClose",fix:e=>e.insertTextBefore(a,"\n")})}function a(n){const s=r.getTokenAfter(n);"1tbs"!==t||fr.isTokenOnSameLine(n,s)||e.report({node:n,messageId:"nextLineClose",fix:o(n,s)}),"1tbs"!==t&&fr.isTokenOnSameLine(n,s)&&e.report({node:n,messageId:"sameLineClose",fix:e=>e.insertTextAfter(n,"\n")})}return{BlockStatement(e){fr.STATEMENT_LIST_PARENTS.has(e.parent.type)||s(r.getFirstToken(e),r.getLastToken(e))},ClassBody(e){s(r.getFirstToken(e),r.getLastToken(e))},SwitchStatement(e){const t=r.getLastToken(e);s(r.getTokenBefore(e.cases.length?e.cases[0]:t),t)},IfStatement(e){"BlockStatement"===e.consequent.type&&e.alternate&&a(r.getLastToken(e.consequent))},TryStatement(e){a(r.getLastToken(e.block)),e.handler&&e.finalizer&&a(r.getLastToken(e.handler.body))}}}},Or={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"require `return` statements after callbacks",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/callback-return"},schema:[{type:"array",items:{type:"string"}}],messages:{missingReturn:"Expected return with your callback function."}},create(e){const t=e.options[0]||["callback","cb","next"],n=e.getSourceCode();function r(e,t){return e.parent?-1===t.indexOf(e.parent.type)?r(e.parent,t):e.parent:null}function o(e){if("Identifier"===e.type)return!0;if("MemberExpression"===e.type){if("Identifier"===e.object.type)return!0;if("MemberExpression"===e.object.type)return o(e.object)}return!1}function s(e){return o(e.callee)&&t.indexOf(n.getText(e.callee))>-1}function a(e,t){return!(!t||"ExpressionStatement"!==t.type)&&(t.expression===e||("BinaryExpression"===t.expression.type||"LogicalExpression"===t.expression.type)&&t.expression.right===e)}return{CallExpression(t){if(!s(t))return;const n=r(t,["BlockStatement","ReturnStatement","ArrowFunctionExpression"])||{};if("ReturnStatement"!==n.type&&"ArrowFunctionExpression"!==n.type){if("BlockStatement"===n.type){const e=n.body[n.body.length-1];if(a(t,e)){const e=n.parent.type;if("FunctionExpression"===e||"FunctionDeclaration"===e||"ArrowFunctionExpression"===e)return}if("ReturnStatement"===e.type&&a(t,n.body[n.body.length-2]))return}r(t,["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"])&&e.report({node:t,messageId:"missingReturn"})}}}}},Br={meta:{type:"suggestion",docs:{description:"enforce camelcase naming convention",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/camelcase"},schema:[{type:"object",properties:{ignoreDestructuring:{type:"boolean",default:!1},ignoreImports:{type:"boolean",default:!1},ignoreGlobals:{type:"boolean",default:!1},properties:{enum:["always","never"]},allow:{type:"array",items:[{type:"string"}],minItems:0,uniqueItems:!0}},additionalProperties:!1}],messages:{notCamelCase:"Identifier '{{name}}' is not in camel case."}},create(e){const t=e.options[0]||{};let n=t.properties||"";const r=t.ignoreDestructuring,o=t.ignoreImports,s=t.ignoreGlobals,a=t.allow||[];let i;"always"!==n&&"never"!==n&&(n="always");const c=[],l=new Set(["CallExpression","NewExpression"]);function u(t){c.includes(t)||(c.push(t),e.report({node:t,messageId:"notCamelCase",data:{name:t.name}}))}return{Program(){i=e.getScope()},Identifier(e){const t=e.name,c=function(e){return e.includes("_")&&e!==e.toUpperCase()}(t.replace(/^_+|_+$/gu,"")),p="MemberExpression"===e.parent.type?e.parent.parent:e.parent;if(!function(e){return a.some((t=>e===t||e.match(new RegExp(t,"u"))))}(t)&&(!s||!function(e){const t=i.set.get(e.name);return t&&0===t.defs.length&&t.references.some((t=>t.identifier===e))}(e)||function(e){const t=e.parent;return"Property"===t.type&&"ObjectExpression"===t.parent.type&&!t.computed&&t.key===e}(e)))if("MemberExpression"===e.parent.type){if("never"===n)return;("Identifier"===e.parent.object.type&&e.parent.object.name===e.name&&c||"AssignmentExpression"===p.type&&c&&("MemberExpression"!==p.right.type||"MemberExpression"===p.left.type&&p.left.property.name===e.name)||function(e){if("MemberExpression"===e.parent.type&&e.parent.property===e&&!e.parent.computed){const t=e.parent.parent;return"Property"===t.type&&t.value===e.parent&&"ObjectPattern"===t.parent.type||"ArrayPattern"===t.type||"RestElement"===t.type||"AssignmentPattern"===t.type&&t.left===e.parent}return!1}(e)&&c)&&u(e)}else if("Property"===e.parent.type||"AssignmentPattern"===e.parent.type){if(e.parent.parent&&"ObjectPattern"===e.parent.parent.type){e.parent.shorthand&&e.parent.value.left&&c&&u(e);const t=e.parent.key.name===e.parent.value.name;if(c&&e.parent.computed&&u(e),e.parent.key===e&&e.parent.value!==e)return;!(e.parent.value.name&&c)||t&&r||u(e)}if("never"===n||r&&function(e){let t=e;for(;t;){const e=t.parent;if(e&&"Property"===e.type&&e.computed&&e.key===t)return!1;if("ObjectPattern"===t.type)return!0;t=e}return!1}(e))return;c&&!l.has(p.type)&&e.parent.right!==e&&u(e)}else if(["ImportSpecifier","ImportNamespaceSpecifier","ImportDefaultSpecifier"].includes(e.parent.type)){if("ImportSpecifier"===e.parent.type&&o)return;e.parent.local&&e.parent.local.name===e.name&&c&&u(e)}else c&&!l.has(p.type)&&u(e)}}}},Nr=/[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/u;const jr=fr.COMMENTS_IGNORE_PATTERN,Lr=/\s/gu,Rr=/^\s*[^:/?#\s]+:\/\/[^?#]/u,Mr={type:"object",properties:{ignorePattern:{type:"string"},ignoreInlineComments:{type:"boolean"},ignoreConsecutiveComments:{type:"boolean"}},additionalProperties:!1},_r={ignorePattern:"",ignoreInlineComments:!1,ignoreConsecutiveComments:!1};function $r(e,t){return Object.assign({},_r,e[t]||e)}var qr={meta:{type:"suggestion",docs:{description:"enforce or disallow capitalization of the first letter of a comment",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/capitalized-comments"},fixable:"code",schema:[{enum:["always","never"]},{oneOf:[Mr,{type:"object",properties:{line:Mr,block:Mr},additionalProperties:!1}]}],messages:{unexpectedLowercaseComment:"Comments should not begin with a lowercase character.",unexpectedUppercaseComment:"Comments should not begin with an uppercase character."}},create(e){const t=e.options[0]||"always",n=function(e={}){return{Line:$r(e,"line"),Block:$r(e,"block")}}(e.options[1]),r=e.getSourceCode();function o(e,n){if(jr.test(e.value))return!0;const o=e.value.replace(/\*/gu,"");if(n.ignorePatternRegExp&&n.ignorePatternRegExp.test(o))return!0;if(n.ignoreInlineComments&&function(e){const t=r.getTokenBefore(e,{includeComments:!0}),n=r.getTokenAfter(e,{includeComments:!0});return Boolean(t&&n&&e.loc.start.line===t.loc.end.line&&e.loc.end.line===n.loc.start.line)}(e))return!0;if(n.ignoreConsecutiveComments&&function(e){const t=r.getTokenBefore(e,{includeComments:!0});return Boolean(t&&-1!==["Block","Line"].indexOf(t.type))}(e))return!0;if(Rr.test(o))return!0;const s=o.replace(Lr,"");if(0===s.length)return!0;const a=s[0];if(!Nr.test(a))return!0;const i=a!==a.toLocaleLowerCase(),c=a!==a.toLocaleUpperCase();return("always"!==t||!c)&&("never"!==t||!i)}function s(r){const s=n[r.type];if(!o(r,s)){const n="always"===t?"unexpectedLowercaseComment":"unexpectedUppercaseComment";e.report({node:null,loc:r.loc,messageId:n,fix(e){const n=r.value.match(Nr);return e.replaceTextRange([r.range[0]+n.index+2,r.range[0]+n.index+3],"always"===t?n[0].toLocaleUpperCase():n[0].toLocaleLowerCase())}})}}return function(e){Object.keys(e).forEach((t=>{const n=e[t].ignorePattern;if(n){const r=RegExp(`^\\s*(?:${n})`,"u");e[t].ignorePatternRegExp=r}}))}(n),{Program(){r.getAllComments().filter((e=>"Shebang"!==e.type)).forEach(s)}}}},Ur={meta:{type:"suggestion",docs:{description:"enforce that class methods utilize `this`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/class-methods-use-this"},schema:[{type:"object",properties:{exceptMethods:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{missingThis:"Expected 'this' to be used by class {{name}}."}},create(e){const t=Object.assign({},e.options[0]),n=new Set(t.exceptMethods||[]),r=[];function o(){r.push(!1)}function s(t){const o=r.pop();(function(e){return function(e){return!e.static&&"constructor"!==e.kind&&"MethodDefinition"===e.type}(e)&&(e.computed||!n.has(e.key.name))})(t.parent)&&!o&&e.report({node:t,messageId:"missingThis",data:{name:fr.getFunctionNameWithKind(t)}})}function a(){r.length&&(r[r.length-1]=!0)}return{FunctionDeclaration:o,"FunctionDeclaration:exit":s,FunctionExpression:o,"FunctionExpression:exit":s,ThisExpression:a,Super:a}}};const Vr=Object.freeze({arrays:"never",objects:"never",imports:"never",exports:"never",functions:"never"});var Wr={meta:{type:"layout",docs:{description:"require or disallow trailing commas",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/comma-dangle"},fixable:"code",schema:{definitions:{value:{enum:["always-multiline","always","never","only-multiline"]},valueWithIgnore:{enum:["always-multiline","always","ignore","never","only-multiline"]}},type:"array",items:[{oneOf:[{$ref:"#/definitions/value"},{type:"object",properties:{arrays:{$ref:"#/definitions/valueWithIgnore"},objects:{$ref:"#/definitions/valueWithIgnore"},imports:{$ref:"#/definitions/valueWithIgnore"},exports:{$ref:"#/definitions/valueWithIgnore"},functions:{$ref:"#/definitions/valueWithIgnore"}},additionalProperties:!1}]}]},messages:{unexpected:"Unexpected trailing comma.",missing:"Missing trailing comma."}},create(e){const t=(n=e.options[0],r=e.parserOptions.ecmaVersion,"string"==typeof n?{arrays:n,objects:n,imports:n,exports:n,functions:!r||r<8?"ignore":n}:"object"==typeof n&&null!==n?{arrays:n.arrays||Vr.arrays,objects:n.objects||Vr.objects,imports:n.imports||Vr.imports,exports:n.exports||Vr.exports,functions:n.functions||Vr.functions}:Vr);var n,r;const o=e.getSourceCode();function s(e){switch(e.type){case"ObjectExpression":case"ObjectPattern":return F.default.last(e.properties);case"ArrayExpression":case"ArrayPattern":return F.default.last(e.elements);case"ImportDeclaration":case"ExportNamedDeclaration":return F.default.last(e.specifiers);case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":return F.default.last(e.params);case"CallExpression":case"NewExpression":return F.default.last(e.arguments);default:return null}}function a(e,t){switch(e.type){case"ObjectExpression":case"ArrayExpression":case"CallExpression":case"NewExpression":return o.getLastToken(e,1);default:{const e=o.getTokenAfter(t);return fr.isCommaToken(e)?e:o.getLastToken(t)}}}function i(e){const t=s(e);if(!t)return!1;const n=a(e,t);return o.getTokenAfter(n).loc.end.line!==n.loc.end.line}function c(t){const n=s(t);if(!n||"ImportDeclaration"===t.type&&"ImportSpecifier"!==n.type)return;const r=a(t,n);fr.isCommaToken(r)&&e.report({node:n,loc:r.loc,messageId:"unexpected",fix:e=>e.remove(r)})}function l(t){const n=s(t);if(!n||"ImportDeclaration"===t.type&&"ImportSpecifier"!==n.type)return;if(!function(e){return!("RestElement"===e.type||"RestProperty"===e.type||"ExperimentalRestProperty"===e.type)}(n))return void c(t);const r=a(t,n);","!==r.value&&e.report({node:n,loc:{start:r.loc.end,end:fr.getNextLocation(o,r.loc.end)},messageId:"missing",fix:e=>e.insertTextAfter(r,",")})}const u={always:l,"always-multiline":function(e){i(e)?l(e):c(e)},"only-multiline":function(e){i(e)||c(e)},never:c,ignore:F.default.noop};return{ObjectExpression:u[t.objects],ObjectPattern:u[t.objects],ArrayExpression:u[t.arrays],ArrayPattern:u[t.arrays],ImportDeclaration:u[t.imports],ExportNamedDeclaration:u[t.exports],FunctionDeclaration:u[t.functions],FunctionExpression:u[t.functions],ArrowFunctionExpression:u[t.functions],CallExpression:u[t.functions],NewExpression:u[t.functions]}}},Gr={meta:{type:"layout",docs:{description:"enforce consistent spacing before and after commas",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/comma-spacing"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean",default:!1},after:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{missing:"A space is required {{loc}} ','.",unexpected:"There should be no space {{loc}} ','."}},create(e){const t=e.getSourceCode(),n=t.tokensAndComments,r={before:!!e.options[0]&&e.options[0].before,after:!e.options[0]||e.options[0].after},o=[];function s(t,n,o){e.report({node:t,fix(e){if(r[n])return"before"===n?e.insertTextBefore(t," "):e.insertTextAfter(t," ");let s,a;return"before"===n?(s=o.range[1],a=t.range[0]):(s=t.range[1],a=o.range[0]),e.replaceTextRange([s,a],"")},messageId:r[n]?"missing":"unexpected",data:{loc:n}})}function a(e){let n=t.getFirstToken(e);e.elements.forEach((e=>{let r;null===e?(r=t.getTokenAfter(n),fr.isCommaToken(r)&&o.push(r)):r=t.getTokenAfter(e),n=r}))}return{"Program:exit"(){n.forEach(((e,a)=>{if(!fr.isCommaToken(e))return;if(e&&"JSXText"===e.type)return;const i=n[a-1],c=n[a+1];var l,u;l={comma:e,left:fr.isCommaToken(i)||o.indexOf(e)>-1?null:i,right:fr.isCommaToken(c)?null:c},u=e,l.left&&fr.isTokenOnSameLine(l.left,l.comma)&&r.before!==t.isSpaceBetweenTokens(l.left,l.comma)&&s(u,"before",l.left),l.right&&fr.isClosingParenToken(l.right)||l.right&&!r.after&&"Line"===l.right.type||l.right&&fr.isTokenOnSameLine(l.comma,l.right)&&r.after!==t.isSpaceBetweenTokens(l.comma,l.right)&&s(u,"after",l.right)}))},ArrayExpression:a,ArrayPattern:a}}},zr={meta:{type:"layout",docs:{description:"enforce consistent comma style",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/comma-style"},fixable:"code",schema:[{enum:["first","last"]},{type:"object",properties:{exceptions:{type:"object",additionalProperties:{type:"boolean"}}},additionalProperties:!1}],messages:{unexpectedLineBeforeAndAfterComma:"Bad line breaking before and after ','.",expectedCommaFirst:"',' should be placed first.",expectedCommaLast:"',' should be placed last."}},create(e){const t=e.options[0]||"last",n=e.getSourceCode(),r={ArrayPattern:!0,ArrowFunctionExpression:!0,CallExpression:!0,FunctionDeclaration:!0,FunctionExpression:!0,ImportDeclaration:!0,ObjectPattern:!0,NewExpression:!0};if(2===e.options.length&&Object.prototype.hasOwnProperty.call(e.options[1],"exceptions")){const t=Object.keys(e.options[1].exceptions);for(let n=0;n1||o){let t=n.getFirstToken(e);if(r.forEach((e=>{const r=e?n.getTokenBefore(e):t,o=e?n.getFirstToken(e):n.getTokenAfter(r),a=e||o;if(fr.isCommaToken(r)&&s(t,r,o,a),e){const r=n.getTokenAfter(e,fr.isNotClosingParenToken);t=r?n.getTokenBefore(r):n.ast.tokens[n.ast.tokens.length-1]}})),o){const t=n.getLastToken(e),r=n.getTokenBefore(t);fr.isCommaToken(r)&&s(n.getTokenBefore(r),r,t,t)}}}const i={};return r.VariableDeclaration||(i.VariableDeclaration=function(e){a(e,"declarations")}),r.ObjectExpression||(i.ObjectExpression=function(e){a(e,"properties")}),r.ObjectPattern||(i.ObjectPattern=function(e){a(e,"properties")}),r.ArrayExpression||(i.ArrayExpression=function(e){a(e,"elements")}),r.ArrayPattern||(i.ArrayPattern=function(e){a(e,"elements")}),r.FunctionDeclaration||(i.FunctionDeclaration=function(e){a(e,"params")}),r.FunctionExpression||(i.FunctionExpression=function(e){a(e,"params")}),r.ArrowFunctionExpression||(i.ArrowFunctionExpression=function(e){a(e,"params")}),r.CallExpression||(i.CallExpression=function(e){a(e,"arguments")}),r.ImportDeclaration||(i.ImportDeclaration=function(e){a(e,"specifiers")}),r.NewExpression||(i.NewExpression=function(e){a(e,"arguments")}),i}},Jr={meta:{type:"suggestion",docs:{description:"enforce a maximum cyclomatic complexity allowed in a program",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/complexity"},schema:[{oneOf:[{type:"integer",minimum:0},{type:"object",properties:{maximum:{type:"integer",minimum:0},max:{type:"integer",minimum:0}},additionalProperties:!1}]}],messages:{complex:"{{name}} has a complexity of {{complexity}}. Maximum allowed is {{max}}."}},create(e){const t=e.options[0];let n=20;"object"==typeof t&&(Object.prototype.hasOwnProperty.call(t,"maximum")||Object.prototype.hasOwnProperty.call(t,"max"))?n=t.maximum||t.max:"number"==typeof t&&(n=t);const r=[];function o(){r.push(1)}function s(t){const o=F.default.upperFirst(fr.getFunctionNameWithKind(t)),s=r.pop();s>n&&e.report({node:t,messageId:"complex",data:{name:o,complexity:s,max:n}})}function a(){r.length&&r[r.length-1]++}return{FunctionDeclaration:o,FunctionExpression:o,ArrowFunctionExpression:o,"FunctionDeclaration:exit":s,"FunctionExpression:exit":s,"ArrowFunctionExpression:exit":s,CatchClause:a,ConditionalExpression:a,LogicalExpression:a,ForStatement:a,ForInStatement:a,ForOfStatement:a,IfStatement:a,SwitchCase:function(e){e.test&&a()},WhileStatement:a,DoWhileStatement:a,AssignmentExpression(e){fr.isLogicalAssignmentOperator(e.operator)&&a()}}}},Kr={meta:{type:"layout",docs:{description:"enforce consistent spacing inside computed property brackets",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/computed-property-spacing"},fixable:"whitespace",schema:[{enum:["always","never"]},{type:"object",properties:{enforceForClassMembers:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedSpaceBefore:"There should be no space before '{{tokenValue}}'.",unexpectedSpaceAfter:"There should be no space after '{{tokenValue}}'.",missingSpaceBefore:"A space is required before '{{tokenValue}}'.",missingSpaceAfter:"A space is required after '{{tokenValue}}'."}},create(e){const t=e.getSourceCode(),n="always"===e.options[0],r=!e.options[1]||e.options[1].enforceForClassMembers;function o(r){return function(o){if(!o.computed)return;const s=o[r],a=t.getTokenBefore(s,fr.isOpeningBracketToken),i=t.getTokenAfter(a,{includeComments:!0}),c=t.getTokenAfter(s,fr.isClosingBracketToken),l=t.getTokenBefore(c,{includeComments:!0});fr.isTokenOnSameLine(a,i)&&(n?!t.isSpaceBetweenTokens(a,i)&&fr.isTokenOnSameLine(a,i)&&function(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpaceAfter",data:{tokenValue:n.value},fix:e=>e.insertTextAfter(n," ")})}(o,a):t.isSpaceBetweenTokens(a,i)&&function(t,n,r){e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceAfter",data:{tokenValue:n.value},fix:e=>e.removeRange([n.range[1],r.range[0]])})}(o,a,i)),fr.isTokenOnSameLine(l,c)&&(n?!t.isSpaceBetweenTokens(l,c)&&fr.isTokenOnSameLine(l,c)&&function(t,n){e.report({node:t,loc:n.loc,messageId:"missingSpaceBefore",data:{tokenValue:n.value},fix:e=>e.insertTextBefore(n," ")})}(o,c):t.isSpaceBetweenTokens(l,c)&&function(t,n,r){e.report({node:t,loc:{start:r.loc.end,end:n.loc.start},messageId:"unexpectedSpaceBefore",data:{tokenValue:n.value},fix:e=>e.removeRange([r.range[1],n.range[0]])})}(o,c,l))}}const s={Property:o("key"),MemberExpression:o("property")};return r&&(s.MethodDefinition=o("key")),s}};function Yr(e){return!e.reachable}var Hr={meta:{type:"suggestion",docs:{description:"require `return` statements to either always or never specify values",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/consistent-return"},schema:[{type:"object",properties:{treatUndefinedAsUnspecified:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{missingReturn:"Expected to return a value at the end of {{name}}.",missingReturnValue:"{{name}} expected a return value.",unexpectedReturnValue:"{{name}} expected no return value."}},create(e){const t=!0===(e.options[0]||{}).treatUndefinedAsUnspecified;let n=null;function r(t){let r,o;!n.hasReturnValue||n.codePath.currentSegments.every(Yr)||fr.isES5Constructor(t)||function(e){return"FunctionExpression"===e.type&&e.parent&&"MethodDefinition"===e.parent.type&&"constructor"===e.parent.kind}(t)||("Program"===t.type?(r={line:1,column:0},o="program"):r="ArrowFunctionExpression"===t.type?e.getSourceCode().getTokenBefore(t.body,fr.isArrowToken).loc.start:"MethodDefinition"===t.parent.type||"Property"===t.parent.type&&t.parent.method?t.parent.key.loc.start:(t.id||t).loc.start,o||(o=fr.getFunctionNameWithKind(t)),e.report({node:t,loc:r,messageId:"missingReturn",data:{name:o}}))}return{onCodePathStart(e,t){n={upper:n,codePath:e,hasReturn:!1,hasReturnValue:!1,messageId:"",node:t}},onCodePathEnd(){n=n.upper},ReturnStatement(r){const o=r.argument;let s=Boolean(o);t&&s&&(s=!fr.isSpecificId(o,"undefined")&&"void"!==o.operator),n.hasReturn?n.hasReturnValue!==s&&e.report({node:r,messageId:n.messageId,data:n.data}):(n.hasReturn=!0,n.hasReturnValue=s,n.messageId=s?"missingReturnValue":"unexpectedReturnValue",n.data={name:"Program"===n.node.type?"Program":F.default.upperFirst(fr.getFunctionNameWithKind(n.node))})},"Program:exit":r,"FunctionDeclaration:exit":r,"FunctionExpression:exit":r,"ArrowFunctionExpression:exit":r}}},Xr={meta:{type:"suggestion",docs:{description:"enforce consistent naming when capturing the current execution context",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/consistent-this"},schema:{type:"array",items:{type:"string",minLength:1},uniqueItems:!0},messages:{aliasNotAssignedToThis:"Designated alias '{{name}}' is not assigned to 'this'.",unexpectedAlias:"Unexpected alias '{{name}}' for 'this'."}},create(e){let t=[];function n(t,n){e.report({node:t,messageId:"aliasNotAssignedToThis",data:{name:n}})}function r(r,o,s){const a="ThisExpression"===s.type;-1!==t.indexOf(o)?(!a||r.operator&&"="!==r.operator)&&n(r,o):a&&e.report({node:r,messageId:"unexpectedAlias",data:{name:o}})}function o(){const r=e.getScope();t.forEach((e=>{!function(e,t){const r=t.set.get(e);r&&(r.defs.some((e=>"VariableDeclarator"===e.node.type&&null!==e.node.init))||r.references.some((e=>{const n=e.writeExpr;return e.from===t&&n&&"ThisExpression"===n.type&&"="===n.parent.operator}))||r.defs.map((e=>e.node)).forEach((t=>{n(t,e)})))}(e,r)}))}return 0===e.options.length?t.push("that"):t=e.options,{"Program:exit":o,"FunctionExpression:exit":o,"FunctionDeclaration:exit":o,VariableDeclarator(e){const t=e.id,n="ArrayPattern"===t.type||"ObjectPattern"===t.type;null===e.init||n||r(e,t.name,e.init)},AssignmentExpression(e){"Identifier"===e.left.type&&r(e,e.left.name,e.right)}}}};function Qr(e){return e.reachable}function Zr(e){if(!e)return!1;switch(e.type){case"ClassExpression":case"FunctionExpression":case"ThisExpression":case"MemberExpression":case"CallExpression":case"NewExpression":case"ChainExpression":case"YieldExpression":case"TaggedTemplateExpression":case"MetaProperty":return!0;case"Identifier":return"undefined"!==e.name;case"AssignmentExpression":return["=","&&="].includes(e.operator)?Zr(e.right):!!["||=","??="].includes(e.operator)&&(Zr(e.left)||Zr(e.right));case"LogicalExpression":return"&&"===e.operator?Zr(e.right):Zr(e.left)||Zr(e.right);case"ConditionalExpression":return Zr(e.alternate)||Zr(e.consequent);case"SequenceExpression":return Zr(e.expressions[e.expressions.length-1]);default:return!1}}var eo={meta:{type:"problem",docs:{description:"require `super()` calls in constructors",category:"ECMAScript 6",recommended:!0,url:"https://eslint.org/docs/rules/constructor-super"},schema:[],messages:{missingSome:"Lacked a call of 'super()' in some code paths.",missingAll:"Expected to call 'super()'.",duplicate:"Unexpected duplicate 'super()'.",badSuper:"Unexpected 'super()' because 'super' is not a constructor.",unexpected:"Unexpected 'super()'."}},create(e){let t=null,n=Object.create(null);function r(e){return e.reachable&&n[e.id].calledInSomePaths}function o(e){return!(1!==e.nextSegments.length||!e.nextSegments[0].isLoopedPrevSegment(e))||e.reachable&&n[e.id].calledInEveryPaths}return{onCodePathStart(e,n){if(function(e){return"FunctionExpression"===e.type&&"MethodDefinition"===e.parent.type&&"constructor"===e.parent.kind}(n)){const r=n.parent.parent.parent.superClass;t={upper:t,isConstructor:!0,hasExtends:Boolean(r),superIsConstructor:Zr(r),codePath:e}}else t={upper:t,isConstructor:!1,hasExtends:!1,superIsConstructor:!1,codePath:e}},onCodePathEnd(n,s){const a=t.hasExtends;if(t=t.upper,!a)return;const i=n.returnedSegments,c=i.every(o),l=i.some(r);c||e.report({messageId:l?"missingSome":"missingAll",node:s.parent})},onCodePathSegmentStart(e){if(!(t&&t.isConstructor&&t.hasExtends))return;const s=n[e.id]={calledInSomePaths:!1,calledInEveryPaths:!1,validNodes:[]},a=e.prevSegments;a.length>0&&(s.calledInSomePaths=a.some(r),s.calledInEveryPaths=a.every(o))},onCodePathSegmentLoop(s,a){if(!(t&&t.isConstructor&&t.hasExtends))return;const i=a.prevSegments.length>=2;t.codePath.traverseSegments({first:a,last:s},(t=>{const s=n[t.id],a=t.prevSegments;if(s.calledInSomePaths=a.some(r),s.calledInEveryPaths=a.every(o),s.calledInSomePaths||i){const t=s.validNodes;s.validNodes=[];for(let n=0;n0}else f=!a(i);else f=!0;return{actual:d,expected:f,check(){null!==this.expected&&this.expected!==this.actual&&(this.expected?e.report({node:o,loc:("else"!==l?o:c(o)).loc.start,messageId:p&&p.condition?"missingCurlyAfterCondition":"missingCurlyAfter",data:{name:l},fix:e=>e.replaceText(i,`{${s.getText(i)}}`)}):e.report({node:o,loc:("else"!==l?o:c(o)).loc.start,messageId:p&&p.condition?"unexpectedCurlyAfterCondition":"unexpectedCurlyAfter",data:{name:l},fix(e){const t="DoWhileStatement"===o.type&&s.getTokenBefore(i).range[1]===i.range[0]&&!fr.canTokensBeAdjacent("do",s.getFirstToken(i,{skip:1})),n=s.getFirstToken(i),r=s.getLastToken(i),a=s.getTokenBefore(r);if(function(e){const t=s.getTokenBefore(e),n=s.getTokenAfter(e),r=s.getNodeByRangeIndex(t.range[0]);return!(fr.isSemicolonToken(t)||!n||"BlockStatement"===r.type&&"FunctionExpression"!==r.parent.type&&"ArrowFunctionExpression"!==r.parent.type||t.loc.end.line!==n.loc.start.line&&!/^[([/`+-]/u.test(n.value)&&("Punctuator"!==t.type||"++"!==t.value&&"--"!==t.value))}(r))return null;const c=s.getText().slice(n.range[1],a.range[0])+s.getText(a)+s.getText().slice(a.range[1],r.range[0]);return e.replaceText(i,(t?" ":"")+c)}}))}}}return{IfStatement(e){const t=e.parent;"IfStatement"===t.type&&t.alternate===e||function(e){const t=[];for(let n=e;n;n=n.alternate)if(t.push(p(n,n.consequent,"if",{condition:!0})),n.alternate&&"IfStatement"!==n.alternate.type){t.push(p(n,n.alternate,"else"));break}if(o){const e=t.some((e=>null!==e.expected?e.expected:e.actual));t.forEach((t=>{t.expected=e}))}return t}(e).forEach((e=>{e.check()}))},WhileStatement(e){p(e,e.body,"while",{condition:!0}).check()},DoWhileStatement(e){p(e,e.body,"do").check()},ForStatement(e){p(e,e.body,"for",{condition:!0}).check()},ForInStatement(e){p(e,e.body,"for-in").check()},ForOfStatement(e){p(e,e.body,"for-of").check()}}}};const no=/^no default$/iu;var ro={meta:{type:"suggestion",docs:{description:"require `default` cases in `switch` statements",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/default-case"},schema:[{type:"object",properties:{commentPattern:{type:"string"}},additionalProperties:!1}],messages:{missingDefaultCase:"Expected a default case."}},create(e){const t=e.options[0]||{},n=t.commentPattern?new RegExp(t.commentPattern,"u"):no,r=e.getSourceCode();function o(e){return e[e.length-1]}return{SwitchStatement(t){if(!t.cases.length)return;if(!t.cases.some((e=>null===e.test))){let s;const a=o(t.cases),i=r.getCommentsAfter(a);i.length&&(s=o(i)),s&&n.test(s.value.trim())||e.report({node:t,messageId:"missingDefaultCase"})}}}}},oo={meta:{type:"suggestion",docs:{description:"enforce default clauses in switch statements to be last",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/default-case-last"},schema:[],messages:{notLast:"Default clause should be the last clause."}},create:e=>({SwitchStatement(t){const n=t.cases,r=n.findIndex((e=>null===e.test));if(-1!==r&&r!==n.length-1){const t=n[r];e.report({node:t,messageId:"notLast"})}}})},so={meta:{type:"suggestion",docs:{description:"enforce default parameters to be last",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/default-param-last"},schema:[],messages:{shouldBeLast:"Default parameters should be last."}},create(e){function t(t){let n=!1;for(let r=t.params.length-1;r>=0;r-=1){const o=t.params[r];"AssignmentPattern"===o.type||"RestElement"===o.type?n&&"AssignmentPattern"===o.type&&e.report({node:o,messageId:"shouldBeLast"}):n=!0}}return{FunctionDeclaration:t,FunctionExpression:t,ArrowFunctionExpression:t}}},ao={meta:{type:"layout",docs:{description:"enforce consistent newlines before and after dots",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/dot-location"},schema:[{enum:["object","property"]}],fixable:"code",messages:{expectedDotAfterObject:"Expected dot to be on same line as object.",expectedDotBeforeProperty:"Expected dot to be on same line as property."}},create(e){const t=e.options[0],n="object"===t||!t,r=e.getSourceCode();return{MemberExpression:function(t){t.computed||function(t){const o=t.property,s=r.getTokenBefore(o);if(n){const n=r.getTokenBefore(s);fr.isTokenOnSameLine(n,s)||e.report({node:t,loc:s.loc,messageId:"expectedDotAfterObject",*fix(e){s.value.startsWith(".")&&fr.isDecimalIntegerNumericToken(n)?yield e.insertTextAfter(n,` ${s.value}`):yield e.insertTextAfter(n,s.value),yield e.remove(s)}})}else fr.isTokenOnSameLine(s,o)||e.report({node:t,loc:s.loc,messageId:"expectedDotBeforeProperty",*fix(e){yield e.remove(s),yield e.insertTextBefore(o,s.value)}})}(t)}}}},io=["abstract","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with"];const co=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/u,lo=new Set(["string","boolean"]);var uo={meta:{type:"suggestion",docs:{description:"enforce dot notation whenever possible",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/dot-notation"},schema:[{type:"object",properties:{allowKeywords:{type:"boolean",default:!0},allowPattern:{type:"string",default:""}},additionalProperties:!1}],fixable:"code",messages:{useDot:"[{{key}}] is better written in dot notation.",useBrackets:".{{key}} is a syntax error."}},create(e){const t=e.options[0]||{},n=void 0===t.allowKeywords||t.allowKeywords,r=e.getSourceCode();let o;function s(t,s){if(co.test(s)&&(n||-1===io.indexOf(String(s)))&&(!o||!o.test(s))){const n="Literal"===t.property.type?JSON.stringify(s):`\`${s}\``;e.report({node:t.property,messageId:"useDot",data:{key:n},*fix(e){const n=r.getTokenAfter(t.object,fr.isOpeningBracketToken),o=r.getLastToken(t),a=r.getTokenAfter(t);r.commentsExistBetween(n,o)||(t.optional||(yield e.insertTextBefore(n,fr.isDecimalInteger(t.object)?" .":".")),yield e.replaceTextRange([n.range[0],o.range[1]],s),a&&o.range[1]===a.range[0]&&!fr.canTokensBeAdjacent(String(s),a)&&(yield e.insertTextAfter(t," ")))}})}}return t.allowPattern&&(o=new RegExp(t.allowPattern,"u")),{MemberExpression(t){t.computed&&"Literal"===t.property.type&&(lo.has(typeof t.property.value)||fr.isNullLiteral(t.property))&&s(t,t.property.value),t.computed&&"TemplateLiteral"===t.property.type&&0===t.property.expressions.length&&s(t,t.property.quasis[0].value.cooked),n||t.computed||-1===io.indexOf(String(t.property.name))||e.report({node:t.property,messageId:"useBrackets",data:{key:t.property.name},*fix(e){const n=r.getTokenBefore(t.property);("Identifier"!==t.object.type||"let"!==t.object.name||t.optional)&&(r.commentsExistBetween(n,t.property)||(t.optional||(yield e.remove(n)),yield e.replaceText(t.property,`["${t.property.name}"]`)))}})}}}},po={meta:{type:"layout",docs:{description:"require or disallow newline at the end of files",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/eol-last"},fixable:"whitespace",schema:[{enum:["always","never","unix","windows"]}],messages:{missing:"Newline required at end of file but not found.",unexpected:"Newline not allowed at end of file."}},create:e=>({Program:function(t){const n=e.getSourceCode(),r=n.getText(),o={column:F.default.last(n.lines).length,line:n.lines.length},s=r.endsWith("\n");if(!r.length)return;let a=e.options[0]||"always",i=!1;"unix"===a&&(a="always"),"windows"===a&&(a="always",i=!0),"always"!==a||s?"never"===a&&s&&e.report({node:t,loc:o,messageId:"unexpected",fix(e){const t=/(?:\r?\n)+$/u.exec(n.text).index,r=n.text.length;return e.replaceTextRange([t,r],"")}}):e.report({node:t,loc:o,messageId:"missing",fix:e=>e.insertTextAfterRange([0,r.length],i?"\r\n":"\n")})}})},fo={meta:{type:"suggestion",docs:{description:"require the use of `===` and `!==`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/eqeqeq"},schema:{anyOf:[{type:"array",items:[{enum:["always"]},{type:"object",properties:{null:{enum:["always","never","ignore"]}},additionalProperties:!1}],additionalItems:!1},{type:"array",items:[{enum:["smart","allow-null"]}],additionalItems:!1}]},fixable:"code",messages:{unexpected:"Expected '{{expectedOperator}}' and instead saw '{{actualOperator}}'."}},create(e){const t=e.options[0]||"always",n=e.options[1]||{},r=e.getSourceCode(),o="always"===t?n.null||"always":"ignore",s="always"===o,a="never"===o;function i(e){return"UnaryExpression"===e.type&&"typeof"===e.operator}function c(e){return i(e.left)||i(e.right)}function l(e){return"Literal"===e.left.type&&"Literal"===e.right.type&&typeof e.left.value==typeof e.right.value}function u(t,n){const o=r.getFirstTokenBetween(t.left,t.right,(e=>e.value===t.operator));e.report({node:t,loc:o.loc,messageId:"unexpected",data:{expectedOperator:n,actualOperator:t.operator},fix:e=>c(t)||l(t)?e.replaceText(o,n):null})}return{BinaryExpression(e){const n=function(e){return fr.isNullLiteral(e.right)||fr.isNullLiteral(e.left)}(e);"=="===e.operator||"!="===e.operator?"smart"===t&&(c(e)||l(e)||n)||!s&&n||u(e,`${e.operator}=`):a&&n&&u(e,e.operator.slice(0,-1))}}}},mo={meta:{type:"problem",docs:{description:'enforce "for" loop update clause moving the counter in the right direction.',category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/for-direction"},fixable:null,schema:[],messages:{incorrectDirection:"The update clause in this loop moves the variable in the wrong direction."}},create(e){function t(t){e.report({node:t,messageId:"incorrectDirection"})}function n(e,t){if("UnaryExpression"===e.right.type){if("-"===e.right.operator)return-t}else if("Identifier"===e.right.type)return 0;return t}return{ForStatement(e){if(e.test&&"BinaryExpression"===e.test.type&&"Identifier"===e.test.left.type&&e.update){const r=e.test.left.name,o=e.test.operator,s=e.update;let a;if("<"===o||"<="===o)a=-1;else{if(">"!==o&&">="!==o)return;a=1}"UpdateExpression"===s.type?function(e,t){if("Identifier"===e.argument.type&&e.argument.name===t){if("++"===e.operator)return 1;if("--"===e.operator)return-1}return 0}(s,r)===a&&t(e):"AssignmentExpression"===s.type&&function(e,t){if(e.left.name===t){if("+="===e.operator)return n(e,1);if("-="===e.operator)return n(e,-1)}return 0}(s,r)===a&&t(e)}}}}},go={meta:{type:"layout",docs:{description:"require or disallow spacing between function identifiers and their invocations",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/func-call-spacing"},fixable:"whitespace",schema:{anyOf:[{type:"array",items:[{enum:["never"]}],minItems:0,maxItems:1},{type:"array",items:[{enum:["always"]},{type:"object",properties:{allowNewlines:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},messages:{unexpectedWhitespace:"Unexpected whitespace between function name and paren.",unexpectedNewline:"Unexpected newline between function name and paren.",missing:"Missing space between function name and paren."}},create(e){const t="always"!==e.options[0],n=!t&&e.options[1]&&e.options[1].allowNewlines,r=e.getSourceCode(),o=r.getText();function s(s,a,i){const c=o.slice(a.range[1],i.range[0]).replace(/\/\*.*?\*\//gu,""),l=/\s/u.test(c),u=l&&fr.LINEBREAK_MATCHER.test(c);t&&l?e.report({node:s,loc:{start:a.loc.end,end:{line:i.loc.start.line,column:i.loc.start.column-1}},messageId:"unexpectedWhitespace",fix:e=>r.commentsExistBetween(a,i)?null:s.optional?e.replaceTextRange([a.range[1],i.range[0]],"?."):u?null:e.removeRange([a.range[1],i.range[0]])}):t||l?t||n||!u||e.report({node:s,loc:{start:a.loc.end,end:i.loc.start},messageId:"unexpectedNewline",fix(e){if(!s.optional)return null;if(r.commentsExistBetween(a,i))return null;const t=[a.range[1],i.range[0]],n=r.getTokenAfter(a);return n.range[0]===a.range[1]?e.replaceTextRange(t,"?. "):n.range[1]===i.range[0]?e.replaceTextRange(t," ?."):e.replaceTextRange(t," ?. ")}}):e.report({node:s,loc:{start:{line:a.loc.end.line,column:a.loc.end.column-1},end:i.loc.start},messageId:"missing",fix:e=>s.optional?null:e.insertTextBefore(i," ")})}return{"CallExpression, NewExpression"(e){const t=r.getLastToken(e),n=r.getLastToken(e.callee),o=r.getFirstTokenBetween(n,t,fr.isOpeningParenToken),a=o&&r.getTokenBefore(o,fr.isNotQuestionDotToken);o&&o.range[1]=6?Y.default.keyword.isIdentifierES6(e):Y.default.keyword.isIdentifierES5(e)}const yo={type:"object",properties:{considerPropertyDescriptor:{type:"boolean"},includeCommonJSModuleExports:{type:"boolean"}},additionalProperties:!1};var xo={meta:{type:"suggestion",docs:{description:"require function names to match the name of the variable or property to which they are assigned",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/func-name-matching"},schema:{anyOf:[{type:"array",additionalItems:!1,items:[{enum:["always","never"]},yo]},{type:"array",additionalItems:!1,items:[yo]}]},messages:{matchProperty:"Function name `{{funcName}}` should match property name `{{name}}`.",matchVariable:"Function name `{{funcName}}` should match variable name `{{name}}`.",notMatchProperty:"Function name `{{funcName}}` should not match property name `{{name}}`.",notMatchVariable:"Function name `{{funcName}}` should not match variable name `{{name}}`."}},create(e){const t=("object"==typeof e.options[0]?e.options[0]:e.options[1])||{},n="string"==typeof e.options[0]?e.options[0]:"always",r=t.considerPropertyDescriptor,o=t.includeCommonJSModuleExports,s=e.parserOptions&&e.parserOptions.ecmaVersion?e.parserOptions.ecmaVersion:5;function a(e,t,n){return!!n&&("CallExpression"===n.type&&fr.isSpecificMemberAccess(n.callee,e,t))}function i(e,t){return"always"===n&&e!==t||"never"===n&&e===t}function c(t,r,o,s){let a;a="always"===n&&s?"matchProperty":"always"===n?"matchVariable":s?"notMatchProperty":"notMatchVariable",e.report({node:t,messageId:a,data:{name:r,funcName:o}})}function l(e){return"Literal"===e.type&&"string"==typeof e.value}return{VariableDeclarator(e){e.init&&"FunctionExpression"===e.init.type&&"Identifier"===e.id.type&&e.init.id&&i(e.id.name,e.init.id.name)&&c(e,e.id.name,e.init.id.name,!1)},AssignmentExpression(e){if("FunctionExpression"!==e.right.type||e.left.computed&&"Literal"!==e.left.property.type||!o&&function(e){if("MemberExpression"===e.type&&"Identifier"===e.object.type&&"module"===e.object.name){if("Identifier"===e.property.type&&"exports"===e.property.name)return!0;if("Literal"===e.property.type&&"exports"===e.property.value)return!0}return!1}(e.left)||"Identifier"!==e.left.type&&"MemberExpression"!==e.left.type)return;const t="MemberExpression"===e.left.type,n=t?fr.getStaticPropertyName(e.left):e.left.name;e.right.id&&ho(n)&&i(n,e.right.id.name)&&c(e,n,e.right.id.name,t)},Property(e){if("FunctionExpression"===e.value.type&&e.value.id&&(!e.computed||l(e.key)))if("Identifier"!==e.key.type)l(e.key)&&ho(e.key.value,s)&&i(e.key.value,e.value.id.name)&&c(e,e.key.value,e.value.id.name,!0);else{const t=e.value.id.name;let n=e.key.name;if(r&&"value"===n)if(a("Object","defineProperty",e.parent.parent)||a("Reflect","defineProperty",e.parent.parent)){const n=e.parent.parent.arguments[1];l(n)&&i(n.value,t)&&c(e,n.value,t,!0)}else a("Object","defineProperties",e.parent.parent.parent.parent)||a("Object","create",e.parent.parent.parent.parent)?(n=e.parent.parent.key.name,!e.parent.parent.computed&&i(n,t)&&c(e,n,t,!0)):i(n,t)&&c(e,n,t,!0);else i(n,t)&&c(e,n,t,!0)}}}}};var bo={meta:{type:"suggestion",docs:{description:"require or disallow named `function` expressions",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/func-names"},schema:{definitions:{value:{enum:["always","as-needed","never"]}},items:[{$ref:"#/definitions/value"},{type:"object",properties:{generators:{$ref:"#/definitions/value"}},additionalProperties:!1}]},messages:{unnamed:"Unexpected unnamed {{name}}.",named:"Unexpected named {{name}}."}},create(e){const t=e.getSourceCode();function n(e){const t=e.parent;return"MethodDefinition"===t.type||"Property"===t.type&&(t.method||"get"===t.kind||"set"===t.kind)}function r(n){e.report({node:n,messageId:"unnamed",loc:fr.getFunctionHeadLoc(n,t),data:{name:fr.getFunctionNameWithKind(n)}})}function o(o){const s=e.getDeclaredVariables(o)[0];if((a=s)&&"FunctionName"===a.defs[0].type&&s.references.length>0)return;var a;const i=Boolean(o.id&&o.id.name),c=function(t){return t.generator&&e.options.length>1&&e.options[1].generators?e.options[1].generators:e.options[0]||"always"}(o);"never"===c?i&&"FunctionDeclaration"!==o.type&&function(n){e.report({node:n,messageId:"named",loc:fr.getFunctionHeadLoc(n,t),data:{name:fr.getFunctionNameWithKind(n)}})}(o):"as-needed"===c?i||function(e){const t=e.parent;return n(e)||"VariableDeclarator"===t.type&&"Identifier"===t.id.type&&t.init===e||"Property"===t.type&&t.value===e||"AssignmentExpression"===t.type&&"Identifier"===t.left.type&&t.right===e||"AssignmentPattern"===t.type&&"Identifier"===t.left.type&&t.right===e}(o)||r(o):i||n(o)||r(o)}return{"FunctionExpression:exit":o,"ExportDefaultDeclaration > FunctionDeclaration":o}}},Eo={meta:{type:"suggestion",docs:{description:"enforce the consistent use of either `function` declarations or expressions",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/func-style"},schema:[{enum:["declaration","expression"]},{type:"object",properties:{allowArrowFunctions:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{expression:"Expected a function expression.",declaration:"Expected a function declaration."}},create(e){const t=e.options[0],n=e.options[1]&&e.options[1].allowArrowFunctions,r="declaration"===t,o=[],s={FunctionDeclaration(t){o.push(!1),r||"ExportDefaultDeclaration"===t.parent.type||e.report({node:t,messageId:"expression"})},"FunctionDeclaration:exit"(){o.pop()},FunctionExpression(t){o.push(!1),r&&"VariableDeclarator"===t.parent.type&&e.report({node:t.parent,messageId:"declaration"})},"FunctionExpression:exit"(){o.pop()},ThisExpression(){o.length>0&&(o[o.length-1]=!0)}};return n||(s.ArrowFunctionExpression=function(){o.push(!1)},s["ArrowFunctionExpression:exit"]=function(t){const n=o.pop();r&&!n&&"VariableDeclarator"===t.parent.type&&e.report({node:t.parent,messageId:"declaration"})}),s}},So={meta:{type:"layout",docs:{description:"enforce line breaks between arguments of a function call",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/function-call-argument-newline"},fixable:"whitespace",schema:[{enum:["always","never","consistent"]}],messages:{unexpectedLineBreak:"There should be no line break here.",missingLineBreak:"There should be a line break after this argument."}},create(e){const t=e.getSourceCode(),n={messageId:"unexpectedLineBreak",check:(e,t)=>e.loc.end.line!==t.loc.start.line,createFix:(e,t)=>n=>n.replaceTextRange([t.range[1],e.range[0]]," ")},r={messageId:"missingLineBreak",check:(e,t)=>e.loc.end.line===t.loc.start.line,createFix:(e,t)=>n=>n.replaceTextRange([t.range[1],e.range[0]],"\n")};function o(n,r){for(let o=1;on!==e.length-1&&t.loc.end.line!==e[n+1].loc.start.line)):s?t:e.length>=a}return a="object"==typeof n?n.minItems:"always"===n?0:"never"===n?1/0:null,{[["ArrowFunctionExpression","CallExpression","FunctionDeclaration","FunctionExpression","ImportExpression","NewExpression"]](n){const r=function(e){switch(e.type){case"NewExpression":if(!(e.arguments.length||fr.isOpeningParenToken(t.getLastToken(e,{skip:1}))&&fr.isClosingParenToken(t.getLastToken(e))))return null;case"CallExpression":return{leftParen:t.getTokenAfter(e.callee,fr.isOpeningParenToken),rightParen:t.getLastToken(e)};case"FunctionDeclaration":case"FunctionExpression":{const n=t.getFirstToken(e,fr.isOpeningParenToken);return{leftParen:n,rightParen:e.params.length?t.getTokenAfter(e.params[e.params.length-1],fr.isClosingParenToken):t.getTokenAfter(n)}}case"ArrowFunctionExpression":{const n=t.getFirstToken(e,{skip:e.async?1:0});return fr.isOpeningParenToken(n)?{leftParen:n,rightParen:t.getTokenBefore(e.body,fr.isClosingParenToken)}:null}case"ImportExpression":return{leftParen:t.getFirstToken(e,1),rightParen:t.getLastToken(e)};default:throw new TypeError(`unexpected node with type ${e.type}`)}}(n);let s;s="ImportExpression"===n.type?[n.source]:fr.isFunction(n)?n.params:n.arguments,r&&(function(n,r){const o=n.leftParen,s=n.rightParen,a=t.getTokenAfter(o),c=t.getTokenBefore(s),l=!fr.isTokenOnSameLine(o,a),u=!fr.isTokenOnSameLine(c,s),p=i(r,l);l&&!p?e.report({node:o,messageId:"unexpectedAfter",fix:e=>t.getText().slice(o.range[1],a.range[0]).trim()?null:e.removeRange([o.range[1],a.range[0]])}):!l&&p&&e.report({node:o,messageId:"expectedAfter",fix:e=>e.insertTextAfter(o,"\n")}),u&&!p?e.report({node:s,messageId:"unexpectedBefore",fix:e=>t.getText().slice(c.range[1],s.range[0]).trim()?null:e.removeRange([c.range[1],s.range[0]])}):!u&&p&&e.report({node:s,messageId:"expectedBefore",fix:e=>e.insertTextBefore(s,"\n")})}(r,s),o&&function(n,r){const o=n.leftParen,s=t.getTokenAfter(o),a=i(r,!fr.isTokenOnSameLine(o,s));for(let t=0;t<=r.length-2;t++){const n=r[t],o=r[t+1];n.loc.end.line===o.loc.start.line&&a&&e.report({node:n,messageId:"expectedBetween",fix:e=>e.insertTextBefore(o,"\n")})}}(r,s))}}}};const vo={oneOf:[{enum:["before","after","both","neither"]},{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}]};var Ao={meta:{type:"layout",docs:{description:"enforce consistent spacing around `*` operators in generator functions",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/generator-star-spacing"},fixable:"whitespace",schema:[{oneOf:[{enum:["before","after","both","neither"]},{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"},named:vo,anonymous:vo,method:vo},additionalProperties:!1}]}],messages:{missingBefore:"Missing space before *.",missingAfter:"Missing space after *.",unexpectedBefore:"Unexpected space before *.",unexpectedAfter:"Unexpected space after *."}},create(e){const t={before:{before:!0,after:!1},after:{before:!1,after:!0},both:{before:!0,after:!0},neither:{before:!1,after:!1}};function n(e,n){return e?"string"==typeof e?t[e]:Object.assign({},n,e):n}const r=function(e){const r=n(e,t.before);return{named:n(e.named,r),anonymous:n(e.anonymous,r),method:n(e.method,r)}}(e.options[0]||{}),o=e.getSourceCode();function s(e){return"*"===e.value&&"Punctuator"===e.type}function a(t,n,o,s){if(!!(s.range[0]-o.range[1])!==r[t][n]){const i="*"===o.value,c=r[t][n],l=i?o:s,u=`${c?"missing":"unexpected"}${a=n,a[0].toUpperCase()+a.slice(1)}`;e.report({node:l,messageId:u,fix:e=>c?i?e.insertTextAfter(l," "):e.insertTextBefore(l," "):e.removeRange([o.range[1],s.range[0]])})}var a}function i(e){if(!e.generator)return;const t=function(e){return o.getFirstToken(e.parent.method||"MethodDefinition"===e.parent.type?e.parent:e,s)}(e),n=o.getTokenBefore(t),r=o.getTokenAfter(t);let i="named";"MethodDefinition"===e.parent.type||"Property"===e.parent.type&&e.parent.method?i="method":e.id||(i="anonymous"),"method"===i&&t===o.getFirstToken(e.parent)||a(i,"before",n,t),a(i,"after",t,r)}return{FunctionDeclaration:i,FunctionExpression:i}}};const ko=/^(?:Arrow)?FunctionExpression$/u;function wo(e){return e.reachable}var Po={meta:{type:"problem",docs:{description:"enforce `return` statements in getters",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/getter-return"},fixable:null,schema:[{type:"object",properties:{allowImplicit:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{expected:"Expected to return a value in {{name}}.",expectedAlways:"Expected {{name}} to always return a value."}},create(e){const t=e.options[0]||{allowImplicit:!1},n=e.getSourceCode();let r={upper:null,codePath:null,hasReturn:!1,shouldCheck:!1,node:null};function o(t){r.shouldCheck&&r.codePath.currentSegments.some(wo)&&e.report({node:t,loc:fr.getFunctionHeadLoc(t,n),messageId:r.hasReturn?"expectedAlways":"expected",data:{name:fr.getFunctionNameWithKind(r.node)}})}function s(e){const t=e.parent;if(ko.test(e.type)&&"BlockStatement"===e.body.type){if("get"===t.kind)return!0;if("Property"===t.type&&"get"===fr.getStaticPropertyName(t)&&"ObjectExpression"===t.parent.type){if("CallExpression"===t.parent.parent.type&&"defineProperty"===fr.getStaticPropertyName(t.parent.parent.callee))return!0;if("Property"===t.parent.parent.type&&"ObjectExpression"===t.parent.parent.parent.type&&"CallExpression"===t.parent.parent.parent.parent.type&&"defineProperties"===fr.getStaticPropertyName(t.parent.parent.parent.parent.callee))return!0}}return!1}return{onCodePathStart(e,t){r={upper:r,codePath:e,hasReturn:!1,shouldCheck:s(t),node:t}},onCodePathEnd(){r=r.upper},ReturnStatement(n){r.shouldCheck&&(r.hasReturn=!0,t.allowImplicit||n.argument||e.report({node:n,messageId:"expected",data:{name:fr.getFunctionNameWithKind(r.node)}}))},"FunctionExpression:exit":o,"ArrowFunctionExpression:exit":o}}};const To=["AssignmentExpression","VariableDeclarator","MemberExpression","ExpressionStatement","CallExpression","ConditionalExpression","Program","VariableDeclaration","ChainExpression"];var Io={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"require `require()` calls to be placed at top-level module scope",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/global-require"},schema:[],messages:{unexpected:"Unexpected require()."}},create:e=>({CallExpression(t){const n=e.getScope();if("require"===t.callee.name&&!function(e,t){const n=function(e,t){const n=e.references.filter((e=>e.identifier.range[0]===t.range[0]&&e.identifier.range[1]===t.range[1]));return 1===n.length?n[0]:null}(e,t);return n&&n.resolved&&n.resolved.defs.length>0}(n,t.callee)){e.getAncestors().every((e=>To.indexOf(e.type)>-1))||e.report({node:t,messageId:"unexpected"})}}})};function Fo(e){return"get"===e.kind||"set"===e.kind}var Do={meta:{type:"suggestion",docs:{description:"require grouped accessor pairs in object literals and classes",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/grouped-accessor-pairs"},schema:[{enum:["anyOrder","getBeforeSet","setBeforeGet"]}],messages:{notGrouped:"Accessor pair {{ formerName }} and {{ latterName }} should be grouped.",invalidOrder:"Expected {{ latterName }} to be before {{ formerName }}."}},create(e){const t=e.options[0]||"anyOrder",n=e.getSourceCode();function r(t,r,o){e.report({node:o,messageId:t,loc:fr.getFunctionHeadLoc(o.value,n),data:{formerName:fr.getFunctionNameWithKind(r.value),latterName:fr.getFunctionNameWithKind(o.value)}})}function o(e){const t=fr.getStaticPropertyName(e);return{key:null!==t?t:n.getTokens(e.key),getters:"get"===e.kind?[e]:[],setters:"set"===e.kind?[e]:[]}}function s(e,t){const n=e.find((e=>{return n=e.key,r=t.key,"string"==typeof n&&"string"==typeof r?n===r:!(!Array.isArray(n)||!Array.isArray(r))&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n1?r("notGrouped",l,u):("getBeforeSet"===t&&i>c||"setBeforeGet"===t&&i"Property"===e.type))},ClassBody(e){a(e.body,(e=>"MethodDefinition"===e.type&&!e.static)),a(e.body,(e=>"MethodDefinition"===e.type&&e.static))}}}},Oo={meta:{type:"suggestion",docs:{description:"require `for-in` loops to include an `if` statement",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/guard-for-in"},schema:[],messages:{wrap:"The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype."}},create:e=>({ForInStatement(t){const n=t.body;if("EmptyStatement"!==n.type&&"IfStatement"!==n.type&&!("BlockStatement"===n.type&&0===n.body.length||"BlockStatement"===n.type&&1===n.body.length&&"IfStatement"===n.body[0].type)){if("BlockStatement"===n.type&&n.body.length>=1&&"IfStatement"===n.body[0].type){const e=n.body[0];if("ContinueStatement"===e.consequent.type)return;if("BlockStatement"===e.consequent.type&&1===e.consequent.body.length&&"ContinueStatement"===e.consequent.body[0].type)return}e.report({node:t,messageId:"wrap"})}}})},Bo={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"require error handling in callbacks",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/handle-callback-err"},schema:[{type:"string"}],messages:{expected:"Expected error to be handled."}},create(e){const t=e.options[0]||"err";function n(n){const r=function(e){return e.variables.filter((e=>e.defs[0]&&"Parameter"===e.defs[0].type))}(e.getScope())[0];r&&function(e){if("^"===t[0])return new RegExp(t,"u").test(e);return e===t}(r.name)&&0===r.references.length&&e.report({node:n,messageId:"expected"})}return{FunctionDeclaration:n,FunctionExpression:n,ArrowFunctionExpression:n}}};var No={meta:{deprecated:!0,replacedBy:["id-denylist"],type:"suggestion",docs:{description:"disallow specified identifiers",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/id-blacklist"},schema:{type:"array",items:{type:"string"},uniqueItems:!0},messages:{restricted:"Identifier '{{name}}' is restricted."}},create(e){const t=new Set(e.options),n=new Set;let r;function o(e){const t=e.parent;return"MemberExpression"!==t.type||t.property!==e||t.computed?!("CallExpression"===t.type||"NewExpression"===t.type||function(e){const t=e.parent;return"ImportSpecifier"===t.type&&t.imported!==t.local&&t.imported===e||"ExportSpecifier"===t.type&&t.parent.source&&t.local!==t.exported&&t.local===e}(e)||function(e){const t=e.parent;return!t.computed&&"Property"===t.type&&"ObjectPattern"===t.parent.type&&t.value!==e&&t.key===e}(e)||function(e){const t=r.set.get(e.name);return t&&0===t.defs.length&&t.references.some((t=>t.identifier===e))}(e)&&!function(e){const t=e.parent;return"Property"===t.type&&"ObjectExpression"===t.parent.type&&t.shorthand}(e)):function(e){const t=e.parent;return"AssignmentExpression"===t.type&&t.left===e||"ArrayPattern"===t.type||"RestElement"===t.type||"Property"===t.type&&t.value===e&&"ObjectPattern"===t.parent.type||"AssignmentPattern"===t.type&&t.left===e}(t)}return{Program(){r=e.getScope()},Identifier(r){(function(e){return t.has(e)})(r.name)&&o(r)&&function(t){n.has(t)||(e.report({node:t,messageId:"restricted",data:{name:t.name}}),n.add(t))}(r)}}}};var jo={meta:{type:"suggestion",docs:{description:"disallow specified identifiers",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/id-denylist"},schema:{type:"array",items:{type:"string"},uniqueItems:!0},messages:{restricted:"Identifier '{{name}}' is restricted."}},create(e){const t=new Set(e.options),n=new Set;let r;function o(e){const t=e.parent;return"MemberExpression"!==t.type||t.property!==e||t.computed?!("CallExpression"===t.type||"NewExpression"===t.type||function(e){const t=e.parent;return"ImportSpecifier"===t.type&&t.imported!==t.local&&t.imported===e||"ExportSpecifier"===t.type&&t.parent.source&&t.local!==t.exported&&t.local===e}(e)||function(e){const t=e.parent;return!t.computed&&"Property"===t.type&&"ObjectPattern"===t.parent.type&&t.value!==e&&t.key===e}(e)||function(e){const t=r.set.get(e.name);return t&&0===t.defs.length&&t.references.some((t=>t.identifier===e))}(e)&&!function(e){const t=e.parent;return"Property"===t.type&&"ObjectExpression"===t.parent.type&&t.shorthand}(e)):function(e){const t=e.parent;return"AssignmentExpression"===t.type&&t.left===e||"ArrayPattern"===t.type||"RestElement"===t.type||"Property"===t.type&&t.value===e&&"ObjectPattern"===t.parent.type||"AssignmentPattern"===t.type&&t.left===e}(t)}return{Program(){r=e.getScope()},Identifier(r){(function(e){return t.has(e)})(r.name)&&o(r)&&function(t){n.has(t)||(e.report({node:t,messageId:"restricted",data:{name:t.name}}),n.add(t))}(r)}}}},Lo={meta:{type:"suggestion",docs:{description:"enforce minimum and maximum identifier lengths",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/id-length"},schema:[{type:"object",properties:{min:{type:"integer",default:2},max:{type:"integer"},exceptions:{type:"array",uniqueItems:!0,items:{type:"string"}},exceptionPatterns:{type:"array",uniqueItems:!0,items:{type:"string"}},properties:{enum:["always","never"]}},additionalProperties:!1}],messages:{tooShort:"Identifier name '{{name}}' is too short (< {{min}}).",tooLong:"Identifier name '{{name}}' is too long (> {{max}})."}},create(e){const t=e.options[0]||{},n=void 0!==t.min?t.min:2,r=void 0!==t.max?t.max:1/0,o="never"!==t.properties,s=new Set(t.exceptions),a=(t.exceptionPatterns||[]).map((e=>new RegExp(e,"u"))),i=new Set;const c={MemberExpression:o&&function(e){return!e.computed&&(e.parent.left===e&&"AssignmentExpression"===e.parent.type||"Property"===e.parent.type&&e.parent.value===e&&"ObjectPattern"===e.parent.parent.type&&e.parent.parent.parent.left===e.parent.parent)},AssignmentPattern:(e,t)=>e.left===t,VariableDeclarator:(e,t)=>e.id===t,Property:(e,t)=>"ObjectPattern"===e.parent.type?e.value!==e.key&&e.value===t||e.value===e.key&&e.key===t&&o:o&&!e.computed&&e.key===t,ImportDefaultSpecifier:!0,RestElement:!0,FunctionExpression:!0,ArrowFunctionExpression:!0,ClassDeclaration:!0,FunctionDeclaration:!0,MethodDefinition:!0,CatchClause:!0,ArrayPattern:!0};return{Identifier(t){const o=t.name,l=t.parent,u=o.lengthr;if(!u&&!p||s.has(o)||function(e){return a.some((t=>t.test(e)))}(o))return;const d=c[l.type];!d||i.has(t)||!0!==d&&!d(l,t)||(i.add(t),e.report({node:t,messageId:u?"tooShort":"tooLong",data:{name:o,min:n,max:r}}))}}}},Ro={meta:{type:"suggestion",docs:{description:"require identifiers to match a specified regular expression",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/id-match"},schema:[{type:"string"},{type:"object",properties:{properties:{type:"boolean",default:!1},onlyDeclarations:{type:"boolean",default:!1},ignoreDestructuring:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{notMatch:"Identifier '{{name}}' does not match the pattern '{{pattern}}'."}},create(e){const t=e.options[0]||"^.+$",n=new RegExp(t,"u"),r=e.options[1]||{},o=!!r.properties,s=!!r.onlyDeclarations,a=!!r.ignoreDestructuring,i=new Map,c=new Set(["CallExpression","NewExpression"]),l=new Set(["FunctionDeclaration","VariableDeclarator"]),u=new Set(["ImportSpecifier","ImportNamespaceSpecifier","ImportDefaultSpecifier"]);function p(e){return!n.test(e)}function d(e,t){return(!s||l.has(e.type))&&!c.has(e.type)&&p(t)}function f(n){i.has(n)||(e.report({node:n,messageId:"notMatch",data:{name:n.name,pattern:t}}),i.set(n,!0))}return{Identifier(e){const t=e.name,n=e.parent,r="MemberExpression"===n.type?n.parent:n;if("MemberExpression"===n.type){if(!o)return;"Identifier"===n.object.type&&n.object.name===t||"AssignmentExpression"===r.type&&"MemberExpression"===r.left.type&&r.left.property.name===e.name?p(t)&&f(e):"AssignmentExpression"===r.type&&"MemberExpression"!==r.right.type&&p(t)&&f(e)}else if("Property"===n.type||"AssignmentPattern"===n.type){if(n.parent&&"ObjectPattern"===n.parent.type){n.shorthand&&n.value.left&&p(t)&&f(e);const r=n.key.name===n.value.name;if(!r&&n.key===e)return;!(n.value.name&&p(t))||r&&a||f(e)}if(!o||a&&function(e){let{parent:t}=e;for(;t;){if("ObjectPattern"===t.type)return!0;t=t.parent}return!1}(e))return;n.right!==e&&d(r,t)&&f(e)}else u.has(n.type)?n.local&&n.local.name===e.name&&p(t)&&f(e):d(r,t)&&f(e)}}}};const{isCommentToken:Mo,isNotOpeningParenToken:_o}=fr;var $o={meta:{type:"layout",docs:{description:"enforce the location of arrow function bodies",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/implicit-arrow-linebreak"},fixable:"whitespace",schema:[{enum:["beside","below"]}],messages:{expected:"Expected a linebreak before this expression.",unexpected:"Expected no linebreak before this expression."}},create(e){const t=e.getSourceCode(),n=e.options[0]||"beside";return{ArrowFunctionExpression:r=>function(r){if("BlockStatement"===r.body.type)return;const o=t.getTokenBefore(r.body,_o),s=t.getTokenAfter(o);o.loc.end.line===s.loc.start.line&&"below"===n?e.report({node:s,messageId:"expected",fix:e=>e.insertTextBefore(s,"\n")}):o.loc.end.line!==s.loc.start.line&&"beside"===n&&e.report({node:s,messageId:"unexpected",fix:e=>t.getFirstTokenBetween(o,s,{includeComments:!0,filter:Mo})?null:e.replaceTextRange([o.range[1],s.range[0]]," ")})}(r)}}};const qo=new Set(["AssignmentExpression","AssignmentPattern","ArrayExpression","ArrayPattern","ArrowFunctionExpression","AwaitExpression","BlockStatement","BinaryExpression","BreakStatement","CallExpression","CatchClause","ChainExpression","ClassBody","ClassDeclaration","ClassExpression","ConditionalExpression","ContinueStatement","DoWhileStatement","DebuggerStatement","EmptyStatement","ExperimentalRestProperty","ExperimentalSpreadProperty","ExpressionStatement","ForStatement","ForInStatement","ForOfStatement","FunctionDeclaration","FunctionExpression","Identifier","IfStatement","Literal","LabeledStatement","LogicalExpression","MemberExpression","MetaProperty","MethodDefinition","NewExpression","ObjectExpression","ObjectPattern","Program","Property","RestElement","ReturnStatement","SequenceExpression","SpreadElement","Super","SwitchCase","SwitchStatement","TaggedTemplateExpression","TemplateElement","TemplateLiteral","ThisExpression","ThrowStatement","TryStatement","UnaryExpression","UpdateExpression","VariableDeclaration","VariableDeclarator","WhileStatement","WithStatement","YieldExpression","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXEmptyExpression","JSXExpressionContainer","JSXElement","JSXClosingElement","JSXOpeningElement","JSXAttribute","JSXSpreadAttribute","JSXText","ExportDefaultDeclaration","ExportNamedDeclaration","ExportAllDeclaration","ExportSpecifier","ImportDeclaration","ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier","ImportExpression"]);class Uo{constructor(){this._rbTree=H.default()}insert(e,t){const n=this._rbTree.find(e);n.valid?this._rbTree=n.update(t):this._rbTree=this._rbTree.insert(e,t)}findLe(e){const t=this._rbTree.le(e);return t&&{key:t.key,value:t.value}}deleteRange(e,t){if(e===t)return;const n=this._rbTree.ge(e);for(;n.valid&&n.key(t.has(n.loc.start.line)||t.set(n.loc.start.line,n),!t.has(n.loc.end.line)&&e.text.slice(n.range[1]-n.loc.end.column,n.range[1]).trim()&&t.set(n.loc.end.line,n),t)),new Map)}getFirstTokenOfLine(e){return this.firstTokensByLineNumber.get(e.loc.start.line)}isFirstTokenOfLine(e){return this.getFirstTokenOfLine(e)===e}getTokenIndent(e){return this.sourceCode.text.slice(e.range[0]-e.loc.start.column,e.range[0])}}class Wo{constructor(e,t,n){this._tokenInfo=e,this._indentSize=t,this._indentType=n,this._tree=new Uo,this._tree.insert(0,{offset:0,from:null,force:!1}),this._lockedFirstTokens=new WeakMap,this._desiredIndentCache=new WeakMap,this._ignoredTokens=new WeakSet}_getOffsetDescriptor(e){return this._tree.findLe(e.range[0]).value}matchOffsetOf(e,t){this._lockedFirstTokens.set(t,e)}setDesiredOffset(e,t,n){return this.setDesiredOffsets(e.range,t,n)}setDesiredOffsets(e,t,n,r){const o={offset:n,from:t,force:r},s=this._tree.findLe(e[1]).value,a=t&&t.range[0]>=e[0]&&t.range[1]<=e[1],i=a&&this._getOffsetDescriptor(t);this._tree.deleteRange(e[0]+1,e[1]),this._tree.insert(e[0],o),a&&(this._tree.insert(t.range[0],i),this._tree.insert(t.range[1],o)),this._tree.insert(e[1],s)}getDesiredIndent(e){if(!this._desiredIndentCache.has(e))if(this._ignoredTokens.has(e))this._desiredIndentCache.set(e,this._tokenInfo.getTokenIndent(e));else if(this._lockedFirstTokens.has(e)){const t=this._lockedFirstTokens.get(e);this._desiredIndentCache.set(e,this.getDesiredIndent(this._tokenInfo.getFirstTokenOfLine(t))+this._indentType.repeat(t.loc.start.column-this._tokenInfo.getFirstTokenOfLine(t).loc.start.column))}else{const t=this._getOffsetDescriptor(e),n=!t.from||t.from.loc.start.line!==e.loc.start.line||/^\s*?\n/u.test(e.value)||t.force?t.offset*this._indentSize:0;this._desiredIndentCache.set(e,(t.from?this.getDesiredIndent(t.from):"")+this._indentType.repeat(n))}return this._desiredIndentCache.get(e)}ignoreToken(e){this._tokenInfo.isFirstTokenOfLine(e)&&this._ignoredTokens.add(e)}getFirstDependency(e){return this._getOffsetDescriptor(e).from}}const Go={oneOf:[{type:"integer",minimum:0},{enum:["first","off"]}]};var zo={meta:{type:"layout",docs:{description:"enforce consistent indentation",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/indent"},fixable:"whitespace",schema:[{oneOf:[{enum:["tab"]},{type:"integer",minimum:0}]},{type:"object",properties:{SwitchCase:{type:"integer",minimum:0,default:0},VariableDeclarator:{oneOf:[Go,{type:"object",properties:{var:Go,let:Go,const:Go},additionalProperties:!1}]},outerIIFEBody:{oneOf:[{type:"integer",minimum:0},{enum:["off"]}]},MemberExpression:{oneOf:[{type:"integer",minimum:0},{enum:["off"]}]},FunctionDeclaration:{type:"object",properties:{parameters:Go,body:{type:"integer",minimum:0}},additionalProperties:!1},FunctionExpression:{type:"object",properties:{parameters:Go,body:{type:"integer",minimum:0}},additionalProperties:!1},CallExpression:{type:"object",properties:{arguments:Go},additionalProperties:!1},ArrayExpression:Go,ObjectExpression:Go,ImportDeclaration:Go,flatTernaryExpressions:{type:"boolean",default:!1},offsetTernaryExpressions:{type:"boolean",default:!1},ignoredNodes:{type:"array",items:{type:"string",not:{pattern:":exit$"}}},ignoreComments:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{wrongIndentation:"Expected indentation of {{expected}} but found {{actual}}."}},create(e){let t="space",n=4;const r={SwitchCase:0,VariableDeclarator:{var:1,let:1,const:1},outerIIFEBody:1,FunctionDeclaration:{parameters:1,body:1},FunctionExpression:{parameters:1,body:1},CallExpression:{arguments:1},MemberExpression:1,ArrayExpression:1,ObjectExpression:1,ImportDeclaration:1,flatTernaryExpressions:!1,ignoredNodes:[],ignoreComments:!1};e.options.length&&("tab"===e.options[0]?(n=1,t="tab"):(n=e.options[0],t="space"),e.options[1]&&(Object.assign(r,e.options[1]),"number"!=typeof r.VariableDeclarator&&"first"!==r.VariableDeclarator||(r.VariableDeclarator={var:r.VariableDeclarator,let:r.VariableDeclarator,const:r.VariableDeclarator})));const o=e.getSourceCode(),s=new Vo(o),a=new Wo(s,n,"space"===t?" ":"\t"),i=new WeakSet;function c(e,n,r){let o;return o=n>0?"space"===t?n:`${n} ${"space"+(1===n?"":"s")}`:r>0?"tab"===t?r:`${r} ${"tab"+(1===r?"":"s")}`:"0",{expected:`${e} ${t}${1===e?"":"s"}`,actual:o}}function l(e,t){const n=s.getTokenIndent(e);return n===t||n.includes(" ")&&n.includes("\t")}function u(e,t,n,r){function i(e){let n=o.getTokenBefore(e);for(;fr.isOpeningParenToken(n)&&n!==t;)n=o.getTokenBefore(n);return o.getTokenAfter(n)}a.setDesiredOffsets([t.range[1],n.range[0]],t,"number"==typeof r?r:1),a.setDesiredOffset(n,t,0),"first"===r&&e.length&&!e[0]||e.forEach(((n,c)=>{if(n&&("off"===r&&a.ignoreToken(i(n)),0!==c))if("first"===r&&s.isFirstTokenOfLine(i(n)))a.matchOffsetOf(i(e[0]),i(n));else{const r=e[c-1],s=r&&i(r),l=r&&o.getLastToken(r);r&&l.loc.end.line-function(e){const t=e.match(/\s*$/u)[0].match(fr.createGlobalLinebreakMatcher());return null===t?0:t.length}(l.value)>t.loc.end.line&&a.setDesiredOffsets([r.range[1],n.range[1]],s,0)}}))}function p(e){if("BlockStatement"!==e.type){const t=o.getTokenBefore(e,fr.isNotOpeningParenToken);let n=o.getFirstToken(e),r=o.getLastToken(e);for(;fr.isOpeningParenToken(o.getTokenBefore(n))&&fr.isClosingParenToken(o.getTokenAfter(r));)n=o.getTokenBefore(n),r=o.getTokenAfter(r);a.setDesiredOffsets([n.range[0],r.range[1]],t,1);const s=o.getLastToken(e);"EmptyStatement"!==e.type&&fr.isSemicolonToken(s)&&a.setDesiredOffset(s,t,0)}}function d(e){let t;t=e.arguments.length?o.getFirstTokenBetween(e.callee,e.arguments[0],fr.isOpeningParenToken):o.getLastToken(e,1);const n=o.getLastToken(e);if(i.add(t),i.add(n),e.optional){const n=o.getTokenAfter(e.callee,fr.isQuestionDotToken),r=o.getTokensBetween(e.callee,n,{filter:fr.isClosingParenToken}).length,s=r?o.getTokenBefore(e.callee,{skip:r-1}):o.getFirstToken(e.callee),i=o.getTokenBefore(n),c=i.loc.end.line===t.loc.start.line?i:s;a.setDesiredOffset(n,c,1)}const s="TaggedTemplateExpression"===e.callee.type?o.getFirstToken(e.callee.quasi):t,c=o.getTokenBefore(s);a.setDesiredOffset(t,c,0),u(e.arguments,t,n,r.CallExpression.arguments)}function f(e){const t=new Set(o.getTokens(e,{includeComments:!0}));t.forEach((e=>{if(!t.has(a.getFirstDependency(e))){const t=s.getFirstTokenOfLine(e);e===t?a.ignoreToken(e):a.setDesiredOffset(e,t,0)}}))}function m(e,t){const n=e.loc.end.line,r=t.loc.start.line;if(n===r||n===r-1)return!1;for(let e=n+1;et.value===e.operator));a.setDesiredOffsets([t.range[0],e.range[1]],o.getLastToken(e.left),1),a.ignoreToken(t),a.ignoreToken(o.getTokenAfter(t))},"BinaryExpression, LogicalExpression"(e){const t=o.getFirstTokenBetween(e.left,e.right,(t=>t.value===e.operator)),n=o.getTokenAfter(t);a.ignoreToken(t),a.ignoreToken(n),a.setDesiredOffset(n,t,0)},"BlockStatement, ClassBody"(e){let t;t=e.parent&&function(e){if(!e.parent||"CallExpression"!==e.parent.type||e.parent.callee!==e)return!1;let t=e.parent&&e.parent.parent;for(;"UnaryExpression"===t.type&&["!","~","+","-"].indexOf(t.operator)>-1||"AssignmentExpression"===t.type||"LogicalExpression"===t.type||"SequenceExpression"===t.type||"VariableDeclarator"===t.type;)t=t.parent;return("ExpressionStatement"===t.type||"VariableDeclaration"===t.type)&&"Program"===t.parent.type}(e.parent)?r.outerIIFEBody:!e.parent||"FunctionExpression"!==e.parent.type&&"ArrowFunctionExpression"!==e.parent.type?e.parent&&"FunctionDeclaration"===e.parent.type?r.FunctionDeclaration.body:1:r.FunctionExpression.body,fr.STATEMENT_LIST_PARENTS.has(e.parent.type)||a.setDesiredOffset(o.getFirstToken(e),o.getFirstToken(e.parent),0),u(e.body,o.getFirstToken(e),o.getLastToken(e),t)},CallExpression:d,"ClassDeclaration[superClass], ClassExpression[superClass]"(e){const t=o.getFirstToken(e),n=o.getTokenBefore(e.superClass,fr.isNotOpeningParenToken);a.setDesiredOffsets([n.range[0],e.body.range[0]],t,1)},ConditionalExpression(e){const t=o.getFirstToken(e);if(!r.flatTernaryExpressions||!fr.isTokenOnSameLine(e.test,e.consequent)||function(e,t){let n=t;for(;n.parent&&!n.parent.type.endsWith("Statement")&&!n.parent.type.endsWith("Declaration");)n=n.parent;return n=n.parent,!n||n.loc.start.line===e.loc.start.line}(t,e)){const n=o.getFirstTokenBetween(e.test,e.consequent,(e=>"Punctuator"===e.type&&"?"===e.value)),s=o.getFirstTokenBetween(e.consequent,e.alternate,(e=>"Punctuator"===e.type&&":"===e.value)),i=o.getTokenAfter(n),c=o.getTokenBefore(s),l=o.getTokenAfter(s);a.setDesiredOffset(n,t,1),a.setDesiredOffset(s,t,1),a.setDesiredOffset(i,t,"Punctuator"===i.type&&r.offsetTernaryExpressions?2:1),c.loc.end.line===l.loc.start.line?a.setDesiredOffset(l,i,0):a.setDesiredOffset(l,t,"Punctuator"===l.type&&r.offsetTernaryExpressions?2:1)}},"DoWhileStatement, WhileStatement, ForInStatement, ForOfStatement":e=>p(e.body),ExportNamedDeclaration(e){if(null===e.declaration){const t=o.getLastToken(e,fr.isClosingBraceToken);u(e.specifiers,o.getFirstToken(e,{skip:1}),t,1),e.source&&a.setDesiredOffsets([t.range[1],e.range[1]],o.getFirstToken(e),1)}},ForStatement(e){const t=o.getFirstToken(e,1);e.init&&a.setDesiredOffsets(e.init.range,t,1),e.test&&a.setDesiredOffsets(e.test.range,t,1),e.update&&a.setDesiredOffsets(e.update.range,t,1),p(e.body)},"FunctionDeclaration, FunctionExpression"(e){const t=o.getTokenBefore(e.body),n=o.getTokenBefore(e.params.length?e.params[0]:t);i.add(n),i.add(t),u(e.params,n,t,r[e.type].parameters)},IfStatement(e){p(e.consequent),e.alternate&&"IfStatement"!==e.alternate.type&&p(e.alternate)},ImportDeclaration(e){if(e.specifiers.some((e=>"ImportSpecifier"===e.type))){const t=o.getFirstToken(e,fr.isOpeningBraceToken),n=o.getLastToken(e,fr.isClosingBraceToken);u(e.specifiers.filter((e=>"ImportSpecifier"===e.type)),t,n,r.ImportDeclaration)}const t=o.getLastToken(e,(e=>"Identifier"===e.type&&"from"===e.value)),n=o.getLastToken(e,(e=>"String"===e.type)),s=o.getLastToken(e,(e=>"Punctuator"===e.type&&";"===e.value));if(t){const r=s&&s.range[1]===n.range[1]?e.range[1]:n.range[1];a.setDesiredOffsets([t.range[0],r],o.getFirstToken(e),1)}},ImportExpression(e){const t=o.getFirstToken(e,1),n=o.getLastToken(e);i.add(t),i.add(n),a.setDesiredOffset(t,o.getTokenBefore(t),0),u([e.source],t,n,r.CallExpression.arguments)},"MemberExpression, JSXMemberExpression, MetaProperty"(e){const t="MetaProperty"===e.type?e.meta:e.object,n=o.getFirstTokenBetween(t,e.property,fr.isNotClosingParenToken),s=o.getTokenAfter(n),i=o.getTokensBetween(t,e.property,{filter:fr.isClosingParenToken}).length,c=i?o.getTokenBefore(t,{skip:i-1}):o.getFirstToken(t),l=o.getTokenBefore(n),u=e.computed?n:s;e.computed&&(a.setDesiredOffset(o.getLastToken(e),n,0),a.setDesiredOffsets(e.property.range,n,1));const p=l.loc.end.line===u.loc.start.line?l:c;"number"==typeof r.MemberExpression?(a.setDesiredOffset(n,p,r.MemberExpression),a.setDesiredOffset(s,e.computed?n:p,r.MemberExpression)):(a.ignoreToken(n),a.ignoreToken(s),a.setDesiredOffset(n,p,0),a.setDesiredOffset(s,n,0))},NewExpression(e){(e.arguments.length>0||fr.isClosingParenToken(o.getLastToken(e))&&fr.isOpeningParenToken(o.getLastToken(e,1)))&&d(e)},Property(e){if(!e.shorthand&&!e.method&&"init"===e.kind){const t=o.getFirstTokenBetween(e.key,e.value,fr.isColonToken);a.ignoreToken(o.getTokenAfter(t))}},SwitchStatement(e){const t=o.getTokenAfter(e.discriminant,fr.isOpeningBraceToken),n=o.getLastToken(e);a.setDesiredOffsets([t.range[1],n.range[0]],t,r.SwitchCase),e.cases.length&&o.getTokensBetween(e.cases[e.cases.length-1],n,{includeComments:!0,filter:fr.isCommentToken}).forEach((e=>a.ignoreToken(e)))},SwitchCase(e){if(1!==e.consequent.length||"BlockStatement"!==e.consequent[0].type){const t=o.getFirstToken(e),n=o.getTokenAfter(e);a.setDesiredOffsets([t.range[1],n.range[0]],t,1)}},TemplateLiteral(e){e.expressions.forEach(((t,n)=>{const r=e.quasis[n],s=e.quasis[n+1],i=r.loc.start.line===r.loc.end.line?o.getFirstToken(r):null;a.setDesiredOffsets([r.range[1],s.range[0]],i,1),a.setDesiredOffset(o.getFirstToken(s),i,0)}))},VariableDeclaration(e){let t=Object.prototype.hasOwnProperty.call(r.VariableDeclarator,e.kind)?r.VariableDeclarator[e.kind]:1;const n=o.getFirstToken(e),s=o.getLastToken(e);if("first"===r.VariableDeclarator[e.kind]){if(e.declarations.length>1)return void u(e.declarations,n,s,"first");t=1}e.declarations[e.declarations.length-1].loc.start.line>e.loc.start.line?a.setDesiredOffsets(e.range,n,t,!0):a.setDesiredOffsets(e.range,n,t),fr.isSemicolonToken(s)&&a.ignoreToken(s)},VariableDeclarator(e){if(e.init){const t=o.getTokenBefore(e.init,fr.isNotOpeningParenToken),n=o.getTokenAfter(t);a.ignoreToken(t),a.ignoreToken(n),a.setDesiredOffsets([n.range[0],e.range[1]],t,1),a.setDesiredOffset(t,o.getLastToken(e.id),0)}},"JSXAttribute[value]"(e){const t=o.getFirstTokenBetween(e.name,e.value,(e=>"Punctuator"===e.type&&"="===e.value));a.setDesiredOffsets([t.range[0],e.value.range[1]],o.getFirstToken(e.name),1)},JSXElement(e){e.closingElement&&u(e.children,o.getFirstToken(e.openingElement),o.getFirstToken(e.closingElement),1)},JSXOpeningElement(e){const t=o.getFirstToken(e);let n;e.selfClosing?(n=o.getLastToken(e,{skip:1}),a.setDesiredOffset(o.getLastToken(e),n,0)):n=o.getLastToken(e),a.setDesiredOffsets(e.name.range,o.getFirstToken(e)),u(e.attributes,t,n,1)},JSXClosingElement(e){const t=o.getFirstToken(e);a.setDesiredOffsets(e.name.range,t,1)},JSXFragment(e){const t=o.getFirstToken(e.openingFragment),n=o.getFirstToken(e.closingFragment);u(e.children,t,n,1)},JSXOpeningFragment(e){const t=o.getFirstToken(e),n=o.getLastToken(e);a.setDesiredOffsets(e.range,t,1),a.matchOffsetOf(t,n)},JSXClosingFragment(e){const t=o.getFirstToken(e),n=o.getLastToken(e,{skip:1}),r=o.getLastToken(e),s=fr.isTokenOnSameLine(n,r)?n:r;a.setDesiredOffsets(e.range,t,1),a.matchOffsetOf(t,s)},JSXExpressionContainer(e){const t=o.getFirstToken(e),n=o.getLastToken(e);a.setDesiredOffsets([t.range[1],n.range[0]],t,1)},JSXSpreadAttribute(e){const t=o.getFirstToken(e),n=o.getLastToken(e);a.setDesiredOffsets([t.range[1],n.range[0]],t,1)},"*"(e){const t=o.getFirstToken(e);t&&!g.has(t)&&a.setDesiredOffsets(e.range,t,0)}},y=[],x=F.default.mapValues(h,(e=>t=>y.push({listener:e,node:t}))),b=new Set;function E(e){b.add(e),g.add(o.getFirstToken(e))}const S=r.ignoredNodes.reduce(((e,t)=>Object.assign(e,{[t]:E})),{});return Object.assign(x,S,{"*:exit"(e){qo.has(e.type)||E(e)},"Program:exit"(){r.ignoreComments&&o.getAllComments().forEach((e=>a.ignoreToken(e))),y.filter((e=>!b.has(e.node))).forEach((e=>e.listener(e.node))),b.forEach(f),function(e){const t=[],n=[];e.forEach((e=>{fr.isOpeningParenToken(e)?t.push(e):fr.isClosingParenToken(e)&&n.unshift({left:t.pop(),right:e})})),n.forEach((e=>{const t=e.left,n=e.right;if(!i.has(t)&&!i.has(n)){const e=new Set(o.getTokensBetween(t,n));e.forEach((n=>{e.has(a.getFirstDependency(n))||a.setDesiredOffset(n,t,1)}))}a.setDesiredOffset(n,t,0)}))}(o.ast.tokens);const t=o.ast.comments.reduce(((e,t)=>{const n=o.getTokenBefore(t,{includeComments:!0});return e.set(t,e.has(n)?e.get(n):n)}),new WeakMap);o.lines.forEach(((n,r)=>{const i=r+1;if(!s.firstTokensByLineNumber.has(i))return;const u=s.firstTokensByLineNumber.get(i);if(u.loc.start.line===i){if(fr.isCommentToken(u)){const e=t.get(u),n=e?o.getTokenAfter(e):o.ast.tokens[0],r=e&&!m(e,u),s=n&&!m(u,n);if(n&&fr.isSemicolonToken(n)&&!fr.isTokenOnSameLine(u,n)&&a.setDesiredOffset(u,n,0),r&&l(u,a.getDesiredIndent(e))||s&&l(u,a.getDesiredIndent(n)))return}l(u,a.getDesiredIndent(u))||function(t,n){const r=Array.from(s.getTokenIndent(t)),o=r.filter((e=>" "===e)).length,a=r.filter((e=>"\t"===e)).length;e.report({node:t,messageId:"wrongIndentation",data:c(n.length,o,a),loc:{start:{line:t.loc.start.line,column:0},end:{line:t.loc.start.line,column:t.loc.start.column}},fix(e){const r=[t.range[0]-t.loc.start.column,t.range[0]],o=n;return e.replaceTextRange(r,o)}})}(u,a.getDesiredIndent(u))}}))}})}},Jo={meta:{type:"layout",docs:{description:"enforce consistent indentation",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/indent-legacy"},deprecated:!0,replacedBy:["indent"],fixable:"whitespace",schema:[{oneOf:[{enum:["tab"]},{type:"integer",minimum:0}]},{type:"object",properties:{SwitchCase:{type:"integer",minimum:0},VariableDeclarator:{oneOf:[{type:"integer",minimum:0},{type:"object",properties:{var:{type:"integer",minimum:0},let:{type:"integer",minimum:0},const:{type:"integer",minimum:0}}}]},outerIIFEBody:{type:"integer",minimum:0},MemberExpression:{type:"integer",minimum:0},FunctionDeclaration:{type:"object",properties:{parameters:{oneOf:[{type:"integer",minimum:0},{enum:["first"]}]},body:{type:"integer",minimum:0}}},FunctionExpression:{type:"object",properties:{parameters:{oneOf:[{type:"integer",minimum:0},{enum:["first"]}]},body:{type:"integer",minimum:0}}},CallExpression:{type:"object",properties:{parameters:{oneOf:[{type:"integer",minimum:0},{enum:["first"]}]}}},ArrayExpression:{oneOf:[{type:"integer",minimum:0},{enum:["first"]}]},ObjectExpression:{oneOf:[{type:"integer",minimum:0},{enum:["first"]}]}},additionalProperties:!1}],messages:{expected:"Expected indentation of {{expected}} but found {{actual}}."}},create(e){const t=null;let n="space",r=4;const o={SwitchCase:0,VariableDeclarator:{var:1,let:1,const:1},outerIIFEBody:null,FunctionDeclaration:{parameters:t,body:1},FunctionExpression:{parameters:t,body:1},CallExpression:{arguments:t},ArrayExpression:1,ObjectExpression:1},s=e.getSourceCode();if(e.options.length&&("tab"===e.options[0]?(r=1,n="tab"):"number"==typeof e.options[0]&&(r=e.options[0],n="space"),e.options[1])){const t=e.options[1];o.SwitchCase=t.SwitchCase||0;const n=t.VariableDeclarator;"number"==typeof n?o.VariableDeclarator={var:n,let:n,const:n}:"object"==typeof n&&Object.assign(o.VariableDeclarator,n),"number"==typeof t.outerIIFEBody&&(o.outerIIFEBody=t.outerIIFEBody),"number"==typeof t.MemberExpression&&(o.MemberExpression=t.MemberExpression),"object"==typeof t.FunctionDeclaration&&Object.assign(o.FunctionDeclaration,t.FunctionDeclaration),"object"==typeof t.FunctionExpression&&Object.assign(o.FunctionExpression,t.FunctionExpression),"object"==typeof t.CallExpression&&Object.assign(o.CallExpression,t.CallExpression),"number"!=typeof t.ArrayExpression&&"string"!=typeof t.ArrayExpression||(o.ArrayExpression=t.ArrayExpression),"number"!=typeof t.ObjectExpression&&"string"!=typeof t.ObjectExpression||(o.ObjectExpression=t.ObjectExpression)}const a={};function i(e,t,r){const o="space"+(1===t?"":"s"),s="tab"+(1===r?"":"s");let a;return a=t>0&&r>0?`${t} ${o} and ${r} ${s}`:t>0?"space"===n?t:`${t} ${o}`:r>0?"tab"===n?r:`${r} ${s}`:"0",{expected:`${e} ${n}${1===e?"":"s"}`,actual:a}}function c(t,r,o,s,a,c){if(o&&s)return;const l=("space"===n?" ":"\t").repeat(r),u=c?[t.range[1]-t.loc.end.column,t.range[1]-t.loc.end.column+o+s]:[t.range[0]-t.loc.start.column,t.range[0]-t.loc.start.column+o+s];e.report({node:t,loc:a,messageId:"expected",data:i(r,o,s),fix:e=>e.replaceTextRange(u,l)})}function l(e,t){const r=t?s.getLastToken(e):s.getFirstToken(e),o=s.getText(r,r.loc.start.column).split(""),a=o.slice(0,o.findIndex((e=>" "!==e&&"\t"!==e))),i=a.filter((e=>" "===e)).length,c=a.filter((e=>"\t"===e)).length;return{space:i,tab:c,goodChar:"space"===n?i:c,badChar:"space"===n?c:i}}function u(e,t){const n=!0===t?s.getLastToken(e,1):s.getTokenBefore(e);return(!0===t?e.loc.end.line:e.loc.start.line)!==(n?n.loc.end.line:-1)}function p(e,t){const n=l(e,!1);if("ArrayExpression"===e.type||"ObjectExpression"===e.type||n.goodChar===t&&0===n.badChar||!u(e)||c(e,t,n.space,n.tab),"IfStatement"===e.type&&e.alternate){p(s.getTokenBefore(e.alternate),t),u(e.alternate)||p(e.alternate,t)}if("TryStatement"===e.type&&e.handler){p(s.getFirstToken(e.handler),t)}if("TryStatement"===e.type&&e.finalizer){p(s.getTokenBefore(e.finalizer),t)}if("DoWhileStatement"===e.type){p(s.getTokenAfter(e.body),t)}}function d(e,t){e.forEach((e=>p(e,t)))}function f(e,t){const n=s.getLastToken(e),r=l(n,!0);r.goodChar===t&&0===r.badChar||!u(e,!0)||c(e,t,r.space,r.tab,{line:n.loc.start.line,column:n.loc.start.column},!0)}function m(e,t,n){let r=e.parent;const o=new Set(n||["Program"]);for(;r.type!==t&&!o.has(r.type)&&"Program"!==r.type;)r=r.parent;return r.type===t?r:null}function g(e){return m(e,"VariableDeclarator")}function h(e,t){return t&&t.parent.loc.start.line===e.loc.start.line&&t.parent.declarations.length>1}function y(e){const t=s.getLastToken(e);return e.loc.start.line===t.loc.end.line}function x(e){if(y(e))return;let t,n,s="ArrayExpression"===e.type?e.elements:e.properties;s=s.filter((e=>null!==e));const a=g(e);if(u(e)){const n=e.parent;if(t=l(n).goodChar,!(a&&a.loc.start.line===e.loc.start.line||"VariableDeclarator"===n.type&&a!==a.parent.declarations[0]))if("VariableDeclarator"===n.type&&a.loc.start.line===n.loc.start.line)t+=r*o.VariableDeclarator[a.parent.kind];else if("ObjectExpression"===n.type||"ArrayExpression"===n.type){const s="ObjectExpression"===e.parent.type?e.parent.properties:e.parent.elements;s[0]&&s[0].loc.start.line===n.loc.start.line&&s[0].loc.end.line!==n.loc.start.line||("number"==typeof o[n.type]?t+=o[n.type]*r:t=s[0].loc.start.column)}else"CallExpression"===n.type||"NewExpression"===n.type?"number"==typeof o.CallExpression.arguments?t+=o.CallExpression.arguments*r:"first"===o.CallExpression.arguments?-1!==n.arguments.indexOf(e)&&(t=n.arguments[0].loc.start.column):t+=r:"LogicalExpression"!==n.type&&"ArrowFunctionExpression"!==n.type||(t+=r);!function(e,t){const n=l(e,!1);n.goodChar===t&&0===n.badChar||!u(e)||c(e,t,n.space,n.tab,{line:e.loc.start.line,column:e.loc.start.column})}(e,t)}else t=l(e).goodChar;n="first"===o[e.type]?s.length?s[0].loc.start.column:0:t+r*o[e.type],h(e,a)&&(n+=r*o.VariableDeclarator[a.parent.kind]),d(s,n),s.length>0&&s[s.length-1].loc.end.line===e.loc.end.line||f(e,t+(h(e,a)?o.VariableDeclarator[a.parent.kind]*r:0))}function b(e){if(y(e))return;if(e.parent&&("FunctionExpression"===e.parent.type||"FunctionDeclaration"===e.parent.type||"ArrowFunctionExpression"===e.parent.type))return void function(e){const t=e.parent;let n;if(n=!t.parent||"Property"!==t.parent.type&&"ArrayExpression"!==t.parent.type?l(t).goodChar:l(t,!1).goodChar,"CallExpression"===t.parent.type){const r=t.parent;"FunctionExpression"!==t.type&&"ArrowFunctionExpression"!==t.type?r&&r.loc.start.line=2&&t.arguments[1]===e&&t.arguments[0].loc.end.line>t.arguments[0].loc.start.line}(t)&&r.callee.loc.start.line===r.callee.loc.end.line&&!u(t)&&(n=l(r).goodChar)}let s=r;null!==o.outerIIFEBody&&function(e){const t=e.parent;let n=t.parent;if("CallExpression"!==t.type||t.callee!==e)return!1;for(;"UnaryExpression"===n.type&&("!"===n.operator||"~"===n.operator||"+"===n.operator||"-"===n.operator)||"AssignmentExpression"===n.type||"LogicalExpression"===n.type||"SequenceExpression"===n.type||"VariableDeclarator"===n.type;)n=n.parent;return("ExpressionStatement"===n.type||"VariableDeclaration"===n.type)&&n.parent&&"Program"===n.parent.type}(t)?s=o.outerIIFEBody*r:"FunctionExpression"===t.type?s=o.FunctionExpression.body*r:"FunctionDeclaration"===t.type&&(s=o.FunctionDeclaration.body*r),n+=s;const a=g(e);a&&h(e,a)&&(n+=r*o.VariableDeclarator[a.parent.kind]),e.body.length>0&&d(e.body,n),f(e,n-s)}(e);let t,n=[];t=e.parent&&-1!==["IfStatement","WhileStatement","ForStatement","ForInStatement","ForOfStatement","DoWhileStatement","ClassDeclaration","TryStatement"].indexOf(e.parent.type)&&function(e){return"BlockStatement"===e.type||"ClassBody"===e.type||e.body&&"BlockStatement"===e.body.type||e.consequent&&"BlockStatement"===e.consequent.type}(e)?l(e.parent).goodChar:e.parent&&"CatchClause"===e.parent.type?l(e.parent.parent).goodChar:l(e).goodChar,n="IfStatement"===e.type&&"BlockStatement"!==e.consequent.type?[e.consequent]:Array.isArray(e.body)?e.body:[e.body],n.length>0&&d(n,t+r),"BlockStatement"===e.type&&f(e,t)}function E(e){"BlockStatement"!==e.body.type&&b(e)}function S(e,t){const n="SwitchStatement"===e.type?e:e.parent,s=void 0===t?l(n).goodChar:t;let i;return a[n.loc.start.line]?a[n.loc.start.line]:(i=n.cases.length>0&&0===o.SwitchCase?s:s+r*o.SwitchCase,a[n.loc.start.line]=i,i)}return{Program(e){e.body.length>0&&d(e.body,l(e).goodChar)},ClassBody:b,BlockStatement:b,WhileStatement:E,ForStatement:E,ForInStatement:E,ForOfStatement:E,DoWhileStatement:E,IfStatement(e){"BlockStatement"!==e.consequent.type&&e.consequent.loc.start.line>e.loc.start.line&&b(e)},VariableDeclaration(e){e.declarations[e.declarations.length-1].loc.start.line>e.declarations[0].loc.start.line&&function(e){const t=function(e){return e.declarations.reduce(((t,n)=>{const r=t[t.length-1];return(n.loc.start.line!==e.loc.start.line&&!r||r&&r.loc.start.line!==n.loc.start.line)&&t.push(n),t}),[])}(e),n=l(e).goodChar,a=t[t.length-1],i=n+r*o.VariableDeclarator[e.kind];if(d(t,i),s.getLastToken(e).loc.end.line<=a.loc.end.line)return;const c=s.getTokenBefore(a);","===c.value?f(e,l(c).goodChar):f(e,i-r)}(e)},ObjectExpression(e){x(e)},ArrayExpression(e){x(e)},MemberExpression(e){if(void 0===o.MemberExpression)return;if(y(e))return;if(m(e,"VariableDeclarator",["FunctionExpression","ArrowFunctionExpression"]))return;if(m(e,"AssignmentExpression",["FunctionExpression"]))return;const t=l(e).goodChar+r*o.MemberExpression,n=[e.property],a=s.getTokenBefore(e.property);"Punctuator"===a.type&&"."===a.value&&n.push(a),d(n,t)},SwitchStatement(e){const t=l(e).goodChar,n=S(e,t);d(e.cases,n),f(e,t)},SwitchCase(e){if(y(e))return;const t=S(e);d(e.consequent,t+r)},FunctionDeclaration(e){y(e)||("first"===o.FunctionDeclaration.parameters&&e.params.length?d(e.params.slice(1),e.params[0].loc.start.column):null!==o.FunctionDeclaration.parameters&&d(e.params,l(e).goodChar+r*o.FunctionDeclaration.parameters))},FunctionExpression(e){y(e)||("first"===o.FunctionExpression.parameters&&e.params.length?d(e.params.slice(1),e.params[0].loc.start.column):null!==o.FunctionExpression.parameters&&d(e.params,l(e).goodChar+r*o.FunctionExpression.parameters))},ReturnStatement(e){if(y(e))return;const t=l(e).goodChar;!function(e){const t=s.getText(e).replace(s.getText(e.argument),"");return/^return\s*?\(\s*?\);*?/u.test(t)}(e)?p(e,t):function(e,t){const n=s.getLastToken(e,fr.isClosingParenToken);if(s.getText(n,n.loc.start.column).slice(0,-1).trim())return;const r=l(n,!0);r.goodChar!==t&&c(e,t,r.space,r.tab,{line:n.loc.start.line,column:n.loc.start.column},!0)}(e,t)},CallExpression(e){y(e)||("first"===o.CallExpression.arguments&&e.arguments.length?d(e.arguments.slice(1),e.arguments[0].loc.start.column):null!==o.CallExpression.arguments&&d(e.arguments,l(e).goodChar+r*o.CallExpression.arguments))}}}};function Ko(e){return"ForInStatement"===e.type||"ForOfStatement"===e.type||"ForStatement"===e.type}function Yo(e){const t=e.parent,n=t.parent;return Ko(n)?"ForStatement"===n.type?n.init===t:n.left===t:Boolean(e.init)}var Ho={meta:{type:"suggestion",docs:{description:"require or disallow initialization in variable declarations",category:"Variables",recommended:!1,url:"https://eslint.org/docs/rules/init-declarations"},schema:{anyOf:[{type:"array",items:[{enum:["always"]}],minItems:0,maxItems:1},{type:"array",items:[{enum:["never"]},{type:"object",properties:{ignoreForLoopInit:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},messages:{initialized:"Variable '{{idName}}' should be initialized on declaration.",notInitialized:"Variable '{{idName}}' should not be initialized on declaration."}},create(e){const t="always",n=e.options[0]||t,r=e.options[1]||{};return{"VariableDeclaration:exit"(o){const s=o.kind,a=o.declarations;for(let i=0;ie.replace(/'/gu,'"')},"prefer-single":{quote:"'",description:"doublequote",convert:e=>e.replace(/"/gu,"'")}};var Qo={meta:{type:"layout",docs:{description:"enforce the consistent use of either double or single quotes in JSX attributes",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/jsx-quotes"},fixable:"whitespace",schema:[{enum:["prefer-single","prefer-double"]}],messages:{unexpected:"Unexpected usage of {{description}}."}},create(e){const t=e.options[0]||"prefer-double",n=Xo[t];return{JSXAttribute(t){const r=t.value;r&&fr.isStringLiteral(r)&&!function(e){return-1!==e.value.indexOf(n.quote)||fr.isSurroundedBy(e.raw,n.quote)}(r)&&e.report({node:r,messageId:"unexpected",data:{description:n.description},fix:e=>e.replaceText(r,n.convert(r.raw))})}}}};function Zo(e){return e[e.length-1]}function es(e){return e.loc.end.line===e.loc.start.line}function ts(e,t){return e.mode=t.mode||"strict",void 0!==t.beforeColon?e.beforeColon=+t.beforeColon:e.beforeColon=0,void 0!==t.afterColon?e.afterColon=+t.afterColon:e.afterColon=1,void 0!==t.align&&("object"==typeof t.align?e.align=t.align:e.align={on:t.align,mode:e.mode,beforeColon:e.beforeColon,afterColon:e.afterColon}),e}var ns={meta:{type:"layout",docs:{description:"enforce consistent spacing between keys and values in object literal properties",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/key-spacing"},fixable:"whitespace",schema:[{anyOf:[{type:"object",properties:{align:{anyOf:[{enum:["colon","value"]},{type:"object",properties:{mode:{enum:["strict","minimum"]},on:{enum:["colon","value"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1}]},mode:{enum:["strict","minimum"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1},{type:"object",properties:{singleLine:{type:"object",properties:{mode:{enum:["strict","minimum"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1},multiLine:{type:"object",properties:{align:{anyOf:[{enum:["colon","value"]},{type:"object",properties:{mode:{enum:["strict","minimum"]},on:{enum:["colon","value"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1}]},mode:{enum:["strict","minimum"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1},{type:"object",properties:{singleLine:{type:"object",properties:{mode:{enum:["strict","minimum"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1},multiLine:{type:"object",properties:{mode:{enum:["strict","minimum"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1},align:{type:"object",properties:{mode:{enum:["strict","minimum"]},on:{enum:["colon","value"]},beforeColon:{type:"boolean"},afterColon:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1}]}],messages:{extraKey:"Extra space after {{computed}}key '{{key}}'.",extraValue:"Extra space before value for {{computed}}key '{{key}}'.",missingKey:"Missing space after {{computed}}key '{{key}}'.",missingValue:"Missing space before value for {{computed}}key '{{key}}'."}},create(e){const t=e.options[0]||{},n=(a={},"object"==typeof(i=t).align?(a.align=ts({},i.align),a.align.on=i.align.on||"colon",a.align.mode=i.align.mode||"strict",a.multiLine=ts({},i.multiLine||i),a.singleLine=ts({},i.singleLine||i)):(a.multiLine=ts({},i.multiLine||i),a.singleLine=ts({},i.singleLine||i),a.multiLine.align&&(a.align={on:a.multiLine.align.on,mode:a.multiLine.align.mode||a.multiLine.mode,beforeColon:a.multiLine.align.beforeColon,afterColon:a.multiLine.align.afterColon})),a),r=n.multiLine,o=n.singleLine,s=n.align||null;var a,i;const c=e.getSourceCode();function l(e){return!(e.method||e.shorthand||"init"!==e.kind||"Property"!==e.type)}function u(e){const t=e.key;return e.computed?c.getText().slice(t.range[0],t.range[1]):fr.getStaticPropertyName(e)}function p(t,n,r,o,s){const a=r.length-o,i=(h=t.key,c.getTokenAfter(h,fr.isColonToken)),l=c.getTokenBefore(i,{includeComments:!0}),p=c.getTokenAfter(i,{includeComments:!0}),d="key"===n,f=a>0,m=Math.abs(a),g=Array(m+1).join(" ");var h;const y=d?l.loc.end:i.loc.start,x=d?i.loc.start:p.loc.start,b=d?l.loc:p.loc,E=f?{start:y,end:x}:b;if((a&&"strict"===s||a<0&&"minimum"===s||a>0&&!o&&"minimum"===s)&&(!o||(S=r,!fr.LINEBREAK_MATCHER.test(S)))){let r;if(f){let e;e=d?[l.range[1],l.range[1]+m]:[p.range[0]-m,p.range[0]],r=function(t){return t.removeRange(e)}}else r=d?function(e){return e.insertTextAfter(l,g)}:function(e){return e.insertTextBefore(p,g)};let o="";o=f?"key"===n?"extraKey":"extraValue":"key"===n?"missingKey":"missingValue",e.report({node:t[n],loc:E,messageId:o,data:{computed:t.computed?"computed ":"",key:u(t)},fix:r})}var S}function d(e){const t=c.getFirstToken(e);return function(e){const t=c.getTokenAfter(e,fr.isColonToken);return c.getTokenBefore(t)}(e.key).range[1]-t.range[0]}function f(e){const t=/(\s*):(\s*)/u.exec(c.getText().slice(e.key.range[1],e.value.range[0]));return t?{beforeColon:t[1],afterColon:t[2]}:null}function m(e){return 1===e.properties.length?[e.properties]:e.properties.reduce(((e,t)=>{const n=Zo(e),r=Zo(n);return!r||function(e,t){const n=e.loc.start.line,r=t.loc.start.line;if(r-n<=1)return!0;const o=c.getCommentsBefore(t);if(o.length&&o[0].loc.start.line-n<=1&&r-Zo(o).loc.end.line<=1){for(let e=1;e1)return!1;return!0}return!1}(r,t)?n.push(t):e.push([t]),e}),[[]])}function g(e,t){const n=f(e);n&&(p(e,"key",n.beforeColon,t.beforeColon,t.mode),p(e,"value",n.afterColon,t.afterColon,t.mode))}function h(e,t){const n=e.length;for(let r=0;r{const t=e.filter(l);t.length>0&&function(e){const[t]=e,n=Zo(e);return t.loc.start.line===n.loc.end.line}(t)?h(t,r):function(e){const t=e.length,n=e.map(d),o=s.on;let a,i,c,l=Math.max(...n);s&&t>1?(a=s.beforeColon,i=s.afterColon,c=s.mode):(a=r.beforeColon,i=r.afterColon,c=s.mode),l+="colon"===o?a:i;for(let r=0;r]$/u,os=/^(?:[([{<~!]|\+\+?|--?)$/u,ss=/^[)\]}>*]$/u,as=/^[{*]$/u,is=/\$\{$/u,cs=/^\}/u,ls=/^(?:JSXElement|RegularExpression|String|Template)$/u,us=io.concat(["as","async","await","from","get","let","of","set","yield"]);function ps(e){return"Template"===e.type&&is.test(e.value)}function ds(e){return"Template"===e.type&&cs.test(e.value)}!function(){us.sort();for(let e=1;e(e[t]={type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1},e)),{}),additionalProperties:!1}},additionalProperties:!1}],messages:{expectedBefore:'Expected space(s) before "{{value}}".',expectedAfter:'Expected space(s) after "{{value}}".',unexpectedBefore:'Unexpected space(s) before "{{value}}".',unexpectedAfter:'Unexpected space(s) after "{{value}}".'}},create(e){const t=e.getSourceCode();function n(n,r){const o=t.getTokenBefore(n);o&&(ls.test(o.type)||r.test(o.value))&&!ps(o)&&fr.isTokenOnSameLine(o,n)&&!t.isSpaceBetweenTokens(o,n)&&e.report({loc:n.loc,messageId:"expectedBefore",data:n,fix:e=>e.insertTextBefore(n," ")})}function r(n,r){const o=t.getTokenBefore(n);o&&(ls.test(o.type)||r.test(o.value))&&!ps(o)&&fr.isTokenOnSameLine(o,n)&&t.isSpaceBetweenTokens(o,n)&&e.report({loc:{start:o.loc.end,end:n.loc.start},messageId:"unexpectedBefore",data:n,fix:e=>e.removeRange([o.range[1],n.range[0]])})}function o(n,r){const o=t.getTokenAfter(n);o&&(ls.test(o.type)||r.test(o.value))&&!ds(o)&&fr.isTokenOnSameLine(n,o)&&!t.isSpaceBetweenTokens(n,o)&&e.report({loc:n.loc,messageId:"expectedAfter",data:n,fix:e=>e.insertTextAfter(n," ")})}function s(n,r){const o=t.getTokenAfter(n);o&&(ls.test(o.type)||r.test(o.value))&&!ds(o)&&fr.isTokenOnSameLine(n,o)&&t.isSpaceBetweenTokens(n,o)&&e.report({loc:{start:n.loc.end,end:o.loc.start},messageId:"unexpectedAfter",data:n,fix:e=>e.removeRange([n.range[1],o.range[0]])})}const a=function(e={}){const t=!1!==e.before,a=!1!==e.after,i={before:t?n:r,after:a?o:s},c=e&&e.overrides||{},l=Object.create(null);for(let e=0;e{switch(e.value){case"get":case"set":case"async":return!0;default:return!1}}));if(!n)throw new Error("Failed to find token get, set, or async beside method name");l(n)}}return{DebuggerStatement:u,WithStatement:u,BreakStatement:u,ContinueStatement:u,ReturnStatement:u,ThrowStatement:u,TryStatement:function(e){u(e),u(e.handler),d(e.finalizer)},IfStatement:function(e){u(e),d(e.alternate)},SwitchStatement:u,SwitchCase:u,DoWhileStatement:function(e){u(e),d(e.test)},ForInStatement:function(e){u(e),d(e.right)},ForOfStatement:function(e){e.await?(i(t.getFirstToken(e,0)),c(t.getFirstToken(e,1))):u(e),l(t.getTokenBefore(e.right,fr.isNotOpeningParenToken))},ForStatement:u,WhileStatement:u,ClassDeclaration:m,ExportNamedDeclaration:g,ExportDefaultDeclaration:g,ExportAllDeclaration:g,FunctionDeclaration:f,ImportDeclaration:g,VariableDeclaration:u,ArrowFunctionExpression:f,AwaitExpression:function(e){i(t.getFirstToken(e))},ClassExpression:m,FunctionExpression:f,NewExpression:p,Super:p,ThisExpression:p,UnaryExpression:p,YieldExpression:p,ImportNamespaceSpecifier:function(e){i(t.getFirstToken(e,1),ss)},MethodDefinition:h,Property:h}}},ms={meta:{type:"layout",docs:{description:"enforce position of line comments",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/line-comment-position"},schema:[{oneOf:[{enum:["above","beside"]},{type:"object",properties:{position:{enum:["above","beside"]},ignorePattern:{type:"string"},applyDefaultPatterns:{type:"boolean"},applyDefaultIgnorePatterns:{type:"boolean"}},additionalProperties:!1}]}],messages:{above:"Expected comment to be above code.",beside:"Expected comment to be beside code."}},create(e){const t=e.options[0];let n,r,o=!0;t&&"string"!=typeof t?(n=!t.position||"above"===t.position,r=t.ignorePattern,o=Object.prototype.hasOwnProperty.call(t,"applyDefaultIgnorePatterns")?t.applyDefaultIgnorePatterns:!1!==t.applyDefaultPatterns):n=!t||"above"===t;const s=fr.COMMENTS_IGNORE_PATTERN,a=/^\s*falls?\s?through/u,i=new RegExp(r,"u"),c=e.getSourceCode();return{Program(){c.getAllComments().filter((e=>"Line"===e.type)).forEach((t=>{if(o&&(s.test(t.value)||a.test(t.value)))return;if(r&&i.test(t.value))return;const l=c.getTokenBefore(t,{includeComments:!0}),u=l&&l.loc.end.line===t.loc.start.line;n?u&&e.report({node:t,messageId:"above"}):u||e.report({node:t,messageId:"beside"})}))}}}},gs={meta:{type:"layout",docs:{description:"enforce consistent linebreak style",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/linebreak-style"},fixable:"whitespace",schema:[{enum:["unix","windows"]}],messages:{expectedLF:"Expected linebreaks to be 'LF' but found 'CRLF'.",expectedCRLF:"Expected linebreaks to be 'CRLF' but found 'LF'."}},create(e){const t=e.getSourceCode();function n(e,t){return function(n){return n.replaceTextRange(e,t)}}return{Program:function(r){const o="unix"===(e.options[0]||"unix"),s=o?"\n":"\r\n",a=t.getText(),i=fr.createGlobalLinebreakMatcher();let c,l=0;for(;null!==(c=i.exec(a));){if(l++,c[0]===s)continue;const a=c.index,i=[a,a+c[0].length];e.report({node:r,loc:{start:{line:l,column:t.lines[l-1].length},end:{line:l+1,column:0}},messageId:o?"expectedLF":"expectedCRLF",fix:n(i,s)})}}}}};var hs={meta:{type:"layout",docs:{description:"require empty lines around comments",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/lines-around-comment"},fixable:"whitespace",schema:[{type:"object",properties:{beforeBlockComment:{type:"boolean",default:!0},afterBlockComment:{type:"boolean",default:!1},beforeLineComment:{type:"boolean",default:!1},afterLineComment:{type:"boolean",default:!1},allowBlockStart:{type:"boolean",default:!1},allowBlockEnd:{type:"boolean",default:!1},allowClassStart:{type:"boolean"},allowClassEnd:{type:"boolean"},allowObjectStart:{type:"boolean"},allowObjectEnd:{type:"boolean"},allowArrayStart:{type:"boolean"},allowArrayEnd:{type:"boolean"},ignorePattern:{type:"string"},applyDefaultIgnorePatterns:{type:"boolean"}},additionalProperties:!1}],messages:{after:"Expected line after comment.",before:"Expected line before comment."}},create(e){const t=Object.assign({},e.options[0]),n=t.ignorePattern,r=fr.COMMENTS_IGNORE_PATTERN,o=new RegExp(n,"u"),s=!1!==t.applyDefaultIgnorePatterns;t.beforeBlockComment=void 0===t.beforeBlockComment||t.beforeBlockComment;const a=e.getSourceCode(),i=a.lines,c=i.length+1,l=a.getAllComments(),u=function(e){const t=[];return e.forEach((e=>{const n=e.loc.start.line,r=e.loc.end.line;t.push(n,r)})),t}(l),p=function(e){return e.map(((e,t)=>({code:e.trim(),num:t+1}))).filter((e=>!e.code)).map((e=>e.num))}(i),d=u.concat(p);function f(e,t){return e.type===t||e.body&&e.body.type===t||e.consequent&&e.consequent.type===t}function m(e){return a.getNodeByRangeIndex(e.range[0])}function g(e,t){const n=m(e);return n&&f(n,t)&&e.loc.start.line-n.loc.start.line==1}function h(e,t){const n=m(e);return n&&f(n,t)&&n.loc.end.line-e.loc.end.line==1}function y(e){return g(e,"ClassBody")}function x(e){return h(e,"ClassBody")}function b(i,l){if(s&&r.test(i.value))return;if(n&&o.test(i.value))return;let u=l.after,p=l.before;const f=i.loc.start.line-1,m=i.loc.end.line+1,b=function(e){let t=e;do{t=a.getTokenBefore(t,{includeComments:!0})}while(t&&fr.isCommentToken(t));if(t&&fr.isTokenOnSameLine(t,e))return!0;t=e;do{t=a.getTokenAfter(t,{includeComments:!0})}while(t&&fr.isCommentToken(t));return!(!t||!fr.isTokenOnSameLine(e,t))}(i),E=t.allowBlockStart&&function(e){return g(e,"ClassBody")||g(e,"BlockStatement")||g(e,"SwitchCase")}(i)&&!(!1===t.allowClassStart&&y(i)),S=t.allowBlockEnd&&function(e){return h(e,"ClassBody")||h(e,"BlockStatement")||h(e,"SwitchCase")||h(e,"SwitchStatement")}(i)&&!(!1===t.allowClassEnd&&x(i)),C=t.allowClassStart&&y(i),v=t.allowClassEnd&&x(i),A=t.allowObjectStart&&function(e){return g(e,"ObjectExpression")||g(e,"ObjectPattern")}(i),k=t.allowObjectEnd&&function(e){return h(e,"ObjectExpression")||h(e,"ObjectPattern")}(i),w=t.allowArrayStart&&function(e){return g(e,"ArrayExpression")||g(e,"ArrayPattern")}(i),P=t.allowArrayEnd&&function(e){return h(e,"ArrayExpression")||h(e,"ArrayPattern")}(i),T=E||C||A||w,I=S||v||k||P;if(f<1&&(p=!1),m>=c&&(u=!1),b)return;const F=a.getTokenBefore(i,{includeComments:!0}),D=a.getTokenAfter(i,{includeComments:!0});if(!T&&p&&!d.includes(f)&&(!fr.isCommentToken(F)||!fr.isTokenOnSameLine(F,i))){const t=i.range[0]-i.loc.start.column,n=[t,t];e.report({node:i,messageId:"before",fix:e=>e.insertTextBeforeRange(n,"\n")})}I||!u||d.includes(m)||fr.isCommentToken(D)&&fr.isTokenOnSameLine(i,D)||e.report({node:i,messageId:"after",fix:e=>e.insertTextAfter(i,"\n")})}return{Program(){l.forEach((e=>{"Line"===e.type?(t.beforeLineComment||t.afterLineComment)&&b(e,{after:t.afterLineComment,before:t.beforeLineComment}):"Block"===e.type&&(t.beforeBlockComment||t.afterBlockComment)&&b(e,{after:t.afterBlockComment,before:t.beforeBlockComment})}))}}}},ys={meta:{type:"layout",docs:{description:"require or disallow newlines around directives",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/lines-around-directive"},schema:[{oneOf:[{enum:["always","never"]},{type:"object",properties:{before:{enum:["always","never"]},after:{enum:["always","never"]}},additionalProperties:!1,minProperties:2}]}],fixable:"whitespace",messages:{expected:'Expected newline {{location}} "{{value}}" directive.',unexpected:'Unexpected newline {{location}} "{{value}}" directive.'},deprecated:!0,replacedBy:["padding-line-between-statements"]},create(e){const t=e.getSourceCode(),n=e.options[0]||"always",r="string"==typeof n?n:n.before,o="string"==typeof n?n:n.after;function s(e){const n=t.getTokenBefore(e,{includeComments:!0}),r=n?n.loc.end.line:0;return e.loc.start.line-r>=2}function a(e){const n=t.getLastToken(e),r=t.getTokenBefore(n);return fr.isSemicolonToken(n)&&n.loc.start.line>r.loc.end.line?r:n}function i(e){const n=a(e);return t.getTokenAfter(n,{includeComments:!0}).loc.start.line-n.loc.end.line>=2}function c(t,n,r){e.report({node:t,messageId:r?"expected":"unexpected",data:{value:t.expression.value,location:n},fix(e){const o=a(t);return r?"before"===n?e.insertTextBefore(t,"\n"):e.insertTextAfter(o,"\n"):e.removeRange("before"===n?[t.range[0]-1,t.range[0]]:[o.range[1],o.range[1]+1])}})}function l(e){const n=fr.getDirectivePrologue(e);if(!n.length)return;const a=n[0],l=t.getCommentsBefore(a);l.length?("always"!==r||s(a)||c(a,"before",!0),"never"===r&&s(a)&&c(a,"before",!1)):"Program"===e.type&&"never"===r&&!l.length&&s(a)&&c(a,"before",!1);const u=n[n.length-1],p="Program"===e.type?e.body:e.body.body;(u!==p[p.length-1]||u.trailingComments)&&("always"!==o||i(u)||c(u,"after",!0),"never"===o&&i(u)&&c(u,"after",!1))}return{Program:l,FunctionDeclaration:l,FunctionExpression:l,ArrowFunctionExpression:l}}},xs={meta:{type:"layout",docs:{description:"require or disallow an empty line between class members",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/lines-between-class-members"},fixable:"whitespace",schema:[{enum:["always","never"]},{type:"object",properties:{exceptAfterSingleLine:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{never:"Unexpected blank line between class members.",always:"Expected blank line between class members."}},create(e){const t=[];t[0]=e.options[0]||"always",t[1]=e.options[1]||{exceptAfterSingleLine:!1};const n=e.getSourceCode();function r(e,t,o){const s=n.getTokenAfter(e,{includeComments:!0});return s!==t&&s.loc.start.line-e.loc.end.line<=o?r(s,t,o):e}function o(e,t,r){const s=n.getTokenBefore(e,{includeComments:!0});return s!==t&&e.loc.start.line-s.loc.end.line<=r?o(s,t,r):e}return{ClassBody(s){const a=s.body;for(let s=0;s1,h=(i=f,c=m,0!==n.getTokensBetween(i,c,{includeComments:!0}).length),y=r(u,p,0);("always"===t[0]&&!d&&!g||"never"===t[0]&&g)&&e.report({node:a[s+1],messageId:g?"never":"always",fix:e=>h?null:g?e.replaceTextRange([f.range[1],m.range[0]],"\n"):e.insertTextAfter(y,"\n")})}var i,c}}}},bs={meta:{type:"suggestion",docs:{description:"enforce a maximum number of classes per file",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/max-classes-per-file"},schema:[{type:"integer",minimum:1}],messages:{maximumExceeded:"File has too many classes ({{ classCount }}). Maximum allowed is {{ max }}."}},create(e){const t=e.options[0]||1;let n=0;return{Program(){n=0},"Program:exit"(r){n>t&&e.report({node:r,messageId:"maximumExceeded",data:{classCount:n,max:t}})},"ClassDeclaration, ClassExpression"(){n++}}}},Es={meta:{type:"suggestion",docs:{description:"enforce a maximum depth that blocks can be nested",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-depth"},schema:[{oneOf:[{type:"integer",minimum:0},{type:"object",properties:{maximum:{type:"integer",minimum:0},max:{type:"integer",minimum:0}},additionalProperties:!1}]}],messages:{tooDeeply:"Blocks are nested too deeply ({{depth}}). Maximum allowed is {{maxDepth}}."}},create(e){const t=[],n=e.options[0];let r=4;function o(){t.push(0)}function s(){t.pop()}function a(n){const o=++t[t.length-1];o>r&&e.report({node:n,messageId:"tooDeeply",data:{depth:o,maxDepth:r}})}function i(){t[t.length-1]--}return"object"==typeof n&&(Object.prototype.hasOwnProperty.call(n,"maximum")||Object.prototype.hasOwnProperty.call(n,"max"))&&(r=n.maximum||n.max),"number"==typeof n&&(r=n),{Program:o,FunctionDeclaration:o,FunctionExpression:o,ArrowFunctionExpression:o,IfStatement(e){"IfStatement"!==e.parent.type&&a(e)},SwitchStatement:a,TryStatement:a,DoWhileStatement:a,WhileStatement:a,WithStatement:a,ForStatement:a,ForInStatement:a,ForOfStatement:a,"IfStatement:exit":i,"SwitchStatement:exit":i,"TryStatement:exit":i,"DoWhileStatement:exit":i,"WhileStatement:exit":i,"WithStatement:exit":i,"ForStatement:exit":i,"ForInStatement:exit":i,"ForOfStatement:exit":i,"FunctionDeclaration:exit":s,"FunctionExpression:exit":s,"ArrowFunctionExpression:exit":s,"Program:exit":s}}};const Ss={type:"object",properties:{code:{type:"integer",minimum:0},comments:{type:"integer",minimum:0},tabWidth:{type:"integer",minimum:0},ignorePattern:{type:"string"},ignoreComments:{type:"boolean"},ignoreStrings:{type:"boolean"},ignoreUrls:{type:"boolean"},ignoreTemplateLiterals:{type:"boolean"},ignoreRegExpLiterals:{type:"boolean"},ignoreTrailingComments:{type:"boolean"}},additionalProperties:!1},Cs={anyOf:[Ss,{type:"integer",minimum:0}]};var vs={meta:{type:"layout",docs:{description:"enforce a maximum line length",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-len"},schema:[Cs,Cs,Ss],messages:{max:"This line has a length of {{lineLength}}. Maximum allowed is {{maxLength}}.",maxComment:"This line has a comment length of {{lineLength}}. Maximum allowed is {{maxCommentLength}}."}},create(e){const t=/[^:/?#]:\/\/[^?#]/u,n=e.getSourceCode();const r=Object.assign({},e.options[e.options.length-1]);"number"==typeof e.options[0]&&(r.code=e.options[0]),"number"==typeof e.options[1]&&(r.tabWidth=e.options[1]);const o="number"==typeof r.code?r.code:80,s="number"==typeof r.tabWidth?r.tabWidth:4,a=!!r.ignoreComments,i=!!r.ignoreStrings,c=!!r.ignoreTemplateLiterals,l=!!r.ignoreRegExpLiterals,u=!!r.ignoreTrailingComments||!!r.ignoreComments,p=!!r.ignoreUrls,d=r.comments;let f=r.ignorePattern||null;function m(e,t,n){return n&&n.loc.start.line===t&&t<=n.loc.end.line&&(n.loc.end.line>t||n.loc.end.column===e.length)}function g(e,t){return e.slice(0,t.loc.start.column).replace(/\s+$/u,"")}function h(e,t){for(let s=t.loc.start.line;s<=t.loc.end.line;++s)n=e,r=s,o=t,Array.isArray(n[r])||(n[r]=[]),n[r].push(o);var n,r,o;return e}return f&&(f=new RegExp(f,"u")),{Program:function(r){const y=n.lines,x=a||d||u?function(){const e=[];return n.getAllComments().forEach((t=>{const r=n.getNodeByRangeIndex(t.range[0]);!function(e){if(!e||!e.parent||"JSXEmptyExpression"!==e.type||"JSXExpressionContainer"!==e.parent.type)return!1;const t=e.parent;return t.loc.start.line===t.loc.end.line}(r)?e.push(t):e[e.length-1]!==r.parent&&e.push(r.parent)})),e}():[];let b=0;const E=n.ast.tokens.filter((e=>"String"===e.type||"JSXText"===e.type&&"JSXAttribute"===n.getNodeByRangeIndex(e.range[0]-1).type)).reduce(h,{}),S=n.ast.tokens.filter((e=>"Template"===e.type)).reduce(h,{}),C=n.ast.tokens.filter((e=>"RegularExpression"===e.type)).reduce(h,{});y.forEach(((n,h)=>{const y=h+1;let v,A=!1;if(bt||o.line===t&&o.column===e.length)}(n,y,e))A=!0,v=n;else if(u&&m(n,y,e)){v=g(n,e);let t=b;for(;m(v,y,x[--t]);)v=g(v,x[t])}else v=n}else v=n;if(f&&f.test(v)||p&&t.test(v)||i&&E[y]||c&&S[y]||l&&C[y])return;const k=function(e,t){let n=0;return e.replace(/\t/gu,((e,r)=>{n+=t-(t?(r+n)%t:0)-1})),Array.from(e).length+n}(v,s),w=A&&d;if(A&&a)return;const P={start:{line:y,column:0},end:{line:y,column:v.length}};w?k>d&&e.report({node:r,loc:P,messageId:"maxComment",data:{lineLength:k,maxCommentLength:d}}):k>o&&e.report({node:r,loc:P,messageId:"max",data:{lineLength:k,maxLength:o}})}))}}}},As={meta:{type:"suggestion",docs:{description:"enforce a maximum number of lines per file",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-lines"},schema:[{oneOf:[{type:"integer",minimum:0},{type:"object",properties:{max:{type:"integer",minimum:0},skipComments:{type:"boolean"},skipBlankLines:{type:"boolean"}},additionalProperties:!1}]}],messages:{exceed:"File has too many lines ({{actual}}). Maximum allowed is {{max}}."}},create(e){const t=e.options[0];let n=300;"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"max")?n=t.max:"number"==typeof t&&(n=t);const r=t&&t.skipComments,o=t&&t.skipBlankLines,s=e.getSourceCode();function a(e){return e&&("Block"===e.type||"Line"===e.type)}return{"Program:exit"(){let t=s.lines.map(((e,t)=>({lineNumber:t+1,text:e})));if(t.length>1&&""===F.default.last(t).text&&t.pop(),o&&(t=t.filter((e=>""!==e.text.trim()))),r){const e=s.getAllComments(),n=F.default.flatten(e.map((e=>function(e){let t,n=e.loc.start.line,r=e.loc.end.line;t=e;do{t=s.getTokenBefore(t,{includeComments:!0})}while(a(t));t&&fr.isTokenOnSameLine(t,e)&&(n+=1),t=e;do{t=s.getTokenAfter(t,{includeComments:!0})}while(a(t));return t&&fr.isTokenOnSameLine(e,t)&&(r-=1),n<=r?F.default.range(n,r+1):[]}(e))));t=t.filter((e=>!n.includes(e.lineNumber)))}if(t.length>n){const r={start:{line:t[n].lineNumber,column:0},end:{line:s.lines.length,column:F.default.last(s.lines).length}};e.report({loc:r,messageId:"exceed",data:{max:n,actual:t.length}})}}}}};var ks={meta:{type:"suggestion",docs:{description:"enforce a maximum number of lines of code in a function",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-lines-per-function"},schema:[{oneOf:[{type:"object",properties:{max:{type:"integer",minimum:0},skipComments:{type:"boolean"},skipBlankLines:{type:"boolean"},IIFEs:{type:"boolean"}},additionalProperties:!1},{type:"integer",minimum:1}]}],messages:{exceed:"{{name}} has too many lines ({{lineCount}}). Maximum allowed is {{maxLines}}."}},create(e){const t=e.getSourceCode(),n=t.lines,r=e.options[0];let o=50,s=!1,a=!1,i=!1;"object"==typeof r?(o="number"==typeof r.max?r.max:50,s=!!r.skipComments,a=!!r.skipBlankLines,i=!!r.IIFEs):"number"==typeof r&&(o=r);const c=function(e){const t=new Map;return e.forEach((e=>{for(let n=e.loc.start.line;n<=e.loc.end.line;n++)t.set(n,e)})),t}(t.getAllComments());function l(e,t,n){const r=n.loc.start,o=n.loc.end,s=r.line===t&&!e.slice(0,r.column).trim(),a=o.line===t&&!e.slice(o.column).trim();return n&&(r.linet||a)}function u(t){const r=function(e){return!!e.parent&&e===e.parent.value&&("MethodDefinition"===e.parent.type||"Property"===e.parent.type&&(!0===e.parent.method||"get"===e.parent.kind||"set"===e.parent.kind))}(t)?t.parent:t;if(!i&&function(e){return("FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type)&&e.parent&&"CallExpression"===e.parent.type&&e.parent.callee===e}(r))return;let u=0;for(let e=r.loc.start.line-1;eo){const n=F.default.upperFirst(fr.getFunctionNameWithKind(t));e.report({node:r,messageId:"exceed",data:{name:n,lineCount:u,maxLines:o}})}}return{FunctionDeclaration:u,FunctionExpression:u,ArrowFunctionExpression:u}}},ws={meta:{type:"suggestion",docs:{description:"enforce a maximum depth that callbacks can be nested",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-nested-callbacks"},schema:[{oneOf:[{type:"integer",minimum:0},{type:"object",properties:{maximum:{type:"integer",minimum:0},max:{type:"integer",minimum:0}},additionalProperties:!1}]}],messages:{exceed:"Too many nested callbacks ({{num}}). Maximum allowed is {{max}}."}},create(e){const t=e.options[0];let n=10;"object"==typeof t&&(Object.prototype.hasOwnProperty.call(t,"maximum")||Object.prototype.hasOwnProperty.call(t,"max"))?n=t.maximum||t.max:"number"==typeof t&&(n=t);const r=[];function o(t){if("CallExpression"===t.parent.type&&r.push(t),r.length>n){const o={num:r.length,max:n};e.report({node:t,messageId:"exceed",data:o})}}function s(){r.pop()}return{ArrowFunctionExpression:o,"ArrowFunctionExpression:exit":s,FunctionExpression:o,"FunctionExpression:exit":s}}},Ps={meta:{type:"suggestion",docs:{description:"enforce a maximum number of parameters in function definitions",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-params"},schema:[{oneOf:[{type:"integer",minimum:0},{type:"object",properties:{maximum:{type:"integer",minimum:0},max:{type:"integer",minimum:0}},additionalProperties:!1}]}],messages:{exceed:"{{name}} has too many parameters ({{count}}). Maximum allowed is {{max}}."}},create(e){const t=e.getSourceCode(),n=e.options[0];let r=3;function o(n){n.params.length>r&&e.report({loc:fr.getFunctionHeadLoc(n,t),node:n,messageId:"exceed",data:{name:F.default.upperFirst(fr.getFunctionNameWithKind(n)),count:n.params.length,max:r}})}return"object"==typeof n&&(Object.prototype.hasOwnProperty.call(n,"maximum")||Object.prototype.hasOwnProperty.call(n,"max"))&&(r=n.maximum||n.max),"number"==typeof n&&(r=n),{FunctionDeclaration:o,ArrowFunctionExpression:o,FunctionExpression:o}}},Ts={meta:{type:"suggestion",docs:{description:"enforce a maximum number of statements allowed in function blocks",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-statements"},schema:[{oneOf:[{type:"integer",minimum:0},{type:"object",properties:{maximum:{type:"integer",minimum:0},max:{type:"integer",minimum:0}},additionalProperties:!1}]},{type:"object",properties:{ignoreTopLevelFunctions:{type:"boolean"}},additionalProperties:!1}],messages:{exceed:"{{name}} has too many statements ({{count}}). Maximum allowed is {{max}}."}},create(e){const t=[],n=e.options[0],r=e.options[1]&&e.options[1].ignoreTopLevelFunctions||!1,o=[];let s=10;function a(t,n,r){if(n>r){const o=F.default.upperFirst(fr.getFunctionNameWithKind(t));e.report({node:t,messageId:"exceed",data:{name:o,count:n,max:r}})}}function i(){t.push(0)}function c(e){const n=t.pop();r&&0===t.length?o.push({node:e,count:n}):a(e,n,s)}return"object"==typeof n&&(Object.prototype.hasOwnProperty.call(n,"maximum")||Object.prototype.hasOwnProperty.call(n,"max"))?s=n.maximum||n.max:"number"==typeof n&&(s=n),{FunctionDeclaration:i,FunctionExpression:i,ArrowFunctionExpression:i,BlockStatement:function(e){t[t.length-1]+=e.body.length},"FunctionDeclaration:exit":c,"FunctionExpression:exit":c,"ArrowFunctionExpression:exit":c,"Program:exit"(){1!==o.length&&o.forEach((e=>{const t=e.count;a(e.node,t,s)}))}}}},Is={meta:{type:"layout",docs:{description:"enforce a maximum number of statements allowed per line",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/max-statements-per-line"},schema:[{type:"object",properties:{max:{type:"integer",minimum:1,default:1}},additionalProperties:!1}],messages:{exceed:"This line has {{numberOfStatementsOnThisLine}} {{statements}}. Maximum allowed is {{maxStatementsPerLine}}."}},create(e){const t=e.getSourceCode(),n=e.options[0]||{},r=void 0!==n.max?n.max:1;let o,s=0,a=0;const i=/^(?:(?:DoWhile|For|ForIn|ForOf|If|Labeled|While)Statement|Export(?:Default|Named)Declaration)$/u;function c(){o&&e.report({node:o,messageId:"exceed",data:{numberOfStatementsOnThisLine:a,maxStatementsPerLine:r,statements:1===a?"statement":"statements"}}),o=null}function l(e){const t=e.loc.start.line;i.test(e.parent.type)&&e.parent.alternate!==e||(t===s?a+=1:(c(),a=1,s=t),a===r+1&&(o=o||e))}function u(e){const n=function(e){return t.getLastToken(e,fr.isNotSemicolonToken)}(e).loc.end.line;n!==s&&(c(),a=1,s=n)}return{BreakStatement:l,ClassDeclaration:l,ContinueStatement:l,DebuggerStatement:l,DoWhileStatement:l,ExpressionStatement:l,ForInStatement:l,ForOfStatement:l,ForStatement:l,FunctionDeclaration:l,IfStatement:l,ImportDeclaration:l,LabeledStatement:l,ReturnStatement:l,SwitchStatement:l,ThrowStatement:l,TryStatement:l,VariableDeclaration:l,WhileStatement:l,WithStatement:l,ExportNamedDeclaration:l,ExportDefaultDeclaration:l,ExportAllDeclaration:l,"BreakStatement:exit":u,"ClassDeclaration:exit":u,"ContinueStatement:exit":u,"DebuggerStatement:exit":u,"DoWhileStatement:exit":u,"ExpressionStatement:exit":u,"ForInStatement:exit":u,"ForOfStatement:exit":u,"ForStatement:exit":u,"FunctionDeclaration:exit":u,"IfStatement:exit":u,"ImportDeclaration:exit":u,"LabeledStatement:exit":u,"ReturnStatement:exit":u,"SwitchStatement:exit":u,"ThrowStatement:exit":u,"TryStatement:exit":u,"VariableDeclaration:exit":u,"WhileStatement:exit":u,"WithStatement:exit":u,"ExportNamedDeclaration:exit":u,"ExportDefaultDeclaration:exit":u,"ExportAllDeclaration:exit":u,"Program:exit":c}}},Fs={meta:{type:"suggestion",docs:{description:"enforce a particular style for multiline comments",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/multiline-comment-style"},fixable:"whitespace",schema:[{enum:["starred-block","separate-lines","bare-block"]}],messages:{expectedBlock:"Expected a block comment instead of consecutive line comments.",expectedBareBlock:"Expected a block comment without padding stars.",startNewline:"Expected a linebreak after '/*'.",endNewline:"Expected a linebreak before '*/'.",missingStar:"Expected a '*' at the start of this line.",alignment:"Expected this line to be aligned with the start of the comment.",expectedLines:"Expected multiple line comments instead of a block comment."}},create(e){const t=e.getSourceCode(),n=e.options[0]||"starred-block";function r([e]){if("Block"!==e.type)return!1;const t=e.value.split(fr.LINEBREAK_MATCHER);return t.length>0&&t.every(((e,n)=>(0===n||n===t.length-1?/^\s*$/u:/^\s*\*/u).test(e)))}function o([e]){if("Block"!==e.type)return!1;const t=e.value.split(fr.LINEBREAK_MATCHER);return/^\*\s*$/u.test(t[0])&&t.slice(1,-1).every((e=>/^\s* /u.test(e)))&&/^\s*$/u.test(t[t.length-1])}function s(e){const[n]=e;return"Line"===n.type?function(e){const t=e.map((({value:e})=>e)).filter((e=>e.trim().length)).every((e=>e.startsWith(" ")));return e.map((({value:e})=>t?e.replace(/^ /u,""):e))}(e):r(e)?function(e){const t=e.value.split(fr.LINEBREAK_MATCHER).filter(((e,t,n)=>!(0===t||t===n.length-1))).map((e=>e.replace(/^\s*$/u,""))),n=t.map((e=>e.replace(/\s*\*/u,""))).filter((e=>e.trim().length)).every((e=>e.startsWith(" ")));return t.map((e=>e.replace(n?/\s*\* ?/u:/\s*\*/u,"")))}(n):function(e){const n=e.value.split(fr.LINEBREAK_MATCHER).map((e=>e.replace(/^\s*$/u,""))),r=`${t.text.slice(e.range[0]-e.loc.start.column,e.range[0])} `;let o="";for(const[e,t]of n.entries()){if(!t.trim().length||0===e)continue;const[,n]=t.match(/^(\s*\*?\s*)/u);if(n.lengtho.length&&(o=e)}}return n.map((e=>{const t=e.match(/^(\s*\*?\s*)(.*)/u),[,n,s]=t;return n.length>r.length?`${n.slice(r.length-(o.length+n.length))}${s}`:n.lengthe.includes("*/"))))if(n.length>1)e.report({loc:{start:r.loc.start,end:n[n.length-1].loc.end},messageId:"expectedBlock",fix(e){const t=[r.range[0],n[n.length-1].range[1]];return o.some((e=>e.startsWith("/")))?null:e.replaceTextRange(t,function(e,t){const n=a(e);return`/*\n${t.map((e=>`${n} * ${e}`)).join("\n")}\n${n} */`}(r,o))}});else{const n=r.value.split(fr.LINEBREAK_MATCHER),o=`${a(r)} *`;if(!/^\*?\s*$/u.test(n[0])){const t=r.value.startsWith("*")?r.range[0]+1:r.range[0];e.report({loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+2}},messageId:"startNewline",fix:e=>e.insertTextAfterRange([t,t+2],`\n${o}`)})}/^\s*$/u.test(n[n.length-1])||e.report({loc:{start:{line:r.loc.end.line,column:r.loc.end.column-2},end:r.loc.end},messageId:"endNewline",fix:e=>e.replaceTextRange([r.range[1]-2,r.range[1]],`\n${o}/`)});for(let s=r.loc.start.line+1;s<=r.loc.end.line;s++){const a=t.lines[s-1],i=/^\s*\*/u.test(a)?"alignment":"missingStar";a.startsWith(o)||e.report({loc:{start:{line:s,column:0},end:{line:s,column:a.length}},messageId:i,fix(e){const c=t.getIndexFromLoc({line:s,column:0});if("alignment"===i){const[,t=""]=a.match(/^(\s*\*)/u)||[],n=c+t.length;return e.replaceTextRange([c,n],o)}const[,l=""]=a.match(/^(\s*)/u)||[],u=c+l.length;let p;for(const[e,o]of n.entries()){if(!/\S+/u.test(o))continue;const n=t.lines[r.loc.start.line-1+e],[,s="",i=""]=n.match(/^(\s*(?:\/?\*)?(\s*))/u)||[];p=`${l.slice(s.length)}${i}`,/^\s*\//u.test(a)&&0===p.length&&(p+=" ");break}return e.replaceTextRange([c,u],`${o}${p}`)}})}}},"separate-lines"(n){const[r]=n;if("Block"!==r.type||o(n))return;const i=s(n),c=t.getTokenAfter(r,{includeComments:!0});c&&r.loc.end.line===c.loc.start.line||e.report({loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+2}},messageId:"expectedLines",fix:e=>e.replaceText(r,function(e,t){return t.map((e=>`// ${e}`)).join(`\n${a(e)}`)}(r,i))})},"bare-block"(t){if(o(t))return;const[n]=t,a=s(t);"Line"===n.type&&a.length>1&&!a.some((e=>e.includes("*/")))&&e.report({loc:{start:n.loc.start,end:t[t.length-1].loc.end},messageId:"expectedBlock",fix:e=>e.replaceTextRange([n.range[0],t[t.length-1].range[1]],i(n,a))}),r(t)&&e.report({loc:{start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+2}},messageId:"expectedBareBlock",fix:e=>e.replaceText(n,i(n,a))})}};return{Program:()=>t.getAllComments().filter((e=>"Shebang"!==e.type)).filter((e=>!fr.COMMENTS_IGNORE_PATTERN.test(e.value))).filter((e=>{const n=t.getTokenBefore(e,{includeComments:!0});return!n||n.loc.end.line{const s=t.getTokenBefore(n,{includeComments:!0});return"Line"===n.type&&r&&"Line"===o[r-1].type&&s&&s.loc.end.line===n.loc.start.line-1&&s===o[r-1]?e[e.length-1].push(n):e.push([n]),e}),[]).filter((e=>!(1===e.length&&e[0].loc.start.line===e[0].loc.end.line))).forEach(c[n])}}},Ds={meta:{type:"layout",docs:{description:"enforce newlines between operands of ternary expressions",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/multiline-ternary"},schema:[{enum:["always","always-multiline","never"]}],messages:{expectedTestCons:"Expected newline between test and consequent of ternary expression.",expectedConsAlt:"Expected newline between consequent and alternate of ternary expression.",unexpectedTestCons:"Unexpected newline between test and consequent of ternary expression.",unexpectedConsAlt:"Unexpected newline between consequent and alternate of ternary expression."},fixable:"whitespace"},create(e){const t=e.getSourceCode(),n=e.options[0],r="never"!==n,o="always-multiline"===n;return{ConditionalExpression(n){const s=t.getTokenAfter(n.test,fr.isNotClosingParenToken),a=t.getTokenAfter(n.consequent,fr.isNotClosingParenToken),i=t.getFirstToken(n),c=t.getTokenBefore(s),l=t.getTokenAfter(s),u=t.getTokenBefore(a),p=t.getTokenAfter(a),d=fr.isTokenOnSameLine(c,l),f=fr.isTokenOnSameLine(u,p),m=!!t.getCommentsInside(n).length;if(r){if(o&&n.loc.start.line===n.loc.end.line)return;d&&e.report({node:n.test,loc:{start:i.loc.start,end:c.loc.end},messageId:"expectedTestCons",fix:e=>m?null:e.replaceTextRange([c.range[1],s.range[0]],"\n")}),f&&e.report({node:n.consequent,loc:{start:l.loc.start,end:u.loc.end},messageId:"expectedConsAlt",fix:e=>m?null:e.replaceTextRange([u.range[1],a.range[0]],"\n")})}else d||e.report({node:n.test,loc:{start:i.loc.start,end:c.loc.end},messageId:"unexpectedTestCons",fix:e=>{if(m)return null;const t=[],n=fr.isTokenOnSameLine(c,s),r=fr.isTokenOnSameLine(s,l);return n||t.push(e.removeRange([c.range[1],s.range[0]])),r||t.push(e.removeRange([s.range[1],l.range[0]])),t}}),f||e.report({node:n.consequent,loc:{start:l.loc.start,end:u.loc.end},messageId:"unexpectedConsAlt",fix:e=>{if(m)return null;const t=[],n=fr.isTokenOnSameLine(u,a),r=fr.isTokenOnSameLine(a,p);return n||t.push(e.removeRange([u.range[1],a.range[0]])),r||t.push(e.removeRange([a.range[1],p.range[0]])),t}})}}}};const Os=["Array","Boolean","Date","Error","Function","Number","Object","RegExp","String","Symbol","BigInt"];function Bs(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)&&!Array.isArray(e[t]))throw new TypeError(`${t}, if provided, must be an Array`);return e[t]||n}function Ns(e,t){return e[t]=!0,e}var js={meta:{type:"suggestion",docs:{description:"require constructor names to begin with a capital letter",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/new-cap"},schema:[{type:"object",properties:{newIsCap:{type:"boolean",default:!0},capIsNew:{type:"boolean",default:!0},newIsCapExceptions:{type:"array",items:{type:"string"}},newIsCapExceptionPattern:{type:"string"},capIsNewExceptions:{type:"array",items:{type:"string"}},capIsNewExceptionPattern:{type:"string"},properties:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{upper:"A function with a name starting with an uppercase letter should only be used as a constructor.",lower:"A constructor name should not start with a lowercase letter."}},create(e){const t=Object.assign({},e.options[0]);t.newIsCap=!1!==t.newIsCap,t.capIsNew=!1!==t.capIsNew;const n=!1===t.properties,r=Bs(t,"newIsCapExceptions",[]).reduce(Ns,{}),o=t.newIsCapExceptionPattern?new RegExp(t.newIsCapExceptionPattern,"u"):null,s=function(e){let t=Bs(e,"capIsNewExceptions",Os);return t!==Os&&(t=t.concat(Os)),t.reduce(Ns,{})}(t),a=t.capIsNewExceptionPattern?new RegExp(t.capIsNewExceptionPattern,"u"):null,i={},c=e.getSourceCode();function l(e){return"Identifier"===e.callee.type?e.callee.name:fr.getStaticPropertyName(e.callee)||""}function u(e){const t=e.charAt(0),n=t.toLowerCase();return n===t.toUpperCase()?"non-alpha":t===n?"lower":"upper"}function p(e,t,r,o){const s=c.getText(t.callee);if(e[r]||e[s])return!0;if(o&&o.test(s))return!0;const a=fr.skipChainExpression(t.callee);return"UTC"===r&&"MemberExpression"===a.type?"Identifier"===a.object.type&&"Date"===a.object.name:n&&"MemberExpression"===a.type}function d(t,n){let r=fr.skipChainExpression(t.callee);"MemberExpression"===r.type&&(r=r.property),e.report({node:t,loc:r.loc,messageId:n})}return t.newIsCap&&(i.NewExpression=function(e){const t=l(e);if(t){"lower"!==u(t)||p(r,e,t,o)||d(e,"lower")}}),t.capIsNew&&(i.CallExpression=function(e){const t=l(e);if(t){"upper"!==u(t)||p(s,e,t,a)||d(e,"upper")}}),i}},Ls={meta:{type:"layout",docs:{description:"enforce or disallow parentheses when invoking a constructor with no arguments",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/new-parens"},fixable:"code",schema:{anyOf:[{type:"array",items:[{enum:["always","never"]}],minItems:0,maxItems:1}]},messages:{missing:"Missing '()' invoking a constructor.",unnecessary:"Unnecessary '()' invoking a constructor with no arguments."}},create(e){const t="never"!==e.options[0],n=e.getSourceCode();return{NewExpression(r){if(0!==r.arguments.length)return;const o=n.getLastToken(r),s=o&&fr.isClosingParenToken(o)&&fr.isOpeningParenToken(n.getTokenBefore(o))&&r.callee.range[1]e.insertTextAfter(r,"()")}):s&&e.report({node:r,messageId:"unnecessary",fix:e=>[e.remove(n.getTokenBefore(o)),e.remove(o),e.insertTextBefore(r,"("),e.insertTextAfter(r,")")]})}}}},Rs={meta:{type:"layout",docs:{description:"require or disallow an empty line after variable declarations",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/newline-after-var"},schema:[{enum:["never","always"]}],fixable:"whitespace",messages:{expected:"Expected blank line after variable declarations.",unexpected:"Unexpected blank line after variable declarations."},deprecated:!0,replacedBy:["padding-line-between-statements"]},create(e){const t=e.getSourceCode(),n="never"===e.options[0]?"never":"always",r=t.getAllComments().reduce(((e,t)=>(e[t.loc.start.line]=t.loc.end.line,e)),{});function o(e){const t=r[e];return r[t+1]?o(t+1):t}return{VariableDeclaration:function(s){const a=function(e){const n=t.getLastToken(e);if("Punctuator"===n.type&&";"===n.value){const e=t.getTokenBefore(n);if(e.loc.end.line!==n.loc.start.line)return e}return n}(s),i=a===t.getLastToken(s)?t.getTokenAfter(s):t.getLastToken(s),c=a.loc.end.line+1;if(!i)return;if("ForStatement"===(l=s.parent.type)||"ForInStatement"===l||"ForOfStatement"===l)return;var l,u;if("ExportNamedDeclaration"===(u=s.parent.type)||"ExportSpecifier"===u||"ExportDefaultDeclaration"===u||"ExportAllDeclaration"===u)return;if("Keyword"===i.type&&function(e){return"var"===e||"let"===e||"const"===e}(i.value))return;if(function(e){const n=t.getTokenAfter(e);return!n||"Punctuator"===n.type&&"}"===n.value}(s))return;const p=i.loc.start.line>c,d=void 0!==r[c];var f;"never"===n&&p&&!d&&e.report({node:s,messageId:"unexpected",data:{identifier:s.name},fix(e){const n=t.getText().slice(a.range[1],i.range[0]).split(fr.LINEBREAK_MATCHER);return e.replaceTextRange([a.range[1],i.range[0]],`${n.slice(0,-1).join("")}\n${n[n.length-1]}`)}}),"always"!==n||p&&(!d||(f=c,i.loc.start.line>o(f)+1))||e.report({node:s,messageId:"expected",data:{identifier:s.name},fix:e=>(p?o(c):a.loc.end.line)===i.loc.start.line?e.insertTextBefore(i,"\n\n"):e.insertTextBeforeRange([i.range[0]-i.loc.start.column,i.range[1]],"\n")})}}}},Ms={meta:{type:"layout",docs:{description:"require an empty line before `return` statements",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/newline-before-return"},fixable:"whitespace",schema:[],messages:{expected:"Expected newline before return statement."},deprecated:!0,replacedBy:["padding-line-between-statements"]},create(e){const t=e.getSourceCode();function n(e,n){const r=t.getTokenBefore(e);return n.some((e=>r.value===e))}function r(e){const n=e.loc.start.line,r=function(e){const n=t.getTokenBefore(e);let r;return r=n?n.loc.end.line:0,r}(e);return n-r-function(e,n){const r=t.getCommentsBefore(e);let o=0;return r.length?(r.forEach((t=>{o++,"Block"===t.type&&(o+=t.loc.end.line-t.loc.start.line),t.loc.start.line===n&&o--,t.loc.end.line===e.loc.start.line&&o--})),o):o}(e,r)>1}return{ReturnStatement(o){(function(e){const t=e.parent.type;return e.parent.body?Array.isArray(e.parent.body)?e.parent.body[0]===e:e.parent.body===e:n(e,"IfStatement"===t?["else",")"]:"DoWhileStatement"===t?["do"]:"SwitchCase"===t?[":"]:[")"])})(o)||r(o)||e.report({node:o,messageId:"expected",fix(e){if(function(e){const n=t.getCommentsBefore(e),r=n[n.length-1],o=t.getTokenBefore(e);return 0===n.length||r.loc.end.line===o.loc.end.line&&r.loc.end.line!==e.loc.start.line}(o)){const n=t.getTokenBefore(o),r=o.loc.start.line===n.loc.end.line?"\n\n":"\n";return e.insertTextBefore(o,r)}return null}})}}}},_s={meta:{type:"layout",docs:{description:"require a newline after each call in a method chain",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/newline-per-chained-call"},fixable:"whitespace",schema:[{type:"object",properties:{ignoreChainWithDepth:{type:"integer",minimum:1,maximum:10,default:2}},additionalProperties:!1}],messages:{expected:"Expected line break before `{{callee}}`."}},create(e){const t=(e.options[0]||{}).ignoreChainWithDepth||2,n=e.getSourceCode();function r(e){const t=function(e){return e.computed?e.optional?"?.[":"[":e.optional?"?.":"."}(e),r=n.getText(e.property).split(fr.LINEBREAK_MATCHER),o=e.computed&&1===r.length?"]":"";return t+r[0]+o}return{"CallExpression:exit"(o){const s=fr.skipChainExpression(o.callee);if("MemberExpression"!==s.type)return;let a=fr.skipChainExpression(s.object),i=1;for(;a&&a.callee;)i+=1,a=fr.skipChainExpression(fr.skipChainExpression(a.callee).object);if(i>t&&fr.isTokenOnSameLine(s.object,s.property)){const t=n.getTokenAfter(s.object,fr.isNotClosingParenToken);e.report({node:s.property,loc:{start:t.loc.start,end:s.loc.end},messageId:"expected",data:{callee:r(s)},fix:e=>e.insertTextBefore(t,"\n")})}}}}};const{getStaticPropertyName:$s,getVariableByName:qs,skipChainExpression:Us}=fr;function Vs(e){return/^(alert|confirm|prompt)$/u.test(e)}function Ws(e,t){const n=function(e,t){const n=e.references.filter((e=>e.identifier.range[0]===t.range[0]&&e.identifier.range[1]===t.range[1]));return 1===n.length?n[0]:null}(e,t);return n&&n.resolved&&n.resolved.defs.length>0}var Gs={meta:{type:"suggestion",docs:{description:"disallow the use of `alert`, `confirm`, and `prompt`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-alert"},schema:[],messages:{unexpected:"Unexpected {{name}}."}},create:e=>({CallExpression(t){const n=Us(t.callee),r=e.getScope();if("Identifier"===n.type){const o=n.name;!Ws(r,n)&&Vs(n.name)&&e.report({node:t,messageId:"unexpected",data:{name:o}})}else if("MemberExpression"===n.type&&function(e,t){return"global"===e.type&&"ThisExpression"===t.type||!("Identifier"!==t.type||!("window"===t.name||"globalThis"===t.name&&qs(e,"globalThis")))&&!Ws(e,t)}(r,n.object)){const r=$s(n);Vs(r)&&e.report({node:t,messageId:"unexpected",data:{name:r}})}}})},zs={meta:{type:"suggestion",docs:{description:"disallow `Array` constructors",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-array-constructor"},schema:[],messages:{preferLiteral:"The array literal notation [] is preferable."}},create(e){function t(t){1!==t.arguments.length&&"Identifier"===t.callee.type&&"Array"===t.callee.name&&e.report({node:t,messageId:"preferLiteral"})}return{CallExpression:t,NewExpression:t}}},Js={meta:{type:"problem",docs:{description:"disallow using an async function as a Promise executor",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-async-promise-executor"},fixable:null,schema:[],messages:{async:"Promise executor functions should not be async."}},create:e=>({"NewExpression[callee.name='Promise'][arguments.0.async=true]"(t){e.report({node:e.getSourceCode().getFirstToken(t.arguments[0],(e=>"async"===e.value)),messageId:"async"})}})};function Ks(e){const t=e.type;return"FunctionDeclaration"===t||"FunctionExpression"===t||"ArrowFunctionExpression"===t||"ForOfStatement"===t&&!0===e.await}function Ys(e,t){switch(t.type){case"ForStatement":return e===t.test||e===t.update||e===t.body;case"ForOfStatement":case"ForInStatement":return e===t.body;case"WhileStatement":case"DoWhileStatement":return e===t.test||e===t.body;default:return!1}}var Hs={meta:{type:"problem",docs:{description:"disallow `await` inside of loops",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-await-in-loop"},schema:[],messages:{unexpectedAwait:"Unexpected `await` inside a loop."}},create(e){function t(t){if("ForOfStatement"===t.type&&!t.await)return;let n=t,r=n.parent;for(;r&&!Ks(r);){if(Ys(n,r))return void e.report({node:t,messageId:"unexpectedAwait"});n=r,r=r.parent}}return{AwaitExpression:t,ForOfStatement:t}}};const Xs=["^","|","&","<<",">>",">>>","^=","|=","&=","<<=",">>=",">>>=","~"];var Qs={meta:{type:"suggestion",docs:{description:"disallow bitwise operators",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-bitwise"},schema:[{type:"object",properties:{allow:{type:"array",items:{enum:Xs},uniqueItems:!0},int32Hint:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpected:"Unexpected use of '{{operator}}'."}},create(e){const t=e.options[0]||{},n=t.allow||[],r=!0===t.int32Hint;function o(t){!function(e){return-1!==Xs.indexOf(e.operator)}(t)||function(e){return-1!==n.indexOf(e.operator)}(t)||function(e){return r&&"|"===e.operator&&e.right&&"Literal"===e.right.type&&0===e.right.value}(t)||function(t){e.report({node:t,messageId:"unexpected",data:{operator:t.operator}})}(t)}return{AssignmentExpression:o,BinaryExpression:o,UnaryExpression:o}}},Zs={meta:{deprecated:!0,replacedBy:[],type:"problem",docs:{description:"disallow use of the `Buffer()` constructor",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-buffer-constructor"},schema:[],messages:{deprecated:"{{expr}} is deprecated. Use Buffer.from(), Buffer.alloc(), or Buffer.allocUnsafe() instead."}},create:e=>({"CallExpression[callee.name='Buffer'], NewExpression[callee.name='Buffer']"(t){e.report({node:t,messageId:"deprecated",data:{expr:"CallExpression"===t.type?"Buffer()":"new Buffer()"}})}})},ea={meta:{type:"suggestion",docs:{description:"disallow the use of `arguments.caller` or `arguments.callee`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-caller"},schema:[],messages:{unexpected:"Avoid arguments.{{prop}}."}},create:e=>({MemberExpression(t){const n=t.object.name,r=t.property.name;"arguments"===n&&!t.computed&&r&&r.match(/^calle[er]$/u)&&e.report({node:t,messageId:"unexpected",data:{prop:r}})}})},ta={meta:{type:"suggestion",docs:{description:"disallow lexical declarations in case clauses",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-case-declarations"},schema:[],messages:{unexpected:"Unexpected lexical declaration in case block."}},create(e){function t(e){switch(e.type){case"FunctionDeclaration":case"ClassDeclaration":return!0;case"VariableDeclaration":return"var"!==e.kind;default:return!1}}return{SwitchCase(n){for(let r=0;r({"CatchClause[param!=null]"(t){let n=e.getScope();n.block===t&&(n=n.upper),function(e,t){return null!==fr.getVariableByName(e,t)}(n,t.param.name)&&e.report({node:t,messageId:"mutable",data:{name:t.param.name}})}})},ra={meta:{type:"problem",docs:{description:"disallow reassigning class members",category:"ECMAScript 6",recommended:!0,url:"https://eslint.org/docs/rules/no-class-assign"},schema:[],messages:{class:"'{{name}}' is a class."}},create(e){function t(t){fr.getModifyingReferences(t.references).forEach((t=>{e.report({node:t.identifier,messageId:"class",data:{name:t.identifier.name}})}))}function n(n){e.getDeclaredVariables(n).forEach(t)}return{ClassDeclaration:n,ClassExpression:n}}},oa={meta:{type:"problem",docs:{description:"disallow comparing against -0",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-compare-neg-zero"},fixable:null,schema:[],messages:{unexpected:"Do not use the '{{operator}}' operator to compare against -0."}},create(e){function t(e){return"UnaryExpression"===e.type&&"-"===e.operator&&"Literal"===e.argument.type&&0===e.argument.value}const n=new Set([">",">=","<","<=","==","===","!=","!=="]);return{BinaryExpression(r){n.has(r.operator)&&(t(r.left)||t(r.right))&&e.report({node:r,messageId:"unexpected",data:{operator:r.operator}})}}}};const sa=new Set(["IfStatement","WhileStatement","DoWhileStatement","ForStatement","ConditionalExpression"]),aa={DoWhileStatement:"a 'do...while' statement",ForStatement:"a 'for' statement",IfStatement:"an 'if' statement",WhileStatement:"a 'while' statement"};var ia={meta:{type:"problem",docs:{description:"disallow assignment operators in conditional expressions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-cond-assign"},schema:[{enum:["except-parens","always"]}],messages:{unexpected:"Unexpected assignment within {{type}}.",missing:"Expected a conditional expression and instead saw an assignment."}},create(e){const t=e.options[0]||"except-parens",n=e.getSourceCode();function r(e){return e.parent&&sa.has(e.parent.type)&&e===e.parent.test}function o(t){!t.test||"AssignmentExpression"!==t.test.type||("ForStatement"===t.type?fr.isParenthesised(n,t.test):function(e){const t=n.getTokenBefore(e,1),r=n.getTokenAfter(e,1);return fr.isParenthesised(n,e)&&t&&fr.isOpeningParenToken(t)&&t.range[1]<=e.range[0]&&fr.isClosingParenToken(r)&&r.range[0]>=e.range[1]}(t.test))||e.report({node:t.test,messageId:"missing"})}return"always"===t?{AssignmentExpression:function(t){const n=function(e){let t=e;do{if(r(t))return t.parent}while((t=t.parent)&&!fr.isFunction(t));return null}(t);n&&e.report({node:t,messageId:"unexpected",data:{type:aa[n.type]||n.type}})}}:{DoWhileStatement:o,ForStatement:o,IfStatement:o,WhileStatement:o,ConditionalExpression:o}}};var ca={meta:{type:"suggestion",docs:{description:"disallow arrow functions where they could be confused with comparisons",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/no-confusing-arrow"},fixable:"code",schema:[{type:"object",properties:{allowParens:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{confusing:"Arrow function used ambiguously with a conditional expression."}},create(e){const t=e.options[0]||{},n=t.allowParens||void 0===t.allowParens,r=e.getSourceCode();return{ArrowFunctionExpression:function(t){const o=t.body;!function(e){return e&&"ConditionalExpression"===e.type}(o)||n&&fr.isParenthesised(r,o)||e.report({node:t,messageId:"confusing",fix:e=>n&&e.replaceText(t.body,`(${r.getText(t.body)})`)})}}}},la={meta:{type:"suggestion",docs:{description:"disallow the use of `console`",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-console"},schema:[{type:"object",properties:{allow:{type:"array",items:{type:"string"},minItems:1,uniqueItems:!0}},additionalProperties:!1}],messages:{unexpected:"Unexpected console statement."}},create(e){const t=(e.options[0]||{}).allow||[];function n(e){const t=e.identifier;return t&&"console"===t.name}function r(e){const n=e.identifier,r=n.parent;return"MemberExpression"===r.type&&r.object===n&&!function(e){const n=fr.getStaticPropertyName(e);return n&&-1!==t.indexOf(n)}(r)}function o(t){const n=t.identifier.parent;e.report({node:n,loc:n.loc,messageId:"unexpected"})}return{"Program:exit"(){const t=e.getScope(),s=fr.getVariableByName(t,"console"),a=s&&s.defs.length>0,i=s?s.references:t.through.filter(n);a||i.filter(r).forEach(o)}}}},ua={meta:{type:"problem",docs:{description:"disallow reassigning `const` variables",category:"ECMAScript 6",recommended:!0,url:"https://eslint.org/docs/rules/no-const-assign"},schema:[],messages:{const:"'{{name}}' is constant."}},create(e){function t(t){fr.getModifyingReferences(t.references).forEach((t=>{e.report({node:t.identifier,messageId:"const",data:{name:t.identifier.name}})}))}return{VariableDeclaration(n){"const"===n.kind&&e.getDeclaredVariables(n).forEach(t)}}}},pa={meta:{type:"problem",docs:{description:"disallow constant expressions in conditions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-constant-condition"},schema:[{type:"object",properties:{checkLoops:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpected:"Unexpected constant condition."}},create(e){const t=!1!==(e.options[0]||{}).checkLoops,n=[];let r=new Set;function o(e){return null===e.value?"null"!==e.raw&&("object"==typeof e.regex||null):!!e.value}function s(e,t){switch(e.type){case"Literal":return"||"===t&&!0===o(e)||"&&"===t&&!1===o(e);case"UnaryExpression":return"&&"===t&&"void"===e.operator;case"LogicalExpression":return t===e.operator&&(s(e.left,t)||s(e.right,t));case"AssignmentExpression":return["||=","&&="].includes(e.operator)&&t===e.operator.slice(0,-1)&&s(e.right,t)}return!1}function a(e,t){if(!e)return!0;switch(e.type){case"Literal":case"ArrowFunctionExpression":case"FunctionExpression":case"ObjectExpression":return!0;case"TemplateLiteral":return t&&e.quasis.some((e=>e.value.cooked.length))||e.expressions.every((e=>a(e,t)));case"ArrayExpression":return"BinaryExpression"!==e.parent.type||"+"!==e.parent.operator||e.elements.every((e=>a(e,!1)));case"UnaryExpression":return!!("void"===e.operator||"typeof"===e.operator&&t)||("!"===e.operator?a(e.argument,!0):a(e.argument,!1));case"BinaryExpression":return a(e.left,!1)&&a(e.right,!1)&&"in"!==e.operator;case"LogicalExpression":{const n=a(e.left,t),r=a(e.right,t),o=n&&s(e.left,e.operator),i=t&&r&&s(e.right,e.operator);return n&&r||o||i}case"AssignmentExpression":return"="===e.operator?a(e.right,t):!(!["||=","&&="].includes(e.operator)||!t)&&s(e.right,e.operator.slice(0,-1));case"SequenceExpression":return a(e.expressions[e.expressions.length-1],t)}return!1}function i(t){r.has(t)&&(r.delete(t),e.report({node:t.test,messageId:"unexpected"}))}function c(t){t.test&&a(t.test,!0)&&e.report({node:t.test,messageId:"unexpected"})}function l(){n.push(r),r=new Set}function u(){r=n.pop()}function p(e){t&&function(e){e.test&&a(e.test,!0)&&r.add(e)}(e)}return{ConditionalExpression:c,IfStatement:c,WhileStatement:p,"WhileStatement:exit":i,DoWhileStatement:p,"DoWhileStatement:exit":i,ForStatement:p,"ForStatement > .test":e=>p(e.parent),"ForStatement:exit":i,FunctionDeclaration:l,"FunctionDeclaration:exit":u,FunctionExpression:l,"FunctionExpression:exit":u,YieldExpression:()=>r.clear()}}},da={meta:{type:"problem",docs:{description:"disallow returning value from constructor",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-constructor-return"},schema:{},fixable:null,messages:{unexpected:"Unexpected return statement in constructor."}},create(e){const t=[];return{onCodePathStart(e,n){t.push(n)},onCodePathEnd(){t.pop()},ReturnStatement(n){const r=t[t.length-1];r.parent&&("MethodDefinition"!==r.parent.type||"constructor"!==r.parent.kind||n.parent.parent!==r&&!n.argument||e.report({node:n,messageId:"unexpected"}))}}}},fa={meta:{type:"suggestion",docs:{description:"disallow `continue` statements",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-continue"},schema:[],messages:{unexpected:"Unexpected use of continue statement."}},create:e=>({ContinueStatement(t){e.report({node:t,messageId:"unexpected"})}})};const ma=X.default.RegExpValidator,ga=new class{constructor(){this._source="",this._controlChars=[],this._validator=new ma(this)}onPatternEnter(){this._controlChars=[]}onCharacter(e,t,n){n>=0&&n<=31&&(this._source.codePointAt(e)===n||this._source.slice(e,t).startsWith("\\x")||this._source.slice(e,t).startsWith("\\u"))&&this._controlChars.push(`\\x${`0${n.toString(16)}`.slice(-2)}`)}collectControlChars(e){try{this._source=e,this._validator.validatePattern(e)}catch{}return this._controlChars}};var ha={meta:{type:"problem",docs:{description:"disallow control characters in regular expressions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-control-regex"},schema:[],messages:{unexpected:"Unexpected control character(s) in regular expression: {{controlChars}}."}},create:e=>({Literal(t){const n=function(e){return e.regex?e.regex.pattern:"string"!=typeof e.value||"NewExpression"!==e.parent.type&&"CallExpression"!==e.parent.type||"Identifier"!==e.parent.callee.type||"RegExp"!==e.parent.callee.name||e.parent.arguments[0]!==e?null:e.value}(t);if(n){const r=ga.collectControlChars(n);r.length>0&&e.report({node:t,messageId:"unexpected",data:{controlChars:r.join(", ")}})}}})},ya={meta:{type:"problem",docs:{description:"disallow the use of `debugger`",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-debugger"},fixable:null,schema:[],messages:{unexpected:"Unexpected 'debugger' statement."}},create:e=>({DebuggerStatement(t){e.report({node:t,messageId:"unexpected"})}})},xa={meta:{type:"suggestion",docs:{description:"disallow deleting variables",category:"Variables",recommended:!0,url:"https://eslint.org/docs/rules/no-delete-var"},schema:[],messages:{unexpected:"Variables should not be deleted."}},create:e=>({UnaryExpression(t){"delete"===t.operator&&"Identifier"===t.argument.type&&e.report({node:t,messageId:"unexpected"})}})},ba={meta:{type:"suggestion",docs:{description:"disallow division operators explicitly at the beginning of regular expressions",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-div-regex"},fixable:"code",schema:[],messages:{unexpected:"A regular expression literal can be confused with '/='."}},create(e){const t=e.getSourceCode();return{Literal(n){const r=t.getFirstToken(n);"RegularExpression"===r.type&&"="===r.value[1]&&e.report({node:n,messageId:"unexpected",fix:e=>e.replaceTextRange([r.range[0]+1,r.range[0]+2],"[=]")})}}}},Ea={meta:{type:"problem",docs:{description:"disallow duplicate arguments in `function` definitions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-dupe-args"},schema:[],messages:{unexpected:"Duplicate param '{{name}}'."}},create(e){function t(e){return"Parameter"===e.type}function n(n){const r=e.getDeclaredVariables(n);for(let o=0;o=2&&e.report({node:n,messageId:"unexpected",data:{name:s.name}})}}return{FunctionDeclaration:n,FunctionExpression:n}}},Sa={meta:{type:"problem",docs:{description:"disallow duplicate class members",category:"ECMAScript 6",recommended:!0,url:"https://eslint.org/docs/rules/no-dupe-class-members"},schema:[],messages:{unexpected:"Duplicate name '{{name}}'."}},create(e){let t=[];return{Program(){t=[]},ClassBody(){t.push(Object.create(null))},"ClassBody:exit"(){t.pop()},MethodDefinition(n){const r=fr.getStaticPropertyName(n);if(null===r||"constructor"===n.kind)return;const o=function(e,n){const r=t[t.length-1],o=`$${e}`;return r[o]||(r[o]={nonStatic:{init:!1,get:!1,set:!1},static:{init:!1,get:!1,set:!1}}),r[o][n?"static":"nonStatic"]}(r,n.static);let s=!1;"get"===n.kind?(s=o.init||o.get,o.get=!0):"set"===n.kind?(s=o.init||o.set,o.set=!0):(s=o.init||o.get||o.set,o.init=!0),s&&e.report({node:n,messageId:"unexpected",data:{name:r}})}}}};function Ca(e,t,n){return t.every((t=>n.some((n=>e(t,n)))))}function va(e,t){return"LogicalExpression"===t.type&&t.operator===e?[...va(e,t.left),...va(e,t.right)]:[t]}const Aa=va.bind(null,"||"),ka=va.bind(null,"&&");var wa={meta:{type:"problem",docs:{description:"disallow duplicate conditions in if-else-if chains",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-dupe-else-if"},schema:[],messages:{unexpected:"This branch can never execute. Its condition is a duplicate or covered by previous conditions in the if-else-if chain."}},create(e){const t=e.getSourceCode();const n=Ca.bind(null,(function e(n,r){return n.type===r.type&&("LogicalExpression"!==n.type||"||"!==n.operator&&"&&"!==n.operator||n.operator!==r.operator?fr.equalTokens(n,r,t):e(n.left,r.left)&&e(n.right,r.right)||e(n.left,r.right)&&e(n.right,r.left))}));return{IfStatement(t){const r=t.test;let o=t,s=("LogicalExpression"===r.type&&"&&"===r.operator?[r,...ka(r)]:[r]).map((e=>Aa(e).map(ka)));for(;o.parent&&"IfStatement"===o.parent.type&&o.parent.alternate===o;){o=o.parent;const t=Aa(o.test).map(ka);if(s=s.map((e=>e.filter((e=>!t.some((t=>n(t,e))))))),s.some((e=>0===e.length))){e.report({node:r,messageId:"unexpected"});break}}}}}};const Pa=/^(?:init|get)$/u,Ta=/^(?:init|set)$/u;class Ia{constructor(e,t){this.upper=e,this.node=t,this.properties=new Map}getPropertyInfo(e){const t=fr.getStaticPropertyName(e);return this.properties.has(t)||this.properties.set(t,{get:!1,set:!1}),this.properties.get(t)}isPropertyDefined(e){const t=this.getPropertyInfo(e);return Pa.test(e.kind)&&t.get||Ta.test(e.kind)&&t.set}defineProperty(e){const t=this.getPropertyInfo(e);Pa.test(e.kind)&&(t.get=!0),Ta.test(e.kind)&&(t.set=!0)}}var Fa={meta:{type:"problem",docs:{description:"disallow duplicate keys in object literals",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-dupe-keys"},schema:[],messages:{unexpected:"Duplicate key '{{name}}'."}},create(e){let t=null;return{ObjectExpression(e){t=new Ia(t,e)},"ObjectExpression:exit"(){t=t.upper},Property(n){const r=fr.getStaticPropertyName(n);"ObjectExpression"===n.parent.type&&null!==r&&(t.isPropertyDefined(n)&&e.report({node:t.node,loc:n.key.loc,messageId:"unexpected",data:{name:r}}),t.defineProperty(n))}}}},Da={meta:{type:"problem",docs:{description:"disallow duplicate case labels",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-duplicate-case"},schema:[],messages:{unexpected:"Duplicate case label."}},create(e){const t=e.getSourceCode();return{SwitchStatement(n){const r=[];for(const o of n.cases)if(o.test){const n=o.test;r.some((e=>{return o=n,(r=e).type===o.type&&fr.equalTokens(r,o,t);var r,o}))?e.report({node:o,messageId:"unexpected"}):r.push(n)}}}}};function Oa(e){return e&&e.source&&e.source.value?e.source.value.trim():""}function Ba(e,t,n,r,o){-1!==r.indexOf(n)&&e.report({node:t,messageId:o,data:{module:n}})}function Na(e,t,n,r){return function(o){const s=Oa(o);s&&(Ba(e,o,s,n,"import"),t&&Ba(e,o,s,r,"importAs"),n.push(s))}}function ja(e,t,n){return function(r){const o=Oa(r);o&&(Ba(e,r,o,n,"export"),Ba(e,r,o,t,"exportAs"),n.push(o))}}var La={meta:{type:"problem",docs:{description:"disallow duplicate module imports",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/no-duplicate-imports"},schema:[{type:"object",properties:{includeExports:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{import:"'{{module}}' import is duplicated.",importAs:"'{{module}}' import is duplicated as export.",export:"'{{module}}' export is duplicated.",exportAs:"'{{module}}' export is duplicated as import."}},create(e){const t=(e.options[0]||{}).includeExports,n=[],r=[],o={ImportDeclaration:Na(e,t,n,r)};return t&&(o.ExportNamedDeclaration=ja(e,n,r),o.ExportAllDeclaration=ja(e,n,r)),o}};var Ra=class{constructor(e,t){this.fixer=e,this.sourceCode=t,this.retainedRange=null}retainRange(e){return this.retainedRange=e,this}retainEnclosingFunction(e){const t=fr.getUpperFunction(e);return this.retainRange(t?t.range:this.sourceCode.ast.range)}retainSurroundingTokens(e){const t=this.sourceCode.getTokenBefore(e)||e,n=this.sourceCode.getTokenAfter(e)||e;return this.retainRange([t.range[0],n.range[1]])}replaceTextRange(e,t){let n;return n=this.retainedRange?[Math.min(this.retainedRange[0],e[0]),Math.max(this.retainedRange[1],e[1])]:e,this.fixer.replaceTextRange(n,this.sourceCode.text.slice(n[0],e[0])+t+this.sourceCode.text.slice(e[1],n[1]))}remove(e){return this.replaceTextRange(e.range,"")}},Ma={meta:{type:"suggestion",docs:{description:"disallow `else` blocks after `return` statements in `if` statements",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-else-return"},schema:[{type:"object",properties:{allowElseIf:{type:"boolean",default:!0}},additionalProperties:!1}],fixable:"code",messages:{unexpected:"Unnecessary 'else' after 'return'."}},create(e){function t(t){const n=e.getScope();e.report({node:t,messageId:"unexpected",fix:r=>{if(!function(e,t){if("FunctionDeclaration"===e.type)return!1;if("BlockStatement"!==e.type)return!0;const n=t.childScopes.find((({block:t})=>t===e));return!n||function(e,t){if(0===e.length)return!0;const n=t.variableScope;if(t.variables.filter((({defs:e})=>e.length>0)).some((({name:t})=>e.includes(t))))return!1;if(t!==n&&"catch"===t.upper.type&&t.upper.variables.some((({name:t})=>e.includes(t))))return!1;if(t.variables.filter((({defs:e,references:t})=>0===e.length&&t.length>0)).some((({name:t})=>e.includes(t))))return!1;if(t.through.some((t=>e.includes(t.identifier.name))))return!1;if(t!==n){const r=t.block.range;if(n.variables.filter((({name:t})=>e.includes(t))).some((e=>e.defs.some((({node:{range:e}})=>r[0]<=e[0]&&e[1]<=r[1])))))return!1}return!0}(n.variables.map((({name:e})=>e)),t)}(t,n))return null;const o=e.getSourceCode(),s=o.getFirstToken(t),a=o.getTokenBefore(s),i=o.getText(t),c=o.getTokenBefore(a);let l,u;u="Punctuator"===s.type&&"{"===s.value?o.getTokenAfter(s):s;const p="BlockStatement"!==t.parent.consequent.type&&";"!==c.value,d=/^[([/+`-]/u.test(u.value);if(p&&d)return null;const f=o.getLastToken(t),m=o.getTokenBefore(f);if(";"!==m.value){const e=o.getTokenAfter(f),t=e&&/^[([/+`-]/u.test(e.value),n=e&&e.loc.start.line===m.loc.start.line;if(t||n&&"}"!==e.value)return null}return l="Punctuator"===s.type&&"{"===s.value?i.slice(1,-1):i,new Ra(r,o).retainEnclosingFunction(t).replaceTextRange([a.range[0],t.range[1]],l)}})}function n(e){return"ReturnStatement"===e.type}function r(e){if("BlockStatement"===e.type){const t=e.body,r=t[t.length-1];return r&&n(r)}return n(e)}function o(e){return n(e)||function(e){return"IfStatement"===e.type&&function(e){return e.alternate&&e.consequent}(e)&&r(e.alternate)&&r(e.consequent)}(e)}function s(e){return"BlockStatement"===e.type?e.body.some(o):o(e)}return{"IfStatement:exit":!(e.options[0]&&!1===e.options[0].allowElseIf)?function(e){const n=e.parent;if(!fr.STATEMENT_LIST_PARENTS.has(n.type))return;const r=[];let o;for(let t=e;"IfStatement"===t.type;t=t.alternate){if(!t.alternate)return;r.push(t.consequent),o=t.alternate}r.every(s)&&t(o)}:function(e){const n=e.parent;if(!fr.STATEMENT_LIST_PARENTS.has(n.type))return;const r=e.alternate;r&&s(e.consequent)&&t(r)}}}},_a={meta:{type:"suggestion",docs:{description:"disallow empty block statements",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-empty"},schema:[{type:"object",properties:{allowEmptyCatch:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpected:"Empty {{type}} statement."}},create(e){const t=(e.options[0]||{}).allowEmptyCatch||!1,n=e.getSourceCode();return{BlockStatement(r){0===r.body.length&&(fr.isFunction(r.parent)||t&&"CatchClause"===r.parent.type||n.getCommentsInside(r).length>0||e.report({node:r,messageId:"unexpected",data:{type:"block"}}))},SwitchStatement(t){void 0!==t.cases&&0!==t.cases.length||e.report({node:t,messageId:"unexpected",data:{type:"switch"}})}}}};const $a=/^\/([^\\[]|\\.|\[([^\\\]]|\\.)+\])*\/[gimuys]*$/u;var qa={meta:{type:"problem",docs:{description:"disallow empty character classes in regular expressions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-empty-character-class"},schema:[],messages:{unexpected:"Empty class."}},create(e){const t=e.getSourceCode();return{Literal(n){const r=t.getFirstToken(n);"RegularExpression"!==r.type||$a.test(r.value)||e.report({node:n,messageId:"unexpected"})}}}};var Ua={meta:{type:"suggestion",docs:{description:"disallow empty functions",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-empty-function"},schema:[{type:"object",properties:{allow:{type:"array",items:{enum:Object.freeze(["functions","arrowFunctions","generatorFunctions","methods","generatorMethods","getters","setters","constructors","asyncFunctions","asyncMethods"])},uniqueItems:!0}},additionalProperties:!1}],messages:{unexpected:"Unexpected empty {{name}}."}},create(e){const t=(e.options[0]||{}).allow||[],n=e.getSourceCode();function r(r){const o=function(e){const t=e.parent;let n="";if("ArrowFunctionExpression"===e.type)return"arrowFunctions";if("Property"===t.type){if("get"===t.kind)return"getters";if("set"===t.kind)return"setters";n=t.method?"methods":"functions"}else if("MethodDefinition"===t.type){if("get"===t.kind)return"getters";if("set"===t.kind)return"setters";if("constructor"===t.kind)return"constructors";n="methods"}else n="functions";let r="";if(e.generator)r="generator";else{if(!e.async)return n;r="async"}return r+n[0].toUpperCase()+n.slice(1)}(r),s=fr.getFunctionNameWithKind(r),a=n.getTokens(r.body,{includeComments:!0,filter:fr.isCommentToken});-1===t.indexOf(o)&&"BlockStatement"===r.body.type&&0===r.body.body.length&&0===a.length&&e.report({node:r,loc:r.body.loc,messageId:"unexpected",data:{name:s}})}return{ArrowFunctionExpression:r,FunctionDeclaration:r,FunctionExpression:r}}},Va={meta:{type:"problem",docs:{description:"disallow empty destructuring patterns",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-empty-pattern"},schema:[],messages:{unexpected:"Unexpected empty {{type}} pattern."}},create:e=>({ObjectPattern(t){0===t.properties.length&&e.report({node:t,messageId:"unexpected",data:{type:"object"}})},ArrayPattern(t){0===t.elements.length&&e.report({node:t,messageId:"unexpected",data:{type:"array"}})}})},Wa={meta:{type:"suggestion",docs:{description:"disallow `null` comparisons without type-checking operators",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-eq-null"},schema:[],messages:{unexpected:"Use '===' to compare with null."}},create:e=>({BinaryExpression(t){const n="=="===t.operator||"!="===t.operator;("Literal"===t.right.type&&"null"===t.right.raw&&n||"Literal"===t.left.type&&"null"===t.left.raw&&n)&&e.report({node:t,messageId:"unexpected"})}})};const Ga=Object.freeze(["global","window","globalThis"]);function za(e,t){return fr.isSpecificMemberAccess(e,null,t)}var Ja={meta:{type:"suggestion",docs:{description:"disallow the use of `eval()`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-eval"},schema:[{type:"object",properties:{allowIndirect:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpected:"eval can be harmful."}},create(e){const t=Boolean(e.options[0]&&e.options[0].allowIndirect),n=e.getSourceCode();let r=null;function o(t){const n=e.getScope().isStrict;r={upper:r,node:t,strict:n,defaultThis:!1,initialized:n}}function s(){r=r.upper}function a(t){const n=t.parent,r="MemberExpression"===t.type?t.property:t,o="CallExpression"===n.type&&n.callee===t?n:t;e.report({node:o,loc:r.loc,messageId:"unexpected"})}return t?{"CallExpression:exit"(e){const t=e.callee;!e.optional&&fr.isSpecificId(t,"eval")&&a(t)}}:{"CallExpression:exit"(e){const t=e.callee;fr.isSpecificId(t,"eval")&&a(t)},Program(t){const n=e.getScope(),o=e.parserOptions.ecmaFeatures||{},s=n.isStrict||"module"===t.sourceType||o.globalReturn&&n.childScopes[0].isStrict;r={upper:null,node:t,strict:s,defaultThis:!0,initialized:!0}},"Program:exit"(){const t=e.getScope();s(),function(e){const t=fr.getVariableByName(e,"eval");if(!t)return;const n=t.references;for(let e=0;e{e.report({node:t.identifier,messageId:"unexpected"})}))}return{CatchClause(n){e.getDeclaredVariables(n).forEach(t)}}}},Ya={meta:{type:"suggestion",docs:{description:"disallow extending native types",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-extend-native"},schema:[{type:"object",properties:{exceptions:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1}],messages:{unexpected:"{{builtin}} prototype is read only, properties should not be added."}},create(e){const t=e.options[0]||{},n=new Set(t.exceptions||[]),r=new Set(Object.keys(U.default.builtin).filter((e=>e[0].toUpperCase()===e[0])).filter((e=>!n.has(e))));function o(t,n){e.report({node:t,messageId:"unexpected",data:{builtin:n}})}function s(e){if(!function(e){return Boolean(e&&e.parent&&"MemberExpression"===e.parent.type&&e.parent.object===e&&"prototype"===fr.getStaticPropertyName(e.parent))}(e))return;const t="ChainExpression"===e.parent.parent.type?e.parent.parent:e.parent;var n;"MemberExpression"===(n=t).parent.type&&n.parent.object===n&&"AssignmentExpression"===n.parent.parent.type&&n.parent.parent.left===n.parent?o(t.parent.parent,e.name):function(e){return"CallExpression"===e.parent.type&&e.parent.arguments[0]===e&&fr.isSpecificMemberAccess(e.parent.callee,"Object",/^definePropert(?:y|ies)$/u)}(t)&&o(t.parent,e.name)}return{"Program:exit"(){const t=e.getScope();r.forEach((e=>{const n=t.set.get(e);n&&n.references&&n.references.map((e=>e.identifier)).forEach(s)}))}}}};const Ha=new Set(["Literal","Identifier","ThisExpression","FunctionExpression"]);var Xa={meta:{type:"suggestion",docs:{description:"disallow unnecessary calls to `.bind()`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-extra-bind"},schema:[],fixable:"code",messages:{unexpected:"The function binding is unnecessary."}},create(e){const t=e.getSourceCode();let n=null;function r(n){const r=n.parent,o="ChainExpression"===r.parent.type?r.parent.parent:r.parent;e.report({node:o,messageId:"unexpected",loc:r.property.loc,fix(e){if(!function(e){return Ha.has(e.type)}(o.arguments[0]))return null;const n=[[t.getTokenAfter(r.object,fr.isNotClosingParenToken),t.getLastToken(r)],[t.getTokenAfter(r,fr.isNotClosingParenToken),t.getLastToken(o)]],s=n[0][0],a=n[1][1];return t.commentsExistBetween(s,a)?null:n.map((([t,n])=>e.removeRange([t.range[0],n.range[1]])))}})}function o(e){if(!fr.isSpecificMemberAccess(e.parent,null,"bind"))return!1;const t="ChainExpression"===e.parent.parent.type?e.parent.parent:e.parent;return"CallExpression"===t.parent.type&&t.parent.callee===t&&1===t.parent.arguments.length&&"SpreadElement"!==t.parent.arguments[0].type}function s(e){n={isBound:o(e),thisFound:!1,upper:n}}function a(e){n.isBound&&!n.thisFound&&r(e),n=n.upper}return{"ArrowFunctionExpression:exit":function(e){o(e)&&r(e)},FunctionDeclaration:s,"FunctionDeclaration:exit":a,FunctionExpression:s,"FunctionExpression:exit":a,ThisExpression:function(){n&&(n.thisFound=!0)}}}};const Qa=fr.getPrecedence;var Za={meta:{type:"suggestion",docs:{description:"disallow unnecessary boolean casts",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-extra-boolean-cast"},schema:[{type:"object",properties:{enforceForLogicalOperands:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"code",messages:{unexpectedCall:"Redundant Boolean call.",unexpectedNegation:"Redundant double negation."}},create(e){const t=e.getSourceCode(),n=["IfStatement","DoWhileStatement","WhileStatement","ConditionalExpression","ForStatement"];function r(t){return"ChainExpression"===t.parent.type?r(t.parent):function(e){return function(e){return("CallExpression"===e.type||"NewExpression"===e.type)&&"Identifier"===e.callee.type&&"Boolean"===e.callee.name}(e.parent)&&e===e.parent.arguments[0]||-1!==n.indexOf(e.parent.type)&&e===e.parent.test||"UnaryExpression"===e.parent.type&&"!"===e.parent.operator}(t)||function(t){return"LogicalExpression"===t.type&&("||"===t.operator||"&&"===t.operator)&&e.options.length&&!0===e.options[0].enforceForLogicalOperands}(t.parent)&&r(t.parent)}function o(e){return Boolean(t.getCommentsInside(e).length)}function s(e,n){if("ChainExpression"===e.parent.type)return s(e.parent,n);if(function(e){return G.default.isParenthesized(1,e,t)}(e))return!1;const r=e.parent;switch(r.type){case"CallExpression":case"NewExpression":return"SequenceExpression"===n.type;case"IfStatement":case"DoWhileStatement":case"WhileStatement":case"ForStatement":return!1;case"ConditionalExpression":return Qa(n)<=Qa(r);case"UnaryExpression":return Qa(n)=t||b(e)))}function v(e){return s&&"AssignmentExpression"===e.test.type}function A(e){const n=t.getLastToken(e),r=t.getTokenBefore(n);return e.arguments.length>0||fr.isOpeningParenToken(r)&&fr.isClosingParenToken(n)&&e.callee.range[1]C(e,f))).forEach(F)}function N(e){const t=r(e),n=r(e.left),o=r(e.right),s="**"===e.operator,i=a&&("BinaryExpression"===e.left.type||"LogicalExpression"===e.left.type),c=a&&("BinaryExpression"===e.right.type||"LogicalExpression"===e.right.type);!i&&E(e.left)&&((["AwaitExpression","UnaryExpression"].includes(e.left.type)&&s||fr.isMixedLogicalAndCoalesceExpressions(e.left,e)||!(n>t||n===t&&!s))&&!b(e.left)||F(e.left)),!c&&E(e.right)&&(!fr.isMixedLogicalAndCoalesceExpressions(e.right,e)&&(o>t||o===t&&s)||b(e.right))&&F(e.right)}function j(e){if(!e.superClass)return;(r(e.superClass)>m?E(e.superClass):S(e.superClass))&&F(e.superClass)}function L(e){C(e.argument,f)&&F(e.argument)}function R(e){const r=x(e)?t.getTokenBefore(e):t.getFirstToken(e),o=t.getTokenAfter(r,fr.isNotOpeningParenToken),s=o?t.getTokenAfter(o):null,a=o?t.getTokenAfter(o,fr.isNotClosingParenToken):null;fr.isOpeningParenToken(r)&&(fr.isOpeningBraceToken(o)||"Keyword"===o.type&&("function"===o.value||"class"===o.value||"let"===o.value&&a&&(fr.isOpeningBracketToken(a)||"Identifier"===a.type))||o&&"Identifier"===o.type&&"async"===o.value&&s&&"Keyword"===s.type&&"function"===s.value)&&n.add(o);("ExportDefaultDeclaration"===e.parent.type?C(e,f):E(e))&&F(e)}function M(e,t){return function(e,t){const n=[e];let r=e;for(;r!==t;){if(r=r.parent,null===r)throw new Error("Nodes are not in the ancestor-descendant relationship.");n.push(r)}return n}(t,e).reverse()}function _(e,t){switch(e.type){case"ArrayExpression":case"ArrayPattern":case"BlockStatement":case"ObjectExpression":case"ObjectPattern":case"TemplateLiteral":return!0;case"ArrowFunctionExpression":case"FunctionExpression":return e.params.includes(t);case"CallExpression":case"NewExpression":return e.arguments.includes(t);case"MemberExpression":return e.computed&&e.property===t;case"ConditionalExpression":return e.consequent===t;default:return!1}}function $(e){return g.reports.some((t=>t.node===e))}function q(e){return"MemberExpression"===e.type&&("NewExpression"===e.parent.type&&e.parent.callee===e||e.parent.object===e&&q(e.parent))}return{ArrayExpression(e){e.elements.filter((e=>e&&C(e,f))).forEach(F)},ArrayPattern(e){e.elements.filter((e=>I(e)&&E(e))).forEach(F)},ArrowFunctionExpression(e){if(!(w(e)||"ConditionalExpression"===e.body.type&&l||"BlockStatement"===e.body.type)){const r=t.getFirstToken(e.body,fr.isNotOpeningParenToken),o=t.getTokenBefore(r);fr.isOpeningParenToken(o)&&fr.isOpeningBraceToken(r)&&n.add(r),C(e.body,f)&&F(e.body)}},AssignmentExpression(e){I(e.left)&&E(e.left)&&F(e.left),!w(e)&&C(e.right,r(e))&&F(e.right)},BinaryExpression(e){g&&"in"===e.operator&&g.inExpressionNodes.push(e),N(e)},CallExpression:B,ClassBody(e){e.body.filter((e=>"MethodDefinition"===e.type&&e.computed&&e.key)).filter((e=>C(e.key,f))).forEach((e=>F(e.key)))},ConditionalExpression(e){w(e)||(!v(e)&&C(e.test,r({type:"LogicalExpression",operator:"||"}))&&F(e.test),C(e.consequent,f)&&F(e.consequent),C(e.alternate,f)&&F(e.alternate))},DoWhileStatement(e){E(e.test)&&!v(e)&&F(e.test)},ExportDefaultDeclaration:e=>R(e.declaration),ExpressionStatement:e=>R(e.expression),ForInStatement(e){if("VariableDeclaration"!==e.left.type){const r=t.getFirstToken(e.left,fr.isNotOpeningParenToken);"let"===r.value&&fr.isOpeningBracketToken(t.getTokenAfter(r,fr.isNotClosingParenToken))&&n.add(r)}E(e.left)&&F(e.left),E(e.right)&&F(e.right)},ForOfStatement(e){if("VariableDeclaration"!==e.left.type){const r=t.getFirstToken(e.left,fr.isNotOpeningParenToken);"let"===r.value&&n.add(r)}E(e.left)&&F(e.left),C(e.right,f)&&F(e.right)},ForStatement(e){if(e.test&&E(e.test)&&!v(e)&&F(e.test),e.update&&E(e.update)&&F(e.update),e.init){if("VariableDeclaration"!==e.init.type){const r=t.getFirstToken(e.init,fr.isNotOpeningParenToken);"let"===r.value&&fr.isOpeningBracketToken(t.getTokenAfter(r,fr.isNotClosingParenToken))&&n.add(r)}g={upper:g,inExpressionNodes:[],reports:[]},E(e.init)&&F(e.init)}},"ForStatement > *.init:exit"(e){g.reports.length&&g.inExpressionNodes.forEach((t=>{const n=M(e,t);let r;for(let e=0;et.node!==e))}(r)})),function(){const{upper:e,inExpressionNodes:t,reports:n}=g;e?(e.inExpressionNodes.push(...t),e.reports.push(...n)):n.forEach((({finishReport:e})=>e())),g=e}()},IfStatement(e){E(e.test)&&!v(e)&&F(e.test)},ImportExpression(e){const{source:t}=e;"SequenceExpression"===t.type?S(t)&&F(t):E(t)&&F(t)},LogicalExpression:N,MemberExpression(e){const t=q(e)&&O(e)?S(e.object):E(e.object)&&!(h(e.parent)&&e.parent.callee===e&&d);t&&r(e.object)>=r(e)&&(e.computed||!(fr.isDecimalInteger(e.object)||"Literal"===e.object.type&&e.object.regex))&&F(e.object),t&&"CallExpression"===e.object.type&&F(e.object),t&&!p&&"NewExpression"===e.object.type&&A(e.object)&&F(e.object),t&&e.optional&&"ChainExpression"===e.object.type&&F(e.object),e.computed&&E(e.property)&&F(e.property)},NewExpression:B,ObjectExpression(e){e.properties.filter((e=>e.value&&C(e.value,f))).forEach((e=>F(e.value)))},ObjectPattern(e){e.properties.filter((e=>{const t=e.value;return I(t)&&E(t)})).forEach((e=>F(e.value)))},Property(e){if(e.computed){const{key:t}=e;t&&C(t,f)&&F(t)}},RestElement(e){const t=e.argument;I(t)&&E(t)&&F(t)},ReturnStatement(e){const n=t.getFirstToken(e);w(e)||!e.argument||!P(n,e.argument)||"Literal"===e.argument.type&&e.argument.regex||F(e.argument)},SequenceExpression(e){const t=r(e);e.expressions.filter((e=>C(e,t))).forEach(F)},SwitchCase(e){e.test&&E(e.test)&&F(e.test)},SwitchStatement(e){E(e.discriminant)&&F(e.discriminant)},ThrowStatement(e){P(t.getFirstToken(e),e.argument)&&F(e.argument)},UnaryExpression:D,UpdateExpression(e){if(e.prefix)D(e);else{const{argument:n}=e,r=t.getLastToken(e);n.loc.end.line===r.loc.start.line?D(e):S(n)&&F(n)}},AwaitExpression:D,VariableDeclarator(e){!e.init||!C(e.init,f)||"Literal"===e.init.type&&e.init.regex||F(e.init)},WhileStatement(e){E(e.test)&&!v(e)&&F(e.test)},WithStatement(e){E(e.object)&&F(e.object)},YieldExpression(e){if(e.argument){const n=t.getFirstToken(e);(r(e.argument)>=r(e)&&P(n,e.argument)||S(e.argument))&&F(e.argument)}},ClassDeclaration:j,ClassExpression:j,SpreadElement:L,SpreadProperty:L,ExperimentalSpreadProperty:L,TemplateLiteral(e){e.expressions.filter((e=>e&&E(e))).forEach(F)},AssignmentPattern(e){const{left:t,right:n}=e;I(t)&&E(t)&&F(t),n&&C(n,f)&&F(n)}}}},ri={meta:{type:"suggestion",docs:{description:"disallow unnecessary semicolons",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-extra-semi"},fixable:"code",schema:[],messages:{unexpected:"Unnecessary semicolon."}},create(e){const t=e.getSourceCode();function n(t){e.report({node:t,messageId:"unexpected",fix:n=>new Ra(n,e.getSourceCode()).retainSurroundingTokens(t).remove(t)})}function r(e){for(let r=e;"Punctuator"===r.type&&!fr.isClosingBraceToken(r);r=t.getTokenAfter(r))fr.isSemicolonToken(r)&&n(r)}return{EmptyStatement(e){const t=e.parent;-1===["ForStatement","ForInStatement","ForOfStatement","WhileStatement","DoWhileStatement","IfStatement","LabeledStatement","WithStatement"].indexOf(t.type)&&n(e)},ClassBody(e){r(t.getFirstToken(e,1))},MethodDefinition(e){r(t.getTokenAfter(e))}}}};const oi=/falls?\s?through/iu;function si(e){return e.reachable}var ai={meta:{type:"problem",docs:{description:"disallow fallthrough of `case` statements",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-fallthrough"},schema:[{type:"object",properties:{commentPattern:{type:"string",default:""}},additionalProperties:!1}],messages:{case:"Expected a 'break' statement before 'case'.",default:"Expected a 'break' statement before 'default'."}},create(e){const t=e.options[0]||{};let n=null;const r=e.getSourceCode();let o=null,s=null;return s=t.commentPattern?new RegExp(t.commentPattern,"u"):oi,{onCodePathStart(e){n=e},onCodePathEnd(){n=n.upper},SwitchCase(t){o&&!function(e,t,n){const r=t.getSourceCode(),o=F.default.last(r.getCommentsBefore(e));return Boolean(o&&n.test(o.value))}(t,e,s)&&e.report({messageId:t.test?"case":"default",node:t}),o=null},"SwitchCase:exit"(e){const t=r.getTokenAfter(e);n.currentSegments.some(si)&&(e.consequent.length>0||function(e,t){return t.loc.start.line>e.loc.end.line+1}(e,t))&&F.default.last(e.parent.cases)!==e&&(o=e)}}}},ii={meta:{type:"suggestion",docs:{description:"disallow leading or trailing decimal points in numeric literals",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-floating-decimal"},schema:[],fixable:"code",messages:{leading:"A leading decimal point can be confused with a dot.",trailing:"A trailing decimal point can be confused with a dot."}},create(e){const t=e.getSourceCode();return{Literal(n){"number"==typeof n.value&&(n.raw.startsWith(".")&&e.report({node:n,messageId:"leading",fix(e){const r=t.getTokenBefore(n),o=r&&r.range[1]===n.range[0]&&!fr.canTokensBeAdjacent(r,`0${n.raw}`);return e.insertTextBefore(n,o?" 0":"0")}}),n.raw.indexOf(".")===n.raw.length-1&&e.report({node:n,messageId:"trailing",fix:e=>e.insertTextAfter(n,"0")}))}}}},ci={meta:{type:"problem",docs:{description:"disallow reassigning `function` declarations",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-func-assign"},schema:[],messages:{isAFunction:"'{{name}}' is a function."}},create(e){function t(t){var n;"FunctionName"===t.defs[0].type&&(n=t.references,fr.getModifyingReferences(n).forEach((t=>{e.report({node:t.identifier,messageId:"isAFunction",data:{name:t.identifier.name}})})))}function n(n){e.getDeclaredVariables(n).forEach(t)}return{FunctionDeclaration:n,FunctionExpression:n}}},li={meta:{type:"suggestion",docs:{description:"disallow assignments to native objects or read-only global variables",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-global-assign"},schema:[{type:"object",properties:{exceptions:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1}],messages:{globalShouldNotBeModified:"Read-only global '{{name}}' should not be modified."}},create(e){const t=e.options[0],n=t&&t.exceptions||[];function r(t,n,r){const o=t.identifier;!1!==t.init||!t.isWrite()||0!==n&&r[n-1].identifier===o||e.report({node:o,messageId:"globalShouldNotBeModified",data:{name:o.name}})}function o(e){!1===e.writeable&&-1===n.indexOf(e.name)&&e.references.forEach(r)}return{Program(){e.getScope().variables.forEach(o)}}}};const ui=/^(?:i|lastI)ndexOf$/u;function pi(e){return"Literal"===e.type&&"number"==typeof e.value||"CallExpression"===e.type&&("Number"===e.callee.name||"parseInt"===e.callee.name||"parseFloat"===e.callee.name)}function di(e){return fr.isStringLiteral(e)&&(""===e.value||"TemplateLiteral"===e.type&&1===e.quasis.length&&""===e.quasis[0].value.cooked)}function fi(e){return di(e.left)?e.right:e.left}var mi={meta:{type:"suggestion",docs:{description:"disallow shorthand type conversions",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-implicit-coercion"},fixable:"code",schema:[{type:"object",properties:{boolean:{type:"boolean",default:!0},number:{type:"boolean",default:!0},string:{type:"boolean",default:!0},disallowTemplateShorthand:{type:"boolean",default:!1},allow:{type:"array",items:{enum:["~","!!","+","*"]},uniqueItems:!0}},additionalProperties:!1}],messages:{useRecommendation:"use `{{recommendation}}` instead."}},create(e){const t=function(e){return{boolean:!("boolean"in e)||e.boolean,number:!("number"in e)||e.number,string:!("string"in e)||e.string,disallowTemplateShorthand:"disallowTemplateShorthand"in e&&e.disallowTemplateShorthand,allow:e.allow||[]}}(e.options[0]||{}),n=e.getSourceCode();function r(t,r,o){e.report({node:t,messageId:"useRecommendation",data:{recommendation:r},fix(e){if(!o)return null;const s=n.getTokenBefore(t);return s&&s.range[1]===t.range[0]&&!fr.canTokensBeAdjacent(s,r)?e.replaceText(t,` ${r}`):e.replaceText(t,r)}})}return{UnaryExpression(e){let o;if(o=t.allow.indexOf("!!")>=0,!o&&t.boolean&&function(e){return"!"===e.operator&&"UnaryExpression"===e.argument.type&&"!"===e.argument.operator}(e)){r(e,`Boolean(${n.getText(e.argument.argument)})`,!0)}if(o=t.allow.indexOf("~")>=0,!o&&t.boolean&&function(e){if("~"!==e.operator)return!1;const t=fr.skipChainExpression(e.argument);return"CallExpression"===t.type&&fr.isSpecificMemberAccess(t.callee,null,ui)}(e)){const t="ChainExpression"===e.argument.type?">= 0":"!== -1";r(e,`${n.getText(e.argument)} ${t}`,!1)}if(o=t.allow.indexOf("+")>=0,!o&&t.number&&"+"===e.operator&&!pi(e.argument)){r(e,`Number(${n.getText(e.argument)})`,!0)}},"BinaryExpression:exit"(e){let o;o=t.allow.indexOf("*")>=0;const s=!o&&t.number&&function(e){return"*"===e.operator&&("Literal"===e.left.type&&1===e.left.value||"Literal"===e.right.type&&1===e.right.value)}(e)&&function(e){const t=e.left,n=e.right;return"BinaryExpression"===n.type||pi(n)?"BinaryExpression"===t.type||pi(t)?null:t:n}(e);if(s){r(e,`Number(${n.getText(s)})`,!0)}if(o=t.allow.indexOf("+")>=0,!o&&t.string&&function(e){return"+"===e.operator&&(di(e.left)&&!fr.isStringLiteral(e.right)||di(e.right)&&!fr.isStringLiteral(e.left))}(e)){r(e,`String(${n.getText(fi(e))})`,!0)}},AssignmentExpression(e){if(!(t.allow.indexOf("+")>=0)&&t.string&&function(e){return"+="===e.operator&&di(e.right)}(e)){const t=n.getText(fi(e));r(e,`${t} = String(${t})`,!0)}},TemplateLiteral(e){if(!t.disallowTemplateShorthand)return;if("TaggedTemplateExpression"===e.parent.type)return;if(1!==e.expressions.length)return;if(""!==e.quasis[0].value.cooked)return;if(""!==e.quasis[1].value.cooked)return;r(e,`String(${n.getText(e.expressions[0])})`,!0)}}}},gi={meta:{type:"suggestion",docs:{description:"disallow declarations in the global scope",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-implicit-globals"},schema:[{type:"object",properties:{lexicalBindings:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{globalNonLexicalBinding:"Unexpected {{kind}} declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable.",globalLexicalBinding:"Unexpected {{kind}} declaration in the global scope, wrap in a block or in an IIFE.",globalVariableLeak:"Global variable leak, declare the variable if it is intended to be local.",assignmentToReadonlyGlobal:"Unexpected assignment to read-only global variable.",redeclarationOfReadonlyGlobal:"Unexpected redeclaration of read-only global variable."}},create(e){const t=e.options[0]&&!0===e.options[0].lexicalBindings;function n(t,n,r){e.report({node:t,messageId:n,data:{kind:r}})}return{Program(){const r=e.getScope();r.variables.forEach((e=>{const r=!1===e.writeable;!0===e.writeable||e.defs.forEach((e=>{const o=e.node;("FunctionName"===e.type||"Variable"===e.type&&"var"===e.parent.kind)&&(r?n(o,"redeclarationOfReadonlyGlobal"):n(o,"globalNonLexicalBinding","FunctionName"===e.type?"function":`'${e.parent.kind}'`)),t&&("ClassName"!==e.type&&("Variable"!==e.type||"let"!==e.parent.kind&&"const"!==e.parent.kind)||(r?n(o,"redeclarationOfReadonlyGlobal"):n(o,"globalLexicalBinding","ClassName"===e.type?"class":`'${e.parent.kind}'`)))}))})),r.implicit.variables.forEach((e=>{const t=r.set.get(e.name);let o;if(t){if(t.writeable)return;o="assignmentToReadonlyGlobal"}else o="globalVariableLeak";e.defs.forEach((e=>{n(e.node,o)}))}))}}}};const{getStaticValue:hi}=G.default;var yi={meta:{type:"suggestion",docs:{description:"disallow the use of `eval()`-like methods",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-implied-eval"},schema:[],messages:{impliedEval:"Implied eval. Consider passing a function instead of a string."}},create(e){const t=Object.freeze(["global","window","globalThis"]),n=/^(?:set(?:Interval|Timeout)|execScript)$/u;function r(e){return"Literal"===e.type&&"string"==typeof e.value||"TemplateLiteral"===e.type||"BinaryExpression"===e.type&&"+"===e.operator&&(r(e.left)||r(e.right))}function o(t){const[n]=t.arguments;if(n){const o=hi(n,e.getScope());(o&&"string"==typeof o.value||r(n))&&e.report({node:t,messageId:"impliedEval"})}}function s(e){const{references:t,name:r}=e;t.forEach((e=>{let t=e.identifier.parent;for(;fr.isSpecificMemberAccess(t,null,r);)t=t.parent;if(fr.isSpecificMemberAccess(t,null,n)){const e="ChainExpression"===t.parent.type?t.parent:t,n=e.parent;"CallExpression"===n.type&&n.callee===e&&o(n)}}))}return{CallExpression(e){fr.isSpecificId(e.callee,n)&&o(e)},"Program:exit"(){const n=e.getScope();t.map((e=>fr.getVariableByName(n,e))).filter((e=>!!e&&0===e.defs.length)).forEach(s)}}}};const{findVariable:xi}=G.default,bi=/^(?:assign|definePropert(?:y|ies)|freeze|setPrototypeOf)$/u,Ei=/^(?:(?:define|delete)Property|set(?:PrototypeOf)?)$/u;function Si(e,t){const{parent:n}=e;return"MemberExpression"===n.type&&n.object===e&&(function(e){const{parent:t}=e;return"AssignmentExpression"===t.type&&t.left===e||"ArrayPattern"===t.type||"Property"===t.type&&t.value===e&&"ObjectPattern"===t.parent.type||"RestElement"===t.type||"AssignmentPattern"===t.type&&t.left===e}(n)||function(e){const t="ChainExpression"===e.parent.type?e.parent:e,{parent:n}=t;return"UpdateExpression"===n.type&&n.argument===t||"UnaryExpression"===n.type&&"delete"===n.operator&&n.argument===t}(n)||function(e){const{parent:t}=e;return"ForInStatement"===t.type&&t.left===e||"ForOfStatement"===t.type&&t.left===e}(n))||function(e,t){const{parent:n}=e;if("CallExpression"!==n.type||n.arguments[0]!==e)return!1;const r=fr.skipChainExpression(n.callee);if(!fr.isSpecificMemberAccess(r,"Object",bi)&&!fr.isSpecificMemberAccess(r,"Reflect",Ei))return!1;const o=xi(t,r.object);return null!==o&&"global"===o.scope.type}(e,t)}function Ci(e){let t=e.parent;for(;t&&"AssignmentExpression"!==t.type&&"UpdateExpression"!==t.type&&"UnaryExpression"!==t.type&&"CallExpression"!==t.type&&"ForInStatement"!==t.type&&"ForOfStatement"!==t.type;)t=t.parent;return t||e}var vi={meta:{type:"problem",docs:{description:"disallow assigning to imported bindings",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-import-assign"},schema:[],messages:{readonly:"'{{name}}' is read-only.",readonlyMember:"The members of '{{name}}' are read-only."}},create:e=>({ImportDeclaration(t){const n=e.getScope();for(const r of e.getDeclaredVariables(t)){const t=r.defs.some((e=>"ImportNamespaceSpecifier"===e.node.type));let o=null;for(const s of r.references){const r=s.identifier;r!==o&&(o=r,s.isWrite()?e.report({node:Ci(r),messageId:"readonly",data:{name:r.name}}):t&&Si(r,n)&&e.report({node:Ci(r),messageId:"readonlyMember",data:{name:r.name}}))}}}})},Ai={meta:{type:"suggestion",docs:{description:"disallow inline comments after code",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-inline-comments"},schema:[{type:"object",properties:{ignorePattern:{type:"string"}},additionalProperties:!1}],messages:{unexpectedInlineComment:"Unexpected comment inline with code."}},create(e){const t=e.getSourceCode(),n=e.options[0];let r;function o(n){const o=String(t.lines[n.loc.start.line-1]),s=String(t.lines[n.loc.end.line-1]),a=o.slice(0,n.loc.start.column).trim(),i=s.slice(n.loc.end.column).trim(),c=!a,l=!i;if(!(c&&l||r&&r.test(n.value))){if((c||"{"===a)&&(l||"}"===i)){const e=t.getNodeByRangeIndex(n.range[0]);if(e&&"JSXEmptyExpression"===e.type)return}fr.isDirectiveComment(n)||e.report({node:n,messageId:"unexpectedInlineComment"})}}return n&&n.ignorePattern&&(r=new RegExp(n.ignorePattern,"u")),{Program(){t.getAllComments().filter((e=>"Shebang"!==e.type)).forEach(o)}}}};const ki=new Set(["Program","ExportNamedDeclaration","ExportDefaultDeclaration"]),wi=new Set(["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"]);var Pi={meta:{type:"problem",docs:{description:"disallow variable or `function` declarations in nested blocks",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-inner-declarations"},schema:[{enum:["functions","both"]}],messages:{moveDeclToRoot:"Move {{type}} declaration to {{body}} root."}},create(e){function t(t){const n=t.parent;if("BlockStatement"===n.type&&wi.has(n.parent.type))return;if(ki.has(n.type))return;const r=fr.getUpperFunction(n);e.report({node:t,messageId:"moveDeclToRoot",data:{type:"FunctionDeclaration"===t.type?"function":"variable",body:null===r?"program":"function body"}})}return{FunctionDeclaration:t,VariableDeclaration(n){"both"===e.options[0]&&"var"===n.kind&&t(n)}}}};const Ti=new(0,X.default.RegExpValidator),Ii=/[gimuys]/gu;var Fi={meta:{type:"problem",docs:{description:"disallow invalid regular expression strings in `RegExp` constructors",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-invalid-regexp"},schema:[{type:"object",properties:{allowConstructorFlags:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{regexMessage:"{{message}}."}},create(e){const t=e.options[0];let n=null;if(t&&t.allowConstructorFlags){const e=t.allowConstructorFlags.join("").replace(Ii,"");e&&(n=new RegExp(`[${e}]`,"giu"))}function r(e){return e&&"Literal"===e.type&&"string"==typeof e.value}function o(e,t){try{return Ti.validatePattern(e,undefined,undefined,t),null}catch(e){return e.message}}return{"CallExpression, NewExpression"(t){if("Identifier"!==t.callee.type||"RegExp"!==t.callee.name||!r(t.arguments[0]))return;const s=t.arguments[0].value;let a=function(e){return e.arguments.length<2?"":r(e.arguments[1])?e.arguments[1].value:null}(t);a&&n&&(a=a.replace(n,""));const i=a&&function(e){try{return Ti.validateFlags(e),null}catch{return`Invalid flags supplied to RegExp constructor '${e}'`}}(a)||(null===a?o(s,!0)&&o(s,!1):o(s,a.includes("u")));i&&e.report({node:t,messageId:"regexMessage",data:{message:i}})}}}},Di={meta:{type:"suggestion",docs:{description:"disallow `this` keywords outside of classes or class-like objects",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-invalid-this"},schema:[{type:"object",properties:{capIsConstructor:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedThis:"Unexpected 'this'."}},create(e){const t=!1!==(e.options[0]||{}).capIsConstructor,n=[],r=e.getSourceCode();function o(t){n.push({init:!e.getScope().isStrict,node:t,valid:!0})}function s(){n.pop()}return n.getCurrent=function(){const e=this[this.length-1];return e.init||(e.init=!0,e.valid=!fr.isDefaultThisBinding(e.node,r,{capIsConstructor:t})),e},{Program(t){const r=e.getScope(),o=e.parserOptions.ecmaFeatures||{};n.push({init:!0,node:t,valid:!(r.isStrict||"module"===t.sourceType||o.globalReturn&&r.childScopes[0].isStrict)})},"Program:exit"(){n.pop()},FunctionDeclaration:o,"FunctionDeclaration:exit":s,FunctionExpression:o,"FunctionExpression:exit":s,ThisExpression(t){const r=n.getCurrent();r&&!r.valid&&e.report({node:t,messageId:"unexpectedThis"})}}}};const Oi=/[\f\v\u0085\ufeff\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u202f\u205f\u3000\u2028\u2029]/u,Bi=/[\f\v\u0085\ufeff\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u202f\u205f\u3000]+/gmu,Ni=/[\u2028\u2029]/gmu,ji=fr.createGlobalLinebreakMatcher();var Li={meta:{type:"problem",docs:{description:"disallow irregular whitespace",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-irregular-whitespace"},schema:[{type:"object",properties:{skipComments:{type:"boolean",default:!1},skipStrings:{type:"boolean",default:!0},skipTemplates:{type:"boolean",default:!1},skipRegExps:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{noIrregularWhitespace:"Irregular whitespace not allowed."}},create(e){let t=[];const n=e.options[0]||{},r=!!n.skipComments,o=!1!==n.skipStrings,s=!!n.skipRegExps,a=!!n.skipTemplates,i=e.getSourceCode(),c=i.getAllComments();function l(e){const n=e.loc.start,r=e.loc.end;t=t.filter((({loc:{start:e}})=>e.line=r.column||e.line>r.line))}function u(e){const t=o&&"string"==typeof e.value,n=s&&Boolean(e.regex);(t||n)&&Oi.test(e.raw)&&l(e)}function p(e){Oi.test(e.value)&&l(e)}function d(){}const f={};return Oi.test(i.getText())?(f.Program=function(e){!function(e){i.lines.forEach(((n,r)=>{const o=r+1;let s;for(;null!==(s=Bi.exec(n));)t.push({node:e,messageId:"noIrregularWhitespace",loc:{start:{line:o,column:s.index},end:{line:o,column:s.index+s[0].length}}})}))}(e),function(e){const n=i.getText(),r=i.lines,o=n.match(ji);let s,a=-1;for(;null!==(s=Ni.exec(n));){const n=o.indexOf(s[0],a+1)||0;t.push({node:e,messageId:"noIrregularWhitespace",loc:{start:{line:n+1,column:r[n].length},end:{line:n+2,column:0}}}),a=n}}(e)},f.Identifier=u,f.Literal=u,f.TemplateElement=a?function(e){"string"==typeof e.value.raw&&Oi.test(e.value.raw)&&l(e)}:d,f["Program:exit"]=function(){r&&c.forEach(p),t.forEach((t=>e.report(t)))}):f.Program=d,f}};const{getStaticPropertyName:Ri}=fr;var Mi={meta:{type:"suggestion",docs:{description:"disallow the use of the `__iterator__` property",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-iterator"},schema:[],messages:{noIterator:"Reserved name '__iterator__'."}},create:e=>({MemberExpression(t){"__iterator__"===Ri(t)&&e.report({node:t,messageId:"noIterator"})}})},_i={meta:{type:"suggestion",docs:{description:"disallow labels that share a name with a variable",category:"Variables",recommended:!1,url:"https://eslint.org/docs/rules/no-label-var"},schema:[],messages:{identifierClashWithLabel:"Found identifier with same name as label."}},create:e=>({LabeledStatement(t){(function(e,t){return null!==fr.getVariableByName(e,t)})(e.getScope(),t.label.name)&&e.report({node:t,messageId:"identifierClashWithLabel"})}})},$i={meta:{type:"suggestion",docs:{description:"disallow labeled statements",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-labels"},schema:[{type:"object",properties:{allowLoop:{type:"boolean",default:!1},allowSwitch:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedLabel:"Unexpected labeled statement.",unexpectedLabelInBreak:"Unexpected label in break statement.",unexpectedLabelInContinue:"Unexpected label in continue statement."}},create(e){const t=e.options[0],n=t&&t.allowLoop,r=t&&t.allowSwitch;let o=null;function s(e){return fr.isLoop(e)?"loop":"SwitchStatement"===e.type?"switch":"other"}function a(e){switch(e){case"loop":return n;case"switch":return r;default:return!1}}function i(e){let t=o;for(;t;){if(t.label===e)return t.kind;t=t.upper}return"other"}return{LabeledStatement(e){o={label:e.label.name,kind:s(e.body),upper:o}},"LabeledStatement:exit"(t){a(o.kind)||e.report({node:t,messageId:"unexpectedLabel"}),o=o.upper},BreakStatement(t){t.label&&!a(i(t.label.name))&&e.report({node:t,messageId:"unexpectedLabelInBreak"})},ContinueStatement(t){t.label&&!a(i(t.label.name))&&e.report({node:t,messageId:"unexpectedLabelInContinue"})}}}},qi={meta:{type:"suggestion",docs:{description:"disallow unnecessary nested blocks",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-lone-blocks"},schema:[],messages:{redundantBlock:"Block is redundant.",redundantNestedBlock:"Nested block is redundant."}},create(e){const t=[];let n;function r(t){const n="BlockStatement"===t.parent.type?"redundantNestedBlock":"redundantBlock";e.report({node:t,messageId:n})}function o(e){return"BlockStatement"===e.parent.type||"Program"===e.parent.type||"SwitchCase"===e.parent.type&&!(e.parent.consequent[0]===e&&1===e.parent.consequent.length)}function s(){if(0===t.length)return;const n=e.getAncestors().pop();t[t.length-1]===n&&t.pop()}return n={BlockStatement(e){o(e)&&r(e)}},e.parserOptions.ecmaVersion>=6&&(n={BlockStatement(e){o(e)&&t.push(e)},"BlockStatement:exit"(e){t.length>0&&t[t.length-1]===e?(t.pop(),r(e)):"BlockStatement"===e.parent.type&&1===e.parent.body.length&&r(e)}},n.VariableDeclaration=function(e){"let"!==e.kind&&"const"!==e.kind||s()},n.FunctionDeclaration=function(){e.getScope().isStrict&&s()},n.ClassDeclaration=s),n}},Ui={meta:{type:"suggestion",docs:{description:"disallow `if` statements as the only statement in `else` blocks",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-lonely-if"},schema:[],fixable:"code",messages:{unexpectedLonelyIf:"Unexpected if as the only statement in an else block."}},create(e){const t=e.getSourceCode();return{IfStatement(n){const r=e.getAncestors(),o=r.pop(),s=r.pop();o&&"BlockStatement"===o.type&&1===o.body.length&&s&&"IfStatement"===s.type&&o===s.alternate&&e.report({node:n,messageId:"unexpectedLonelyIf",fix(e){const r=t.getFirstToken(o),s=t.getLastToken(o),a=t.getTokenBefore(r),i=t.getTokenAfter(s),c=t.getLastToken(n.consequent),l=t.getText();return l.slice(r.range[1],n.range[0]).trim()||l.slice(n.range[1],s.range[0]).trim()||"BlockStatement"!==n.consequent.type&&";"!==c.value&&i&&(n.consequent.loc.end.line===i.loc.start.line||/^[([/+`-]/u.test(i.value)||"++"===c.value||"--"===c.value)?null:e.replaceTextRange([r.range[0],s.range[1]],(a.range[1]===r.range[0]?" ":"")+t.getText(n))}})}}}};function Vi(e){for(let t=e;t.parent;t=t.parent){const e=t.parent;switch(e.type){case"WhileStatement":case"DoWhileStatement":return e;case"ForStatement":if(e.init!==t)return e;break;case"ForInStatement":case"ForOfStatement":if(e.right!==t)return e;break;case"ArrowFunctionExpression":case"FunctionExpression":case"FunctionDeclaration":return null}}return null}function Wi(e,t){const n=t.resolved,r=n&&n.defs[0],o=r&&r.parent,s=o&&"VariableDeclaration"===o.type?o.kind:"";if("const"===s)return!0;if("let"===s&&o.range[0]>e.range[0]&&o.range[1]=n;)r=o,o=Vi(o);return r}(e,"let"===s?o:null).range[0];return Boolean(n)&&n.references.every((function(e){const t=e.identifier;return!e.isWrite()||n.scope.variableScope===e.from.variableScope&&t.range[0]!Wi(n,e))).map((e=>e.identifier.name));r.length>0&&e.report({node:t,messageId:"unsafeRefs",data:{varNames:`'${r.join("', '")}'`}})}return{ArrowFunctionExpression:t,FunctionExpression:t,FunctionDeclaration:t}}},zi={meta:{type:"problem",docs:{description:"disallow literal numbers that lose precision",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-loss-of-precision"},schema:[],messages:{noLossOfPrecision:"This number literal will lose precision at runtime."}},create(e){function t(e){return e.raw.replace(/_/gu,"")}function n(e){return`${e.slice(0,1)}.${e.slice(1)}`}function r(e){return e.replace(/^0*/u,"")}function o(e){const t=e.replace("E","e").split("e"),o=t[0],s=e.includes(".")?function(e){const t=r(e);if(t.startsWith(".")){const e=t.split(".").pop(),o=r(e);return{magnitude:o.length-e.length-1,coefficient:n(o)}}return{magnitude:t.indexOf(".")-1,coefficient:n(t.replace(".",""))}}(o):function(e){const t=r(e).replace(/0*$/u,"");return{magnitude:e.startsWith("0")?e.length-2:e.length-1,coefficient:n(t)}}(o);return`${s.coefficient}e${t.length>1?parseInt(t[1],10)+s.magnitude:s.magnitude}`}function s(e){return function(e){return["0x","0X","0b","0B","0o","0O"].every((t=>!e.raw.startsWith(t)))&&!/^0[0-7]+$/u.test(e.raw)}(e)?function(e){const n=o(t(e)),r=n.split("e")[0].replace(".","").length;return r>100||n!==o(e.value.toPrecision(r))}(e):function(e){const n=t(e).toUpperCase();let r=0;return r=n.startsWith("0B")?2:n.startsWith("0X")?16:8,!n.endsWith(e.value.toString(r).toUpperCase())}(e)}return{Literal(t){t.value&&function(e){return"number"==typeof e.value}(t)&&s(t)&&e.report({messageId:"noLossOfPrecision",node:t})}}}};function Ji(e){return"string"==typeof e?BigInt(e.slice(0,-1)):e}var Ki={meta:{type:"suggestion",docs:{description:"disallow magic numbers",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-magic-numbers"},schema:[{type:"object",properties:{detectObjects:{type:"boolean",default:!1},enforceConst:{type:"boolean",default:!1},ignore:{type:"array",items:{anyOf:[{type:"number"},{type:"string",pattern:"^[+-]?(?:0|[1-9][0-9]*)n$"}]},uniqueItems:!0},ignoreArrayIndexes:{type:"boolean",default:!1},ignoreDefaultValues:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{useConst:"Number constants declarations must use 'const'.",noMagic:"No magic number: {{raw}}."}},create(e){const t=e.options[0]||{},n=!!t.detectObjects,r=!!t.enforceConst,o=(t.ignore||[]).map(Ji),s=!!t.ignoreArrayIndexes,a=!!t.ignoreDefaultValues,i=n?[]:["ObjectExpression","Property","AssignmentExpression"];return{Literal(t){if(!fr.isNumericLiteral(t))return;let n,c,l;"UnaryExpression"===t.parent.type&&"-"===t.parent.operator?(n=t.parent,c=-t.value,l=`-${t.raw}`):(n=t,c=t.value,l=t.raw);const u=n.parent;(function(e){return-1!==o.indexOf(e)})(c)||a&&function(e){const t=e.parent;return"AssignmentPattern"===t.type&&t.right===e}(n)||function(e){const t=e.parent;return"CallExpression"===t.type&&e===t.arguments[1]&&(fr.isSpecificId(t.callee,"parseInt")||fr.isSpecificMemberAccess(t.callee,"Number","parseInt"))}(n)||function(e){return 0===e.parent.type.indexOf("JSX")}(n)||s&&function(e,t){const n=e.parent;return"MemberExpression"===n.type&&n.property===e&&(Number.isInteger(t)||"bigint"==typeof t)&&t>=0&&t<4294967295}(n,c)||("VariableDeclarator"===u.type?r&&"const"!==u.parent.kind&&e.report({node:n,messageId:"useConst"}):(-1===i.indexOf(u.type)||"AssignmentExpression"===u.type&&"Identifier"===u.left.type)&&e.report({node:n,messageId:"noMagic",data:{raw:l}}))}}}},Yi={isCombiningCharacter:function(e){return/^[\p{Mc}\p{Me}\p{Mn}]$/u.test(String.fromCodePoint(e))},isEmojiModifier:function(e){return e>=127995&&e<=127999},isRegionalIndicatorSymbol:function(e){return e>=127462&&e<=127487},isSurrogatePair:function(e,t){return e>=55296&&e<56320&&t>=56320&&t<57344}};const{CALL:Hi,CONSTRUCT:Xi,ReferenceTracker:Qi,getStringIfConstant:Zi}=G.default,{RegExpParser:ec,visitRegExpAST:tc}=X.default,{isCombiningCharacter:nc,isEmojiModifier:rc,isRegionalIndicatorSymbol:oc,isSurrogatePair:sc}=Yi;const ac={surrogatePairWithoutUFlag:e=>e.some(((t,n)=>0!==n&&sc(e[n-1],t))),combiningClass:e=>e.some(((t,n)=>0!==n&&nc(t)&&!nc(e[n-1]))),emojiModifier:e=>e.some(((t,n)=>0!==n&&rc(t)&&!rc(e[n-1]))),regionalIndicatorSymbol:e=>e.some(((t,n)=>0!==n&&oc(t)&&oc(e[n-1]))),zwj(e){const t=e.length-1;return e.some(((n,r)=>0!==r&&r!==t&&8205===n&&8205!==e[r-1]&&8205!==e[r+1]))}},ic=Object.keys(ac);var cc={meta:{type:"problem",docs:{description:"disallow characters which are made with multiple code points in character class syntax",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-misleading-character-class"},schema:[],messages:{surrogatePairWithoutUFlag:"Unexpected surrogate pair in character class. Use 'u' flag.",combiningClass:"Unexpected combined character in character class.",emojiModifier:"Unexpected modified Emoji in character class.",regionalIndicatorSymbol:"Unexpected national flag in character class.",zwj:"Unexpected joined character sequence in character class."}},create(e){const t=new ec;function n(n,r,o){const s={surrogatePairWithoutUFlag:!1,combiningClass:!1,variationSelector:!1,emojiModifier:!1,regionalIndicatorSymbol:!1,zwj:!1};let a;try{a=t.parsePattern(r,0,r.length,o.includes("u"))}catch{return}tc(a,{onCharacterClassEnter(e){for(const t of function*(e){let t=[];for(const n of e)switch(n.type){case"Character":t.push(n.value);break;case"CharacterClassRange":t.push(n.min.value),yield t,t=[n.max.value];break;case"CharacterSet":t.length>0&&(yield t,t=[])}t.length>0&&(yield t)}(e.elements))for(const e of ic)s[e]=s[e]||ac[e](t)}});for(const t of ic)s[t]&&e.report({node:n,messageId:t})}return{"Literal[regex]"(e){n(e,e.regex.pattern,e.regex.flags)},Program(){const t=e.getScope(),r=new Qi(t);for(const{node:e}of r.iterateGlobalReferences({RegExp:{[Hi]:!0,[Xi]:!0}})){const[r,o]=e.arguments,s=Zi(r,t),a=Zi(o,t);"string"==typeof s&&n(e,s,a||"")}}}}};const lc=["+","-","*","/","%","**"],uc=["&","|","^","~","<<",">>",">>>"],pc=["==","!=","===","!==",">",">=","<","<="],dc=["&&","||"],fc=["in","instanceof"],mc=[].concat(lc,uc,pc,dc,fc,["?:"],["??"]),gc=[lc,uc,pc,dc,fc],hc=/^(?:Binary|Logical|Conditional)Expression$/u;function yc(e){return"ConditionalExpression"===e.type?e.test:e.left}var xc={meta:{type:"suggestion",docs:{description:"disallow mixed binary operators",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-mixed-operators"},schema:[{type:"object",properties:{groups:{type:"array",items:{type:"array",items:{enum:mc},minItems:2,uniqueItems:!0},uniqueItems:!0},allowSamePrecedence:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedMixedOperator:"Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'."}},create(e){const t=e.getSourceCode(),n=function(e={}){return{groups:e.groups&&e.groups.length>0?e.groups:gc,allowSamePrecedence:!1!==e.allowSamePrecedence}}(e.options[0]);function r(e){return t.getTokenAfter(yc(e),fr.isNotClosingParenToken)}function o(o){hc.test(o.parent.type)&&function(e){return e.operator!==e.parent.operator&&!fr.isParenthesised(t,e)}(o)&&!function(e){const t=e,r=e.parent;return o=n.groups,s=t.operator,a="ConditionalExpression"===r.type?"?:":r.operator,!o.some((e=>-1!==e.indexOf(s)&&-1!==e.indexOf(a)))||n.allowSamePrecedence&&fr.getPrecedence(t)===fr.getPrecedence(r);var o,s,a}(o)&&function(t){const n=t.parent,o=yc(n)===t?t:n,s=yc(n)!==t?t:n,a={leftOperator:o.operator||"?:",rightOperator:s.operator||"?:"};e.report({node:o,loc:r(o).loc,messageId:"unexpectedMixedOperator",data:a}),e.report({node:s,loc:r(s).loc,messageId:"unexpectedMixedOperator",data:a})}(o)}return{BinaryExpression:o,LogicalExpression:o}}},bc={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"disallow `require` calls to be mixed with regular variable declarations",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-mixed-requires"},schema:[{oneOf:[{type:"boolean"},{type:"object",properties:{grouping:{type:"boolean"},allowCall:{type:"boolean"}},additionalProperties:!1}]}],messages:{noMixRequire:"Do not mix 'require' and other declarations.",noMixCoreModuleFileComputed:"Do not mix core, module, file and computed requires."}},create(e){const t=e.options[0];let n=!1,r=!1;"object"==typeof t?(n=t.grouping,r=t.allowCall):n=!!t;const o=["assert","buffer","child_process","cluster","crypto","dgram","dns","domain","events","fs","http","https","net","os","path","punycode","querystring","readline","repl","smalloc","stream","string_decoder","tls","tty","url","util","v8","vm","zlib"],s="require",a="uninitialized",i="other",c="computed";function l(e){return e?"CallExpression"===e.type&&"Identifier"===e.callee.type&&"require"===e.callee.name?s:r&&"CallExpression"===e.type&&"CallExpression"===e.callee.type?l(e.callee):"MemberExpression"===e.type?l(e.object):i:a}function u(e){if("MemberExpression"===e.type)return u(e.object);if(0===e.arguments.length)return c;const t=e.arguments[0];return"Literal"!==t.type||"string"!=typeof t.value?c:-1!==o.indexOf(t.value)?"core":/^\.{0,2}\//u.test(t.value)?"file":"module"}function p(e){const t={};return e.forEach((e=>{l(e.init)===s&&(t[u(e.init)]=!0)})),Object.keys(t).length<=1}return{VariableDeclaration(t){!function(e){const t={};return e.forEach((e=>{const n=l(e.init);t[n]=!0})),!(!t.require||!t.uninitialized&&!t.other)}(t.declarations)?n&&!p(t.declarations)&&e.report({node:t,messageId:"noMixCoreModuleFileComputed"}):e.report({node:t,messageId:"noMixRequire"})}}}},Ec={meta:{type:"layout",docs:{description:"disallow mixed spaces and tabs for indentation",category:"Stylistic Issues",recommended:!0,url:"https://eslint.org/docs/rules/no-mixed-spaces-and-tabs"},schema:[{enum:["smart-tabs",!0,!1]}],messages:{mixedSpacesAndTabs:"Mixed spaces and tabs."}},create(e){const t=e.getSourceCode();let n;switch(e.options[0]){case!0:case"smart-tabs":n=!0;break;default:n=!1}return{"Program:exit"(r){const o=t.lines,s=t.getAllComments(),a=new Set;s.forEach((e=>{for(let t=e.loc.start.line+1;t<=e.loc.end.line;t++)a.add(t)}));let i=/^(?=( +|\t+))\1(?:\t| )/u;n&&(i=/^(?=(\t*))\1(?=( +))\2\t/u),o.forEach(((n,o)=>{const s=i.exec(n);if(s){const n=o+1,i={start:{line:n,column:s[0].length-2},end:{line:n,column:s[0].length}};if(!a.has(n)){const n=t.getNodeByRangeIndex(t.getIndexFromLoc(i.start));n&&["Literal","TemplateElement"].includes(n.type)||e.report({node:r,loc:i,messageId:"mixedSpacesAndTabs"})}}}))}}}},Sc={meta:{type:"suggestion",docs:{description:"disallow use of chained assignment expressions",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-multi-assign"},schema:[{type:"object",properties:{ignoreNonDeclaration:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedChain:"Unexpected chained assignment."}},create(e){const t=(e.options[0]||{ignoreNonDeclaration:!1}).ignoreNonDeclaration?["VariableDeclarator"]:["AssignmentExpression","VariableDeclarator"];return{AssignmentExpression(n){-1!==t.indexOf(n.parent.type)&&e.report({node:n,messageId:"unexpectedChain"})}}}},Cc={meta:{type:"layout",docs:{description:"disallow multiple spaces",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-multi-spaces"},fixable:"whitespace",schema:[{type:"object",properties:{exceptions:{type:"object",patternProperties:{"^([A-Z][a-z]*)+$":{type:"boolean"}},additionalProperties:!1},ignoreEOLComments:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{multipleSpaces:"Multiple spaces found before '{{displayValue}}'."}},create(e){const t=e.getSourceCode(),n=e.options[0]||{},r=n.ignoreEOLComments,o=Object.assign({Property:!0},n.exceptions),s=Object.keys(o).filter((e=>o[e])).length>0;function a(e){const t=e.value.split("\n"),n=t[0],r=`${n.slice(0,12)}...`;return 1===t.length&&n.length<=12?n:r}return{Program(){t.tokensAndComments.forEach(((n,i,c)=>{if(i===c.length-1)return;const l=c[i+1];if(!t.text.slice(n.range[1],l.range[0]).includes(" ")||n.loc.end.linee.replaceTextRange([n.range[1],l.range[0]]," ")})}))}}}},vc={meta:{type:"suggestion",docs:{description:"disallow multiline strings",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-multi-str"},schema:[],messages:{multilineString:"Multiline support is limited to browsers supporting ES5 only."}},create:e=>({Literal(t){fr.LINEBREAK_MATCHER.test(t.raw)&&!function(e){return 0===e.type.indexOf("JSX")}(t.parent)&&e.report({node:t,messageId:"multilineString"})}})},Ac={meta:{type:"layout",docs:{description:"disallow multiple empty lines",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-multiple-empty-lines"},fixable:"whitespace",schema:[{type:"object",properties:{max:{type:"integer",minimum:0},maxEOF:{type:"integer",minimum:0},maxBOF:{type:"integer",minimum:0}},required:["max"],additionalProperties:!1}],messages:{blankBeginningOfFile:"Too many blank lines at the beginning of file. Max of {{max}} allowed.",blankEndOfFile:"Too many blank lines at the end of file. Max of {{max}} allowed.",consecutiveBlank:"More than {{max}} blank {{pluralizedLines}} not allowed."}},create(e){let t=2,n=t,r=t;e.options.length&&(t=e.options[0].max,n=void 0!==e.options[0].maxEOF?e.options[0].maxEOF:t,r=void 0!==e.options[0].maxBOF?e.options[0].maxBOF:t);const o=e.getSourceCode(),s=""===o.lines[o.lines.length-1]?o.lines.slice(0,-1):o.lines,a=new Set;return{TemplateLiteral(e){e.quasis.forEach((e=>{for(let t=e.loc.start.line;ts.reduce(((e,t,n)=>((t.trim()||a.has(n+1))&&e.push(n+1),e)),[]).concat(s.length+1).reduce(((a,c)=>{let l,u;return 0===a?(l="blankBeginningOfFile",u=r):c===s.length+1?(l="blankEndOfFile",u=n):(l="consecutiveBlank",u=t),c-a-1>u&&e.report({node:i,loc:{start:{line:a+u+1,column:0},end:{line:c,column:0}},messageId:l,data:{max:u,pluralizedLines:1===u?"line":"lines"},fix(e){const t=o.getIndexFromLoc({line:a+1,column:0}),n=c-u,r=n<=s.length?o.getIndexFromLoc({line:n,column:0}):o.text.length;return e.removeRange([t,r])}}),c}),0)}}},kc={meta:{type:"suggestion",docs:{description:"disallow assignments to native objects or read-only global variables",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-native-reassign"},deprecated:!0,replacedBy:["no-global-assign"],schema:[{type:"object",properties:{exceptions:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1}],messages:{nativeReassign:"Read-only global '{{name}}' should not be modified."}},create(e){const t=e.options[0],n=t&&t.exceptions||[];function r(t,n,r){const o=t.identifier;!1!==t.init||!t.isWrite()||0!==n&&r[n-1].identifier===o||e.report({node:o,messageId:"nativeReassign",data:o})}function o(e){!1===e.writeable&&-1===n.indexOf(e.name)&&e.references.forEach(r)}return{Program(){e.getScope().variables.forEach(o)}}}},wc={meta:{type:"suggestion",docs:{description:"disallow negated conditions",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-negated-condition"},schema:[],messages:{unexpectedNegated:"Unexpected negated condition."}},create(e){function t(e){return"UnaryExpression"===(t=e.test).type&&"!"===t.operator||function(e){return"BinaryExpression"===e.type&&("!="===e.operator||"!=="===e.operator)}(e.test);var t}return{IfStatement(n){(function(e){return e.alternate&&"IfStatement"!==e.alternate.type})(n)&&t(n)&&e.report({node:n,messageId:"unexpectedNegated"})},ConditionalExpression(n){t(n)&&e.report({node:n,messageId:"unexpectedNegated"})}}}},Pc={meta:{type:"problem",docs:{description:"disallow negating the left operand in `in` expressions",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-negated-in-lhs"},replacedBy:["no-unsafe-negation"],deprecated:!0,schema:[],messages:{negatedLHS:"The 'in' expression's left operand is negated."}},create:e=>({BinaryExpression(t){"in"===t.operator&&"UnaryExpression"===t.left.type&&"!"===t.left.operator&&e.report({node:t,messageId:"negatedLHS"})}})},Tc={meta:{type:"suggestion",docs:{description:"disallow nested ternary expressions",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-nested-ternary"},schema:[],messages:{noNestedTernary:"Do not nest ternary expressions."}},create:e=>({ConditionalExpression(t){"ConditionalExpression"!==t.alternate.type&&"ConditionalExpression"!==t.consequent.type||e.report({node:t,messageId:"noNestedTernary"})}})},Ic={meta:{type:"suggestion",docs:{description:"disallow `new` operators outside of assignments or comparisons",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-new"},schema:[],messages:{noNewStatement:"Do not use 'new' for side effects."}},create:e=>({"ExpressionStatement > NewExpression"(t){e.report({node:t.parent,messageId:"noNewStatement"})}})},Fc={meta:{type:"suggestion",docs:{description:"disallow `new` operators with the `Function` object",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-new-func"},schema:[],messages:{noFunctionConstructor:"The Function constructor is eval."}},create:e=>({"Program:exit"(){const t=e.getScope().set.get("Function");t&&0===t.defs.length&&t.references.forEach((t=>{const n=t.identifier,{parent:r}=n;!r||"NewExpression"!==r.type&&"CallExpression"!==r.type||n!==r.callee||e.report({node:r,messageId:"noFunctionConstructor"})}))}})},Dc={meta:{type:"suggestion",docs:{description:"disallow `Object` constructors",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-new-object"},schema:[],messages:{preferLiteral:"The object literal notation {} is preferrable."}},create:e=>({NewExpression(t){const n=fr.getVariableByName(e.getScope(),t.callee.name);n&&n.identifiers.length>0||"Object"===t.callee.name&&e.report({node:t,messageId:"preferLiteral"})}})},Oc={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"disallow `new` operators with calls to `require`",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-new-require"},schema:[],messages:{noNewRequire:"Unexpected use of new with require."}},create:e=>({NewExpression(t){"Identifier"===t.callee.type&&"require"===t.callee.name&&e.report({node:t,messageId:"noNewRequire"})}})},Bc={meta:{type:"problem",docs:{description:"disallow `new` operators with the `Symbol` object",category:"ECMAScript 6",recommended:!0,url:"https://eslint.org/docs/rules/no-new-symbol"},schema:[],messages:{noNewSymbol:"`Symbol` cannot be called as a constructor."}},create:e=>({"Program:exit"(){const t=e.getScope().set.get("Symbol");t&&0===t.defs.length&&t.references.forEach((t=>{const n=t.identifier,r=n.parent;r&&"NewExpression"===r.type&&r.callee===n&&e.report({node:n,messageId:"noNewSymbol"})}))}})},Nc={meta:{type:"suggestion",docs:{description:"disallow `new` operators with the `String`, `Number`, and `Boolean` objects",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-new-wrappers"},schema:[],messages:{noConstructor:"Do not use {{fn}} as a constructor."}},create:e=>({NewExpression(t){["String","Number","Boolean"].indexOf(t.callee.name)>-1&&e.report({node:t,messageId:"noConstructor",data:{fn:t.callee.name}})}})};const jc=/\\[89]/u;function Lc(e){return`\\u${e.charCodeAt(0).toString(16).padStart(4,"0")}`}var Rc={meta:{type:"suggestion",docs:{description:"disallow `\\8` and `\\9` escape sequences in string literals",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-nonoctal-decimal-escape",suggestion:!0},schema:[],messages:{decimalEscape:"Don't use '{{decimalEscape}}' escape sequence.",refactor:"Replace '{{original}}' with '{{replacement}}'. This maintains the current functionality.",escapeBackslash:"Replace '{{original}}' with '{{replacement}}' to include the actual backslash character."}},create(e){const t=e.getSourceCode();function n(e,n,r){return{messageId:e,data:{original:t.getText().slice(...n),replacement:r},fix:e=>e.replaceTextRange(n,r)}}return{Literal(r){if("string"!=typeof r.value)return;if(!jc.test(r.raw))return;const o=/(?:[^\\]|(?\\.))*?(?\\[89])/uys;let s;for(;s=o.exec(r.raw);){const{previousEscape:o,decimalEscape:a}=s.groups,i=r.range[0]+s.index+s[0].length,c=i-a.length,l=[c,i],u=[];"\\0"===o?u.push(n("refactor",[c-o.length,i],`${Lc("\0")}${a[1]}`),n("refactor",l,Lc(a[1]))):u.push(n("refactor",l,a[1])),u.push(n("escapeBackslash",l,`\\${a}`)),e.report({node:r,loc:{start:t.getLocFromIndex(c),end:t.getLocFromIndex(i)},messageId:"decimalEscape",data:{decimalEscape:a},suggest:u})}}}}};const{CALL:Mc,CONSTRUCT:_c,ReferenceTracker:$c}=G.default,qc=fr.getStaticPropertyName,Uc=["Atomics","JSON","Math","Reflect"];function Vc(e){return"ChainExpression"===e.type?Vc(e.expression):"MemberExpression"===e.type?qc(e):e.name}var Wc={meta:{type:"problem",docs:{description:"disallow calling global object properties as functions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-obj-calls"},schema:[],messages:{unexpectedCall:"'{{name}}' is not a function.",unexpectedRefCall:"'{{name}}' is reference to '{{ref}}', which is not a function."}},create:e=>({Program(){const t=e.getScope(),n=new $c(t),r={};for(const e of Uc)r[e]={[Mc]:!0,[_c]:!0};for(const{node:t,path:o}of n.iterateGlobalReferences(r)){const n=Vc(t.callee),r=o[0],s=n===r?"unexpectedCall":"unexpectedRefCall";e.report({node:t,messageId:s,data:{name:n,ref:r}})}}})},Gc={meta:{type:"suggestion",docs:{description:"disallow octal literals",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-octal"},schema:[],messages:{noOcatal:"Octal literals should not be used."}},create:e=>({Literal(t){"number"==typeof t.value&&/^0[0-9]/u.test(t.raw)&&e.report({node:t,messageId:"noOcatal"})}})},zc={meta:{type:"suggestion",docs:{description:"disallow octal escape sequences in string literals",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-octal-escape"},schema:[],messages:{octalEscapeSequence:"Don't use octal: '\\{{sequence}}'. Use '\\u....' instead."}},create:e=>({Literal(t){if("string"!=typeof t.value)return;const n=t.raw.match(/^(?:[^\\]|\\.)*?\\([0-3][0-7]{1,2}|[4-7][0-7]|0(?=[89])|[1-7])/us);n&&e.report({node:t,messageId:"octalEscapeSequence",data:{sequence:n[1]}})}})};const Jc=/(?:Statement|Declaration|Function(?:Expression)?|Program)$/u;var Kc={meta:{type:"suggestion",docs:{description:"disallow reassigning `function` parameters",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-param-reassign"},schema:[{oneOf:[{type:"object",properties:{props:{enum:[!1]}},additionalProperties:!1},{type:"object",properties:{props:{enum:[!0]},ignorePropertyModificationsFor:{type:"array",items:{type:"string"},uniqueItems:!0},ignorePropertyModificationsForRegex:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1}]}],messages:{assignmentToFunctionParam:"Assignment to function parameter '{{name}}'.",assignmentToFunctionParamProp:"Assignment to property of function parameter '{{name}}'."}},create(e){const t=e.options[0]&&e.options[0].props,n=e.options[0]&&e.options[0].ignorePropertyModificationsFor||[],r=e.options[0]&&e.options[0].ignorePropertyModificationsForRegex||[];function o(o,s,a){const i=o.identifier;var c;!i||o.init||0!==s&&a[s-1].identifier===i||(o.isWrite()?e.report({node:i,messageId:"assignmentToFunctionParam",data:{name:i.name}}):t&&function(e){let t=e.identifier,n=t.parent;for(;n&&(!Jc.test(n.type)||"ForInStatement"===n.type||"ForOfStatement"===n.type);){switch(n.type){case"AssignmentExpression":return n.left===t;case"UpdateExpression":return!0;case"UnaryExpression":if("delete"===n.operator)return!0;break;case"ForInStatement":case"ForOfStatement":return n.left===t;case"CallExpression":if(n.callee!==t)return!1;break;case"MemberExpression":if(n.property===t)return!1;break;case"Property":if(n.key===t)return!1;break;case"ConditionalExpression":if(n.test===t)return!1}t=n,n=t.parent}return!1}(o)&&(c=i.name,!n.includes(c)&&!r.some((e=>new RegExp(e,"u").test(c))))&&e.report({node:i,messageId:"assignmentToFunctionParamProp",data:{name:i.name}}))}function s(e){"Parameter"===e.defs[0].type&&e.references.forEach(o)}function a(t){e.getDeclaredVariables(t).forEach(s)}return{"FunctionDeclaration:exit":a,"FunctionExpression:exit":a,"ArrowFunctionExpression:exit":a}}},Yc={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"disallow string concatenation with `__dirname` and `__filename`",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-path-concat"},schema:[],messages:{usePathFunctions:"Use path.join() or path.resolve() instead of + to create paths."}},create(e){const t=/^__(?:dir|file)name$/u;return{BinaryExpression(n){const r=n.left,o=n.right;"+"===n.operator&&("Identifier"===r.type&&t.test(r.name)||"Identifier"===o.type&&t.test(o.name))&&e.report({node:n,messageId:"usePathFunctions"})}}}};function Hc(e){const t=e.parent;return"SequenceExpression"===t.type?Hc(t):function(e){const t=e.parent;return"ForStatement"===t.type&&t.update===e}(e)}var Xc={meta:{type:"suggestion",docs:{description:"disallow the unary operators `++` and `--`",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-plusplus"},schema:[{type:"object",properties:{allowForLoopAfterthoughts:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedUnaryOp:"Unary operator '{{operator}}' used."}},create(e){const t=e.options[0];let n=!1;return"object"==typeof t&&(n=!0===t.allowForLoopAfterthoughts),{UpdateExpression(t){n&&Hc(t)||e.report({node:t,messageId:"unexpectedUnaryOp",data:{operator:t.operator}})}}}},Qc={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"disallow the use of `process.env`",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-process-env"},schema:[],messages:{unexpectedProcessEnv:"Unexpected use of process.env."}},create:e=>({MemberExpression(t){const n=t.object.name,r=t.property.name;"process"===n&&!t.computed&&r&&"env"===r&&e.report({node:t,messageId:"unexpectedProcessEnv"})}})},Zc={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"disallow the use of `process.exit()`",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-process-exit"},schema:[],messages:{noProcessExit:"Don't use process.exit(); throw an error instead."}},create:e=>({"CallExpression > MemberExpression.callee[object.name = 'process'][property.name = 'exit']"(t){e.report({node:t.parent,messageId:"noProcessExit"})}})};const{findVariable:el}=G.default,tl=new Set(["ArrowFunctionExpression","FunctionExpression"]);function nl(e,t){const n=e.parent;return"NewExpression"===n.type&&n.arguments[0]===e&&"Identifier"===n.callee.type&&"Promise"===n.callee.name&&function(e,t){const n=el(t,e);return null!==n&&"global"===n.scope.type&&0===n.defs.length}(n.callee,function(e){const t=e.upper;return"function-expression-name"===t.type?t.upper:t}(t))}var rl={meta:{type:"problem",docs:{description:"disallow returning values from Promise executor functions",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-promise-executor-return"},schema:[],messages:{returnsValue:"Return values from promise executor functions cannot be read."}},create(e){let t=null;function n(t){e.report({node:t,messageId:"returnsValue"})}return{onCodePathStart(r,o){t={upper:t,shouldCheck:tl.has(o.type)&&nl(o,e.getScope())},t.shouldCheck&&"ArrowFunctionExpression"===o.type&&o.expression&&n(o.body)},onCodePathEnd(){t=t.upper},ReturnStatement(e){t.shouldCheck&&e.argument&&n(e)}}}};const{getStaticPropertyName:ol}=fr;var sl={meta:{type:"suggestion",docs:{description:"disallow the use of the `__proto__` property",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-proto"},schema:[],messages:{unexpectedProto:"The '__proto__' property is deprecated."}},create:e=>({MemberExpression(t){"__proto__"===ol(t)&&e.report({node:t,messageId:"unexpectedProto"})}})},al={meta:{type:"problem",docs:{description:"disallow calling some `Object.prototype` methods directly on objects",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-prototype-builtins"},schema:[],messages:{prototypeBuildIn:"Do not access Object.prototype method '{{prop}}' from target object."}},create(e){const t=["hasOwnProperty","isPrototypeOf","propertyIsEnumerable"];return{CallExpression:function(n){const r=fr.skipChainExpression(n.callee);if("MemberExpression"!==r.type)return;const o=fr.getStaticPropertyName(r);null!==o&&t.indexOf(o)>-1&&e.report({messageId:"prototypeBuildIn",loc:r.property.loc,data:{prop:o},node:n})}}}},il={meta:{type:"suggestion",docs:{description:"disallow variable redeclaration",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-redeclare"},messages:{redeclared:"'{{id}}' is already defined.",redeclaredAsBuiltin:"'{{id}}' is already defined as a built-in global variable.",redeclaredBySyntax:"'{{id}}' is already defined by a variable declaration."},schema:[{type:"object",properties:{builtinGlobals:{type:"boolean",default:!0}},additionalProperties:!1}]},create(e){const t=Boolean(0===e.options.length||e.options[0].builtinGlobals),n=e.getSourceCode();function*r(e){!t||"readonly"!==e.eslintImplicitGlobalSetting&&"writable"!==e.eslintImplicitGlobalSetting||(yield{type:"builtin"});for(const t of e.identifiers)yield{type:"syntax",node:t,loc:t.loc};if(e.eslintExplicitGlobalComments)for(const t of e.eslintExplicitGlobalComments)yield{type:"comment",node:t,loc:fr.getNameLocationInGlobalDirectiveComment(n,t,e.name)}}function o(t){for(const n of t.variables){const[t,...o]=r(n);if(0===o.length)continue;const s="builtin"===t.type?"redeclaredAsBuiltin":"redeclaredBySyntax",a={id:n.name};for(const{type:n,node:r,loc:i}of o){const o=n===t.type?"redeclared":s;e.report({node:r,loc:i,messageId:o,data:a})}}}function s(t){const n=e.getScope();n.block===t&&o(n)}return{Program(){const t=e.getScope();o(t),"global"===t.type&&t.childScopes[0]&&t.block===t.childScopes[0].block&&o(t.childScopes[0])},FunctionDeclaration:s,FunctionExpression:s,ArrowFunctionExpression:s,BlockStatement:s,ForStatement:s,ForInStatement:s,ForOfStatement:s,SwitchStatement:s}}};const cl=new X.default.RegExpParser,ll=/ {2}/u;function ul(e){return e&&"Literal"===e.type&&"string"==typeof e.value}var pl={meta:{type:"suggestion",docs:{description:"disallow multiple spaces in regular expressions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-regex-spaces"},schema:[],fixable:"code",messages:{multipleSpaces:"Spaces are hard to count. Use {{{length}}}."}},create(e){function t(t,n,r,o,s){if(!ll.test(r))return;const a=[];let i;try{i=cl.parsePattern(n,0,n.length,s.includes("u"))}catch{return}X.default.visitRegExpAST(i,{onCharacterClassEnter(e){a.push(e)}});const c=/( {2,})(?: [+*{?]|[^+*{?]|$)/gu;let l;for(;l=c.exec(n);){const{1:{length:s},index:i}=l;if(a.every((({start:e,end:t})=>in!==r?null:e.replaceTextRange([o+i,o+i+s],` {${s}}`)})}}function n(n){const r=e.getScope(),o=fr.getVariableByName(r,"RegExp"),s=o&&o.defs.length>0,a=n.arguments[0],i=n.arguments[1];if("Identifier"===n.callee.type&&"RegExp"===n.callee.name&&ul(a)&&!s){t(n,a.value,a.raw.slice(1,-1),a.range[0]+1,ul(i)?i.value:"")}}return{Literal:function(e){if(e.regex){const n=e.regex.pattern,r=e.raw.slice(1,e.raw.lastIndexOf("/"));t(e,n,r,e.range[0]+1,e.regex.flags)}},CallExpression:n,NewExpression:n}}},dl={meta:{type:"suggestion",docs:{description:"disallow specified names in exports",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/no-restricted-exports"},schema:[{type:"object",properties:{restrictedNamedExports:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1}],messages:{restrictedNamed:"'{{name}}' is restricted from being used as an exported name."}},create(e){const t=new Set(e.options[0]&&e.options[0].restrictedNamedExports);function n(n){const r=n.name;t.has(r)&&e.report({node:n,messageId:"restrictedNamed",data:{name:r}})}return{ExportAllDeclaration(e){e.exported&&n(e.exported)},ExportNamedDeclaration(t){const r=t.declaration;r?"FunctionDeclaration"===r.type||"ClassDeclaration"===r.type?n(r.id):"VariableDeclaration"===r.type&&e.getDeclaredVariables(r).map((e=>e.defs.find((e=>e.parent===r)))).map((e=>e.name)).forEach(n):t.specifiers.map((e=>e.exported)).forEach(n)}}}},fl={meta:{type:"suggestion",docs:{description:"disallow specified global variables",category:"Variables",recommended:!1,url:"https://eslint.org/docs/rules/no-restricted-globals"},schema:{type:"array",items:{oneOf:[{type:"string"},{type:"object",properties:{name:{type:"string"},message:{type:"string"}},required:["name"],additionalProperties:!1}]},uniqueItems:!0,minItems:0},messages:{defaultMessage:"Unexpected use of '{{name}}'.",customMessage:"Unexpected use of '{{name}}'. {{customMessage}}"}},create(e){if(0===e.options.length)return{};const t=e.options.reduce(((e,t)=>("string"==typeof t?e[t]=null:e[t.name]=t.message,e)),{});function n(n){const r=n.identifier.name,o=t[r],s=o?"customMessage":"defaultMessage";e.report({node:n.identifier,messageId:s,data:{name:r,customMessage:o}})}function r(e){return Object.prototype.hasOwnProperty.call(t,e)}return{Program(){const t=e.getScope();t.variables.forEach((e=>{!e.defs.length&&r(e.name)&&e.references.forEach(n)})),t.through.forEach((e=>{r(e.identifier.name)&&n(e)}))}}}};const ml={type:"array",items:{anyOf:[{type:"string"},{type:"object",properties:{name:{type:"string"},message:{type:"string",minLength:1},importNames:{type:"array",items:{type:"string"}}},additionalProperties:!1,required:["name"]}]},uniqueItems:!0};var gl={meta:{type:"suggestion",docs:{description:"disallow specified modules when loaded by `import`",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/no-restricted-imports"},messages:{path:"'{{importSource}}' import is restricted from being used.",pathWithCustomMessage:"'{{importSource}}' import is restricted from being used. {{customMessage}}",patterns:"'{{importSource}}' import is restricted from being used by a pattern.",everything:"* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted.",everythingWithCustomMessage:"* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted. {{customMessage}}",importName:"'{{importName}}' import from '{{importSource}}' is restricted.",importNameWithCustomMessage:"'{{importName}}' import from '{{importSource}}' is restricted. {{customMessage}}"},schema:{anyOf:[ml,{type:"array",items:[{type:"object",properties:{paths:ml,patterns:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1}],additionalItems:!1}]}},create(e){const t=e.getSourceCode(),n=Array.isArray(e.options)?e.options:[],r="object"==typeof n[0]&&(Object.prototype.hasOwnProperty.call(n[0],"paths")||Object.prototype.hasOwnProperty.call(n[0],"patterns")),o=(r?n[0].paths:e.options)||[],s=(r?n[0].patterns:[])||[];if(0===Object.keys(o).length&&0===s.length)return{};const a=o.reduce(((e,t)=>("string"==typeof t?e[t]={message:null}:e[t.name]={message:t.message,importNames:t.importNames},e)),{}),i=Q.default().add(s);function c(n){const r=n.source.value.trim(),o=new Map;if("ExportAllDeclaration"===n.type){const e=t.getFirstToken(n,1);o.set("*",[{loc:e.loc}])}else if(n.specifiers)for(const e of n.specifiers){let t;const n={loc:e.loc};"ImportDefaultSpecifier"===e.type?t="default":"ImportNamespaceSpecifier"===e.type?t="*":e.imported?t=e.imported.name:e.local&&(t=e.local.name),t&&(o.has(t)?o.get(t).push(n):o.set(t,[n]))}!function(t,n,r){if(!Object.prototype.hasOwnProperty.call(a,t))return;const o=a[t].message,s=a[t].importNames;if(s){if(n.has("*")){const a=n.get("*")[0];e.report({node:r,messageId:o?"everythingWithCustomMessage":"everything",loc:a.loc,data:{importSource:t,importNames:s,customMessage:o}})}s.forEach((s=>{n.has(s)&&n.get(s).forEach((n=>{e.report({node:r,messageId:o?"importNameWithCustomMessage":"importName",loc:n.loc,data:{importSource:t,customMessage:o,importName:s}})}))}))}else e.report({node:r,messageId:o?"pathWithCustomMessage":"path",data:{importSource:t,customMessage:o}})}(r,o,n),function(e){return s.length>0&&i.ignores(e)}(r)&&function(t){const n=t.source.value.trim();e.report({node:t,messageId:"patterns",data:{importSource:n}})}(n)}return{ImportDeclaration:c,ExportNamedDeclaration(e){e.source&&c(e)},ExportAllDeclaration:c}}};const hl={type:"array",items:{anyOf:[{type:"string"},{type:"object",properties:{name:{type:"string"},message:{type:"string",minLength:1}},additionalProperties:!1,required:["name"]}]},uniqueItems:!0};var yl={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"disallow specified modules when loaded by `require`",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-restricted-modules"},schema:{anyOf:[hl,{type:"array",items:{type:"object",properties:{paths:hl,patterns:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1},additionalItems:!1}]},messages:{defaultMessage:"'{{name}}' module is restricted from being used.",customMessage:"'{{name}}' module is restricted from being used. {{customMessage}}",patternMessage:"'{{name}}' module is restricted from being used by a pattern."}},create(e){const t=Array.isArray(e.options)?e.options:[],n="object"==typeof t[0]&&(Object.prototype.hasOwnProperty.call(t[0],"paths")||Object.prototype.hasOwnProperty.call(t[0],"patterns")),r=(n?t[0].paths:e.options)||[],o=(n?t[0].patterns:[])||[],s=r.reduce(((e,t)=>("string"==typeof t?e[t]=null:e[t.name]=t.message,e)),{});if(0===Object.keys(r).length&&0===o.length)return{};const a=Q.default().add(o);return{CallExpression(t){if(function(e){return"Identifier"===e.callee.type&&"require"===e.callee.name}(t)&&t.arguments.length){const n=function(e){return function(e){return e&&"Literal"===e.type&&"string"==typeof e.value}(e)?e.value.trim():function(e){return e&&"TemplateLiteral"===e.type&&0===e.expressions.length}(e)?e.quasis[0].value.cooked.trim():null}(t.arguments[0]);n&&(function(e){return Object.prototype.hasOwnProperty.call(s,e)}(n)&&function(t,n){const r=s[n],o=r?"customMessage":"defaultMessage";e.report({node:t,messageId:o,data:{name:n,customMessage:r}})}(t,n),o.length>0&&a.ignores(n)&&e.report({node:t,messageId:"patternMessage",data:{name:n}}))}}}}},xl={meta:{type:"suggestion",docs:{description:"disallow certain properties on certain objects",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-restricted-properties"},schema:{type:"array",items:{anyOf:[{type:"object",properties:{object:{type:"string"},property:{type:"string"},message:{type:"string"}},additionalProperties:!1,required:["object"]},{type:"object",properties:{object:{type:"string"},property:{type:"string"},message:{type:"string"}},additionalProperties:!1,required:["property"]}]},uniqueItems:!0},messages:{restrictedObjectProperty:"'{{objectName}}.{{propertyName}}' is restricted from being used.{{message}}",restrictedProperty:"'{{propertyName}}' is restricted from being used.{{message}}"}},create(e){const t=e.options;if(0===t.length)return{};const n=new Map,r=new Map,o=new Map;function s(t,s,a){if(null===a)return;const i=n.get(s),c=i?i.get(a):r.get(s),l=o.get(a);if(c){const n=c.message?` ${c.message}`:"";e.report({node:t,messageId:"restrictedObjectProperty",data:{objectName:s,propertyName:a,message:n}})}else if(l){const n=l.message?` ${l.message}`:"";e.report({node:t,messageId:"restrictedProperty",data:{propertyName:a,message:n}})}}function a(e){if("Identifier"===e.right.type){const t=e.right.name;"ObjectPattern"===e.left.type&&e.left.properties.forEach((n=>{s(e.left,t,fr.getStaticPropertyName(n))}))}}return t.forEach((e=>{const t=e.object,s=e.property;void 0===t?o.set(s,{message:e.message}):void 0===s?r.set(t,{message:e.message}):(n.has(t)||n.set(t,new Map),n.get(t).set(s,{message:e.message}))})),{MemberExpression(e){s(e,e.object&&e.object.name,fr.getStaticPropertyName(e))},VariableDeclarator(e){if(e.init&&"Identifier"===e.init.type){const t=e.init.name;"ObjectPattern"===e.id.type&&e.id.properties.forEach((n=>{s(e.id,t,fr.getStaticPropertyName(n))}))}},AssignmentExpression:a,AssignmentPattern:a}}},bl={meta:{type:"suggestion",docs:{description:"disallow specified syntax",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-restricted-syntax"},schema:{type:"array",items:{oneOf:[{type:"string"},{type:"object",properties:{selector:{type:"string"},message:{type:"string"}},required:["selector"],additionalProperties:!1}]},uniqueItems:!0,minItems:0},messages:{restrictedSyntax:"{{message}}"}},create:e=>e.options.reduce(((t,n)=>{const r="string"==typeof n,o=!r&&Boolean(n.message),s=r?n:n.selector,a=o?n.message:`Using '${s}' is not allowed.`;return Object.assign(t,{[s](t){e.report({node:t,messageId:"restrictedSyntax",data:{message:a}})}})}),{})};const El=/^(?:[a-zA-Z]+?Statement|ArrowFunctionExpression|FunctionExpression|ClassExpression)$/u;var Sl={meta:{type:"suggestion",docs:{description:"disallow assignment operators in `return` statements",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-return-assign"},schema:[{enum:["except-parens","always"]}],messages:{returnAssignment:"Return statement should not contain assignment.",arrowAssignment:"Arrow function should not return assignment."}},create(e){const t="except-parens"!==(e.options[0]||"except-parens"),n=e.getSourceCode();return{AssignmentExpression(r){if(!t&&fr.isParenthesised(n,r))return;let o=r,s=o.parent;for(;s&&!El.test(s.type);)o=s,s=s.parent;s&&"ReturnStatement"===s.type?e.report({node:s,messageId:"returnAssignment"}):s&&"ArrowFunctionExpression"===s.type&&s.body===o&&e.report({node:s,messageId:"arrowAssignment"})}}}},Cl={meta:{type:"suggestion",docs:{description:"disallow unnecessary `return await`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-return-await"},fixable:null,schema:[],messages:{redundantUseOfAwait:"Redundant use of `await` on a return value."}},create(e){function t(e){let t=e;for(;!fr.isFunction(t)&&"Program"!==t.type;){if("TryStatement"===t.parent.type&&(t===t.parent.block||t===t.parent.handler&&t.parent.finalizer))return!0;t=t.parent}return!1}function n(e){return"ArrowFunctionExpression"===e.parent.type||("ReturnStatement"===e.parent.type?!t(e.parent):"ConditionalExpression"!==e.parent.type||e!==e.parent.consequent&&e!==e.parent.alternate?("LogicalExpression"===e.parent.type&&e===e.parent.right||"SequenceExpression"===e.parent.type&&e===e.parent.expressions[e.parent.expressions.length-1])&&n(e.parent):n(e.parent))}return{AwaitExpression(r){n(r)&&!t(r)&&function(t){e.report({node:e.getSourceCode().getFirstToken(t),loc:t.loc,messageId:"redundantUseOfAwait"})}(r)}}}},vl={meta:{type:"suggestion",docs:{description:"disallow `javascript:` urls",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-script-url"},schema:[],messages:{unexpectedScriptURL:"Script URL is a form of eval."}},create(e){function t(t){const n=fr.getStaticStringValue(t);"string"==typeof n&&0===n.toLowerCase().indexOf("javascript:")&&e.report({node:t,messageId:"unexpectedScriptURL"})}return{Literal(e){e.value&&"string"==typeof e.value&&t(e)},TemplateLiteral(e){e.parent&&"TaggedTemplateExpression"===e.parent.type||t(e)}}}};const Al=/\s+/gu;function kl(e,t,n,r){if(e&&t)if("Identifier"===e.type&&"Identifier"===t.type&&e.name===t.name)r(t);else if("ArrayPattern"===e.type&&"ArrayExpression"===t.type){const o=Math.min(e.elements.length,t.elements.length);for(let s=0;s=1){let o=0;for(let e=t.properties.length-1;e>=0;--e){const n=t.properties[e].type;if("SpreadElement"===n||"ExperimentalSpreadProperty"===n){o=e+1;break}}for(let s=0;s","<",">=","<="]).has(n.operator)&&function(e,n){const r=t.getTokens(e),o=t.getTokens(n);return r.length===o.length&&r.every(((e,t)=>e.type===o[t].type&&e.value===o[t].value))}(n.left,n.right)&&e.report({node:n,messageId:"comparingToSelf"})}}}};const Tl={allowInParentheses:!0};var Il={meta:{type:"suggestion",docs:{description:"disallow comma operators",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-sequences"},schema:[{properties:{allowInParentheses:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedCommaExpression:"Unexpected use of comma operator."}},create(e){const t=Object.assign({},Tl,e.options[0]),n=e.getSourceCode(),r={DoWhileStatement:"test",IfStatement:"test",SwitchStatement:"discriminant",WhileStatement:"test",WithStatement:"object",ArrowFunctionExpression:"body"};function o(e){return fr.isParenthesised(n,e)}return{SequenceExpression(s){if("ForStatement"===s.parent.type&&(s===s.parent.init||s===s.parent.update))return;if(t.allowInParentheses)if(function(e){return e.parent&&r[e.parent.type]&&e===e.parent[r[e.parent.type]]}(s)){if(function(e){const t=n.getTokenBefore(e,1),r=n.getTokenAfter(e,1);return o(e)&&t&&r&&fr.isOpeningParenToken(t)&&t.range[1]<=e.range[0]&&fr.isClosingParenToken(r)&&r.range[0]>=e.range[1]}(s))return}else if(o(s))return;const a=n.getTokenAfter(s.expressions[0],fr.isCommaToken);e.report({node:s,loc:a.loc,messageId:"unexpectedCommaExpression"})}}}};const{findVariable:Fl}=G.default;function Dl(e,t,n,r,o){const s=e.parent;return"CallExpression"===s.type&&s.arguments[o]===e&&fr.isSpecificMemberAccess(s.callee,n,r)&&function(e,t){const n=Fl(t,e);return null!==n&&"global"===n.scope.type&&0===n.defs.length}(fr.skipChainExpression(s.callee).object,t)}function Ol(e,t){const n=e.parent;return"set"===n.kind&&n.value===e||!("Property"!==n.type||n.value!==e||"set"!==fr.getStaticPropertyName(n)||"ObjectExpression"!==n.parent.type||!function(e,t){if(Dl(e,t,"Object","defineProperty",2)||Dl(e,t,"Reflect","defineProperty",2))return!0;const n=e.parent;if("Property"===n.type&&n.value===e){const e=n.parent;if("ObjectExpression"===e.type&&(Dl(e,t,"Object","create",1)||Dl(e,t,"Object","defineProperties",1)))return!0}return!1}(n.parent,t))}var Bl={meta:{type:"problem",docs:{description:"disallow returning values from setters",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-setter-return"},schema:[],messages:{returnsValue:"Setter cannot return a value."}},create(e){let t=null;function n(n){const r=function(e){const t=e.upper;return"function-expression-name"===t.type?t.upper:t}(e.getScope());t={upper:t,isSetter:Ol(n,r)}}function r(){t=t.upper}function o(t){e.report({node:t,messageId:"returnsValue"})}return{FunctionDeclaration:n,FunctionExpression:n,ArrowFunctionExpression(e){n(e),t.isSetter&&e.expression&&o(e.body)},"FunctionDeclaration:exit":r,"FunctionExpression:exit":r,"ArrowFunctionExpression:exit":r,ReturnStatement(e){t&&t.isSetter&&e.argument&&o(e)}}}},Nl={meta:{type:"suggestion",docs:{description:"disallow variable declarations from shadowing variables declared in the outer scope",category:"Variables",recommended:!1,url:"https://eslint.org/docs/rules/no-shadow"},schema:[{type:"object",properties:{builtinGlobals:{type:"boolean",default:!1},hoist:{enum:["all","functions","never"],default:"functions"},allow:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{noShadow:"'{{name}}' is already declared in the upper scope on line {{shadowedLine}} column {{shadowedColumn}}.",noShadowGlobal:"'{{name}}' is already a global variable."}},create(e){const t={builtinGlobals:e.options[0]&&e.options[0].builtinGlobals,hoist:e.options[0]&&e.options[0].hoist||"functions",allow:e.options[0]&&e.options[0].allow||[]};function n(e){return-1!==t.allow.indexOf(e.name)}function r(e){const t=e.scope.block;return"ClassDeclaration"===t.type&&t.id===e.identifiers[0]}function o(e,t){const n=t.scope,r=t.defs[0],o=r&&r.parent&&r.parent.range,s=e.scope,a=e.defs[0],i=a&&a.name.range;return o&&i&&o[0]0||t.builtinGlobals&&"writeable"in p)&&!o(u,p)&&("all"===t.hoist||!i(u,p))){const t=a(p),n=t.global?"noShadowGlobal":"noShadow",r={name:u.name};t.global||(r.shadowedLine=t.line,r.shadowedColumn=t.column),e.report({node:u.identifiers[0],messageId:n,data:r})}}}return{"Program:exit"(){const t=e.getScope().childScopes.slice();for(;t.length;){const e=t.pop();t.push(...e.childScopes),c(e)}}}}};function jl(e){return"undefined"===e.name&&e.references.every((e=>!e.isWrite()))&&e.defs.every((e=>"VariableDeclarator"===e.node.type&&null===e.node.init))}var Ll={meta:{type:"suggestion",docs:{description:"disallow identifiers from shadowing restricted names",category:"Variables",recommended:!0,url:"https://eslint.org/docs/rules/no-shadow-restricted-names"},schema:[],messages:{shadowingRestrictedName:"Shadowing of global property '{{name}}'."}},create(e){const t=new Set(["undefined","NaN","Infinity","arguments","eval"]);return{"VariableDeclaration, :function, CatchClause"(n){for(const r of e.getDeclaredVariables(n))r.defs.length>0&&t.has(r.name)&&!jl(r)&&e.report({node:r.defs[0].name,messageId:"shadowingRestrictedName",data:{name:r.name}})}}}},Rl={meta:{type:"layout",docs:{description:"disallow spacing between function identifiers and their applications (deprecated)",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-spaced-func"},deprecated:!0,replacedBy:["func-call-spacing"],fixable:"whitespace",schema:[],messages:{noSpacedFunction:"Unexpected space between function name and paren."}},create(e){const t=e.getSourceCode();function n(n){const r=t.getLastToken(n.callee);let o=r,s=t.getTokenAfter(r);for(;s&&s.range[1]e.removeRange([o.range[1],s.range[0]])})}return{CallExpression:n,NewExpression:n}}},Ml={meta:{type:"problem",docs:{description:"disallow sparse arrays",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-sparse-arrays"},schema:[],messages:{unexpectedSparseArray:"Unexpected comma in middle of array."}},create:e=>({ArrayExpression(t){t.elements.indexOf(null)>-1&&e.report({node:t,messageId:"unexpectedSparseArray"})}})},_l={meta:{deprecated:!0,replacedBy:[],type:"suggestion",docs:{description:"disallow synchronous methods",category:"Node.js and CommonJS",recommended:!1,url:"https://eslint.org/docs/rules/no-sync"},schema:[{type:"object",properties:{allowAtRootLevel:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{noSync:"Unexpected sync method: '{{propertyName}}'."}},create:e=>({[e.options[0]&&e.options[0].allowAtRootLevel?":function MemberExpression[property.name=/.*Sync$/]":"MemberExpression[property.name=/.*Sync$/]"](t){e.report({node:t,messageId:"noSync",data:{propertyName:t.property.name}})}})};const $l=/\t+/gu,ql=/\S/u;var Ul={meta:{type:"layout",docs:{description:"disallow all tabs",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-tabs"},schema:[{type:"object",properties:{allowIndentationTabs:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedTab:"Unexpected tab character."}},create(e){const t=e.getSourceCode(),n=e.options&&e.options[0]&&e.options[0].allowIndentationTabs;return{Program(r){t.getLines().forEach(((t,o)=>{let s;for(;null!==(s=$l.exec(t));)n&&!ql.test(t.slice(0,s.index))||e.report({node:r,loc:{start:{line:o+1,column:s.index},end:{line:o+1,column:s.index+s[0].length}},messageId:"unexpectedTab"})}))}}}},Vl={meta:{type:"problem",docs:{description:"disallow template literal placeholder syntax in regular strings",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-template-curly-in-string"},schema:[],messages:{unexpectedTemplateExpression:"Unexpected template string expression."}},create(e){const t=/\$\{[^}]+\}/u;return{Literal(n){"string"==typeof n.value&&t.test(n.value)&&e.report({node:n,messageId:"unexpectedTemplateExpression"})}}}},Wl={meta:{type:"suggestion",docs:{description:"disallow ternary operators",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-ternary"},schema:[],messages:{noTernaryOperator:"Ternary operator used."}},create:e=>({ConditionalExpression(t){e.report({node:t,messageId:"noTernaryOperator"})}})};var Gl={meta:{type:"problem",docs:{description:"disallow `this`/`super` before calling `super()` in constructors",category:"ECMAScript 6",recommended:!0,url:"https://eslint.org/docs/rules/no-this-before-super"},schema:[],messages:{noBeforeSuper:"'{{kind}}' is not allowed before 'super()'."}},create(e){let t=null,n=Object.create(null);function r(e){return!e.reachable||n[e.id].superCalled}function o(){return Boolean(t&&t.isConstructor&&t.hasExtends)}function s(){return o()&&!t.codePath.currentSegments.every(r)}function a(e){const r=t.codePath.currentSegments;for(let t=0;t{const o=n[t.id];for(let t=0;t0&&e.prevSegments.every(r),invalidNodes:[]})},onCodePathSegmentLoop(e,s){o()&&t.codePath.traverseSegments({first:s,last:e},((e,t)=>{const o=n[e.id];o.superCalled?(o.invalidNodes=[],t.skip()):e.prevSegments.length>0&&e.prevSegments.every(r)&&(o.superCalled=!0,o.invalidNodes=[])}))},ThisExpression(e){s()&&a(e)},Super(e){!fr.isCallee(e)&&s()&&a(e)},"CallExpression:exit"(e){"Super"===e.callee.type&&s()&&function(){const e=t.codePath.currentSegments;for(let t=0;t({ThrowStatement(t){fr.couldBeError(t.argument)?"Identifier"===t.argument.type&&"undefined"===t.argument.name&&e.report({node:t,messageId:"undef"}):e.report({node:t,messageId:"object"})}})},Jl={meta:{type:"layout",docs:{description:"disallow trailing whitespace at the end of lines",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-trailing-spaces"},fixable:"whitespace",schema:[{type:"object",properties:{skipBlankLines:{type:"boolean",default:!1},ignoreComments:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{trailingSpace:"Trailing spaces not allowed."}},create(e){const t=e.getSourceCode(),n=e.options[0]||{},r=n.skipBlankLines||!1,o=n.ignoreComments||!1;function s(t,n,r){e.report({node:t,loc:n,messageId:"trailingSpace",fix:e=>e.removeRange(r)})}return{Program:function(e){const n=new RegExp("[ \t  -​ ]+$","u"),a=new RegExp("^[ \t  -​ ]*$","u"),i=t.lines,c=t.getText().match(fr.createGlobalLinebreakMatcher()),l=function(e){const t=new Set;return e.forEach((e=>{const n="Block"===e.type?e.loc.end.line-1:e.loc.end.line;for(let r=e.loc.start.line;r<=n;r++)t.add(r)})),t}(t.getAllComments());let u=0,p=[];for(let d=0,f=i.length;dx.parent.range[0]&&y{const r=t.identifier;!n&&function(e){const t=e.parent;return"UnaryExpression"===t.type&&"typeof"===t.operator}(r)||e.report({node:r,messageId:"undef",data:r})}))}}}},Yl={meta:{type:"suggestion",docs:{description:"disallow initializing variables to `undefined`",category:"Variables",recommended:!1,url:"https://eslint.org/docs/rules/no-undef-init"},schema:[],fixable:"code",messages:{unnecessaryUndefinedInit:"It's not necessary to initialize '{{name}}' to undefined."}},create(e){const t=e.getSourceCode();return{VariableDeclarator(n){const r=t.getText(n.id),o=n.init&&n.init.name,s=e.getScope(),a=fr.getVariableByName(s,"undefined"),i=a&&a.defs.length>0,c=t.getLastToken(n);"undefined"!==o||"const"===n.parent.kind||i||e.report({node:n,messageId:"unnecessaryUndefinedInit",data:{name:r},fix:e=>"var"===n.parent.kind||"ArrayPattern"===n.id.type||"ObjectPattern"===n.id.type||t.commentsExistBetween(n.id,c)?null:e.removeRange([n.id.range[1],n.range[1]])})}}}},Hl={meta:{type:"suggestion",docs:{description:"disallow the use of `undefined` as an identifier",category:"Variables",recommended:!1,url:"https://eslint.org/docs/rules/no-undefined"},schema:[],messages:{unexpectedUndefined:"Unexpected use of undefined."}},create(e){function t(t){e.report({node:t,messageId:"unexpectedUndefined"})}function n(e){const n=e.set.get("undefined");if(!n)return;const r=n.references,o=n.defs;r.filter((e=>!e.init)).forEach((e=>t(e.identifier))),o.forEach((e=>t(e.name)))}return{"Program:exit"(){const t=[e.getScope()];for(;t.length;){const e=t.pop();t.push(...e.childScopes),n(e)}}}}},Xl={meta:{type:"suggestion",docs:{description:"disallow dangling underscores in identifiers",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-underscore-dangle"},schema:[{type:"object",properties:{allow:{type:"array",items:{type:"string"}},allowAfterThis:{type:"boolean",default:!1},allowAfterSuper:{type:"boolean",default:!1},allowAfterThisConstructor:{type:"boolean",default:!1},enforceInMethodNames:{type:"boolean",default:!1},allowFunctionParams:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedUnderscore:"Unexpected dangling '_' in '{{identifier}}'."}},create(e){const t=e.options[0]||{},n=t.allow?t.allow:[],r=void 0!==t.allowAfterThis&&t.allowAfterThis,o=void 0!==t.allowAfterSuper&&t.allowAfterSuper,s=void 0!==t.allowAfterThisConstructor&&t.allowAfterThisConstructor,a=void 0!==t.enforceInMethodNames&&t.enforceInMethodNames,i=void 0===t.allowFunctionParams||t.allowFunctionParams;function c(e){return n.some((t=>t===e))}function l(e){const t=e.length;return"_"!==e&&("_"===e[0]||"_"===e[t-1])}function u(t){if("FunctionDeclaration"===t.type&&t.id){const n=t.id.name;void 0!==n&&l(n)&&!c(n)&&e.report({node:t,messageId:"unexpectedUnderscore",data:{identifier:n}})}!function(t){i||t.params.forEach((t=>{const{type:n}=t;let r;if(r="RestElement"===n?t.argument:"AssignmentPattern"===n?t.left:t,"Identifier"===r.type){const n=r.name;l(n)&&!c(n)&&e.report({node:t,messageId:"unexpectedUnderscore",data:{identifier:n}})}}))}(t)}function p(t){const n=t.key.name,r="MethodDefinition"===t.type||"Property"===t.type&&t.method;void 0!==n&&a&&r&&l(n)&&!c(n)&&e.report({node:t,messageId:"unexpectedUnderscore",data:{identifier:n}})}return{FunctionDeclaration:u,VariableDeclarator:function(t){const n=t.id.name;void 0===n||!l(n)||function(e){return"_"===e}(n)||c(n)||e.report({node:t,messageId:"unexpectedUnderscore",data:{identifier:n}})},MemberExpression:function(t){const n=t.property.name,a="ThisExpression"===t.object.type,i="Super"===t.object.type,u=function(e){return"MemberExpression"===e.object.type&&"constructor"===e.object.property.name&&"ThisExpression"===e.object.object.type}(t);void 0===n||!l(n)||a&&r||i&&o||u&&s||function(e){return"__proto__"===e}(n)||c(n)||e.report({node:t,messageId:"unexpectedUnderscore",data:{identifier:n}})},MethodDefinition:p,Property:p,FunctionExpression:u,ArrowFunctionExpression:u}}},Ql={meta:{type:"problem",docs:{description:"disallow confusing multiline expressions",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-unexpected-multiline"},schema:[],messages:{function:"Unexpected newline between function and ( of function call.",property:"Unexpected newline between object and [ of property access.",taggedTemplate:"Unexpected newline between template tag and template literal.",division:"Unexpected newline between numerator and division operator."}},create(e){const t=/^[gimsuy]+$/u,n=e.getSourceCode();function r(t,r){const o=n.getTokenAfter(t,fr.isNotClosingParenToken),s=n.getTokenBefore(o);o.loc.start.line!==s.loc.end.line&&e.report({node:t,loc:o.loc,messageId:r})}return{MemberExpression(e){e.computed&&!e.optional&&r(e.object,"property")},TaggedTemplateExpression(t){const{quasi:r}=t;n.getTokenBefore(r).loc.end.line!==r.loc.start.line&&e.report({node:t,loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+1}},messageId:"taggedTemplate"})},CallExpression(e){0===e.arguments.length||e.optional||r(e.callee,"function")},"BinaryExpression[operator='/'] > BinaryExpression[operator='/'].left"(e){const o=n.getTokenAfter(e,(e=>"/"===e.value)),s=n.getTokenAfter(o);"Identifier"===s.type&&t.test(s.value)&&o.range[1]===s.range[0]&&r(e.left,"division")}}}};const Zl=/(?:(?:Call|Class|Function|Member|New|Yield)Expression|Statement|Declaration)$/u,eu=/^(?:DoWhile|For|While)Statement$/u,tu=/^(?:BinaryExpression|ConditionalExpression)$/u,nu=/^(?:ArrowFunction|Class|Function)Expression$/u,ru=/^(?:Call|Member|New|TaggedTemplate|Yield)Expression$/u;function ou(e){if(e.init){const t=e.resolved&&e.resolved.defs[0];if(!t||"Variable"!==t.type||"var"!==t.parent.kind)return!1}return e.isWrite()}function su(e){return!e.modified}function au(e){return!(e.modified||e.group)}function iu(e,t){const n=e.range,r=t.identifier.range;return n[0]<=r[0]&&r[1]<=n[1]}const cu={WhileStatement:iu,DoWhileStatement:iu,ForStatement:(e,t)=>iu(e,t)&&!(e.init&&iu(e.init,t))};function lu(e){let t=e.identifier;for(;t;){if("FunctionDeclaration"===t.type)return t.id?t:null;t=t.parent}return null}var uu={meta:{type:"problem",docs:{description:"disallow unmodified loop conditions",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-unmodified-loop-condition"},schema:[],messages:{loopConditionNotModified:"'{{name}}' is not modified in this loop."}},create(e){const t=e.getSourceCode();let n=null;function r(t){const n=t.reference.identifier;e.report({node:n,messageId:"loopConditionNotModified",data:n})}function o(e){e.every(su)&&e.forEach(r)}function s(e){let n=!1;return Vt.traverse(e,{visitorKeys:t.visitorKeys,enter(e){ru.test(e.type)?(n=!0,this.break()):nu.test(e.type)&&this.skip()}}),n}function a(e){if(e.init)return null;let t=null,n=e.identifier,r=n.parent;for(;r;){if(Zl.test(r.type)){if(eu.test(r.type)&&r.test===n)return{reference:e,group:t,isInLoop:cu[r.type].bind(null,r),modified:!1};break}if(tu.test(r.type)){if(s(r))break;t=r}n=r,r=r.parent}return null}function i(e){const t=e.references.map(a).filter(Boolean);if(0===t.length)return;!function(e){for(let t=0;t0&&function(e,t){for(let n=0;n",">=","<","<=","in","instanceof"]),du={"==":"!=","!=":"==","===":"!==","!==":"==="},fu=fr.getPrecedence({type:"LogicalExpression",operator:"||"});var mu={meta:{type:"suggestion",docs:{description:"disallow ternary operators when simpler alternatives exist",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-unneeded-ternary"},schema:[{type:"object",properties:{defaultAssignment:{type:"boolean",default:!0}},additionalProperties:!1}],fixable:"code",messages:{unnecessaryConditionalExpression:"Unnecessary use of boolean literals in conditional expression.",unnecessaryConditionalAssignment:"Unnecessary use of conditional expression for default assignment."}},create(e){const t=!1!==(e.options[0]||{}).defaultAssignment,n=e.getSourceCode();function r(e){return"Literal"===e.type&&"boolean"==typeof e.value}function o(e){if("BinaryExpression"===e.type&&Object.prototype.hasOwnProperty.call(du,e.operator)){const t=n.getFirstTokenBetween(e.left,e.right,(t=>t.value===e.operator)),r=n.getText();return r.slice(e.range[0],t.range[0])+du[e.operator]+r.slice(t.range[1],e.range[1])}return fr.getPrecedence(e)s.consequent.value===s.alternate.value?"Identifier"===s.test.type?e.replaceText(s,s.consequent.value.toString()):null:s.alternate.value?e.replaceText(s,o(s.test)):e.replaceText(s,function(e){return"BinaryExpression"===e.type&&pu.has(e.operator)||"UnaryExpression"===e.type&&"!"===e.operator}(s.test)?fr.getParenthesisedText(n,s.test):`!${o(s.test)}`)}):!t&&function(e){return"Identifier"===e.test.type&&"Identifier"===e.consequent.type&&e.test.name===e.consequent.name}(s)&&e.report({node:s,messageId:"unnecessaryConditionalAssignment",fix:e=>{const t=(fr.getPrecedence(s.alternate)=this.startNode.range[0]&&e.range[1]<=this.endNode.range[1]}isConsecutive(e){return this.contains(this.sourceCode.getTokenBefore(e))}merge(e){this.endNode=e}reset(e){this.startNode=this.endNode=e}}var xu={meta:{type:"problem",docs:{description:"disallow unreachable code after `return`, `throw`, `continue`, and `break` statements",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-unreachable"},schema:[],messages:{unreachableCode:"Unreachable code."}},create(e){let t=null;const n=new yu(e.getSourceCode());function r(r){let o=null;if(r&&t.currentSegments.every(hu)){if(n.isEmpty)return void n.reset(r);if(n.contains(r))return;if(n.isConsecutive(r))return void n.merge(r);o=r}n.isEmpty||e.report({messageId:"unreachableCode",loc:n.location,node:n.startNode}),n.reset(o)}return{onCodePathStart(e){t=e},onCodePathEnd(){t=t.upper},BlockStatement:r,BreakStatement:r,ClassDeclaration:r,ContinueStatement:r,DebuggerStatement:r,DoWhileStatement:r,ExpressionStatement:r,ForInStatement:r,ForOfStatement:r,ForStatement:r,IfStatement:r,ImportDeclaration:r,LabeledStatement:r,ReturnStatement:r,SwitchStatement:r,ThrowStatement:r,TryStatement:r,VariableDeclaration(e){("var"!==e.kind||e.declarations.some(gu))&&r(e)},WhileStatement:r,WithStatement:r,ExportNamedDeclaration:r,ExportDefaultDeclaration:r,ExportAllDeclaration:r,"Program:exit"(){r()}}}};const bu=["WhileStatement","DoWhileStatement","ForStatement","ForInStatement","ForOfStatement"];var Eu={meta:{type:"problem",docs:{description:"disallow loops with a body that allows only one iteration",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-unreachable-loop"},schema:[{type:"object",properties:{ignore:{type:"array",items:{enum:bu},uniqueItems:!0}},additionalProperties:!1}],messages:{invalid:"Invalid loop. Its body allows only one iteration."}},create(e){const t=e.options[0]&&e.options[0].ignore||[],n=(s=t,bu.filter((e=>!s.includes(e)))).join(","),r=new Map,o=new Set;var s;let a=null;return{onCodePathStart(e){a=e},onCodePathEnd(){a=a.upper},[n](e){a.currentSegments.some((e=>e.reachable))&&o.add(e)},onCodePathSegmentStart(e,t){if(function(e){const t=e.parent;if(t)switch(t.type){case"WhileStatement":return e===t.test;case"DoWhileStatement":return e===t.body;case"ForStatement":return e===(t.update||t.test||t.body);case"ForInStatement":case"ForOfStatement":return e===t.left}return!1}(t)){const n=t.parent;r.set(e,n)}},onCodePathSegmentLoop(e,t,n){const s=r.get(t);n!==s&&"ContinueStatement"!==n.type||o.delete(s)},"Program:exit"(){o.forEach((t=>e.report({node:t,messageId:"invalid"})))}}}};const Su=/^(?:Program|(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression)$/u,Cu=/^(?:Program|(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|DoWhileStatement|WhileStatement|ForOfStatement|ForInStatement|ForStatement|SwitchStatement)$/u,vu=/^(?:Program|(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|DoWhileStatement|WhileStatement|ForOfStatement|ForInStatement|ForStatement)$/u;var Au={meta:{type:"problem",docs:{description:"disallow control flow statements in `finally` blocks",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-unsafe-finally"},schema:[],messages:{unsafeUsage:"Unsafe usage of {{nodeType}}."}},create(e){function t(e){return"TryStatement"===e.parent.type&&e.parent.finalizer===e}function n(n){(function(e,n){let r,o=!1;r="BreakStatement"!==e.type||e.label?"ContinueStatement"===e.type?vu:Su:Cu;for(let s=e;s&&!r.test(s.type);s=s.parent)if(s.parent.label&&n&&s.parent.label.name===n.name&&(o=!0),t(s))return!n||!o;return!1})(n,n.label)&&e.report({messageId:"unsafeUsage",data:{nodeType:n.type},node:n,line:n.loc.line,column:n.loc.column})}return{ReturnStatement:n,ThrowStatement:n,BreakStatement:n,ContinueStatement:n}}};var ku={meta:{type:"problem",docs:{description:"disallow negating the left operand of relational operators",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/no-unsafe-negation",suggestion:!0},schema:[{type:"object",properties:{enforceForOrderingRelations:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:null,messages:{unexpected:"Unexpected negating the left operand of '{{operator}}' operator.",suggestNegatedExpression:"Negate '{{operator}}' expression instead of its left operand. This changes the current behavior.",suggestParenthesisedNegation:"Wrap negation in '()' to make the intention explicit. This preserves the current behavior."}},create(e){const t=e.getSourceCode(),n=!0===(e.options[0]||{}).enforceForOrderingRelations;return{BinaryExpression(r){const o=r.operator,s=n&&("<"===(a=o)||">"===a||">="===a||"<="===a);var a;(function(e){return"in"===e||"instanceof"===e}(o)||s)&&function(e){return"UnaryExpression"===e.type&&"!"===e.operator}(r.left)&&!fr.isParenthesised(t,r.left)&&e.report({node:r,loc:r.left.loc,messageId:"unexpected",data:{operator:o},suggest:[{messageId:"suggestNegatedExpression",data:{operator:o},fix(e){const n=[t.getFirstToken(r.left).range[1],r.range[1]],o=t.text.slice(n[0],n[1]);return e.replaceTextRange(n,`(${o})`)}},{messageId:"suggestParenthesisedNegation",fix:e=>e.replaceText(r.left,`(${t.getText(r.left)})`)}]})}}}};const wu=new Set(["+","-","/","*","%","**"]),Pu=new Set(["+=","-=","/=","*=","%=","**="]),Tu=new Set(["in","instanceof"]);function Iu(e){return"ObjectPattern"===e.type||"ArrayPattern"===e.type}var Fu={meta:{type:"problem",docs:{description:"disallow use of optional chaining in contexts where the `undefined` value is not allowed",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/no-unsafe-optional-chaining"},schema:[{type:"object",properties:{disallowArithmeticOperators:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:null,messages:{unsafeOptionalChain:"Unsafe usage of optional chaining. If it short-circuits with 'undefined' the evaluation will throw TypeError.",unsafeArithmetic:"Unsafe arithmetic operation on optional chaining. It can result in NaN."}},create(e){const t=(e.options[0]||{}).disallowArithmeticOperators||!1;function n(t){e.report({messageId:"unsafeOptionalChain",node:t})}function r(t){e.report({messageId:"unsafeArithmetic",node:t})}function o(e,t){if(e)switch(e.type){case"LogicalExpression":"||"===e.operator||"??"===e.operator?o(e.right,t):"&&"===e.operator&&(o(e.left,t),o(e.right,t));break;case"SequenceExpression":o(e.expressions[e.expressions.length-1],t);break;case"ConditionalExpression":o(e.consequent,t),o(e.alternate,t);break;case"AwaitExpression":o(e.argument,t);break;case"ChainExpression":t(e)}}function s(e){o(e,n)}function a(e){o(e,r)}return{"AssignmentExpression, AssignmentPattern"(e){Iu(e.left)&&s(e.right)},"ClassDeclaration, ClassExpression"(e){s(e.superClass)},CallExpression(e){e.optional||s(e.callee)},NewExpression(e){s(e.callee)},VariableDeclarator(e){Iu(e.id)&&s(e.init)},MemberExpression(e){e.optional||s(e.object)},TaggedTemplateExpression(e){s(e.tag)},ForOfStatement(e){s(e.right)},SpreadElement(e){e.parent&&"ObjectExpression"!==e.parent.type&&s(e.argument)},BinaryExpression(e){Tu.has(e.operator)&&s(e.right),t&&wu.has(e.operator)&&(a(e.right),a(e.left))},WithStatement(e){s(e.object)},UnaryExpression(e){t&&wu.has(e.operator)&&a(e.argument)},AssignmentExpression(e){t&&Pu.has(e.operator)&&a(e.right)}}}};function Du(){return!0}function Ou(){return!1}var Bu={meta:{type:"suggestion",docs:{description:"disallow unused expressions",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-unused-expressions"},schema:[{type:"object",properties:{allowShortCircuit:{type:"boolean",default:!1},allowTernary:{type:"boolean",default:!1},allowTaggedTemplates:{type:"boolean",default:!1},enforceForJSX:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unusedExpression:"Expected an assignment or function call and instead saw an expression."}},create(e){const t=e.options[0]||{},n=t.allowShortCircuit||!1,r=t.allowTernary||!1,o=t.allowTaggedTemplates||!1,s=t.enforceForJSX||!1;function a(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value}function i(e,t){const n=t[t.length-1],r=t[t.length-2];return("Program"===n.type||"BlockStatement"===n.type&&/Function/u.test(r.type))&&function(e){return function(e,t){for(let n=0;n=0}const c=Object.assign(Object.create(null),{isDisallowed:e=>(c[e.type]||Ou)(e),ArrayExpression:Du,ArrowFunctionExpression:Du,BinaryExpression:Du,ChainExpression:e=>c.isDisallowed(e.expression),ClassExpression:Du,ConditionalExpression:e=>!r||(c.isDisallowed(e.consequent)||c.isDisallowed(e.alternate)),FunctionExpression:Du,Identifier:Du,JSXElement:()=>s,JSXFragment:()=>s,Literal:Du,LogicalExpression:e=>!n||c.isDisallowed(e.right),MemberExpression:Du,MetaProperty:Du,ObjectExpression:Du,SequenceExpression:Du,TaggedTemplateExpression:()=>!o,TemplateLiteral:Du,ThisExpression:Du,UnaryExpression:e=>"void"!==e.operator&&"delete"!==e.operator});return{ExpressionStatement(t){c.isDisallowed(t.expression)&&!i(t,e.getAncestors())&&e.report({node:t,messageId:"unusedExpression"})}}}},Nu={meta:{type:"suggestion",docs:{description:"disallow unused labels",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-unused-labels"},schema:[],fixable:"code",messages:{unused:"'{{name}}:' is defined but never used."}},create(e){const t=e.getSourceCode();let n=null;function r(e){if(!e.label)return;const t=e.label.name;let r=n;for(;r;){if(r.label===t){r.used=!0;break}r=r.upper}}return{LabeledStatement:function(e){n={label:e.label.name,used:!1,upper:n}},"LabeledStatement:exit":function(r){n.used||e.report({node:r.label,messageId:"unused",data:r.label,fix:e=>t.getTokenAfter(r.label,{includeComments:!0})===t.getTokenBefore(r.body,{includeComments:!0})?e.removeRange([r.range[0],r.body.range[0]]):null}),n=n.upper},BreakStatement:r,ContinueStatement:r}}},ju={meta:{type:"problem",docs:{description:"disallow unused variables",category:"Variables",recommended:!0,url:"https://eslint.org/docs/rules/no-unused-vars"},schema:[{oneOf:[{enum:["all","local"]},{type:"object",properties:{vars:{enum:["all","local"]},varsIgnorePattern:{type:"string"},args:{enum:["all","after-used","none"]},ignoreRestSiblings:{type:"boolean"},argsIgnorePattern:{type:"string"},caughtErrors:{enum:["all","none"]},caughtErrorsIgnorePattern:{type:"string"}},additionalProperties:!1}]}],messages:{unusedVar:"'{{varName}}' is {{action}} but never used{{additional}}."}},create(e){const t=e.getSourceCode(),n=/^(?:RestElement|(?:Experimental)?RestProperty)$/u,r={vars:"all",args:"after-used",ignoreRestSiblings:!1,caughtErrors:"none"},o=e.options[0];function s(e){const t=e.defs&&e.defs[0]&&e.defs[0].type;let n,o;"CatchClause"===t&&r.caughtErrorsIgnorePattern?(n="args",o=r.caughtErrorsIgnorePattern.toString()):"Parameter"===t&&r.argsIgnorePattern?(n="args",o=r.argsIgnorePattern.toString()):"Parameter"!==t&&r.varsIgnorePattern&&(n="vars",o=r.varsIgnorePattern.toString());const s=n?`. Allowed unused ${n} must match ${o}`:"";return{varName:e.name,action:"defined",additional:s}}function a(e){const t=r.varsIgnorePattern?`. Allowed unused vars must match ${r.varsIgnorePattern.toString()}`:"";return{varName:e.name,action:"assigned a value",additional:t}}o&&("string"==typeof o?r.vars=o:(r.vars=o.vars||r.vars,r.args=o.args||r.args,r.ignoreRestSiblings=o.ignoreRestSiblings||r.ignoreRestSiblings,r.caughtErrors=o.caughtErrors||r.caughtErrors,o.varsIgnorePattern&&(r.varsIgnorePattern=new RegExp(o.varsIgnorePattern,"u")),o.argsIgnorePattern&&(r.argsIgnorePattern=new RegExp(o.argsIgnorePattern,"u")),o.caughtErrorsIgnorePattern&&(r.caughtErrorsIgnorePattern=new RegExp(o.caughtErrorsIgnorePattern,"u"))));const i=/(?:Statement|Declaration)$/u;function c(e){const t=e.defs[0];if(t){let e=t.node;if("VariableDeclarator"===e.type)e=e.parent;else if("Parameter"===t.type)return!1;return 0===e.parent.type.indexOf("Export")}return!1}function l(e){return"Property"===e.type&&"ObjectPattern"===e.parent.type&&n.test(e.parent.properties[e.parent.properties.length-1].type)}function u(e){if(r.ignoreRestSiblings){const t=e.defs.some((e=>l(e.name.parent))),n=e.references.some((e=>l(e.identifier.parent)));return t||n}return!1}function p(e,t){return e.range[0]>=t.range[0]&&e.range[1]<=t.range[1]}function d(e,t){const n=fr.getUpperFunction(e);return n&&p(n,t)&&function(e,t){let n=e,r=e.parent;for(;r&&p(r,t);){switch(r.type){case"SequenceExpression":if(r.expressions[r.expressions.length-1]!==n)return!1;break;case"CallExpression":case"NewExpression":return r.callee!==n;case"AssignmentExpression":case"TaggedTemplateExpression":case"YieldExpression":return!0;default:if(i.test(r.type))return!0}n=r,r=r.parent}return!1}(n,t)}function f(e){const t=function(e){const t=[];return e.defs.forEach((e=>{const{type:n,node:r}=e;"FunctionName"===n&&t.push(r),"Variable"!==n||!r.init||"FunctionExpression"!==r.init.type&&"ArrowFunctionExpression"!==r.init.type||t.push(r.init)})),t}(e),n=t.length>0;let r=null;return e.references.some((e=>{if(function(e){let t=e.identifier.parent;return"VariableDeclarator"===t.type&&(t=t.parent.parent),"ForInStatement"===t.type&&(t="BlockStatement"===t.body.type?t.body.body[0]:t.body,!!t&&"ReturnStatement"===t.type)}(e))return!0;const o=function(e,t){const n=e.identifier,r=n.parent,o=r.parent;return e.isRead()&&("AssignmentExpression"===r.type&&"ExpressionStatement"===o.type&&r.left===n||"UpdateExpression"===r.type&&"ExpressionStatement"===o.type||t&&p(n,t)&&!d(n,t))}(e,r);return r=function(e,t){const n=e.identifier,r=n.parent,o=r.parent,s=e.from.variableScope!==e.resolved.scope.variableScope||fr.isInLoop(n);return t&&p(n,t)?t:"AssignmentExpression"!==r.type||"ExpressionStatement"!==o.type||n!==r.left||s?null:r.right}(e,r),function(e){return e.isRead()}(e)&&!o&&!(n&&function(e,t){let n=e.from;for(;n;){if(t.indexOf(n.block)>=0)return!0;n=n.upper}return!1}(e,t))}))}function m(t){const n=t.defs[0],r=e.getDeclaredVariables(n.node);return!r.slice(r.indexOf(t)+1).some((e=>e.references.length>0||e.eslintUsed))}function g(e,t){const n=e.variables,o=e.childScopes;let s,a;if("global"!==e.type||"all"===r.vars)for(s=0,a=n.length;s0)e.report({node:i.references.length?i.references[i.references.length-1].identifier:i.identifiers[0],messageId:"unusedVar",data:i.references.some((e=>e.isWrite()))?a(i):s(i)});else if(i.eslintExplicitGlobalComments){const r=i.eslintExplicitGlobalComments[0];e.report({node:n,loc:fr.getNameLocationInGlobalDirectiveComment(t,r,i.name),messageId:"unusedVar",data:s(i)})}}}}}};const Lu=/^(?:(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|CatchClause|ImportDeclaration|ExportNamedDeclaration)$/u,Ru=/^For(?:In|Of)Statement$/u;function Mu(e,t){return e&&e.range[0]<=t&&t<=e.range[1]}var _u={meta:{type:"problem",docs:{description:"disallow the use of variables before they are defined",category:"Variables",recommended:!1,url:"https://eslint.org/docs/rules/no-use-before-define"},schema:[{oneOf:[{enum:["nofunc"]},{type:"object",properties:{functions:{type:"boolean"},classes:{type:"boolean"},variables:{type:"boolean"}},additionalProperties:!1}]}],messages:{usedBeforeDefined:"'{{name}}' was used before it was defined."}},create(e){const t=function(e){let t=!0,n=!0,r=!0;return"string"==typeof e?t="nofunc"!==e:"object"==typeof e&&null!==e&&(t=!1!==e.functions,n=!1!==e.classes,r=!1!==e.variables),{functions:t,classes:n,variables:r}}(e.options[0]);function n(r){r.references.forEach((n=>{const r=n.resolved;n.init||!r||0===r.identifiers.length||r.identifiers[0].range[1]=1||"apply"===t.property.name&&2===e.arguments.length&&"ArrayExpression"===e.arguments[1].type)}(n))return;const r=fr.skipChainExpression(n.callee),o=fr.skipChainExpression(r.object);(function(e,t,n){return e?fr.equalTokens(e,t,n):fr.isNullOrUndefined(t)})("MemberExpression"===o.type?o.object:null,n.arguments[0],t)&&e.report({node:n,messageId:"unnecessaryCall",data:{name:r.property.name}})}}}},Qu={meta:{type:"suggestion",docs:{description:"disallow unnecessary `catch` clauses",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-useless-catch"},schema:[],messages:{unnecessaryCatchClause:"Unnecessary catch clause.",unnecessaryCatch:"Unnecessary try/catch wrapper."}},create:e=>({CatchClause(t){t.param&&"Identifier"===t.param.type&&t.body.body.length&&"ThrowStatement"===t.body.body[0].type&&"Identifier"===t.body.body[0].argument.type&&t.body.body[0].argument.name===t.param.name&&(t.parent.finalizer?e.report({node:t,messageId:"unnecessaryCatchClause"}):e.report({node:t.parent,messageId:"unnecessaryCatch"}))}})},Zu={meta:{type:"suggestion",docs:{description:"disallow unnecessary computed property keys in objects and classes",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/no-useless-computed-key"},schema:[{type:"object",properties:{enforceForClassMembers:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"code",messages:{unnecessarilyComputedProperty:"Unnecessarily computed property [{{property}}] found."}},create(e){const t=e.getSourceCode();function n(n){if(!n.computed)return;const r=n.key,o=typeof r.value;let s;s="MethodDefinition"===n.type?n.static?"prototype":"constructor":"__proto__","Literal"!==r.type||"string"!==o&&"number"!==o||r.value===s||e.report({node:n,messageId:"unnecessarilyComputedProperty",data:{property:t.getText(r)},fix(e){const n=t.getTokenBefore(r,fr.isOpeningBracketToken),o=t.getTokenAfter(r,fr.isClosingBracketToken);if(t.commentsExistBetween(n,o))return null;const s=t.getTokenBefore(n),a=(s.range[1]===n.range[0]&&!fr.canTokensBeAdjacent(s,t.getFirstToken(r))?" ":"")+r.raw;return e.replaceTextRange([n.range[0],o.range[1]],a)}})}return{Property:n,MethodDefinition:e.options[0]&&e.options[0].enforceForClassMembers?n:F.default.noop}}};function ep(e){return"BinaryExpression"===e.type&&"+"===e.operator}function tp(e){return"+"===e.value&&"Punctuator"===e.type}var np={meta:{type:"suggestion",docs:{description:"disallow unnecessary concatenation of literals or template literals",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-useless-concat"},schema:[],messages:{unexpectedConcat:"Unexpected string concatenation of literals."}},create(e){const t=e.getSourceCode();return{BinaryExpression(n){if("+"!==n.operator)return;const r=function(e){let t=e.left;for(;ep(t);)t=t.right;return t}(n),o=function(e){let t=e.right;for(;ep(t);)t=t.left;return t}(n);if(fr.isStringLiteral(r)&&fr.isStringLiteral(o)&&fr.isTokenOnSameLine(r,o)){const s=t.getFirstTokenBetween(r,o,tp);e.report({node:n,loc:s.loc,messageId:"unexpectedConcat"})}}}}};function rp(e){return"Identifier"===e.type||"RestElement"===e.type}function op(e,t){return"Identifier"===e.type&&"Identifier"===t.type&&e.name===t.name}function sp(e,t){return op(e,t)||function(e,t){return"RestElement"===e.type&&"SpreadElement"===t.type&&op(e.argument,t.argument)}(e,t)}function ap(e,t){return function(e){return 1===e.length&&"ExpressionStatement"===e[0].type&&"CallExpression"===e[0].expression.type&&"Super"===e[0].expression.callee.type}(e)&&t.every(rp)&&(1===(n=e[0].expression.arguments).length&&"SpreadElement"===n[0].type&&"Identifier"===n[0].argument.type&&"arguments"===n[0].argument.name||function(e,t){if(e.length!==t.length)return!1;for(let n=0;n({MethodDefinition:function(t){if("constructor"!==t.kind)return;if(!t.value.body)return;const n=t.value.body.body,r=t.value.params;(t.parent.parent.superClass?ap(n,r):0===n.length)&&e.report({node:t,messageId:"noUselessConstructor"})}})};function cp(e,t){return new Set(function*(){yield*e,yield*t}())}const lp=cp(new Set("\\nrvtbfux"),fr.LINEBREAKS),up=new Set("\\bcdDfnpPrsStvwWxu0123456789]"),pp=cp(up,new Set("^/.$*+?[{}|()Bk"));var dp={meta:{type:"suggestion",docs:{description:"disallow unnecessary escape characters",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-useless-escape",suggestion:!0},messages:{unnecessaryEscape:"Unnecessary escape character: \\{{character}}.",removeEscape:"Remove the `\\`. This maintains the current functionality.",escapeBackslash:"Replace the `\\` with `\\\\` to include the actual backslash character."},schema:[]},create(e){const t=e.getSourceCode();function n(n,r,o){const s=n.range[0]+r,a=[s,s+1],i=t.getLocFromIndex(s);e.report({node:n,loc:{start:i,end:{line:i.line,column:i.column+1}},messageId:"unnecessaryEscape",data:{character:o},suggest:[{messageId:"removeEscape",fix:e=>e.removeRange(a)},{messageId:"escapeBackslash",fix:e=>e.insertTextBeforeRange(a,"\\")}]})}function r(e,t){const r="TemplateElement"===e.type,o=t[0][1];let s,a=!lp.has(o);r?(s="`"===o,"$"===o?a="{"!==t.input[t.index+2]:"{"===o&&(a="$"!==t.input[t.index-1])):s=o===e.raw[0],a&&!s&&n(e,t.index,t[0].slice(1))}function o(e){const o="TemplateElement"===e.type;if(!(o&&e.parent&&e.parent.parent&&"TaggedTemplateExpression"===e.parent.parent.type&&e.parent===e.parent.parent.quasi))if("string"==typeof e.value||o){if("JSXAttribute"===e.parent.type||"JSXElement"===e.parent.type||"JSXFragment"===e.parent.type)return;const n=o?t.getText(e):e.raw,s=/\\[^\d]/gu;let a;for(;a=s.exec(n);)r(e,a)}else e.regex&&function(e){const t=[];return e.split("").reduce(((e,n,r)=>{if(!e.escapeNextChar){if("\\"===n)return Object.assign(e,{escapeNextChar:!0});if("["===n&&!e.inCharClass)return Object.assign(e,{inCharClass:!0,startingCharClass:!0});if("]"===n&&e.inCharClass)return t.length&&t[t.length-1].inCharClass&&(t[t.length-1].endsCharClass=!0),Object.assign(e,{inCharClass:!1,startingCharClass:!1})}return t.push({text:n,index:r,escaped:e.escapeNextChar,inCharClass:e.inCharClass,startsCharClass:e.startingCharClass,endsCharClass:!1}),Object.assign(e,{escapeNextChar:!1,startingCharClass:!1})}),{escapeNextChar:!1,inCharClass:!1,startingCharClass:!1}),t}(e.regex.pattern).filter((e=>!("-"===e.text&&e.inCharClass&&!e.startsCharClass&&!e.endsCharClass))).filter((e=>!("^"===e.text&&e.startsCharClass))).filter((e=>e.escaped)).filter((e=>!(e.inCharClass?up:pp).has(e.text))).forEach((t=>n(e,t.index,t.text)))}return{Literal:o,TemplateElement:o}}},fp={meta:{type:"suggestion",docs:{description:"disallow renaming import, export, and destructured assignments to the same name",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/no-useless-rename"},fixable:"code",schema:[{type:"object",properties:{ignoreDestructuring:{type:"boolean",default:!1},ignoreImport:{type:"boolean",default:!1},ignoreExport:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unnecessarilyRenamed:"{{type}} {{name}} unnecessarily renamed."}},create(e){const t=e.getSourceCode(),n=e.options[0]||{},r=!0===n.ignoreDestructuring,o=!0===n.ignoreImport,s=!0===n.ignoreExport;function a(n,r,o){const s="Identifier"===r.type?r.name:r.value;return e.report({node:n,messageId:"unnecessarilyRenamed",data:{name:s,type:o},fix(e){const r="Property"===n.type?n.value:n.local;return t.getCommentsInside(n).length>t.getCommentsInside(r).length||"AssignmentPattern"===r.type&&fr.isParenthesised(t,r.left)?null:e.replaceText(n,t.getText(r))}})}return{ObjectPattern:function(e){if(!r)for(const t of e.properties){if("Property"!==t.type||t.shorthand||t.computed)continue;("Identifier"===t.key.type&&t.key.name||"Literal"===t.key.type&&t.key.value)===("AssignmentPattern"===t.value.type?t.value.left.name:t.value.name)&&a(t,t.key,"Destructuring assignment")}},ImportSpecifier:function(e){o||e.imported.name===e.local.name&&e.imported.range[0]!==e.local.range[0]&&a(e,e.imported,"Import")},ExportSpecifier:function(e){s||e.local.name===e.exported.name&&e.local.range[0]!==e.exported.range[0]&&a(e,e.local,"Export")}}}};function mp(e,t){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}function gp(e){return fr.STATEMENT_LIST_PARENTS.has(e.parent.type)}var hp={meta:{type:"suggestion",docs:{description:"disallow redundant return statements",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-useless-return"},fixable:"code",schema:[],messages:{unnecessaryReturn:"Unnecessary return statement."}},create(e){const t=new WeakMap,n=new WeakSet,r=e.getSourceCode();let o=null;function s(e){const n=t.get(e);return!n||n.returned}function a(e,n,r){const o=r||new WeakSet;for(const r of n)r.reachable?e.push(...t.get(r).uselessReturns):o.has(r)||(o.add(r),a(e,r.allPrevSegments.filter(s),o));return e}function i(e){if(!e.reachable)return n.add(e),void e.allPrevSegments.filter(s).filter((e=>!n.has(e))).forEach(i);const r=t.get(e);for(const e of r.uselessReturns)mp(o.uselessReturns,e);r.uselessReturns=[]}function c(){o.codePath.currentSegments.forEach(i)}return{onCodePathStart(e){o={upper:o,uselessReturns:[],codePath:e}},onCodePathEnd(){for(const t of o.uselessReturns)e.report({node:t,loc:t.loc,messageId:"unnecessaryReturn",fix:e=>gp(t)&&!r.getCommentsInside(t).length?new Ra(e,r).retainEnclosingFunction(t).remove(t):null});o=o.upper},onCodePathSegmentStart(e){const n={uselessReturns:a([],e.allPrevSegments),returned:!1};t.set(e,n)},ReturnStatement(e){if(e.argument&&c(),!(e.argument||fr.isInLoop(e)||function(e){for(let t=e;t&&t.parent&&!fr.isFunction(t);t=t.parent)if("TryStatement"===t.parent.type&&t.parent.finalizer===t)return!0;return!1}(e))&&o.codePath.currentSegments.some((e=>e.reachable))){for(const n of o.codePath.currentSegments){const r=t.get(n);r&&(r.uselessReturns.push(e),r.returned=!0)}o.uselessReturns.push(e)}},ClassDeclaration:c,ContinueStatement:c,DebuggerStatement:c,DoWhileStatement:c,EmptyStatement:c,ExpressionStatement:c,ForInStatement:c,ForOfStatement:c,ForStatement:c,IfStatement:c,ImportDeclaration:c,LabeledStatement:c,SwitchStatement:c,ThrowStatement:c,TryStatement:c,VariableDeclaration:c,WhileStatement:c,WithStatement:c,ExportNamedDeclaration:c,ExportDefaultDeclaration:c,ExportAllDeclaration:c}}};function yp(e){return Boolean(e.scope)&&"global"===e.scope.type}function xp(e){let t=e;for(;"function"!==t.type&&"global"!==t.type;)t=t.upper;return t}function bp(e){const t=xp(e.scope);return e.references.some((e=>xp(e.from)!==t))}function Ep(e){return("ForOfStatement"===e.parent.type||"ForInStatement"===e.parent.type)&&e===e.parent.left}const Sp=/^(?:Program|BlockStatement|SwitchStatement|ForStatement|ForInStatement|ForOfStatement)$/u;function Cp(e){return e.defs.length>=2}function vp(e){return"let"===e.name}var Ap={meta:{type:"suggestion",docs:{description:"require `let` or `const` instead of `var`",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/no-var"},schema:[],fixable:"code",messages:{unexpectedVar:"Unexpected var, use let or const instead."}},create(e){const t=e.getSourceCode();function n(t){if(!t.init)return!1;return e.getDeclaredVariables(t).some(function(e){const t=e.range[0],n=e.range[1];return e=>{const r=e.defs[0].name,o=r.range[0],s="AssignmentPattern"===r.parent.type?r.parent.right:null,a=s&&s.range[0],i=s&&s.range[1];return e.references.some((e=>{const r=e.identifier.range[0],c=e.identifier.range[1];return!e.init&&(r=a&&c<=i||r>=t&&c<=n)}))}}(t.init))}function r(t){const r=e.getDeclaredVariables(t),o=function(e){for(let t=e;t;t=t.parent)if(Sp.test(t.type))return t;return null}(t);if("SwitchCase"===t.parent.type||t.declarations.some(n)||r.some(yp)||r.some(Cp)||r.some(function(e){function t(t){const n=e.range,r=t.identifier.range;return r[0]n[1]}return function(e){return e.references.some(t)}}(o))||r.some(vp))return!1;if(fr.isInLoop(t)){if(r.some(bp))return!1;if(!Ep(t)&&!function(e){return e.declarations.every((e=>null!==e.init))}(t))return!1}return!!(Ep(t)||"ForStatement"===t.parent.type&&t.parent.init===t||fr.STATEMENT_LIST_PARENTS.has(t.parent.type))}return{"VariableDeclaration:exit"(n){"var"===n.kind&&function(n){e.report({node:n,messageId:"unexpectedVar",fix(e){const o=t.getFirstToken(n,{filter:e=>"var"===e.value});return r(n)?e.replaceText(o,"let"):null}})}(n)}}}},kp={meta:{type:"suggestion",docs:{description:"disallow `void` operators",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-void"},messages:{noVoid:"Expected 'undefined' and instead saw 'void'."},schema:[{type:"object",properties:{allowAsStatement:{type:"boolean",default:!1}},additionalProperties:!1}]},create(e){const t=e.options[0]&&e.options[0].allowAsStatement;return{'UnaryExpression[operator="void"]'(n){t&&n.parent&&"ExpressionStatement"===n.parent.type||e.report({node:n,messageId:"noVoid"})}}}};const{escapeRegExp:wp}=F.default;var Pp={meta:{type:"suggestion",docs:{description:"disallow specified warning terms in comments",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/no-warning-comments"},schema:[{type:"object",properties:{terms:{type:"array",items:{type:"string"}},location:{enum:["start","anywhere"]}},additionalProperties:!1}],messages:{unexpectedComment:"Unexpected '{{matchedTerm}}' comment: '{{comment}}'."}},create(e){const t=e.getSourceCode(),n=e.options[0]||{},r=n.terms||["todo","fixme","xxx"],o=n.location||"start",s=/\bno-warning-comments\b/u;const a=r.map((function(e){const t=wp(e),n="\\b";let r;const s=/\w$/u.test(e)?"\\b":"";return r="start"===o?"^\\s*":/^\w/u.test(e)?n:"","start"===o?new RegExp(r+t+s,"iu"):new RegExp(r+t+s+"|\\b"+e+n,"iu")}));function i(t){const n=t.value;if(fr.isDirectiveComment(t)&&s.test(n))return;(function(e){const t=[];return a.forEach(((n,o)=>{n.test(e)&&t.push(r[o])})),t})(n).forEach((r=>{let o="",s=!1;for(const e of n.trim().split(/\s+/u)){const t=o?`${o} ${e}`:e;if(!(t.length<=40)){s=!0;break}o=t}e.report({node:t,messageId:"unexpectedComment",data:{matchedTerm:r,comment:`${o}${s?"...":""}`}})}))}return{Program(){t.getAllComments().filter((e=>"Shebang"!==e.type)).forEach(i)}}}},Tp={meta:{type:"layout",docs:{description:"disallow whitespace before properties",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/no-whitespace-before-property"},fixable:"whitespace",schema:[],messages:{unexpectedWhitespace:"Unexpected whitespace before property {{propName}}."}},create(e){const t=e.getSourceCode();return{MemberExpression(n){let r,o;fr.isTokenOnSameLine(n.object,n.property)&&(n.computed?(r=t.getTokenBefore(n.property,fr.isOpeningBracketToken),o=t.getTokenBefore(r,n.optional?1:0)):(r=t.getFirstToken(n.property),o=t.getTokenBefore(r,1)),t.isSpaceBetweenTokens(o,r)&&function(n,r,o){e.report({node:n,messageId:"unexpectedWhitespace",data:{propName:t.getText(n.property)},fix(e){let s="";return n.computed||n.optional||!fr.isDecimalInteger(n.object)?t.commentsExistBetween(r,o)?null:(n.optional?s="?.":n.computed||(s="."),e.replaceTextRange([r.range[1],o.range[0]],s)):null}})}(n,o,r))}}}},Ip={meta:{type:"suggestion",docs:{description:"disallow `with` statements",category:"Best Practices",recommended:!0,url:"https://eslint.org/docs/rules/no-with"},schema:[],messages:{unexpectedWith:"Unexpected use of 'with' statement."}},create:e=>({WithStatement(t){e.report({node:t,messageId:"unexpectedWith"})}})};const Fp={enum:["beside","below","any"]};var Dp={meta:{type:"layout",docs:{description:"enforce the location of single-line statements",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/nonblock-statement-body-position"},fixable:"whitespace",schema:[Fp,{properties:{overrides:{properties:{if:Fp,else:Fp,while:Fp,do:Fp,for:Fp},additionalProperties:!1}},additionalProperties:!1}],messages:{expectNoLinebreak:"Expected no linebreak before this statement.",expectLinebreak:"Expected a linebreak before this statement."}},create(e){const t=e.getSourceCode();function n(n,r){const o=function(t){return e.options[1]&&e.options[1].overrides&&e.options[1].overrides[t]||e.options[0]||"beside"}(r);if("BlockStatement"===n.type||"any"===o)return;const s=t.getTokenBefore(n);s.loc.end.line===n.loc.start.line&&"below"===o?e.report({node:n,messageId:"expectLinebreak",fix:e=>e.insertTextBefore(n,"\n")}):s.loc.end.line!==n.loc.start.line&&"beside"===o&&e.report({node:n,messageId:"expectNoLinebreak",fix:e=>t.getText().slice(s.range[1],n.range[0]).trim()?null:e.replaceTextRange([s.range[1],n.range[0]]," ")})}return{IfStatement(e){n(e.consequent,"if"),e.alternate&&"IfStatement"!==e.alternate.type&&n(e.alternate,"else")},WhileStatement:e=>n(e.body,"while"),DoWhileStatement:e=>n(e.body,"do"),ForStatement:e=>n(e.body,"for"),ForInStatement:e=>n(e.body,"for"),ForOfStatement:e=>n(e.body,"for")}}};const Op={oneOf:[{enum:["always","never"]},{type:"object",properties:{multiline:{type:"boolean"},minProperties:{type:"integer",minimum:0},consistent:{type:"boolean"}},additionalProperties:!1,minProperties:1}]};function Bp(e){let t=!1,n=Number.POSITIVE_INFINITY,r=!1;return e?"always"===e?n=0:"never"===e?n=Number.POSITIVE_INFINITY:(t=Boolean(e.multiline),n=e.minProperties||Number.POSITIVE_INFINITY,r=Boolean(e.consistent)):r=!0,{multiline:t,minProperties:n,consistent:r}}var Np={meta:{type:"layout",docs:{description:"enforce consistent line breaks after opening and before closing braces",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/object-curly-newline"},fixable:"whitespace",schema:[{oneOf:[Op,{type:"object",properties:{ObjectExpression:Op,ObjectPattern:Op,ImportDeclaration:Op,ExportDeclaration:Op},additionalProperties:!1,minProperties:1}]}],messages:{unexpectedLinebreakBeforeClosingBrace:"Unexpected line break before this closing brace.",unexpectedLinebreakAfterOpeningBrace:"Unexpected line break after this opening brace.",expectedLinebreakBeforeClosingBrace:"Expected a line break before this closing brace.",expectedLinebreakAfterOpeningBrace:"Expected a line break after this opening brace."}},create(e){const t=e.getSourceCode(),n=function(e){const t=F.default.overSome([F.default.isPlainObject,F.default.isString]);if(F.default.isPlainObject(e)&&Object.values(e).some(t))return{ObjectExpression:Bp(e.ObjectExpression),ObjectPattern:Bp(e.ObjectPattern),ImportDeclaration:Bp(e.ImportDeclaration),ExportNamedDeclaration:Bp(e.ExportDeclaration)};const n=Bp(e);return{ObjectExpression:n,ObjectPattern:n,ImportDeclaration:n,ExportNamedDeclaration:n}}(e.options[0]);function r(r){const o=n[r.type];if("ImportDeclaration"===r.type&&!r.specifiers.some((e=>"ImportSpecifier"===e.type))||"ExportNamedDeclaration"===r.type&&!r.specifiers.some((e=>"ExportSpecifier"===e.type)))return;const s=t.getFirstToken(r,(e=>"{"===e.value));let a;a=r.typeAnnotation?t.getTokenBefore(r.typeAnnotation):t.getLastToken(r,(e=>"}"===e.value));let i=t.getTokenAfter(s,{includeComments:!0}),c=t.getTokenBefore(a,{includeComments:!0});const l=function(e,t,n,r){let o;return o="ObjectExpression"===e.type||"ObjectPattern"===e.type?e.properties:e.specifiers.filter((e=>"ImportSpecifier"===e.type||"ExportSpecifier"===e.type)),o.length>=t.minProperties||t.multiline&&o.length>0&&n.loc.start.line!==r.loc.end.line}(r,o,i,c),u=fr.isCommentToken(i),p=fr.isCommentToken(c);if(i=t.getTokenAfter(s),c=t.getTokenBefore(a),l)fr.isTokenOnSameLine(s,i)&&e.report({messageId:"expectedLinebreakAfterOpeningBrace",node:r,loc:s.loc,fix:e=>u?null:e.insertTextAfter(s,"\n")}),fr.isTokenOnSameLine(c,a)&&e.report({messageId:"expectedLinebreakBeforeClosingBrace",node:r,loc:a.loc,fix:e=>p?null:e.insertTextBefore(a,"\n")});else{const t=o.consistent,n=!fr.isTokenOnSameLine(s,i),l=!fr.isTokenOnSameLine(c,a);(!t&&n||t&&n&&!l)&&e.report({messageId:"unexpectedLinebreakAfterOpeningBrace",node:r,loc:s.loc,fix:e=>u?null:e.removeRange([s.range[1],i.range[0]])}),(!t&&l||t&&!n&&l)&&e.report({messageId:"unexpectedLinebreakBeforeClosingBrace",node:r,loc:a.loc,fix:e=>p?null:e.removeRange([c.range[1],a.range[0]])})}}return{ObjectExpression:r,ObjectPattern:r,ImportDeclaration:r,ExportNamedDeclaration:r}}},jp={meta:{type:"layout",docs:{description:"enforce consistent spacing inside braces",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/object-curly-spacing"},fixable:"whitespace",schema:[{enum:["always","never"]},{type:"object",properties:{arraysInObjects:{type:"boolean"},objectsInObjects:{type:"boolean"}},additionalProperties:!1}],messages:{requireSpaceBefore:"A space is required before '{{token}}'.",requireSpaceAfter:"A space is required after '{{token}}'.",unexpectedSpaceBefore:"There should be no space before '{{token}}'.",unexpectedSpaceAfter:"There should be no space after '{{token}}'."}},create(e){const t="always"===e.options[0],n=e.getSourceCode();function r(n){return!!e.options[1]&&e.options[1][n]===!t}const o={spaced:t,arraysInObjectsException:r("arraysInObjects"),objectsInObjectsException:r("objectsInObjects")};function s(t,r,s,a,i){if(fr.isTokenOnSameLine(r,s)){const a=n.isSpaceBetweenTokens(r,s);o.spaced&&!a&&function(t,n){e.report({node:t,loc:n.loc,messageId:"requireSpaceAfter",data:{token:n.value},fix:e=>e.insertTextAfter(n," ")})}(t,r),!o.spaced&&a&&"Line"!==s.type&&function(t,n){const r=e.getSourceCode().getTokenAfter(n,{includeComments:!0});e.report({node:t,loc:{start:n.loc.end,end:r.loc.start},messageId:"unexpectedSpaceAfter",data:{token:n.value},fix:e=>e.removeRange([n.range[1],r.range[0]])})}(t,r)}if(fr.isTokenOnSameLine(a,i)){const r=(o.arraysInObjectsException&&fr.isClosingBracketToken(a)||o.objectsInObjectsException&&fr.isClosingBraceToken(a))&&n.getNodeByRangeIndex(a.range[0]).type,s=o.arraysInObjectsException&&"ArrayExpression"===r||o.objectsInObjectsException&&("ObjectExpression"===r||"ObjectPattern"===r)?!o.spaced:o.spaced,c=n.isSpaceBetweenTokens(a,i);s&&!c&&function(t,n){e.report({node:t,loc:n.loc,messageId:"requireSpaceBefore",data:{token:n.value},fix:e=>e.insertTextBefore(n," ")})}(t,i),!s&&c&&function(t,n){const r=e.getSourceCode().getTokenBefore(n,{includeComments:!0});e.report({node:t,loc:{start:r.loc.end,end:n.loc.start},messageId:"unexpectedSpaceBefore",data:{token:n.value},fix:e=>e.removeRange([r.range[1],n.range[0]])})}(t,i)}}function a(e){if(0===e.properties.length)return;const t=n.getFirstToken(e),r=function(e){const t=e.properties[e.properties.length-1];return n.getTokenAfter(t,fr.isClosingBraceToken)}(e);s(e,t,n.getTokenAfter(t,{includeComments:!0}),n.getTokenBefore(r,{includeComments:!0}),r)}return{ObjectPattern:a,ObjectExpression:a,ImportDeclaration:function(e){if(0===e.specifiers.length)return;let t=e.specifiers[0];const r=e.specifiers[e.specifiers.length-1];if("ImportSpecifier"!==r.type)return;"ImportSpecifier"!==t.type&&(t=e.specifiers[1]);const o=n.getTokenBefore(t),a=n.getTokenAfter(r,fr.isNotCommaToken);s(e,o,n.getTokenAfter(o,{includeComments:!0}),n.getTokenBefore(a,{includeComments:!0}),a)},ExportNamedDeclaration:function(e){if(0===e.specifiers.length)return;const t=e.specifiers[0],r=e.specifiers[e.specifiers.length-1],o=n.getTokenBefore(t),a=n.getTokenAfter(r,fr.isNotCommaToken);s(e,o,n.getTokenAfter(o,{includeComments:!0}),n.getTokenBefore(a,{includeComments:!0}),a)}}}},Lp={meta:{type:"layout",docs:{description:"enforce placing object properties on separate lines",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/object-property-newline"},schema:[{type:"object",properties:{allowAllPropertiesOnSameLine:{type:"boolean",default:!1},allowMultiplePropertiesPerLine:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"whitespace",messages:{propertiesOnNewlineAll:"Object properties must go on a new line if they aren't all on the same line.",propertiesOnNewline:"Object properties must go on a new line."}},create(e){const t=e.options[0]&&(e.options[0].allowAllPropertiesOnSameLine||e.options[0].allowMultiplePropertiesPerLine),n=t?"propertiesOnNewlineAll":"propertiesOnNewline",r=e.getSourceCode();return{ObjectExpression(o){if(t&&o.properties.length>1){const e=r.getFirstToken(o.properties[0]),t=r.getLastToken(o.properties[o.properties.length-1]);if(e.loc.end.line===t.loc.start.line)return}for(let t=1;t0){const o=r.filter(g);if(o.length!==r.length)if(o.length>0)e.report({node:t,messageId:"unexpectedMix"});else if(n){r.every(h)&&e.report({node:t,messageId:"expectedAllPropertiesShorthanded"})}}}const x=[],b=new WeakSet,E=new WeakSet;function S(){x.unshift(new Set),e.getScope().variables.filter((e=>"arguments"===e.name)).forEach((e=>{e.references.map((e=>e.identifier)).forEach((e=>E.add(e)))}))}function C(){x.shift()}function v(){x[0].forEach((e=>b.add(e)))}return{Program:S,FunctionDeclaration:S,FunctionExpression:S,"Program:exit":C,"FunctionDeclaration:exit":C,"FunctionExpression:exit":C,ArrowFunctionExpression(e){x[0].add(e)},"ArrowFunctionExpression:exit"(e){x[0].delete(e)},ThisExpression:v,Super:v,MetaProperty(e){"new"===e.meta.name&&"target"===e.property.name&&v()},Identifier(e){E.has(e)&&v()},ObjectExpression(e){s?y(e,!1):a&&y(e,!0)},"Property:exit"(t){const s=t.method||t.shorthand;if("ObjectPattern"!==t.parent.type&&"get"!==t.kind&&"set"!==t.kind&&(!t.computed||"FunctionExpression"===t.value.type||"ArrowFunctionExpression"===t.value.type))if(s)if(t.method&&(o||l&&m(t.key))){const n=o?"expectedMethodLongform":"expectedLiteralMethodLongform";e.report({node:t,messageId:n,fix:e=>function(e,t){const n=t.computed?p.getTokens(t).find((e=>"["===e.value)):p.getFirstToken(t.key),r=t.computed?p.getTokensBetween(t.key,t.value).find((e=>"]"===e.value)):p.getLastToken(t.key),o=p.text.slice(n.range[0],r.range[1]);let s="function";return t.value.async&&(s=`async ${s}`),t.value.generator&&(s=`${s}*`),e.replaceTextRange([t.range[0],r.range[1]],`${o}: ${s}`)}(e,t)})}else o&&e.report({node:t,messageId:"expectedPropertyLongform",fix:e=>e.insertTextAfter(t.key,`: ${t.key.name}`)});else if(!n||t.value.id||"FunctionExpression"!==t.value.type&&"ArrowFunctionExpression"!==t.value.type){if("Identifier"===t.value.type&&t.key.name===t.value.name&&r)e.report({node:t,messageId:"expectedPropertyShorthand",fix:e=>e.replaceText(t,t.value.name)});else if("Identifier"===t.value.type&&"Literal"===t.key.type&&t.key.value===t.value.name&&r){if(l)return;e.report({node:t,messageId:"expectedPropertyShorthand",fix:e=>e.replaceText(t,t.value.name)})}}else{if(c&&"Identifier"===t.key.type&&function(e){const t=d.exec(e);if(!t)return!1;const n=e.charAt(t.index);return n===n.toUpperCase()}(t.key.name))return;if(l&&m(t.key))return;("FunctionExpression"===t.value.type||"ArrowFunctionExpression"===t.value.type&&"BlockStatement"===t.value.body.type&&u&&!b.has(t.value))&&e.report({node:t,messageId:"expectedMethodShorthand",fix:e=>function(e,t){const n=t.computed?p.getFirstToken(t,fr.isOpeningBracketToken):p.getFirstToken(t.key),r=t.computed?p.getFirstTokenBetween(t.key,t.value,fr.isClosingBracketToken):p.getLastToken(t.key),o=p.text.slice(n.range[0],r.range[1]);let s="";if(p.commentsExistBetween(r,t.value))return null;t.value.async&&(s+="async "),t.value.generator&&(s+="*");const a=[n.range[0],t.range[1]],i=s+o;if("FunctionExpression"===t.value.type){const n=p.getTokens(t.value).find((e=>"Keyword"===e.type&&"function"===e.value)),r=t.value.generator?p.getTokenAfter(n):n;return e.replaceTextRange(a,i+p.text.slice(r.range[1],t.value.range[1]))}const c=p.getTokenBefore(t.value.body,fr.isArrowToken),l=p.text.slice(c.range[1],t.value.range[1]);let u,d=!1;if(u=0===t.value.params.length?p.getFirstToken(t.value,fr.isOpeningParenToken):p.getTokenBefore(t.value.params[0]),1===t.value.params.length){const e=fr.isOpeningParenToken(u),n=u.range[0]0&&o.uninitialized===t&&a.uninitialized)&&(!(r.initialized>0&&o.initialized===t&&a.initialized&&!l)&&((!a.required||!l)&&(function(e,n,r){for(let o=0;oe.range[0]===t.parent.range[0])),o=n[r-1];return e=>{const n=a.getTokenBefore(t),r=a.getTokenBefore(n),s=[];return o&&o.kind===a.getText(n)&&(";"===r.value?s.push(e.replaceText(r,",")):s.push(e.insertTextAfter(r,",")),s.push(e.replaceText(n,""))),s}}function y(e){const{parent:t}=e;return n="ExportNamedDeclaration"===t.type?t:e,fr.STATEMENT_LIST_PARENTS.has(n.parent.type)?t=>e.declarations.map((n=>{const r=a.getTokenAfter(n);if(null===r)return null;const o=a.getTokenAfter(r,{includeComments:!0});if(","!==r.value)return null;const s="ExportNamedDeclaration"===e.parent.type?"export ":"";if(o.range[0]===r.range[1])return t.replaceText(r,`; ${s}${e.kind} `);if(o.loc.start.line>r.loc.end.line||"Line"===o.type||"Block"===o.type){let n=o;for(;"Line"===n.type||"Block"===n.type;)n=a.getTokenAfter(n,{includeComments:!0});return t.replaceTextRange([r.range[0],n.range[0]],`;${a.text.slice(r.range[1],n.range[0])}${s}${e.kind} `)}return t.replaceText(r,`; ${s}${e.kind}`)})).filter((e=>e)):null;var n}return{Program:u,FunctionDeclaration:u,FunctionExpression:u,ArrowFunctionExpression:u,BlockStatement:l,ForStatement:l,ForInStatement:l,ForOfStatement:l,SwitchStatement:l,VariableDeclaration:function(o){const a=o.parent,i=o.kind;if(!s[i])return;const c=o.declarations,l=m(c),u=c.some(f)&&!c.every(f);s[i].initialized===t&&s.separateRequires&&u&&e.report({node:o,messageId:"splitRequires"});const p=a.body&&a.body.length>0&&a.body.indexOf(o)||0;if(p>0){const t=a.body[p-1],n="VariableDeclaration"===t.type,u=c.concat(t.declarations||[]);if(n&&t.kind===i&&(!u.some(f)||u.every(f))){const n=m(t.declarations);s[i].initialized===r&&s[i].uninitialized===r?e.report({node:o,messageId:"combine",data:{type:i},fix:h(c)}):s[i].initialized===r&&l.initialized>0&&n.initialized>0?e.report({node:o,messageId:"combineInitialized",data:{type:i},fix:h(c)}):s[i].uninitialized===r&&l.uninitialized>0&&n.uninitialized>0&&e.report({node:o,messageId:"combineUninitialized",data:{type:i},fix:h(c)})}}if(!g(i,c))if(s[i].initialized===t&&s[i].uninitialized===t)e.report({node:o,messageId:"combine",data:{type:i},fix:h(c)});else if(s[i].initialized===t&&l.initialized>0&&e.report({node:o,messageId:"combineInitialized",data:{type:i},fix:h(c)}),s[i].uninitialized===t&&l.uninitialized>0){if(o.parent.left===o&&("ForInStatement"===o.parent.type||"ForOfStatement"===o.parent.type))return;e.report({node:o,messageId:"combineUninitialized",data:{type:i},fix:h(c)})}if("ForStatement"!==a.type||a.init!==o){l.uninitialized+l.initialized>1&&(s[i].initialized===n&&s[i].uninitialized===n?e.report({node:o,messageId:"split",data:{type:i},fix:y(o)}):s[i].initialized===n&&l.initialized>0?e.report({node:o,messageId:"splitInitialized",data:{type:i},fix:y(o)}):s[i].uninitialized===n&&l.uninitialized>0&&e.report({node:o,messageId:"splitUninitialized",data:{type:i},fix:y(o)}))}},"ForStatement:exit":p,"ForOfStatement:exit":p,"ForInStatement:exit":p,"SwitchStatement:exit":p,"BlockStatement:exit":p,"Program:exit":d,"FunctionDeclaration:exit":d,"FunctionExpression:exit":d,"ArrowFunctionExpression:exit":d}}},Gp={meta:{type:"suggestion",docs:{description:"require or disallow newlines around variable declarations",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/one-var-declaration-per-line"},schema:[{enum:["always","initializations"]}],fixable:"whitespace",messages:{expectVarOnNewline:"Expected variable declaration to be on a new line."}},create(e){const t="always"===e.options[0];return{VariableDeclaration:function(n){if("ForStatement"===(r=n.parent.type)||"ForInStatement"===r||"ForOfStatement"===r)return;var r;let o;n.declarations.forEach((r=>{o&&o.loc.end.line===r.loc.start.line&&(t||o.init||r.init)&&e.report({node:n,messageId:"expectVarOnNewline",loc:r.loc,fix:e=>e.insertTextBefore(r,"\n")}),o=r}))}}}};function zp(e){return["*","&","^","|"].indexOf(e)>=0}function Jp(e){return"Identifier"===e.type||"MemberExpression"===e.type&&("Identifier"===e.object.type||"ThisExpression"===e.object.type)&&(!e.computed||"Literal"===e.property.type)}var Kp={meta:{type:"suggestion",docs:{description:"require or disallow assignment operator shorthand where possible",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/operator-assignment"},schema:[{enum:["always","never"]}],fixable:"code",messages:{replaced:"Assignment can be replaced with operator assignment.",unexpected:"Unexpected operator assignment shorthand."}},create(e){const t=e.getSourceCode();function n(e){return t.getFirstTokenBetween(e.left,e.right,(t=>t.value===e.operator))}return{AssignmentExpression:"never"!==e.options[0]?function(r){if("="!==r.operator||"BinaryExpression"!==r.right.type)return;const o=r.left,s=r.right,a=s.operator;(zp(a)||function(e){return["+","-","/","%","<<",">>",">>>","**"].indexOf(e)>=0}(a))&&(fr.isSameReference(o,s.left,!0)?e.report({node:r,messageId:"replaced",fix(e){if(Jp(o)&&Jp(s.left)){const o=n(r),a=n(s),i=t.getText().slice(r.range[0],o.range[0]),c=t.getText().slice(a.range[1],r.right.range[1]);return t.commentsExistBetween(o,a)?null:e.replaceText(r,`${i}${s.operator}=${c}`)}return null}}):fr.isSameReference(o,s.right,!0)&&zp(a)&&e.report({node:r,messageId:"replaced"}))}:function(r){"="===r.operator||fr.isLogicalAssignmentOperator(r.operator)||e.report({node:r,messageId:"unexpected",fix(e){if(Jp(r.left)){const o=t.getFirstToken(r),s=n(r),a=t.getText().slice(r.range[0],s.range[0]),i=r.operator.slice(0,-1);let c;if(t.commentsExistBetween(o,s))return null;if(fr.getPrecedence(r.right)<=fr.getPrecedence({type:"BinaryExpression",operator:i})&&!fr.isParenthesised(t,r.right))c=`${t.text.slice(s.range[1],r.right.range[0])}(${t.getText(r.right)})`;else{const e=t.getTokenAfter(s,{includeComments:!0});let n="";s.range[1]!==e.range[0]||fr.canTokensBeAdjacent({type:"Punctuator",value:i},e)||(n=" "),c=`${n}${t.text.slice(s.range[1],r.range[1])}`}return e.replaceText(r,`${a}= ${a}${i}${c}`)}return null}})}}}},Yp={meta:{type:"layout",docs:{description:"enforce consistent linebreak style for operators",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/operator-linebreak"},schema:[{enum:["after","before","none",null]},{type:"object",properties:{overrides:{type:"object",additionalProperties:{enum:["after","before","none","ignore"]}}},additionalProperties:!1}],fixable:"code",messages:{operatorAtBeginning:"'{{operator}}' should be placed at the beginning of the line.",operatorAtEnd:"'{{operator}}' should be placed at the end of the line.",badLinebreak:"Bad line breaking before and after '{{operator}}'.",noLinebreak:"There should be no line break before or after '{{operator}}'."}},create(e){const t=!e.options[0],n=e.options[0]||"after",r=e.options[1]||{},o=r.overrides?Object.assign({},r.overrides):{};t&&!o["?"]&&(o["?"]="before"),t&&!o[":"]&&(o[":"]="before");const s=e.getSourceCode();function a(t,r){const a=s.getTokenAfter(r,fr.isNotClosingParenToken),i=s.getTokenBefore(a),c=s.getTokenAfter(a),l=a.value,u=o[l],p=u||n,d=function(e,t){return n=>{const r=s.getTokenBefore(e),o=s.getTokenAfter(e),a=s.text.slice(r.range[1],e.range[0]),i=s.text.slice(e.range[1],o.range[0]);let c,l;if(!fr.isTokenOnSameLine(r,e)!=!fr.isTokenOnSameLine(e,o)&&"none"!==t){if(s.getTokenBefore(e,{includeComments:!0})!==r&&s.getTokenAfter(e,{includeComments:!0})!==o)return null;c=i,l=a}else{const e=fr.createGlobalLinebreakMatcher();if(c="before"===t||a.trim()?a:a.replace(e,""),l="after"===t||i.trim()?i:i.replace(e,""),c===a&&l===i)return null}return""===l&&"Punctuator"===o.type&&"+-".includes(e.value)&&o.value===e.value&&(l+=" "),n.replaceTextRange([r.range[1],o.range[0]],c+e.value+l)}}(a,p);fr.isTokenOnSameLine(i,a)&&fr.isTokenOnSameLine(a,c)||("ignore"===u||fr.isTokenOnSameLine(i,a)||fr.isTokenOnSameLine(a,c)?"before"===p&&fr.isTokenOnSameLine(i,a)?e.report({node:t,loc:a.loc,messageId:"operatorAtBeginning",data:{operator:l},fix:d}):"after"===p&&fr.isTokenOnSameLine(a,c)?e.report({node:t,loc:a.loc,messageId:"operatorAtEnd",data:{operator:l},fix:d}):"none"===p&&e.report({node:t,loc:a.loc,messageId:"noLinebreak",data:{operator:l},fix:d}):e.report({node:t,loc:a.loc,messageId:"badLinebreak",data:{operator:l},fix:d}))}function i(e){a(e,e.left)}return{BinaryExpression:i,LogicalExpression:i,AssignmentExpression:i,VariableDeclarator(e){e.init&&a(e,e.id)},ConditionalExpression(e){a(e,e.test),a(e,e.consequent)}}}},Hp={meta:{type:"layout",docs:{description:"require or disallow padding within blocks",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/padded-blocks"},fixable:"whitespace",schema:[{oneOf:[{enum:["always","never"]},{type:"object",properties:{blocks:{enum:["always","never"]},switches:{enum:["always","never"]},classes:{enum:["always","never"]}},additionalProperties:!1,minProperties:1}]},{type:"object",properties:{allowSingleLineBlocks:{type:"boolean"}},additionalProperties:!1}],messages:{alwaysPadBlock:"Block must be padded by blank lines.",neverPadBlock:"Block must not be padded by blank lines."}},create(e){const t={},n=e.options[0]||"always",r=e.options[1]||{};if("string"==typeof n){const e="always"===n;t.blocks=e,t.switches=e,t.classes=e}else Object.prototype.hasOwnProperty.call(n,"blocks")&&(t.blocks="always"===n.blocks),Object.prototype.hasOwnProperty.call(n,"switches")&&(t.switches="always"===n.switches),Object.prototype.hasOwnProperty.call(n,"classes")&&(t.classes="always"===n.classes);Object.prototype.hasOwnProperty.call(r,"allowSingleLineBlocks")&&(t.allowSingleLineBlocks=!0===r.allowSingleLineBlocks);const o=e.getSourceCode();function s(e){return"Line"===e.type||"Block"===e.type}function a(e,t){return t.loc.start.line-e.loc.end.line>=2}function i(n){const r=function(e){let t,n=e;do{t=n,n=o.getTokenAfter(n,{includeComments:!0})}while(s(n)&&n.loc.start.line===t.loc.end.line);return n}(function(e){return"SwitchStatement"===e.type?o.getTokenBefore(e.cases[0]):o.getFirstToken(e)}(n)),i=o.getTokenBefore(r,{includeComments:!0}),c=function(e){let t,n=e;do{t=n,n=o.getTokenBefore(n,{includeComments:!0})}while(s(n)&&n.loc.end.line===t.loc.start.line);return n}(o.getLastToken(n)),l=o.getTokenAfter(c,{includeComments:!0}),u=a(i,r),p=a(c,l);t.allowSingleLineBlocks&&fr.isTokenOnSameLine(i,l)||(!function(e){switch(e.type){case"BlockStatement":return t.blocks;case"SwitchStatement":return t.switches;case"ClassBody":return t.classes;default:throw new Error("unreachable")}}(n)?(u&&e.report({node:n,loc:{start:i.loc.start,end:r.loc.start},fix:e=>e.replaceTextRange([i.range[1],r.range[0]-r.loc.start.column],"\n"),messageId:"neverPadBlock"}),p&&e.report({node:n,loc:{end:l.loc.start,start:c.loc.end},messageId:"neverPadBlock",fix:e=>e.replaceTextRange([c.range[1],l.range[0]-l.loc.start.column],"\n")})):(u||e.report({node:n,loc:{start:i.loc.start,end:r.loc.start},fix:e=>e.insertTextAfter(i,"\n"),messageId:"alwaysPadBlock"}),p||e.report({node:n,loc:{end:l.loc.start,start:c.loc.end},fix:e=>e.insertTextBefore(l,"\n"),messageId:"alwaysPadBlock"})))}const c={};return Object.prototype.hasOwnProperty.call(t,"switches")&&(c.SwitchStatement=function(e){0!==e.cases.length&&i(e)}),Object.prototype.hasOwnProperty.call(t,"blocks")&&(c.BlockStatement=function(e){0!==e.body.length&&i(e)}),Object.prototype.hasOwnProperty.call(t,"classes")&&(c.ClassBody=function(e){0!==e.body.length&&i(e)}),c}};const Xp=`[${Array.from(fr.LINEBREAKS).join("")}]`,Qp=new RegExp(String.raw`^(\s*?${Xp})\s*${Xp}(\s*;?)$`,"u"),Zp=/^(?:module\s*\.\s*)?exports(?:\s*\.|\s*\[|$)/u,ed=/^require\(/u;function td(e){return{test:(t,n)=>n.getFirstToken(t).value===e}}function nd(e){return{test:(t,n)=>t.loc.start.line===t.loc.end.line&&n.getFirstToken(t).value===e}}function rd(e){return{test:(t,n)=>t.loc.start.line!==t.loc.end.line&&n.getFirstToken(t).value===e}}function od(e){return{test:t=>t.type===e}}function sd(e){if("ExpressionStatement"===e.type){let t=fr.skipChainExpression(e.expression);return"UnaryExpression"===t.type&&(t=fr.skipChainExpression(t.argument)),"CallExpression"===t.type&&fr.isFunction(t.callee)}return!1}function ad(e,t){if("DoWhileStatement"===t.type&&"BlockStatement"===t.body.type)return!0;if(sd(t))return!0;const n=e.getLastToken(t,fr.isNotSemicolonToken),r=n&&fr.isClosingBraceToken(n)?e.getNodeByRangeIndex(n.range[0]):null;return Boolean(r)&&("BlockStatement"===r.type||"SwitchStatement"===r.type)}function id(e,t){return"ExpressionStatement"===e.type&&("Program"===e.parent.type||"BlockStatement"===e.parent.type&&fr.isFunction(e.parent.parent))&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!fr.isParenthesised(t,e.expression)}function cd(e,t){if(id(e,t)){for(const n of e.parent.body){if(n===e)break;if(!id(n,t))return!1}return!0}return!1}function ld(e,t){const n=e.getLastToken(t),r=e.getTokenBefore(n),o=e.getTokenAfter(n);return Boolean(r&&o&&r.range[0]>=t.range[0]&&fr.isSemicolonToken(n)&&n.loc.start.line!==r.loc.end.line&&n.loc.end.line===o.loc.start.line)?r:n}function ud(e,t,n){return t+n}const pd={any:{verify:function(){}},never:{verify:function(e,t,n,r){0!==r.length&&e.report({node:n,messageId:"unexpectedBlankLine",fix(t){if(r.length>=2)return null;const n=r[0][0],o=r[0][1],s=n.range[1],a=o.range[0],i=e.getSourceCode().text.slice(s,a).replace(Qp,ud);return t.replaceTextRange([s,a],i)}})}},always:{verify:function(e,t,n,r){r.length>0||e.report({node:n,messageId:"expectedBlankLine",fix(r){const o=e.getSourceCode();let s=ld(o,t);const a=o.getFirstTokenBetween(s,n,{includeComments:!0,filter:e=>!fr.isTokenOnSameLine(s,e)||(s=e,!1)})||n,i=fr.isTokenOnSameLine(s,a)?"\n\n":"\n";return r.insertTextAfter(s,i)}})}}},dd={"*":{test:()=>!0},"block-like":{test:(e,t)=>ad(t,e)},"cjs-export":{test:(e,t)=>"ExpressionStatement"===e.type&&"AssignmentExpression"===e.expression.type&&Zp.test(t.getText(e.expression.left))},"cjs-import":{test:(e,t)=>"VariableDeclaration"===e.type&&e.declarations.length>0&&Boolean(e.declarations[0].init)&&ed.test(t.getText(e.declarations[0].init))},directive:{test:cd},expression:{test:(e,t)=>"ExpressionStatement"===e.type&&!cd(e,t)},iife:{test:sd},"multiline-block-like":{test:(e,t)=>e.loc.start.line!==e.loc.end.line&&ad(t,e)},"multiline-expression":{test:(e,t)=>e.loc.start.line!==e.loc.end.line&&"ExpressionStatement"===e.type&&!cd(e,t)},"multiline-const":rd("const"),"multiline-let":rd("let"),"multiline-var":rd("var"),"singleline-const":nd("const"),"singleline-let":nd("let"),"singleline-var":nd("var"),block:od("BlockStatement"),empty:od("EmptyStatement"),function:od("FunctionDeclaration"),break:td("break"),case:td("case"),class:td("class"),const:td("const"),continue:td("continue"),debugger:td("debugger"),default:td("default"),do:td("do"),export:td("export"),for:td("for"),if:td("if"),import:td("import"),let:td("let"),return:td("return"),switch:td("switch"),throw:td("throw"),try:td("try"),var:td("var"),while:td("while"),with:td("with")};var fd={meta:{type:"layout",docs:{description:"require or disallow padding lines between statements",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/padding-line-between-statements"},fixable:"whitespace",schema:{definitions:{paddingType:{enum:Object.keys(pd)},statementType:{anyOf:[{enum:Object.keys(dd)},{type:"array",items:{enum:Object.keys(dd)},minItems:1,uniqueItems:!0,additionalItems:!1}]}},type:"array",items:{type:"object",properties:{blankLine:{$ref:"#/definitions/paddingType"},prev:{$ref:"#/definitions/statementType"},next:{$ref:"#/definitions/statementType"}},additionalProperties:!1,required:["blankLine","prev","next"]},additionalItems:!1},messages:{unexpectedBlankLine:"Unexpected blank line before this statement.",expectedBlankLine:"Expected blank line before this statement."}},create(e){const t=e.getSourceCode(),n=e.options||[];let r=null;function o(){r={upper:r,prevNode:null}}function s(){r=r.upper}function a(e,n){let r=e;for(;"LabeledStatement"===r.type;)r=r.body;return Array.isArray(n)?n.some(a.bind(null,r)):dd[n].test(r,t)}function i(o){const s=o.parent.type;if(!(fr.STATEMENT_LIST_PARENTS.has(s)||"SwitchStatement"===s))return;const i=r.prevNode;if(i){const r=function(e,t){for(let r=n.length-1;r>=0;--r){const o=n[r];if(a(e,o.prev)&&a(t,o.next))return pd[o.blankLine]}return pd.any}(i,o),s=function(e,n){const r=[];let o=ld(t,e);if(n.loc.start.line-o.loc.end.line>=2)do{const e=t.getTokenAfter(o,{includeComments:!0});e.loc.start.line-o.loc.end.line>=2&&r.push([o,e]),o=e}while(o.range[0]0)return;const c=function(e){const t=e.variables;for(let e=0;e0)return;const l=function(e){const t={isCallback:!1,isLexicalThis:!1};let n=e,r=e.parent,o=!1;for(;n;){switch(r.type){case"LogicalExpression":case"ChainExpression":case"ConditionalExpression":break;case"MemberExpression":if(r.object!==n||r.property.computed||"Identifier"!==r.property.type||"bind"!==r.property.name)return t;{const e="ChainExpression"===r.parent.type?r.parent:r;if(!fr.isCallee(e))return t;o||(o=!0,t.isLexicalThis=1===e.parent.arguments.length&&"ThisExpression"===e.parent.arguments[0].type),r=e.parent}break;case"CallExpression":case"NewExpression":return r.callee!==n&&(t.isCallback=!0),t;default:return t}n=r,r=r.parent}throw new Error("unreachable")}(t);!l.isCallback||n&&s.this&&!l.isLexicalThis||s.super||s.meta||e.report({node:t,messageId:"preferArrowCallback",*fix(e){if(!l.isLexicalThis&&s.this||(n=t.params).every((e=>"Identifier"===e.type))&&n.length!==new Set(n.map((e=>e.name))).size)return;var n;if(l.isLexicalThis){const n=t.parent;if("MemberExpression"!==n.type)return;const r=n.parent,s=o.getTokenAfter(n.object,fr.isNotClosingParenToken),a=o.getLastToken(r);if(fr.isParenthesised(o,n))return;if(o.commentsExistBetween(s,a))return;yield e.removeRange([s.range[0],a.range[1]])}const r=o.getFirstToken(t,t.async?1:0),a=o.getTokenAfter(r,fr.isOpeningParenToken);o.commentsExistBetween(r,a)?(yield e.remove(r),t.id&&(yield e.remove(t.id))):yield e.removeRange([r.range[0],a.range[0]]),yield e.insertTextBefore(t.body,"=> ");let i=l.isLexicalThis?t.parent.parent:t;"ChainExpression"===i.type&&(i=i.parent),"CallExpression"===i.parent.type||"ConditionalExpression"===i.parent.type||fr.isParenthesised(o,i)||fr.isParenthesised(o,t)||(yield e.insertTextBefore(i,"("),yield e.insertTextAfter(i,")"))}})}}}};const gd=/^(?:.+?Pattern|RestElement|SpreadProperty|ExperimentalRestProperty|Property)$/u,hd=/^(?:Program|BlockStatement|SwitchCase)$/u,yd=/^(?:VariableDeclarator|AssignmentExpression)$/u;function xd(e,t){if(t.through.find((t=>t.resolved&&t.resolved.name===e)))return!0;const n=fr.getVariableByName(t,e);return null!==n&&n.defs.some((e=>"Parameter"===e.type))}function bd(e){if(!e.isWrite())return null;let t=e.identifier.parent;for(;gd.test(t.type);)t=t.parent;return yd.test(t.type)?t:null}function Ed(e){switch(e.type){case"ObjectPattern":return e.properties.some((e=>!!e&&Ed(e.argument||e.value)));case"ArrayPattern":return e.elements.some((e=>!!e&&Ed(e)));case"AssignmentPattern":return Ed(e.left);case"MemberExpression":return!0}return!1}function Sd(e,t){if(e.eslintUsed&&"global"===e.scope.type)return null;let n=null,r=!1;const o=e.references;for(let s=0;se.value)).map((e=>e.value.name)).some((t=>xd(t,e.scope))),o=Ed(n)}else if("ArrayPattern"===n.type){r=n.elements.map((e=>e&&e.name)).some((t=>xd(t,e.scope))),o=Ed(n)}if(r||o)return null}n=a}else if(a.isRead()&&null===n){if(t)return null;r=!0}}return null!==n&&n.from===e.scope&&function(e){let t=e.parent;for(;gd.test(t.type);)t=t.parent;return"VariableDeclarator"===t.type||"AssignmentExpression"===t.type&&"ExpressionStatement"===t.parent.type&&hd.test(t.parent.parent.type)}(n.identifier)?r?e.defs[0].name:n.identifier:null}function Cd(e,t,n){return!e||n(e)?null:e.type===t?e:Cd(e.parent,t,n)}var vd={meta:{type:"suggestion",docs:{description:"require `const` declarations for variables that are never reassigned after declared",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/prefer-const"},fixable:"code",schema:[{type:"object",properties:{destructuring:{enum:["any","all"],default:"any"},ignoreReadBeforeAssign:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{useConst:"'{{name}}' is never reassigned. Use 'const' instead."}},create(e){const t=e.options[0]||{},n=e.getSourceCode(),r="all"!==t.destructuring,o=!0===t.ignoreReadBeforeAssign,s=[];let a=0,i=null,c="";function l(t){const o=t.filter(Boolean);if(t.length&&(r||o.length===t.length)){const r=Cd(t[0],"VariableDeclaration",(e=>e.type.endsWith("Statement"))),s=null===r;if(!s&&r.declarations.length>0){const e=r.declarations[0];if(e.init){const t=e.init.parent;"VariableDeclarator"===t.type&&(t.id.name!==c&&(c=t.id.name,a=0),"ObjectPattern"===t.id.type&&t.init.name!==c&&(c=t.init.name,a=0),t.id!==i&&(i=t.id,a=0))}}let l=r&&("ForInStatement"===r.parent.type||"ForOfStatement"===r.parent.type||r.declarations.every((e=>e.init)))&&o.length===t.length;!s&&r.declarations&&1!==r.declarations.length&&r&&r.declarations&&r.declarations.length>=1&&(a+=o.length,l=l&&a===r.declarations.length),o.forEach((t=>{e.report({node:t,messageId:"useConst",data:t,fix:l?e=>{const t=n.getFirstToken(r,(e=>e.value===r.kind));return new Ra(e,n).retainRange(r.range).replaceTextRange(t.range,"const")}:null})}))}}return{"Program:exit"(){(function(e,t){const n=new Map;for(let r=0;rfunction(t,n){const r=n.init,o=e.getSourceCode();if(o.getCommentsInside(n).length>o.getCommentsInside(r.object).length)return null;let s=o.getText(r.object);return fr.getPrecedence(r.object)"SpreadElement"===e.type))||t.getCommentsInside(n).length>0)return null;const r=n.arguments[0],o=n.arguments[1],s=t.getText(r),a=t.getText(o),i=function(e){return fr.getPrecedence(e)<=Td||"AwaitExpression"===e.type||"UnaryExpression"===e.type}(r),c=function(e){return fr.getPrecedence(e)=Td&&!("BinaryExpression"===n.type&&"**"===n.operator&&n.right===e)&&!(("CallExpression"===n.type||"NewExpression"===n.type)&&n.arguments.includes(e))&&!("MemberExpression"===n.type&&n.computed&&n.property===e)&&!("ArrayExpression"===n.type))&&!fr.isParenthesised(t,e)}(n,t);let u="",p="";if(!l){if(!i){const e=t.getFirstToken(r),o=t.getTokenBefore(n);o&&o.range[1]===n.range[0]&&!fr.canTokensBeAdjacent(o,e)&&(u=" ")}if(!c){const e=t.getLastToken(o),r=t.getTokenAfter(n);r&&n.range[1]===r.range[0]&&!fr.canTokensBeAdjacent(e,r)&&(p=" ")}}const d=Id(s,i),f=Id(a,c),m=Id(`${d}**${f}`,l);return e.replaceText(n,`${u}${m}${p}`)}})}return{Program(){const t=e.getScope(),r=new Pd(t),o={Math:{pow:{[wd]:!0}}};for(const{node:e}of r.iterateGlobalReferences(o))n(e)}}}};const{CALL:Dd,CONSTRUCT:Od,ReferenceTracker:Bd,getStringIfConstant:Nd}=G.default,jd=new X.default.RegExpParser;var Ld={meta:{type:"suggestion",docs:{description:"enforce using named capture group in regular expression",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/prefer-named-capture-group"},schema:[],messages:{required:"Capture group '{{group}}' should be converted to a named or non-capturing group."}},create(e){function t(t,n,r){let o;try{o=jd.parsePattern(t,0,t.length,r)}catch{return}X.default.visitRegExpAST(o,{onCapturingGroupEnter(t){t.name||e.report({node:n,messageId:"required",data:{group:t.raw}})}})}return{Literal(e){e.regex&&t(e.regex.pattern,e,e.regex.flags.includes("u"))},Program(){const n=e.getScope(),r=new Bd(n),o={RegExp:{[Dd]:!0,[Od]:!0}};for(const{node:e}of r.iterateGlobalReferences(o)){const n=Nd(e.arguments[0]),r=Nd(e.arguments[1]);n&&t(n,e,r&&r.includes("u"))}}}}};const Rd=new Map([[2,{system:"binary",literalPrefix:"0b"}],[8,{system:"octal",literalPrefix:"0o"}],[16,{system:"hexadecimal",literalPrefix:"0x"}]]);var Md={meta:{type:"suggestion",docs:{description:"disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/prefer-numeric-literals"},schema:[],messages:{useLiteral:"Use {{system}} literals instead of {{functionName}}()."},fixable:"code"},create(e){const t=e.getSourceCode();return{"CallExpression[arguments.length=2]"(n){const[r,o]=n.arguments,s=fr.getStaticStringValue(r),a=o.value;if(null!==s&&fr.isStringLiteral(r)&&"Literal"===o.type&&"number"==typeof a&&Rd.has(a)&&(i=n.callee,fr.isSpecificId(i,"parseInt")||fr.isSpecificMemberAccess(i,"Number","parseInt"))){const{system:r,literalPrefix:o}=Rd.get(a);e.report({node:n,messageId:"useLiteral",data:{system:r,functionName:t.getText(n.callee)},fix(e){if(t.getCommentsInside(n).length)return null;const r=`${o}${s}`;if(+r!==parseInt(s,a))return null;const i=t.getTokenBefore(n),c=t.getTokenAfter(n);let l="",u="";return i&&i.range[1]===n.range[0]&&!fr.canTokensBeAdjacent(i,r)&&(l=" "),c&&n.range[1]===c.range[0]&&!fr.canTokensBeAdjacent(r,c)&&(u=" "),e.replaceText(n,`${l}${r}${u}`)}})}var i}}}};const{CALL:_d,ReferenceTracker:$d}=G.default,{isCommaToken:qd,isOpeningParenToken:Ud,isClosingParenToken:Vd,isParenthesised:Wd}=fr,Gd=/\s/u;function zd(e){return e.arguments.some((e=>"SpreadElement"===e.type))}function Jd(e){return"Property"===e.type&&("get"===e.kind||"set"===e.kind)}function Kd(e){return e.properties.some(Jd)}function Yd(e){return e.arguments.filter((e=>"ObjectExpression"===e.type)).some(Kd)}function Hd(e,t){switch(e.type){case"AssignmentExpression":case"ArrowFunctionExpression":case"ConditionalExpression":return!Wd(t,e);default:return!1}}function Xd(e,t,n){const r=[n.getFirstToken(e),n.getLastToken(e)];let o=n.getTokenBefore(e),s=n.getTokenAfter(e);for(;o&&s&&o.range[0]>t.range[0]&&Ud(o)&&Vd(s);)r.push(o,s),o=n.getTokenBefore(o),s=n.getTokenAfter(s);return r.sort(((e,t)=>e.range[0]-t.range[0]))}function Qd(e,t){const n=t.text;let r=e.range[0];{const n=t.getTokenBefore(e,{includeComments:!0});if(n&&"Line"===n.type)return r}for(;Gd.test(n[r-1]||"");)r-=1;return r}function Zd(e,t){const n=t.text;let r=e.range[1];for(;Gd.test(n[r]||"");)r+=1;return r}function ef(e,t){return function*(n){const r=t.getTokenAfter(e.callee,Ud),o=t.getLastToken(e);yield n.removeRange([e.range[0],r.range[0]]),!function(e,t){const n=e.parent;switch(n.type){case"VariableDeclarator":case"ArrayExpression":case"ReturnStatement":case"CallExpression":case"Property":return!1;case"AssignmentExpression":return n.left===e&&!Wd(t,e);default:return!Wd(t,e)}}(e,t)?(yield n.replaceText(r,"{"),yield n.replaceText(o,"}")):(yield n.replaceText(r,"({"),yield n.replaceText(o,"})"));for(const o of e.arguments){const e=Xd(o,r,t),s=e.shift(),a=e.pop();if("ObjectExpression"===o.type){const r=t.getLastToken(o,1),i=t.getTokenAfter(a);for(const t of e)yield n.remove(t);const c=[s.range[0],Zd(s,t)],l=[Math.max(Qd(a,t),c[1]),a.range[1]];yield n.removeRange(c),yield n.removeRange(l),(0===o.properties.length||qd(r))&&qd(i)&&(yield n.remove(i))}else Hd(o,t)?(yield n.insertTextBefore(s,"...("),yield n.insertTextAfter(a,")")):yield n.insertTextBefore(s,"...")}}}var tf={meta:{type:"suggestion",docs:{description:"disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/prefer-object-spread"},schema:[],fixable:"code",messages:{useSpreadMessage:"Use an object spread instead of `Object.assign` eg: `{ ...foo }`.",useLiteralMessage:"Use an object literal instead of `Object.assign`. eg: `{ foo: bar }`."}},create(e){const t=e.getSourceCode();return{Program(){const n=e.getScope(),r=new $d(n),o={Object:{assign:{[_d]:!0}}};for(const{node:n}of r.iterateGlobalReferences(o))if(n.arguments.length>=1&&"ObjectExpression"===n.arguments[0].type&&!zd(n)&&!(n.arguments.length>1&&Yd(n))){const r=1===n.arguments.length?"useLiteralMessage":"useSpreadMessage",o=ef(n,t);e.report({node:n,messageId:r,fix:o})}}}}},nf={meta:{type:"suggestion",docs:{description:"require using Error objects as Promise rejection reasons",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/prefer-promise-reject-errors"},fixable:null,schema:[{type:"object",properties:{allowEmptyReject:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{rejectAnError:"Expected the Promise rejection reason to be an Error."}},create(e){const t=e.options.length&&e.options[0].allowEmptyReject;function n(n){!n.arguments.length&&t||n.arguments.length&&fr.couldBeError(n.arguments[0])&&("Identifier"!==n.arguments[0].type||"undefined"!==n.arguments[0].name)||e.report({node:n,messageId:"rejectAnError"})}return{CallExpression(e){(function(e){return fr.isSpecificMemberAccess(e.callee,"Promise","reject")})(e)&&n(e)},"NewExpression:exit"(t){"Identifier"===t.callee.type&&"Promise"===t.callee.name&&t.arguments.length&&fr.isFunction(t.arguments[0])&&t.arguments[0].params.length>1&&"Identifier"===t.arguments[0].params[1].type&&e.getDeclaredVariables(t.arguments[0]).find((e=>e.name===t.arguments[0].params[1].name)).references.filter((e=>e.isRead())).filter((e=>"CallExpression"===e.identifier.parent.type&&e.identifier===e.identifier.parent.callee)).forEach((e=>n(e.identifier.parent)))}}}},rf={meta:{type:"suggestion",docs:{description:"require `Reflect` methods where applicable",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/prefer-reflect"},deprecated:!0,replacedBy:[],schema:[{type:"object",properties:{exceptions:{type:"array",items:{enum:["apply","call","delete","defineProperty","getOwnPropertyDescriptor","getPrototypeOf","setPrototypeOf","isExtensible","getOwnPropertyNames","preventExtensions"]},uniqueItems:!0}},additionalProperties:!1}],messages:{preferReflect:"Avoid using {{existing}}, instead use {{substitute}}."}},create(e){const t={apply:"Function.prototype.apply",call:"Function.prototype.call",defineProperty:"Object.defineProperty",getOwnPropertyDescriptor:"Object.getOwnPropertyDescriptor",getPrototypeOf:"Object.getPrototypeOf",setPrototypeOf:"Object.setPrototypeOf",isExtensible:"Object.isExtensible",getOwnPropertyNames:"Object.getOwnPropertyNames",preventExtensions:"Object.preventExtensions"},n={apply:"Reflect.apply",call:"Reflect.apply",defineProperty:"Reflect.defineProperty",getOwnPropertyDescriptor:"Reflect.getOwnPropertyDescriptor",getPrototypeOf:"Reflect.getPrototypeOf",setPrototypeOf:"Reflect.setPrototypeOf",isExtensible:"Reflect.isExtensible",getOwnPropertyNames:"Reflect.getOwnPropertyNames",preventExtensions:"Reflect.preventExtensions"},r=(e.options[0]||{}).exceptions||[];function o(t,n,r){e.report({node:t,messageId:"preferReflect",data:{existing:n,substitute:r}})}return{CallExpression(e){const s=(e.callee.property||{}).name,a="Reflect"===(e.callee.object||{}).name,i=Object.prototype.hasOwnProperty.call(n,s),c=-1!==r.indexOf(s);!i||a||c||o(e,t[s],n[s])},UnaryExpression(e){const t="delete"===e.operator,n="Identifier"===e.argument.type,s=-1!==r.indexOf("delete");!t||n||s||o(e,"the delete keyword","Reflect.deleteProperty")}}}};const{CALL:of,CONSTRUCT:sf,ReferenceTracker:af,findVariable:cf}=G.default;function lf(e){return"Literal"===e.type&&Object.prototype.hasOwnProperty.call(e,"regex")}function uf(e){return"TemplateLiteral"===e.type&&0===e.expressions.length}var pf={meta:{type:"suggestion",docs:{description:"disallow use of the `RegExp` constructor in favor of regular expression literals",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/prefer-regex-literals"},schema:[{type:"object",properties:{disallowRedundantWrapping:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{unexpectedRegExp:"Use a regular expression literal instead of the 'RegExp' constructor.",unexpectedRedundantRegExp:"Regular expression literal is unnecessarily wrapped within a 'RegExp' constructor.",unexpectedRedundantRegExpWithFlags:"Use regular expression literal with flags instead of the 'RegExp' constructor."}},create(e){const[{disallowRedundantWrapping:t=!1}={}]=e.options;function n(t){return"TaggedTemplateExpression"===t.type&&fr.isSpecificMemberAccess(t.tag,"String","raw")&&function(t){const n=e.getScope(),r=cf(n,t);return null!==r&&"global"===r.scope.type&&0===r.defs.length}(fr.skipChainExpression(t.tag).object)&&uf(t.quasi)}function r(e){return function(e){return"Literal"===e.type&&"string"==typeof e.value}(e)||uf(e)||n(e)}function o(e){const t=e.arguments;return!(1!==t.length&&2!==t.length||!t.every(r))}function s(e){const t=e.arguments;return!(1!==t.length||!lf(t[0]))||!(2!==t.length||!lf(t[0])||!r(t[1]))}return{Program(){const n=e.getScope(),r=new af(n),a={RegExp:{[of]:!0,[sf]:!0}};for(const{node:n}of r.iterateGlobalReferences(a))t&&s(n)?2===n.arguments.length?e.report({node:n,messageId:"unexpectedRedundantRegExpWithFlags"}):e.report({node:n,messageId:"unexpectedRedundantRegExp"}):o(n)&&e.report({node:n,messageId:"unexpectedRegExp"})}}}};function df(e){const t=e.identifier,n=t.parent;return!("MemberExpression"===n.type&&n.object===t&&!n.computed)}var ff={meta:{type:"suggestion",docs:{description:"require rest parameters instead of `arguments`",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/prefer-rest-params"},schema:[],messages:{preferRestParams:"Use the rest parameters instead of 'arguments'."}},create(e){function t(t){e.report({node:t.identifier,loc:t.identifier.loc,messageId:"preferRestParams"})}function n(){const n=function(e){const t=e.variables;for(let e=0;ee+o.slice(t.range[1],r[n+1].range[0])),"")}function o(e,n,s){if("Literal"===e.type&&"string"==typeof e.value)return`\`${e.raw.slice(1,-1).replace(/\\*(\$\{|`)/gu,(e=>e.lastIndexOf("\\")%2?`\\${e}`:e)).replace(new RegExp(`\\\\${e.raw[0]}`,"gu"),e.raw[0])}\``;if("TemplateLiteral"===e.type)return t.getText(e);if(gf(e)&&xf(e)&&bf(e)){const i=t.getFirstTokenBetween(e.left,e.right,(e=>"+"===e.value)),c=r(e.left,i),l=r(i,e.right),u="BinaryExpression"===(a=e.left).type?Ef(a.right):"TemplateLiteral"===a.type?a.expressions.length&&a.quasis.length&&a.quasis[a.quasis.length-1].range[0]===a.quasis[a.quasis.length-1].range[1]:"Literal"!==a.type||"string"!=typeof a.value,p=Ef(e.right);return u?o(e.left,n,c+l).slice(0,-1)+o(e.right,null,s).slice(1):p?o(e.left,n,null).slice(0,-1)+o(e.right,c+l,s).slice(1):`${o(e.left,n,null)}${c}+${l}${o(e.right,s,null)}`}var a;return`\`\${${n||""}${t.getText(e)}${s||""}}\``}function s(e,t){const n=hf(t.parent);return yf(n)?null:e.replaceText(n,o(n,null,null))}function a(t){if(!fr.isStringLiteral(t)||!gf(t.parent))return;const r=hf(t.parent);n[r.range[0]]||(n[r.range[0]]=!0,bf(r)&&e.report({node:r,messageId:"unexpectedStringConcatenation",fix:e=>s(e,t)}))}return{Program(){n=Object.create(null)},Literal:a,TemplateLiteral:a}}},Cf={meta:{type:"suggestion",docs:{description:"require quotes around object literal property names",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/quote-props"},schema:{anyOf:[{type:"array",items:[{enum:["always","as-needed","consistent","consistent-as-needed"]}],minItems:0,maxItems:1},{type:"array",items:[{enum:["always","as-needed","consistent","consistent-as-needed"]},{type:"object",properties:{keywords:{type:"boolean"},unnecessary:{type:"boolean"},numbers:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},fixable:"code",messages:{requireQuotesDueToReservedWord:"Properties should be quoted as '{{property}}' is a reserved word.",inconsistentlyQuotedProperty:"Inconsistently quoted property '{{key}}' found.",unnecessarilyQuotedProperty:"Unnecessarily quoted property '{{property}}' found.",unquotedReservedProperty:"Unquoted reserved word '{{property}}' used as key.",unquotedNumericProperty:"Unquoted number literal '{{property}}' used as key.",unquotedPropertyFound:"Unquoted property '{{property}}' found.",redundantQuoting:"Properties shouldn't be quoted as all quotes are redundant."}},create(e){const t=e.options[0],n=e.options[1]&&e.options[1].keywords,r=!e.options[1]||!1!==e.options[1].unnecessary,o=e.options[1]&&e.options[1].numbers,s=e.getSourceCode();function a(e){return io.indexOf(e)>=0}function i(e,t,n){return 1===t.length&&0===t[0].start&&t[0].end===e.length&&(["Identifier","Keyword","Null","Boolean"].indexOf(t[0].type)>=0||"Numeric"===t[0].type&&!n&&String(+t[0].value)===t[0].value)}function c(e){return"Identifier"===e.type?e.name:e.value}function l(e){return"Literal"===e.type&&"string"==typeof e.value?s.getText(e):`"${"Identifier"===e.type?e.name:e.value}"`}function u(t,r){const o=[],s=[];let u=null,p=!1;t.properties.forEach((e=>{const t=e.key;if(t&&!e.method&&!e.computed&&!e.shorthand)if("Literal"===t.type&&"string"==typeof t.value){if(o.push(e),r){let e;try{e=q.default.tokenize(t.value)}catch{return void(p=!0)}p=p||!i(t.value,e)||n&&a(e[0].value)}}else n&&r&&"Identifier"===t.type&&a(t.name)?(s.push(e),p=!0,u=t.name):s.push(e)})),r&&o.length&&!p?o.forEach((t=>{e.report({node:t,messageId:"redundantQuoting",fix:e=>e.replaceText(t.key,c(t.key))})})):s.length&&u?s.forEach((t=>{e.report({node:t,messageId:"requireQuotesDueToReservedWord",data:{property:u},fix:e=>e.replaceText(t.key,l(t.key))})})):o.length&&s.length&&s.forEach((t=>{e.report({node:t,messageId:"inconsistentlyQuotedProperty",data:{key:t.key.name||t.key.value},fix:e=>e.replaceText(t.key,l(t.key))})}))}return{Property(s){"always"!==t&&t||function(t){const n=t.key;t.method||t.computed||t.shorthand||"Literal"===n.type&&"string"==typeof n.value||e.report({node:t,messageId:"unquotedPropertyFound",data:{property:n.name||n.value},fix:e=>e.replaceText(n,l(n))})}(s),"as-needed"===t&&function(t){const s=t.key;if(!(t.method||t.computed||t.shorthand))if("Literal"===s.type&&"string"==typeof s.value){let l;try{l=q.default.tokenize(s.value)}catch{return}if(1!==l.length)return;if(a(l[0].value)&&n)return;r&&i(s.value,l,o)&&e.report({node:t,messageId:"unnecessarilyQuotedProperty",data:{property:s.value},fix:e=>e.replaceText(s,c(s))})}else n&&"Identifier"===s.type&&a(s.name)?e.report({node:t,messageId:"unquotedReservedProperty",data:{property:s.name},fix:e=>e.replaceText(s,l(s))}):o&&"Literal"===s.type&&fr.isNumericLiteral(s)&&e.report({node:t,messageId:"unquotedNumericProperty",data:{property:s.value},fix:e=>e.replaceText(s,l(s))})}(s)},ObjectExpression(e){"consistent"===t&&u(e,!1),"consistent-as-needed"===t&&u(e,!0)}}}};const vf={double:{quote:'"',alternateQuote:"'",description:"doublequote"},single:{quote:"'",alternateQuote:'"',description:"singlequote"},backtick:{quote:"`",alternateQuote:'"',description:"backtick"}},Af=new RegExp(String.raw`(^|[^\\])(\\\\)*[${Array.from(fr.LINEBREAKS).join("")}]`,"u");vf.double.convert=vf.single.convert=vf.backtick.convert=function(e){const t=this.quote,n=e[0];return t===n?e:t+e.slice(1,-1).replace(/\\(\$\{|\r\n?|\n|.)|["'`]|\$\{|(\r\n?|\n)/gu,((e,r,o)=>r===n||"`"===n&&"${"===r?r:e===t||"`"===t&&"${"===e?`\\${e}`:o&&"`"===n?"\\n":e))+t};var kf={meta:{type:"layout",docs:{description:"enforce the consistent use of either backticks, double, or single quotes",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/quotes"},fixable:"code",schema:[{enum:["single","double","backtick"]},{anyOf:[{enum:["avoid-escape"]},{type:"object",properties:{avoidEscape:{type:"boolean"},allowTemplateLiterals:{type:"boolean"}},additionalProperties:!1}]}],messages:{wrongQuotes:"Strings must use {{description}}."}},create(e){const t=e.options[0],n=vf[t||"double"],r=e.options[1],o=r&&!0===r.allowTemplateLiterals,s=e.getSourceCode();let a=r&&!0===r.avoidEscape;function i(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value}function c(e){const t=e.parent.parent;if("Program"!==t.type&&("BlockStatement"!==t.type||!fr.isFunction(t.parent)))return!1;for(let n=0;n=0),o||e.report({node:r,messageId:"wrongQuotes",data:{description:n.description},fix:e=>"backtick"===t&&fr.hasOctalOrNonOctalDecimalEscapeSequence(s)?null:e.replaceText(r,n.convert(r.raw))})}},TemplateLiteral(r){o||"backtick"===t||function(e){return"TaggedTemplateExpression"===e.parent.type&&e===e.parent.quasi||(e.expressions.length>0||!!(e.quasis.length>=1&&Af.test(e.quasis[0].value.raw)))}(r)||e.report({node:r,messageId:"wrongQuotes",data:{description:n.description},fix:e=>c(r)?null:e.replaceText(r,n.convert(s.getText(r)))})}}}};const wf=new Set(Array.from({length:35},((e,t)=>t+2)));function Pf(e){return e.defs.length>=1}var Tf={meta:{type:"suggestion",docs:{description:"enforce the consistent use of the radix argument when using `parseInt()`",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/radix"},schema:[{enum:["always","as-needed"]}],messages:{missingParameters:"Missing parameters.",redundantRadix:"Redundant radix parameter.",missingRadix:"Missing radix parameter.",invalidRadix:"Invalid radix parameter, must be an integer between 2 and 36."}},create(e){const t=e.options[0]||"always";function n(n){const r=n.arguments;switch(r.length){case 0:e.report({node:n,messageId:"missingParameters"});break;case 1:"always"===t&&e.report({node:n,messageId:"missingRadix"});break;default:"as-needed"===t&&function(e){return"Literal"===e.type&&10===e.value}(r[1])?e.report({node:n,messageId:"redundantRadix"}):function(e){return!("Literal"===e.type&&!wf.has(e.value)||"Identifier"===e.type&&"undefined"===e.name)}(r[1])||e.report({node:n,messageId:"invalidRadix"})}}return{"Program:exit"(){const t=e.getScope();let r;r=fr.getVariableByName(t,"parseInt"),r&&!Pf(r)&&r.references.forEach((e=>{const t=e.identifier;fr.isCallee(t)&&n(t.parent)})),r=fr.getVariableByName(t,"Number"),r&&!Pf(r)&&r.references.forEach((e=>{const t=e.identifier.parent,r="ChainExpression"===t.parent.type?t.parent:t;(function(e){return"MemberExpression"===e.type&&!e.computed&&"Identifier"===e.property.type&&"parseInt"===e.property.name})(t)&&fr.isCallee(r)&&n(r.parent)}))}}}};function If(e,t=new Map){for(const n of e.references)t.set(n.identifier,n);for(const n of e.childScopes)"function"!==n.type&&If(n,t);return t}class Ff{constructor(){this.info=new WeakMap}initialize(e){const t=new Set,n=new Set;for(const r of e.prevSegments){const e=this.info.get(r);e&&(e.outdatedReadVariableNames.forEach(Set.prototype.add,t),e.freshReadVariableNames.forEach(Set.prototype.add,n))}this.info.set(e,{outdatedReadVariableNames:t,freshReadVariableNames:n})}markAsRead(e,t){for(const n of e){const e=this.info.get(n);e&&(e.freshReadVariableNames.add(t),e.outdatedReadVariableNames.delete(t))}}makeOutdated(e){for(const t of e){const e=this.info.get(t);e&&(e.freshReadVariableNames.forEach(Set.prototype.add,e.outdatedReadVariableNames),e.freshReadVariableNames.clear())}}isOutdated(e,t){for(const n of e){const e=this.info.get(n);if(e&&e.outdatedReadVariableNames.has(t))return!0}return!1}}var Df={meta:{type:"problem",docs:{description:"disallow assignments that can lead to race conditions due to usage of `await` or `yield`",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/require-atomic-updates"},fixable:null,schema:[],messages:{nonAtomicUpdate:"Possible race condition: `{{value}}` might be reassigned based on an outdated value of `{{value}}`."}},create(e){const t=e.getSourceCode(),n=new Map,r=new Ff;let o=null;return{onCodePathStart(t){const n=e.getScope(),r="function"===n.type&&(n.block.async||n.block.generator);o={upper:o,codePath:t,referenceMap:r?If(n):null}},onCodePathEnd(){o=o.upper},onCodePathSegmentStart(e){r.initialize(e)},Identifier(e){const{codePath:t,referenceMap:s}=o,a=s&&s.get(e);if(!a)return;const i=a.identifier.name,c=a.resolved,l=function(e){if(e.writeExpr)return e.writeExpr;let t=e.identifier;for(;t;){const e=t.parent.type;if("AssignmentExpression"===e&&t.parent.left===t)return t.parent.right;if("MemberExpression"!==e||t.parent.object!==t)break;t=t.parent}return null}(a),u="MemberExpression"===a.identifier.parent.type;if(!a.isRead()||l&&"="===l.parent.operator||r.markAsRead(t.currentSegments,i),l&&l.parent.right===l&&!function(e,t){if(!e)return!1;if(t&&e.defs.some((e=>"Parameter"===e.type)))return!1;const n=e.scope.variableScope;return e.references.every((e=>e.from.variableScope===n))}(c,u)){let e=n.get(l);e||(e=[],n.set(l,e)),e.push(a)}},":expression:exit"(s){const{codePath:a,referenceMap:i}=o;if(!i)return;"AwaitExpression"!==s.type&&"YieldExpression"!==s.type||r.makeOutdated(a.currentSegments);const c=n.get(s);if(c){n.delete(s);for(const n of c){const o=n.identifier.name;r.isOutdated(a.currentSegments,o)&&e.report({node:s.parent,messageId:"nonAtomicUpdate",data:{value:t.getText(s.parent.left)}})}}}}}};var Of={meta:{type:"suggestion",docs:{description:"disallow async functions which have no `await` expression",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/require-await"},schema:[],messages:{missingAwait:"{{name}} has no 'await' expression."}},create(e){const t=e.getSourceCode();let n=null;function r(){n={upper:n,hasAwait:!1}}function o(r){var o;r.generator||!r.async||n.hasAwait||fr.isEmptyFunction(r)||e.report({node:r,loc:fr.getFunctionHeadLoc(r,t),messageId:"missingAwait",data:{name:(o=fr.getFunctionNameWithKind(r),o[0].toUpperCase()+o.slice(1))}}),n=n.upper}return{FunctionDeclaration:r,FunctionExpression:r,ArrowFunctionExpression:r,"FunctionDeclaration:exit":o,"FunctionExpression:exit":o,"ArrowFunctionExpression:exit":o,AwaitExpression(){n&&(n.hasAwait=!0)},ForOfStatement(e){n&&e.await&&(n.hasAwait=!0)}}}},Bf={meta:{type:"suggestion",docs:{description:"require JSDoc comments",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/require-jsdoc"},schema:[{type:"object",properties:{require:{type:"object",properties:{ClassDeclaration:{type:"boolean",default:!1},MethodDefinition:{type:"boolean",default:!1},FunctionDeclaration:{type:"boolean",default:!0},ArrowFunctionExpression:{type:"boolean",default:!1},FunctionExpression:{type:"boolean",default:!1}},additionalProperties:!1,default:{}}},additionalProperties:!1}],deprecated:!0,replacedBy:[],messages:{missingJSDocComment:"Missing JSDoc comment."}},create(e){const t=e.getSourceCode(),n=Object.assign({FunctionDeclaration:!0,MethodDefinition:!1,ClassDeclaration:!1,ArrowFunctionExpression:!1,FunctionExpression:!1},e.options[0]&&e.options[0].require);function r(n){t.getJSDocComment(n)||function(t){e.report({node:t,messageId:"missingJSDocComment"})}(n)}return{FunctionDeclaration(e){n.FunctionDeclaration&&r(e)},FunctionExpression(e){(n.MethodDefinition&&"MethodDefinition"===e.parent.type||n.FunctionExpression&&("VariableDeclarator"===e.parent.type||"Property"===e.parent.type&&e===e.parent.value))&&r(e)},ClassDeclaration(e){n.ClassDeclaration&&r(e)},ArrowFunctionExpression(e){n.ArrowFunctionExpression&&"VariableDeclarator"===e.parent.type&&r(e)}}}};const{CALL:Nf,CONSTRUCT:jf,ReferenceTracker:Lf,getStringIfConstant:Rf}=G.default;var Mf={meta:{type:"suggestion",docs:{description:"enforce the use of `u` flag on RegExp",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/require-unicode-regexp"},messages:{requireUFlag:"Use the 'u' flag."},schema:[]},create:e=>({"Literal[regex]"(t){(t.regex.flags||"").includes("u")||e.report({node:t,messageId:"requireUFlag"})},Program(){const t=e.getScope(),n=new Lf(t),r={RegExp:{[Nf]:!0,[jf]:!0}};for(const{node:o}of n.iterateGlobalReferences(r)){const n=o.arguments[1],r=Rf(n,t);n&&("string"!=typeof r||r.includes("u"))||e.report({node:o,messageId:"requireUFlag"})}}})},_f={meta:{type:"suggestion",docs:{description:"require generator functions to contain `yield`",category:"ECMAScript 6",recommended:!0,url:"https://eslint.org/docs/rules/require-yield"},schema:[],messages:{missingYield:"This generator function does not have 'yield'."}},create(e){const t=[];function n(e){e.generator&&t.push(0)}function r(n){if(!n.generator)return;0===t.pop()&&n.body.body.length>0&&e.report({node:n,messageId:"missingYield"})}return{FunctionDeclaration:n,"FunctionDeclaration:exit":r,FunctionExpression:n,"FunctionExpression:exit":r,YieldExpression(){t.length>0&&(t[t.length-1]+=1)}}}},$f={meta:{type:"layout",docs:{description:"enforce spacing between rest and spread operators and their expressions",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/rest-spread-spacing"},fixable:"whitespace",schema:[{enum:["always","never"]}],messages:{unexpectedWhitespace:"Unexpected whitespace after {{type}} operator.",expectedWhitespace:"Expected whitespace after {{type}} operator."}},create(e){const t=e.getSourceCode(),n="always"===e.options[0];function r(r){const o=t.getFirstToken(r),s=t.getTokenAfter(o),a=t.isSpaceBetweenTokens(o,s);let i;switch(r.type){case"SpreadElement":i="spread","ObjectExpression"===r.parent.type&&(i+=" property");break;case"RestElement":i="rest","ObjectPattern"===r.parent.type&&(i+=" property");break;case"ExperimentalSpreadProperty":i="spread property";break;case"ExperimentalRestProperty":i="rest property";break;default:return}n&&!a?e.report({node:r,loc:o.loc,messageId:"expectedWhitespace",data:{type:i},fix:e=>e.replaceTextRange([o.range[1],s.range[0]]," ")}):!n&&a&&e.report({node:r,loc:{start:o.loc.end,end:s.loc.start},messageId:"unexpectedWhitespace",data:{type:i},fix:e=>e.removeRange([o.range[1],s.range[0]])})}return{SpreadElement:r,RestElement:r,ExperimentalSpreadProperty:r,ExperimentalRestProperty:r}}},qf={meta:{type:"layout",docs:{description:"require or disallow semicolons instead of ASI",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/semi"},fixable:"code",schema:{anyOf:[{type:"array",items:[{enum:["never"]},{type:"object",properties:{beforeStatementContinuationChars:{enum:["always","any","never"]}},additionalProperties:!1}],minItems:0,maxItems:2},{type:"array",items:[{enum:["always"]},{type:"object",properties:{omitLastInOneLineBlock:{type:"boolean"}},additionalProperties:!1}],minItems:0,maxItems:2}]},messages:{missingSemi:"Missing semicolon.",extraSemi:"Extra semicolon."}},create(e){const t=/^[-[(/+`]/u,n=e.options[1],r="never"===e.options[0],o=Boolean(n&&n.omitLastInOneLineBlock),s=n&&n.beforeStatementContinuationChars||"any",a=e.getSourceCode();function i(t,n){const r=a.getLastToken(t);let o,s,i;n?(o="extraSemi",i=r.loc,s=function(e){return new Ra(e,a).retainSurroundingTokens(r).remove(r)}):(o="missingSemi",i={start:r.loc.end,end:fr.getNextLocation(a,r.loc.end)},s=function(e){return e.insertTextAfter(r,";")}),e.report({node:t,loc:i,messageId:o,fix:s})}function c(e){const t=e.type;return"DoWhileStatement"!==t&&"BreakStatement"!==t&&"ContinueStatement"!==t&&"DebuggerStatement"!==t&&"ImportDeclaration"!==t&&"ExportAllDeclaration"!==t&&("ReturnStatement"===t?Boolean(e.argument):"ExportNamedDeclaration"===t?Boolean(e.declaration):!function(e){if(!fr.isClosingBraceToken(e))return!1;const t=a.getNodeByRangeIndex(e.range[0]);return"BlockStatement"===t.type&&"ArrowFunctionExpression"===t.parent.type}(a.getLastToken(e,1)))}function l(e){return Boolean(e)&&t.test(e.value)&&"++"!==e.value&&"--"!==e.value}function u(e){return!!function(e){const t=a.getTokenAfter(e);return!t||fr.isClosingBraceToken(t)||fr.isSemicolonToken(t)}(a.getLastToken(e))||!function(e){const t=a.getLastToken(e,1),n=a.getTokenAfter(e);return!!n&&fr.isTokenOnSameLine(t,n)}(e)&&("never"===s&&!c(e)||!l(a.getTokenAfter(e)))}function p(e){const t=fr.isSemicolonToken(a.getLastToken(e));if(r)t&&u(e)?i(e,!0):!t&&"always"===s&&l(a.getTokenAfter(e))&&i(e);else{const n=o&&function(e){const t=e.parent,n=a.getTokenAfter(e);return!(!n||"}"!==n.value||!t||"BlockStatement"!==t.type||t.loc.start.line!==t.loc.end.line)}(e);t&&n?i(e,!0):t||n||i(e)}}return{VariableDeclaration:function(e){const t=e.parent;"ForStatement"===t.type&&t.init===e||/^For(?:In|Of)Statement/u.test(t.type)&&t.left===e||p(e)},ExpressionStatement:p,ReturnStatement:p,ThrowStatement:p,DoWhileStatement:p,DebuggerStatement:p,BreakStatement:p,ContinueStatement:p,ImportDeclaration:p,ExportAllDeclaration:p,ExportNamedDeclaration(e){e.declaration||p(e)},ExportDefaultDeclaration(e){/(?:Class|Function)Declaration/u.test(e.declaration.type)||p(e)}}}},Uf={meta:{type:"layout",docs:{description:"enforce consistent spacing before and after semicolons",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/semi-spacing"},fixable:"whitespace",schema:[{type:"object",properties:{before:{type:"boolean",default:!1},after:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{unexpectedWhitespaceBefore:"Unexpected whitespace before semicolon.",unexpectedWhitespaceAfter:"Unexpected whitespace after semicolon.",missingWhitespaceBefore:"Missing whitespace before semicolon.",missingWhitespaceAfter:"Missing whitespace after semicolon."}},create(e){const t=e.options[0],n=e.getSourceCode();let r=!1,o=!0;function s(t,s){if(fr.isSemicolonToken(t)){if(function(e){const t=n.getTokenBefore(e);return t&&fr.isTokenOnSameLine(t,e)&&n.isSpaceBetweenTokens(t,e)}(t)){if(!r){const r=n.getTokenBefore(t),o={start:r.loc.end,end:t.loc.start};e.report({node:s,loc:o,messageId:"unexpectedWhitespaceBefore",fix:e=>e.removeRange([r.range[1],t.range[0]])})}}else if(r){const n=t.loc;e.report({node:s,loc:n,messageId:"missingWhitespaceBefore",fix:e=>e.insertTextBefore(t," ")})}if(!function(e){const t=n.getTokenBefore(e);return!(t&&fr.isTokenOnSameLine(e,t))}(t)&&!function(e){const t=n.getTokenAfter(e);return!(t&&fr.isTokenOnSameLine(e,t))}(t)&&!function(e){const t=n.getTokenAfter(e);return t&&fr.isClosingBraceToken(t)||fr.isClosingParenToken(t)}(t))if(function(e){const t=n.getTokenAfter(e);return t&&fr.isTokenOnSameLine(e,t)&&n.isSpaceBetweenTokens(e,t)}(t)){if(!o){const r=n.getTokenAfter(t),o={start:t.loc.end,end:r.loc.start};e.report({node:s,loc:o,messageId:"unexpectedWhitespaceAfter",fix:e=>e.removeRange([t.range[1],r.range[0]])})}}else if(o){const n=t.loc;e.report({node:s,loc:n,messageId:"missingWhitespaceAfter",fix:e=>e.insertTextAfter(t," ")})}}}function a(e){s(n.getLastToken(e),e)}return"object"==typeof t&&(r=t.before,o=t.after),{VariableDeclaration:a,ExpressionStatement:a,BreakStatement:a,ContinueStatement:a,DebuggerStatement:a,DoWhileStatement:a,ReturnStatement:a,ThrowStatement:a,ImportDeclaration:a,ExportNamedDeclaration:a,ExportAllDeclaration:a,ExportDefaultDeclaration:a,ForStatement(e){e.init&&s(n.getTokenAfter(e.init),e),e.test&&s(n.getTokenAfter(e.test),e)}}}};const Vf=`:matches(${["BreakStatement","ContinueStatement","DebuggerStatement","DoWhileStatement","ExportAllDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ExpressionStatement","ImportDeclaration","ReturnStatement","ThrowStatement","VariableDeclaration"].join(",")})`;var Wf={meta:{type:"layout",docs:{description:"enforce location of semicolons",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/semi-style"},schema:[{enum:["last","first"]}],fixable:"whitespace",messages:{expectedSemiColon:"Expected this semicolon to be at {{pos}}."}},create(e){const t=e.getSourceCode(),n=e.options[0]||"last";function r(n,r){const o=t.getTokenBefore(n),s=t.getTokenAfter(n),a=!o||fr.isTokenOnSameLine(o,n),i=!s||fr.isTokenOnSameLine(n,s);("last"===r&&!a||"first"===r&&!i)&&e.report({loc:n.loc,messageId:"expectedSemiColon",data:{pos:"last"===r?"the end of the previous line":"the beginning of the next line"},fix(e){if(o&&s&&t.commentsExistBetween(o,s))return null;const a=o?o.range[1]:n.range[0],i=s?s.range[0]:n.range[1],c="last"===r?";\n":"\n;";return e.replaceTextRange([a,i],c)}})}return{[Vf](e){if("first"===n&&function(e){const t=e.parent.type;if("IfStatement"===t&&e.parent.consequent===e&&e.parent.alternate)return!0;if("DoWhileStatement"===t)return!0;const n=function(e){const t=e.type;return"BlockStatement"===t||"Program"===t?e.body:"SwitchCase"===t?e.consequent:null}(e.parent);return null!==n&&n[n.length-1]===e}(e))return;const o=t.getLastToken(e);fr.isSemicolonToken(o)&&r(o,n)},ForStatement(e){const n=e.init&&t.getTokenAfter(e.init,fr.isSemicolonToken),o=e.test&&t.getTokenAfter(e.test,fr.isSemicolonToken);n&&r(n,"last"),o&&r(o,"last")}}}},Gf={meta:{type:"suggestion",docs:{description:"enforce sorted import declarations within modules",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/sort-imports"},schema:[{type:"object",properties:{ignoreCase:{type:"boolean",default:!1},memberSyntaxSortOrder:{type:"array",items:{enum:["none","all","multiple","single"]},uniqueItems:!0,minItems:4,maxItems:4},ignoreDeclarationSort:{type:"boolean",default:!1},ignoreMemberSort:{type:"boolean",default:!1},allowSeparatedGroups:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"code",messages:{sortImportsAlphabetically:"Imports should be sorted alphabetically.",sortMembersAlphabetically:"Member '{{memberName}}' of the import declaration should be sorted alphabetically.",unexpectedSyntaxOrder:"Expected '{{syntaxA}}' syntax before '{{syntaxB}}' syntax."}},create(e){const t=e.options[0]||{},n=t.ignoreCase||!1,r=t.ignoreDeclarationSort||!1,o=t.ignoreMemberSort||!1,s=t.memberSyntaxSortOrder||["none","all","multiple","single"],a=t.allowSeparatedGroups||!1,i=e.getSourceCode();let c=null;function l(e){return s.indexOf(function(e){return 0===e.specifiers.length?"none":"ImportNamespaceSpecifier"===e.specifiers[0].type?"all":1===e.specifiers.length?"single":"multiple"}(e))}function u(e){return e.specifiers[0]?e.specifiers[0].local.name:null}return{ImportDeclaration(t){if(!r){if(c&&a&&(p=c,d=t,Math.max(d.loc.start.line-p.loc.end.line-1,0)>0)&&(c=null),c){const r=l(t),o=l(c);let a=u(t),i=u(c);n&&(i=i&&i.toLowerCase(),a=a&&a.toLowerCase()),r!==o?r"ImportSpecifier"===e.type)),o=n?e=>e.local.name.toLowerCase():e=>e.local.name,s=r.map(o).findIndex(((e,t,n)=>n[t-1]>e));-1!==s&&e.report({node:r[s],messageId:"sortMembersAlphabetically",data:{memberName:r[s].local.name},fix:e=>r.some((e=>i.getCommentsBefore(e).length||i.getCommentsAfter(e).length))?null:e.replaceTextRange([r[0].range[0],r[r.length-1].range[1]],r.slice().sort(((e,t)=>o(e)>o(t)?1:-1)).reduce(((e,t,n)=>{const o=n===r.length-1?"":i.getText().slice(r[n].range[1],r[n+1].range[0]);return e+i.getText(t)+o}),""))})}}}}};const zf={asc:(e,t)=>e<=t,ascI:(e,t)=>e.toLowerCase()<=t.toLowerCase(),ascN:(e,t)=>Z.default(e,t)<=0,ascIN:(e,t)=>Z.default(e.toLowerCase(),t.toLowerCase())<=0,desc:(e,t)=>zf.asc(t,e),descI:(e,t)=>zf.ascI(t,e),descN:(e,t)=>zf.ascN(t,e),descIN:(e,t)=>zf.ascIN(t,e)};var Jf={meta:{type:"suggestion",docs:{description:"require object keys to be sorted",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/sort-keys"},schema:[{enum:["asc","desc"]},{type:"object",properties:{caseSensitive:{type:"boolean",default:!0},natural:{type:"boolean",default:!1},minKeys:{type:"integer",minimum:2,default:2}},additionalProperties:!1}],messages:{sortKeys:"Expected object keys to be in {{natural}}{{insensitive}}{{order}}ending order. '{{thisName}}' should be before '{{prevName}}'."}},create(e){const t=e.options[0]||"asc",n=e.options[1],r=n&&!1===n.caseSensitive,o=n&&n.natural,s=n&&n.minKeys,a=zf[t+(r?"I":"")+(o?"N":"")];let i=null;return{ObjectExpression(e){i={upper:i,prevName:null,numKeys:e.properties.length}},"ObjectExpression:exit"(){i=i.upper},SpreadElement(e){"ObjectExpression"===e.parent.type&&(i.prevName=null)},Property(n){if("ObjectPattern"===n.parent.type)return;const c=i.prevName,l=i.numKeys,u=function(e){const t=fr.getStaticPropertyName(e);return null!==t?t:e.key.name||null}(n);null!==u&&(i.prevName=u),null===c||null===u||l"Identifier"===e.id.type)),s=t?e=>e.id.name.toLowerCase():e=>e.id.name,a=o.some((e=>null!==e.init&&"Literal"!==e.init.type));let i=!1;o.slice(1).reduce(((t,r)=>{const c=s(t);return s(r)a||i?null:e.replaceTextRange([o[0].range[0],o[o.length-1].range[1]],o.slice().sort(((e,t)=>s(e)>s(t)?1:-1)).reduce(((e,t,r)=>{const s=r===o.length-1?"":n.getText().slice(o[r].range[1],o[r+1].range[0]);return e+n.getText(t)+s}),""))}),i=!0,t):r}),o[0])}}}};function Yf(e){const t=e.parent;return"BlockStatement"===e.type&&fr.isFunction(t)&&t.body===e}var Hf={meta:{type:"layout",docs:{description:"enforce consistent spacing before blocks",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/space-before-blocks"},fixable:"whitespace",schema:[{oneOf:[{enum:["always","never"]},{type:"object",properties:{keywords:{enum:["always","never","off"]},functions:{enum:["always","never","off"]},classes:{enum:["always","never","off"]}},additionalProperties:!1}]}],messages:{unexpectedSpace:"Unexpected space before opening brace.",missingSpace:"Missing space before opening brace."}},create(e){const t=e.options[0],n=e.getSourceCode();let r=!0,o=!0,s=!0,a=!1,i=!1,c=!1;function l(t){const l=n.getTokenBefore(t);if(l&&!function(e,t){return fr.isArrowToken(e)||fr.isKeywordToken(e)&&!Yf(t)}(l,t)&&fr.isTokenOnSameLine(l,t)){const u=n.isSpaceBetweenTokens(l,t);let p,d;Yf(t)?(p=r,d=a):"ClassBody"===t.type?(p=s,d=c):(p=o,d=i),p&&!u?e.report({node:t,messageId:"missingSpace",fix:e=>e.insertTextBefore(t," ")}):d&&u&&e.report({node:t,messageId:"unexpectedSpace",fix:e=>e.removeRange([l.range[1],t.range[0]])})}}return"object"==typeof t?(r="always"===t.functions,o="always"===t.keywords,s="always"===t.classes,a="never"===t.functions,i="never"===t.keywords,c="never"===t.classes):"never"===t&&(r=!1,o=!1,s=!1,a=!0,i=!0,c=!0),{BlockStatement:l,ClassBody:l,SwitchStatement:function(e){const t=e.cases;let r;r=t.length>0?n.getTokenBefore(t[0]):n.getLastToken(e,1),l(r)}}}},Xf={meta:{type:"layout",docs:{description:"enforce consistent spacing before `function` definition opening parenthesis",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/space-before-function-paren"},fixable:"whitespace",schema:[{oneOf:[{enum:["always","never"]},{type:"object",properties:{anonymous:{enum:["always","never","ignore"]},named:{enum:["always","never","ignore"]},asyncArrow:{enum:["always","never","ignore"]}},additionalProperties:!1}]}],messages:{unexpectedSpace:"Unexpected space before function parentheses.",missingSpace:"Missing space before function parentheses."}},create(e){const t=e.getSourceCode(),n="string"==typeof e.options[0]?e.options[0]:"always",r="object"==typeof e.options[0]?e.options[0]:{};function o(o){const s=function(e){if("ArrowFunctionExpression"===e.type){if(e.async&&fr.isOpeningParenToken(t.getFirstToken(e,{skip:1})))return r.asyncArrow||n}else{if(function(e){if(e.id)return!0;const t=e.parent;return"MethodDefinition"===t.type||"Property"===t.type&&("get"===t.kind||"set"===t.kind||t.method)}(e))return r.named||n;if(!e.generator)return r.anonymous||n}return"ignore"}(o);if("ignore"===s)return;const a=t.getFirstToken(o,fr.isOpeningParenToken),i=t.getTokenBefore(a),c=t.isSpaceBetweenTokens(i,a);c&&"never"===s?e.report({node:o,loc:{start:i.loc.end,end:a.loc.start},messageId:"unexpectedSpace",fix(e){const n=t.getCommentsBefore(a);return n.some((e=>"Line"===e.type))?null:e.replaceTextRange([i.range[1],a.range[0]],n.reduce(((e,n)=>e+t.getText(n)),""))}}):c||"always"!==s||e.report({node:o,loc:a.loc,messageId:"missingSpace",fix:e=>e.insertTextAfter(i," ")})}return{ArrowFunctionExpression:o,FunctionDeclaration:o,FunctionExpression:o}}},Qf={meta:{type:"layout",docs:{description:"enforce consistent spacing inside parentheses",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/space-in-parens"},fixable:"whitespace",schema:[{enum:["always","never"]},{type:"object",properties:{exceptions:{type:"array",items:{enum:["{}","[]","()","empty"]},uniqueItems:!0}},additionalProperties:!1}],messages:{missingOpeningSpace:"There must be a space after this paren.",missingClosingSpace:"There must be a space before this paren.",rejectedOpeningSpace:"There should be no space after this paren.",rejectedClosingSpace:"There should be no space before this paren."}},create(e){const t="always"===e.options[0],n=e.options[1]&&e.options[1].exceptions||[],r={};let o;n.length&&(r.braceException=n.includes("{}"),r.bracketException=n.includes("[]"),r.parenException=n.includes("()"),r.empty=n.includes("empty"));const s=e.getSourceCode();function a(e){return o.openers.includes(e.value)}function i(e){return o.closers.includes(e.value)}return{Program:function(n){o=function(){const e=[],t=[];return r.braceException&&(e.push("{"),t.push("}")),r.bracketException&&(e.push("["),t.push("]")),r.parenException&&(e.push("("),t.push(")")),r.empty&&(e.push(")"),t.push("(")),{openers:e,closers:t}}();const c=s.tokensAndComments;c.forEach(((o,l)=>{const u=c[l-1],p=c[l+1];var d,f,m,g;(fr.isOpeningParenToken(o)||fr.isClosingParenToken(o))&&("("!==o.value||(d=o,f=p,s.isSpaceBetweenTokens(d,f)||!r.empty&&fr.isClosingParenToken(f)||(t?a(f):!a(f)))||e.report({node:n,loc:o.loc,messageId:"missingOpeningSpace",fix:e=>e.insertTextAfter(o," ")}),"("===o.value&&function(e,n){return!!fr.isTokenOnSameLine(e,n)&&"Line"!==n.type&&!!s.isSpaceBetweenTokens(e,n)&&(t?a(n):!a(n))}(o,p)&&e.report({node:n,loc:{start:o.loc.end,end:p.loc.start},messageId:"rejectedOpeningSpace",fix:e=>e.removeRange([o.range[1],p.range[0]])}),")"!==o.value||(m=u,g=o,s.isSpaceBetweenTokens(m,g)||!r.empty&&fr.isOpeningParenToken(m)||(t?i(m):!i(m)))||e.report({node:n,loc:o.loc,messageId:"missingClosingSpace",fix:e=>e.insertTextBefore(o," ")}),")"===o.value&&function(e,n){return!!fr.isTokenOnSameLine(e,n)&&!!s.isSpaceBetweenTokens(e,n)&&(t?i(e):!i(e))}(u,o)&&e.report({node:n,loc:{start:u.loc.end,end:o.loc.start},messageId:"rejectedClosingSpace",fix:e=>e.removeRange([u.range[1],o.range[0]])}))}))}}}},Zf={meta:{type:"layout",docs:{description:"require spacing around infix operators",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/space-infix-ops"},fixable:"whitespace",schema:[{type:"object",properties:{int32Hint:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{missingSpace:"Operator '{{operator}}' must be spaced."}},create(e){const t=!!e.options[0]&&!0===e.options[0].int32Hint,n=e.getSourceCode();function r(e,t,r){const o=n.getFirstTokenBetween(e,t,(e=>e.value===r)),s=n.getTokenBefore(o),a=n.getTokenAfter(o);return n.isSpaceBetweenTokens(s,o)&&n.isSpaceBetweenTokens(o,a)?null:o}function o(t,r){e.report({node:t,loc:r.loc,messageId:"missingSpace",data:{operator:r.value},fix(e){const t=n.getTokenBefore(r),o=n.getTokenAfter(r);let s="";return r.range[0]-t.range[1]==0&&(s=" "),s+=r.value,o.range[0]-r.range[1]==0&&(s+=" "),e.replaceText(r,s)}})}function s(e){const s=r(e.left.typeAnnotation?e.left.typeAnnotation:e.left,e.right,e.operator||"=");s&&(t&&n.getText(e).endsWith("|0")||o(e,s))}return{AssignmentExpression:s,AssignmentPattern:s,BinaryExpression:s,LogicalExpression:s,ConditionalExpression:function(e){const t=r(e.test,e.consequent,"?"),n=r(e.consequent,e.alternate,":");t&&o(e,t),n&&o(e,n)},VariableDeclarator:function(e){const t=e.id.typeAnnotation?e.id.typeAnnotation:e.id,n=e.init;if(n){const s=r(t,n,"=");s&&o(e,s)}}}}},em={meta:{type:"layout",docs:{description:"enforce consistent spacing before or after unary operators",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/space-unary-ops"},fixable:"whitespace",schema:[{type:"object",properties:{words:{type:"boolean",default:!0},nonwords:{type:"boolean",default:!1},overrides:{type:"object",additionalProperties:{type:"boolean"}}},additionalProperties:!1}],messages:{unexpectedBefore:"Unexpected space before unary operator '{{operator}}'.",unexpectedAfter:"Unexpected space after unary operator '{{operator}}'.",unexpectedAfterWord:"Unexpected space after unary word operator '{{word}}'.",wordOperator:"Unary word operator '{{word}}' must be followed by whitespace.",operator:"Unary operator '{{operator}}' must be followed by whitespace.",beforeUnaryExpressions:"Space is required before unary expressions '{{token}}'."}},create(e){const t=e.options[0]||{words:!0,nonwords:!1},n=e.getSourceCode();function r(e){return t.overrides&&Object.prototype.hasOwnProperty.call(t.overrides,e)}function o(e){return t.overrides[e]}function s(t,n,r,o){r.range[0]===n.range[1]&&e.report({node:t,messageId:"wordOperator",data:{word:o},fix:e=>e.insertTextAfter(n," ")})}function a(t,n,r,o){fr.canTokensBeAdjacent(n,r)&&r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedAfterWord",data:{word:o},fix:e=>e.removeRange([n.range[1],r.range[0]])})}function i(e,n,i,c){r(c)?o(c)?s(e,n,i,c):a(e,n,i,c):t.words?s(e,n,i,c):a(e,n,i,c)}function c(t,n,r){if(t.prefix){if(function(e){return e&&"UnaryExpression"===e.type&&"!"===e.argument.operator&&e.argument&&"UnaryExpression"===e.argument.type&&"!"===e.argument.operator}(t))return;n.range[1]===r.range[0]&&e.report({node:t,messageId:"operator",data:{operator:n.value},fix:e=>e.insertTextAfter(n," ")})}else n.range[1]===r.range[0]&&e.report({node:t,messageId:"beforeUnaryExpressions",data:{token:r.value},fix:e=>e.insertTextBefore(r," ")})}function l(t,n,r){t.prefix?r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedAfter",data:{operator:n.value},fix:e=>fr.canTokensBeAdjacent(n,r)?e.removeRange([n.range[1],r.range[0]]):null}):r.range[0]>n.range[1]&&e.report({node:t,messageId:"unexpectedBefore",data:{operator:r.value},fix:e=>e.removeRange([n.range[1],r.range[0]])})}function u(e){const s="UpdateExpression"!==e.type||e.prefix?n.getFirstTokens(e,2):n.getLastTokens(e,2),a=s[0],u=s[1];if(("NewExpression"===e.type||e.prefix)&&"Keyword"===a.type)return void i(e,a,u,a.value);const p=e.prefix?s[0].value:s[1].value;r(p)?o(p)?c(e,a,u):l(e,a,u):t.nonwords?c(e,a,u):l(e,a,u)}return{UnaryExpression:u,UpdateExpression:u,NewExpression:u,YieldExpression:function(e){const t=n.getFirstTokens(e,3);e.argument&&!e.delegate&&i(e,t[0],t[1],"yield")},AwaitExpression:function(e){const t=n.getFirstTokens(e,3);i(e,t[0],t[1],"await")}}}};function tm(e){return`(?:${F.default.escapeRegExp(e)})`}function nm(e){return`${tm(e)}+`}function rm(e){let t="";return 0===e.length?t+="\\s":(t+="(?:\\s|",1===e.length?t+=nm(e[0]):(t+="(?:",t+=e.map(nm).join("|"),t+=")"),t+=`(?:$|[${Array.from(fr.LINEBREAKS).join("")}]))`),t}function om(e,t){let n="^";return 1===e.length?n+=tm(e[0]):(n+="(?:",n+=e.map(tm).join("|"),n+=")"),n+="?",n+=rm(t),new RegExp(n,"u")}function sm(e){const t=`^(${e.map(tm).join("|")})?[ \t]+`;return new RegExp(t,"u")}var am={meta:{type:"suggestion",docs:{description:"enforce consistent spacing after the `//` or `/*` in a comment",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/spaced-comment"},fixable:"whitespace",schema:[{enum:["always","never"]},{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}},line:{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}}},additionalProperties:!1},block:{type:"object",properties:{exceptions:{type:"array",items:{type:"string"}},markers:{type:"array",items:{type:"string"}},balanced:{type:"boolean",default:!1}},additionalProperties:!1}},additionalProperties:!1}],messages:{unexpectedSpaceAfterMarker:"Unexpected space or tab after marker ({{refChar}}) in comment.",expectedExceptionAfter:"Expected exception block, space or tab after '{{refChar}}' in comment.",unexpectedSpaceBefore:"Unexpected space or tab before '*/' in comment.",unexpectedSpaceAfter:"Unexpected space or tab after '{{refChar}}' in comment.",expectedSpaceBefore:"Expected space or tab before '*/' in comment.",expectedSpaceAfter:"Expected space or tab after '{{refChar}}' in comment."}},create(e){const t=e.getSourceCode(),n="never"!==e.options[0],r=e.options[1]||{},o=r.block&&r.block.balanced,s=["block","line"].reduce(((e,t)=>{const s=function(e){return-1===e.indexOf("*")?e.concat("*"):e}(r[t]&&r[t].markers||r.markers||[]),a=r[t]&&r[t].exceptions||r.exceptions||[];return e[t]={beginRegex:n?om(s,a):sm(s),endRegex:o&&n?new RegExp(`${rm(a)}$`,"u"):new RegExp("[ \t]+$","u"),hasExceptions:a.length>0,captureMarker:new RegExp(`^(${s.map(tm).join("|")})`,"u"),markers:new Set(s)},e}),{});function a(t,r,o,s){const a="block"===t.type.toLowerCase()?"/*":"//";e.report({node:t,fix(e){const r=t.range[0];let s=r+2;return n?(o&&(s+=o[0].length),e.insertTextAfterRange([r,s]," ")):(s+=o[0].length,e.replaceTextRange([r,s],a+(o[1]?o[1]:"")))},messageId:r,data:{refChar:s}})}function i(t,r,o){e.report({node:t,fix(e){if(n)return e.insertTextAfterRange([t.range[0],t.range[1]-2]," ");const r=t.range[1]-2,s=r-o[0].length;return e.replaceTextRange([s,r],"")},messageId:r})}function c(e){const t=e.type.toLowerCase(),r=s[t],c="block"===t?"/*":"//";if(0===e.value.length||r.markers.has(e.value))return;const l=r.beginRegex.exec(e.value),u=r.endRegex.exec(e.value);if(n){if(!l){const t=r.captureMarker.exec(e.value),n=t?c+t[0]:c;r.hasExceptions?a(e,"expectedExceptionAfter",t,n):a(e,"expectedSpaceAfter",t,n)}o&&"block"===t&&!u&&i(e,"expectedSpaceBefore")}else l&&(l[1]?a(e,"unexpectedSpaceAfterMarker",l,l[1]):a(e,"unexpectedSpaceAfter",l,c)),o&&"block"===t&&u&&i(e,"unexpectedSpaceBefore",u)}return{Program(){t.getAllComments().filter((e=>"Shebang"!==e.type)).forEach(c)}}}};function im(e){const t=[];for(let n=0;nt.remove(e)}function i(t,n,r,o,s){t.slice(n,r).forEach((t=>{e.report({node:t,messageId:o,fix:s?a(t):null})}))}function c(e,t,n){i(e,0,e.length,t,n)}function l(e,t,n){i(e,1,e.length,t,n)}function u(){n.pop()}function p(t){const i="BlockStatement"===t.body.type?im(t.body.body):[];"function"===o?function(t,o){const s=r.length>0,i=0===n.length&&0===r.length,c=n.length>0&&n[n.length-1],u=o.length>0;u?(lm(t.params)?c?e.report({node:o[0],messageId:"unnecessary",fix:a(o[0])}):s&&e.report({node:o[0],messageId:"unnecessaryInClasses",fix:a(o[0])}):e.report({node:o[0],messageId:"nonSimpleParameterList"}),l(o,"multiple",!0)):i&&(lm(t.params)?e.report({node:t,messageId:"function"}):e.report({node:t,messageId:"wrap",data:{name:fr.getFunctionNameWithKind(t)}})),n.push(c||u)}(t,i):i.length>0&&(lm(t.params)?c(i,o,s(o)):(e.report({node:i[0],messageId:"nonSimpleParameterList"}),l(i,"multiple",!0)))}t.impliedStrict?o="implied":"safe"===o&&(o=t.globalReturn?"global":"function");const d={Program(t){const n=im(t.body);"module"===t.sourceType&&(o="module"),"global"===o?(t.body.length>0&&0===n.length&&e.report({node:t,messageId:"global"}),l(n,"multiple",!0)):c(n,o,s(o))},FunctionDeclaration:p,FunctionExpression:p,ArrowFunctionExpression:p};return"function"===o&&Object.assign(d,{ClassBody(){r.push(!0)},"ClassBody:exit"(){r.pop()},"FunctionDeclaration:exit":u,"FunctionExpression:exit":u,"ArrowFunctionExpression:exit":u}),d}},pm={meta:{type:"layout",docs:{description:"enforce spacing around colons of switch statements",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/switch-colon-spacing"},schema:[{type:"object",properties:{before:{type:"boolean",default:!1},after:{type:"boolean",default:!0}},additionalProperties:!1}],fixable:"whitespace",messages:{expectedBefore:"Expected space(s) before this colon.",expectedAfter:"Expected space(s) after this colon.",unexpectedBefore:"Unexpected space(s) before this colon.",unexpectedAfter:"Unexpected space(s) after this colon."}},create(e){const t=e.getSourceCode(),n=e.options[0]||{},r=!0===n.before,o=!1!==n.after;function s(e,n,r){return fr.isClosingBraceToken(n)||!fr.isTokenOnSameLine(e,n)||t.isSpaceBetweenTokens(e,n)===r}function a(e,n,r,o){return function(e,n){return null!==t.getFirstTokenBetween(e,n,{includeComments:!0,filter:fr.isCommentToken})}(n,r)?null:o?e.insertTextAfter(n," "):e.removeRange([n.range[1],r.range[0]])}return{SwitchCase(n){const i=function(e){return e.test?t.getTokenAfter(e.test,fr.isColonToken):t.getFirstToken(e,1)}(n),c=t.getTokenBefore(i),l=t.getTokenAfter(i);s(c,i,r)||e.report({node:n,loc:i.loc,messageId:r?"expectedBefore":"unexpectedBefore",fix:e=>a(e,c,i,r)}),s(i,l,o)||e.report({node:n,loc:i.loc,messageId:o?"expectedAfter":"unexpectedAfter",fix:e=>a(e,i,l,o)})}}}},dm={meta:{type:"suggestion",docs:{description:"require symbol descriptions",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/symbol-description"},fixable:null,schema:[],messages:{expected:"Expected Symbol to have a description."}},create:e=>({"Program:exit"(){const t=e.getScope(),n=fr.getVariableByName(t,"Symbol");n&&0===n.defs.length&&n.references.forEach((t=>{const n=t.identifier;fr.isCallee(n)&&function(t){0===t.arguments.length&&e.report({node:t,messageId:"expected"})}(n.parent)}))}})},fm={meta:{type:"layout",docs:{description:"require or disallow spacing around embedded expressions of template strings",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/template-curly-spacing"},fixable:"whitespace",schema:[{enum:["always","never"]}],messages:{expectedBefore:"Expected space(s) before '}'.",expectedAfter:"Expected space(s) after '${'.",unexpectedBefore:"Unexpected space(s) before '}'.",unexpectedAfter:"Unexpected space(s) after '${'."}},create(e){const t=e.getSourceCode(),n="always"===e.options[0];return{TemplateElement(r){const o=t.getFirstToken(r);!function(r){if(!r.value.startsWith("}"))return;const o=t.getTokenBefore(r,{includeComments:!0}),s=t.isSpaceBetween(o,r);fr.isTokenOnSameLine(o,r)&&(n&&!s&&e.report({loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+1}},messageId:"expectedBefore",fix:e=>e.insertTextBefore(r," ")}),!n&&s&&e.report({loc:{start:o.loc.end,end:r.loc.start},messageId:"unexpectedBefore",fix:e=>e.removeRange([o.range[1],r.range[0]])}))}(o),function(r){if(!r.value.endsWith("${"))return;const o=t.getTokenAfter(r,{includeComments:!0}),s=t.isSpaceBetween(r,o);fr.isTokenOnSameLine(r,o)&&(n&&!s&&e.report({loc:{start:{line:r.loc.end.line,column:r.loc.end.column-2},end:r.loc.end},messageId:"expectedAfter",fix:e=>e.insertTextAfter(r," ")}),!n&&s&&e.report({loc:{start:r.loc.end,end:o.loc.start},messageId:"unexpectedAfter",fix:e=>e.removeRange([r.range[1],o.range[0]])}))}(o)}}}},mm={meta:{type:"layout",docs:{description:"require or disallow spacing between template tags and their literals",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/template-tag-spacing"},fixable:"whitespace",schema:[{enum:["always","never"]}],messages:{unexpected:"Unexpected space between template tag and template literal.",missing:"Missing space between template tag and template literal."}},create(e){const t="always"!==e.options[0],n=e.getSourceCode();return{TaggedTemplateExpression:function(r){const o=n.getTokenBefore(r.quasi),s=n.getFirstToken(r.quasi),a=n.isSpaceBetweenTokens(o,s);t&&a?e.report({node:r,loc:{start:o.loc.end,end:s.loc.start},messageId:"unexpected",fix(e){const t=n.getCommentsBefore(r.quasi);return t.some((e=>"Line"===e.type))?null:e.replaceTextRange([o.range[1],s.range[0]],t.reduce(((e,t)=>e+n.getText(t)),""))}}):t||a||e.report({node:r,loc:{start:r.loc.start,end:s.loc.start},messageId:"missing",fix:e=>e.insertTextAfter(o," ")})}}}},gm={meta:{type:"layout",docs:{description:"require or disallow Unicode byte order mark (BOM)",category:"Stylistic Issues",recommended:!1,url:"https://eslint.org/docs/rules/unicode-bom"},fixable:"whitespace",schema:[{enum:["always","never"]}],messages:{expected:"Expected Unicode BOM (Byte Order Mark).",unexpected:"Unexpected Unicode BOM (Byte Order Mark)."}},create:e=>({Program:function(t){const n=e.getSourceCode(),r={column:0,line:1},o=e.options[0]||"never";n.hasBOM||"always"!==o?n.hasBOM&&"never"===o&&e.report({node:t,loc:r,messageId:"unexpected",fix:e=>e.removeRange([-1,0])}):e.report({node:t,loc:r,messageId:"expected",fix:e=>e.insertTextBeforeRange([0,1],"\ufeff")})}})};function hm(e){return Boolean(e)&&"Identifier"===e.type&&"NaN"===e.name}var ym={meta:{type:"problem",docs:{description:"require calls to `isNaN()` when checking for `NaN`",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/use-isnan"},schema:[{type:"object",properties:{enforceForSwitchCase:{type:"boolean",default:!0},enforceForIndexOf:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{comparisonWithNaN:"Use the isNaN function to compare with NaN.",switchNaN:"'switch(NaN)' can never match a case clause. Use Number.isNaN instead of the switch.",caseNaN:"'case NaN' can never match. Use Number.isNaN before the switch.",indexOfNaN:"Array prototype method '{{ methodName }}' cannot find NaN."}},create(e){const t=!e.options[0]||e.options[0].enforceForSwitchCase,n=e.options[0]&&e.options[0].enforceForIndexOf;const r={BinaryExpression:function(t){/^(?:[<>]|[!=]=)=?$/u.test(t.operator)&&(hm(t.left)||hm(t.right))&&e.report({node:t,messageId:"comparisonWithNaN"})}};return t&&(r.SwitchStatement=function(t){hm(t.discriminant)&&e.report({node:t,messageId:"switchNaN"});for(const n of t.cases)hm(n.test)&&e.report({node:n,messageId:"caseNaN"})}),n&&(r.CallExpression=function(t){const n=fr.skipChainExpression(t.callee);if("MemberExpression"===n.type){const r=fr.getStaticPropertyName(n);"indexOf"!==r&&"lastIndexOf"!==r||1!==t.arguments.length||!hm(t.arguments[0])||e.report({node:t,messageId:"indexOfNaN",data:{methodName:r}})}}),r}},xm={meta:{type:"suggestion",docs:{description:"enforce valid JSDoc comments",category:"Possible Errors",recommended:!1,url:"https://eslint.org/docs/rules/valid-jsdoc"},schema:[{type:"object",properties:{prefer:{type:"object",additionalProperties:{type:"string"}},preferType:{type:"object",additionalProperties:{type:"string"}},requireReturn:{type:"boolean",default:!0},requireParamDescription:{type:"boolean",default:!0},requireReturnDescription:{type:"boolean",default:!0},matchDescription:{type:"string"},requireReturnType:{type:"boolean",default:!0},requireParamType:{type:"boolean",default:!0}},additionalProperties:!1}],fixable:"code",messages:{unexpectedTag:"Unexpected @{{title}} tag; function has no return statement.",expected:"Expected JSDoc for '{{name}}' but found '{{jsdocName}}'.",use:"Use @{{name}} instead.",useType:"Use '{{expectedTypeName}}' instead of '{{currentTypeName}}'.",syntaxError:"JSDoc syntax error.",missingBrace:"JSDoc type missing brace.",missingParamDesc:"Missing JSDoc parameter description for '{{name}}'.",missingParamType:"Missing JSDoc parameter type for '{{name}}'.",missingReturnType:"Missing JSDoc return type.",missingReturnDesc:"Missing JSDoc return description.",missingReturn:"Missing JSDoc @{{returns}} for function.",missingParam:"Missing JSDoc for parameter '{{name}}'.",duplicateParam:"Duplicate JSDoc parameter '{{name}}'.",unsatisfiedDesc:"JSDoc description does not satisfy the regex pattern."},deprecated:!0,replacedBy:[]},create(e){const t=e.options[0]||{},n=t.prefer||{},r=e.getSourceCode(),o=!1!==t.requireReturn,s=!1!==t.requireParamDescription,a=!1!==t.requireReturnDescription,i=!1!==t.requireReturnType,c=!1!==t.requireParamType,l=t.preferType||{},u=0!==Object.keys(l).length,p=[];function d(e){return"ClassExpression"===e.type||"ClassDeclaration"===e.type}function f(e){p.push({returnPresent:"ArrowFunctionExpression"===e.type&&"BlockStatement"!==e.body.type||d(e)||e.async})}function m(e){return null===e.type||"void"===e.type.name||"UndefinedLiteral"===e.type.type}function g(e){let t;return e.name?t=e:e.expression&&(t=e.expression),{currentType:t,expectedTypeName:t&&l[t.name]}}function h(e,t){return{start:r.getLocFromIndex(e.range[0]+2+t.range[0]),end:r.getLocFromIndex(e.range[0]+2+t.range[1])}}function y(t,n){if(!n||!function(e){return"UndefinedLiteral"!==e&&"NullLiteral"!==e&&"NullableLiteral"!==e&&"FunctionType"!==e&&"AllLiteral"!==e}(n.type))return;const r=[];let o=[];switch(n.type){case"TypeApplication":o="UnionType"===n.applications[0].type?n.applications[0].elements:n.applications,r.push(g(n));break;case"RecordType":o=n.fields;break;case"UnionType":case"ArrayType":o=n.elements;break;case"FieldType":n.value&&r.push(g(n.value));break;default:r.push(g(n))}o.forEach(y.bind(null,t)),r.forEach((n=>{n.expectedTypeName&&n.expectedTypeName!==n.currentType.name&&e.report({node:t,messageId:"useType",loc:h(t,n.currentType),data:{currentTypeName:n.currentType.name,expectedTypeName:n.expectedTypeName},fix:e=>e.replaceTextRange(n.currentType.range.map((e=>t.range[0]+2+e)),n.expectedTypeName)})}))}function x(l){const f=r.getJSDocComment(l),g=p.pop(),x=Object.create(null),b=[];let E,S=!1,C=!1,v=!1,A=!1,k=!1;if(f){let r;try{r=ee.default.parse(f.value,{strict:!0,unwrap:!0,sloppy:!0,range:!0})}catch(t){return void(/braces/iu.test(t.message)?e.report({node:f,messageId:"missingBrace"}):e.report({node:f,messageId:"syntaxError"}))}r.tags.forEach((t=>{switch(t.title.toLowerCase()){case"param":case"arg":case"argument":b.push(t);break;case"return":case"returns":S=!0,E=t;break;case"constructor":case"class":C=!0;break;case"override":case"inheritdoc":A=!0;break;case"abstract":case"virtual":k=!0;break;case"interface":v=!0}if(Object.prototype.hasOwnProperty.call(n,t.title)&&t.title!==n[t.title]){const r=h(f,t);e.report({node:f,messageId:"use",loc:{start:r.start,end:{line:r.start.line,column:r.start.column+`@${t.title}`.length}},data:{name:n[t.title]},fix:e=>e.replaceTextRange([f.range[0]+t.range[0]+3,f.range[0]+t.range[0]+t.title.length+3],n[t.title])})}u&&t.type&&y(f,t.type)})),b.forEach((t=>{c&&!t.type&&e.report({node:f,messageId:"missingParamType",loc:h(f,t),data:{name:t.name}}),!t.description&&s&&e.report({node:f,messageId:"missingParamDesc",loc:h(f,t),data:{name:t.name}}),x[t.name]?e.report({node:f,messageId:"duplicateParam",loc:h(f,t),data:{name:t.name}}):-1===t.name.indexOf(".")&&(x[t.name]=t)})),S&&(o||g.returnPresent||null!==E.type&&m(E)||k?(i&&!E.type&&e.report({node:f,messageId:"missingReturnType"}),m(E)||E.description||!a||e.report({node:f,messageId:"missingReturnDesc"})):e.report({node:f,messageId:"unexpectedTag",loc:h(f,E),data:{title:E.title}})),A||S||C||v||"get"===l.parent.kind||"constructor"===l.parent.kind||"set"===l.parent.kind||d(l)||(o||g.returnPresent&&!l.async)&&e.report({node:f,messageId:"missingReturn",data:{returns:n.returns||"returns"}});const p=Object.keys(x);if(l.params&&l.params.forEach(((t,n)=>{const r="AssignmentPattern"===t.type?t.left:t;if("Identifier"===r.type){const t=r.name;p[n]&&t!==p[n]?e.report({node:f,messageId:"expected",loc:h(f,x[p[n]]),data:{name:t,jsdocName:p[n]}}):x[t]||A||e.report({node:f,messageId:"missingParam",data:{name:t}})}})),t.matchDescription){new RegExp(t.matchDescription,"u").test(r.description)||e.report({node:f,messageId:"unsatisfiedDesc"})}}}return{ArrowFunctionExpression:f,FunctionExpression:f,FunctionDeclaration:f,ClassExpression:f,ClassDeclaration:f,"ArrowFunctionExpression:exit":x,"FunctionExpression:exit":x,"FunctionDeclaration:exit":x,"ClassExpression:exit":x,"ClassDeclaration:exit":x,ReturnStatement:function(e){const t=p[p.length-1];t&&null!==e.argument&&(t.returnPresent=!0)}}}},bm={meta:{type:"problem",docs:{description:"enforce comparing `typeof` expressions against valid strings",category:"Possible Errors",recommended:!0,url:"https://eslint.org/docs/rules/valid-typeof"},schema:[{type:"object",properties:{requireStringLiterals:{type:"boolean",default:!1}},additionalProperties:!1}],messages:{invalidValue:"Invalid typeof comparison value.",notString:"Typeof comparisons should be to string literals."}},create(e){const t=["symbol","undefined","object","boolean","number","string","function","bigint"],n=["==","===","!=","!=="],r=e.options[0]&&e.options[0].requireStringLiterals;function o(e){return"UnaryExpression"===e.type&&"typeof"===e.operator}return{UnaryExpression(s){if(o(s)){const a=e.getAncestors().pop();if("BinaryExpression"===a.type&&-1!==n.indexOf(a.operator)){const n=a.left===s?a.right:a.left;if("Literal"===n.type||"TemplateLiteral"===n.type&&!n.expressions.length){const r="Literal"===n.type?n.value:n.quasis[0].value.cooked;-1===t.indexOf(r)&&e.report({node:n,messageId:"invalidValue"})}else r&&!o(n)&&e.report({node:n,messageId:"notString"})}}}}}},Em={meta:{type:"suggestion",docs:{description:"require `var` declarations be placed at the top of their containing scope",category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/vars-on-top"},schema:[],messages:{top:"All 'var' declarations must be at the top of the function scope."}},create(e){function t(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value}function n(e){return"ImportDeclaration"===e.type||"ImportSpecifier"===e.type||"ImportDefaultSpecifier"===e.type||"ImportNamespaceSpecifier"===e.type}function r(e){return"VariableDeclaration"===e.type||"ExportNamedDeclaration"===e.type&&e.declaration&&"VariableDeclaration"===e.declaration.type}function o(e,o){const s=o.length;let a=0;for(;ae.replaceText(n,`(${t.getText(n)})`)})}}}}},vm={meta:{type:"layout",docs:{description:"require or disallow spacing around the `*` in `yield*` expressions",category:"ECMAScript 6",recommended:!1,url:"https://eslint.org/docs/rules/yield-star-spacing"},fixable:"whitespace",schema:[{oneOf:[{enum:["before","after","both","neither"]},{type:"object",properties:{before:{type:"boolean"},after:{type:"boolean"}},additionalProperties:!1}]}],messages:{missingBefore:"Missing space before *.",missingAfter:"Missing space after *.",unexpectedBefore:"Unexpected space before *.",unexpectedAfter:"Unexpected space after *."}},create(e){const t=e.getSourceCode(),n=(r=e.options[0])&&"string"!=typeof r?r:{before:{before:!0,after:!1},after:{before:!1,after:!0},both:{before:!0,after:!0},neither:{before:!1,after:!1}}[r||"after"];var r;function o(r,o,s){if(t.isSpaceBetweenTokens(o,s)!==n[r]){const t="*"===o.value,a=n[r],i=t?o:s;let c="";c=a?"before"===r?"missingBefore":"missingAfter":"before"===r?"unexpectedBefore":"unexpectedAfter",e.report({node:i,messageId:c,fix:e=>a?t?e.insertTextAfter(i," "):e.insertTextBefore(i," "):e.removeRange([o.range[1],s.range[0]])})}}return{YieldExpression:function(e){if(!e.delegate)return;const n=t.getFirstTokens(e,3),r=n[0],s=n[1],a=n[2];o("before",r,s),o("after",s,a)}}}};function Am(e){return["<","<="].indexOf(e)>=0}function km(e){return"UnaryExpression"===e.type&&"-"===e.operator&&e.prefix&&fr.isNumericLiteral(e.argument)}function wm(e){return"TemplateLiteral"===e.type&&0===e.expressions.length}function Pm(e){return km(e)||wm(e)}function Tm(e){return"Literal"===e.type?e:km(e)?{type:"Literal",value:-e.argument.value,raw:`-${e.argument.value}`}:wm(e)?{type:"Literal",value:e.quasis[0].value.cooked,raw:e.quasis[0].value.raw}:null}var Im={meta:{type:"suggestion",docs:{description:'require or disallow "Yoda" conditions',category:"Best Practices",recommended:!1,url:"https://eslint.org/docs/rules/yoda"},schema:[{enum:["always","never"]},{type:"object",properties:{exceptRange:{type:"boolean",default:!1},onlyEquality:{type:"boolean",default:!1}},additionalProperties:!1}],fixable:"code",messages:{expected:"Expected literal to be on the {{expectedSide}} side of {{operator}}."}},create(e){const t="always"===e.options[0],n=e.options[1]&&e.options[1].exceptRange,r=e.options[1]&&e.options[1].onlyEquality,o=e.getSourceCode();const s={"===":"===","!==":"!==","==":"==","!=":"!=","<":">",">":"<","<=":">=",">=":"<="};return{BinaryExpression(a){const i=t?a.left:a.right,c=t?a.right:a.left;var l;"Literal"!==c.type&&!Pm(c)||"Literal"===i.type||Pm(i)||(l=a.operator,!/^(==|===)$/u.test(l)&&r)||!function(e){return/^(==|===|!=|!==|<|>|<=|>=)$/u.test(e)}(a.operator)||n&&function(e){const t=e.left,n=e.right;return"LogicalExpression"===e.type&&"BinaryExpression"===t.type&&"BinaryExpression"===n.type&&Am(t.operator)&&Am(n.operator)&&(function(){if("&&"===e.operator&&fr.isSameReference(t.right,n.left)){const e=Tm(t.left),r=Tm(n.right);if(null===e&&null===r)return!1;if(null===r||null===e)return!0;if(e.value<=r.value)return!0}return!1}()||function(){if("||"===e.operator&&fr.isSameReference(t.left,n.right)){const e=Tm(t.right),r=Tm(n.left);if(null===e&&null===r)return!1;if(null===r||null===e)return!0;if(e.value<=r.value)return!0}return!1}())&&fr.isParenthesised(o,e)}(e.getAncestors().pop())||e.report({node:a,messageId:"expected",data:{operator:a.operator,expectedSide:t?"left":"right"},fix:e=>e.replaceText(a,function(e){const t=o.getFirstTokenBetween(e.left,e.right,(t=>t.value===e.operator)),n=o.getTokenBefore(t),r=o.getTokenAfter(t),a=o.getText(),i=a.slice(e.range[0],n.range[1]),c=a.slice(n.range[1],t.range[0]),l=a.slice(t.range[1],r.range[0]),u=a.slice(r.range[0],e.range[1]),p=o.getTokenBefore(e),d=o.getTokenAfter(e);let f="",m="";return p&&p.range[1]===e.range[0]&&!fr.canTokensBeAdjacent(p,r)&&(f=" "),d&&e.range[1]===d.range[0]&&!fr.canTokensBeAdjacent(n,d)&&(m=" "),f+u+c+s[t.value]+l+i+m}(a))})}}}};const{LazyLoadingRuleMap:Fm}=dr;var Dm=new Fm(Object.entries({"accessor-pairs":()=>hr,"array-bracket-newline":()=>yr,"array-bracket-spacing":()=>xr,"array-callback-return":()=>Ar,"array-element-newline":()=>kr,"arrow-body-style":()=>wr,"arrow-parens":()=>Pr,"arrow-spacing":()=>Tr,"block-scoped-var":()=>Ir,"block-spacing":()=>Fr,"brace-style":()=>Dr,"callback-return":()=>Or,camelcase:()=>Br,"capitalized-comments":()=>qr,"class-methods-use-this":()=>Ur,"comma-dangle":()=>Wr,"comma-spacing":()=>Gr,"comma-style":()=>zr,complexity:()=>Jr,"computed-property-spacing":()=>Kr,"consistent-return":()=>Hr,"consistent-this":()=>Xr,"constructor-super":()=>eo,curly:()=>to,"default-case":()=>ro,"default-case-last":()=>oo,"default-param-last":()=>so,"dot-location":()=>ao,"dot-notation":()=>uo,"eol-last":()=>po,eqeqeq:()=>fo,"for-direction":()=>mo,"func-call-spacing":()=>go,"func-name-matching":()=>xo,"func-names":()=>bo,"func-style":()=>Eo,"function-call-argument-newline":()=>So,"function-paren-newline":()=>Co,"generator-star-spacing":()=>Ao,"getter-return":()=>Po,"global-require":()=>Io,"grouped-accessor-pairs":()=>Do,"guard-for-in":()=>Oo,"handle-callback-err":()=>Bo,"id-blacklist":()=>No,"id-denylist":()=>jo,"id-length":()=>Lo,"id-match":()=>Ro,"implicit-arrow-linebreak":()=>$o,indent:()=>zo,"indent-legacy":()=>Jo,"init-declarations":()=>Ho,"jsx-quotes":()=>Qo,"key-spacing":()=>ns,"keyword-spacing":()=>fs,"line-comment-position":()=>ms,"linebreak-style":()=>gs,"lines-around-comment":()=>hs,"lines-around-directive":()=>ys,"lines-between-class-members":()=>xs,"max-classes-per-file":()=>bs,"max-depth":()=>Es,"max-len":()=>vs,"max-lines":()=>As,"max-lines-per-function":()=>ks,"max-nested-callbacks":()=>ws,"max-params":()=>Ps,"max-statements":()=>Ts,"max-statements-per-line":()=>Is,"multiline-comment-style":()=>Fs,"multiline-ternary":()=>Ds,"new-cap":()=>js,"new-parens":()=>Ls,"newline-after-var":()=>Rs,"newline-before-return":()=>Ms,"newline-per-chained-call":()=>_s,"no-alert":()=>Gs,"no-array-constructor":()=>zs,"no-async-promise-executor":()=>Js,"no-await-in-loop":()=>Hs,"no-bitwise":()=>Qs,"no-buffer-constructor":()=>Zs,"no-caller":()=>ea,"no-case-declarations":()=>ta,"no-catch-shadow":()=>na,"no-class-assign":()=>ra,"no-compare-neg-zero":()=>oa,"no-cond-assign":()=>ia,"no-confusing-arrow":()=>ca,"no-console":()=>la,"no-const-assign":()=>ua,"no-constant-condition":()=>pa,"no-constructor-return":()=>da,"no-continue":()=>fa,"no-control-regex":()=>ha,"no-debugger":()=>ya,"no-delete-var":()=>xa,"no-div-regex":()=>ba,"no-dupe-args":()=>Ea,"no-dupe-class-members":()=>Sa,"no-dupe-else-if":()=>wa,"no-dupe-keys":()=>Fa,"no-duplicate-case":()=>Da,"no-duplicate-imports":()=>La,"no-else-return":()=>Ma,"no-empty":()=>_a,"no-empty-character-class":()=>qa,"no-empty-function":()=>Ua,"no-empty-pattern":()=>Va,"no-eq-null":()=>Wa,"no-eval":()=>Ja,"no-ex-assign":()=>Ka,"no-extend-native":()=>Ya,"no-extra-bind":()=>Xa,"no-extra-boolean-cast":()=>Za,"no-extra-label":()=>ei,"no-extra-parens":()=>ni,"no-extra-semi":()=>ri,"no-fallthrough":()=>ai,"no-floating-decimal":()=>ii,"no-func-assign":()=>ci,"no-global-assign":()=>li,"no-implicit-coercion":()=>mi,"no-implicit-globals":()=>gi,"no-implied-eval":()=>yi,"no-import-assign":()=>vi,"no-inline-comments":()=>Ai,"no-inner-declarations":()=>Pi,"no-invalid-regexp":()=>Fi,"no-invalid-this":()=>Di,"no-irregular-whitespace":()=>Li,"no-iterator":()=>Mi,"no-label-var":()=>_i,"no-labels":()=>$i,"no-lone-blocks":()=>qi,"no-lonely-if":()=>Ui,"no-loop-func":()=>Gi,"no-loss-of-precision":()=>zi,"no-magic-numbers":()=>Ki,"no-misleading-character-class":()=>cc,"no-mixed-operators":()=>xc,"no-mixed-requires":()=>bc,"no-mixed-spaces-and-tabs":()=>Ec,"no-multi-assign":()=>Sc,"no-multi-spaces":()=>Cc,"no-multi-str":()=>vc,"no-multiple-empty-lines":()=>Ac,"no-native-reassign":()=>kc,"no-negated-condition":()=>wc,"no-negated-in-lhs":()=>Pc,"no-nested-ternary":()=>Tc,"no-new":()=>Ic,"no-new-func":()=>Fc,"no-new-object":()=>Dc,"no-new-require":()=>Oc,"no-new-symbol":()=>Bc,"no-new-wrappers":()=>Nc,"no-nonoctal-decimal-escape":()=>Rc,"no-obj-calls":()=>Wc,"no-octal":()=>Gc,"no-octal-escape":()=>zc,"no-param-reassign":()=>Kc,"no-path-concat":()=>Yc,"no-plusplus":()=>Xc,"no-process-env":()=>Qc,"no-process-exit":()=>Zc,"no-promise-executor-return":()=>rl,"no-proto":()=>sl,"no-prototype-builtins":()=>al,"no-redeclare":()=>il,"no-regex-spaces":()=>pl,"no-restricted-exports":()=>dl,"no-restricted-globals":()=>fl,"no-restricted-imports":()=>gl,"no-restricted-modules":()=>yl,"no-restricted-properties":()=>xl,"no-restricted-syntax":()=>bl,"no-return-assign":()=>Sl,"no-return-await":()=>Cl,"no-script-url":()=>vl,"no-self-assign":()=>wl,"no-self-compare":()=>Pl,"no-sequences":()=>Il,"no-setter-return":()=>Bl,"no-shadow":()=>Nl,"no-shadow-restricted-names":()=>Ll,"no-spaced-func":()=>Rl,"no-sparse-arrays":()=>Ml,"no-sync":()=>_l,"no-tabs":()=>Ul,"no-template-curly-in-string":()=>Vl,"no-ternary":()=>Wl,"no-this-before-super":()=>Gl,"no-throw-literal":()=>zl,"no-trailing-spaces":()=>Jl,"no-undef":()=>Kl,"no-undef-init":()=>Yl,"no-undefined":()=>Hl,"no-underscore-dangle":()=>Xl,"no-unexpected-multiline":()=>Ql,"no-unmodified-loop-condition":()=>uu,"no-unneeded-ternary":()=>mu,"no-unreachable":()=>xu,"no-unreachable-loop":()=>Eu,"no-unsafe-finally":()=>Au,"no-unsafe-negation":()=>ku,"no-unsafe-optional-chaining":()=>Fu,"no-unused-expressions":()=>Bu,"no-unused-labels":()=>Nu,"no-unused-vars":()=>ju,"no-use-before-define":()=>_u,"no-useless-backreference":()=>Hu,"no-useless-call":()=>Xu,"no-useless-catch":()=>Qu,"no-useless-computed-key":()=>Zu,"no-useless-concat":()=>np,"no-useless-constructor":()=>ip,"no-useless-escape":()=>dp,"no-useless-rename":()=>fp,"no-useless-return":()=>hp,"no-var":()=>Ap,"no-void":()=>kp,"no-warning-comments":()=>Pp,"no-whitespace-before-property":()=>Tp,"no-with":()=>Ip,"nonblock-statement-body-position":()=>Dp,"object-curly-newline":()=>Np,"object-curly-spacing":()=>jp,"object-property-newline":()=>Lp,"object-shorthand":()=>Vp,"one-var":()=>Wp,"one-var-declaration-per-line":()=>Gp,"operator-assignment":()=>Kp,"operator-linebreak":()=>Yp,"padded-blocks":()=>Hp,"padding-line-between-statements":()=>fd,"prefer-arrow-callback":()=>md,"prefer-const":()=>vd,"prefer-destructuring":()=>kd,"prefer-exponentiation-operator":()=>Fd,"prefer-named-capture-group":()=>Ld,"prefer-numeric-literals":()=>Md,"prefer-object-spread":()=>tf,"prefer-promise-reject-errors":()=>nf,"prefer-reflect":()=>rf,"prefer-regex-literals":()=>pf,"prefer-rest-params":()=>ff,"prefer-spread":()=>mf,"prefer-template":()=>Sf,"quote-props":()=>Cf,quotes:()=>kf,radix:()=>Tf,"require-atomic-updates":()=>Df,"require-await":()=>Of,"require-jsdoc":()=>Bf,"require-unicode-regexp":()=>Mf,"require-yield":()=>_f,"rest-spread-spacing":()=>$f,semi:()=>qf,"semi-spacing":()=>Uf,"semi-style":()=>Wf,"sort-imports":()=>Gf,"sort-keys":()=>Jf,"sort-vars":()=>Kf,"space-before-blocks":()=>Hf,"space-before-function-paren":()=>Xf,"space-in-parens":()=>Qf,"space-infix-ops":()=>Zf,"space-unary-ops":()=>em,"spaced-comment":()=>am,strict:()=>um,"switch-colon-spacing":()=>pm,"symbol-description":()=>dm,"template-curly-spacing":()=>fm,"template-tag-spacing":()=>mm,"unicode-bom":()=>gm,"use-isnan":()=>ym,"valid-jsdoc":()=>xm,"valid-typeof":()=>bm,"vars-on-top":()=>Em,"wrap-iife":()=>Sm,"wrap-regex":()=>Cm,"yield-star-spacing":()=>vm,yoda:()=>Im}));class Om{constructor(){this._rules=Object.create(null)}define(e,t){var n;this._rules[e]="function"==typeof(n=t)?Object.assign({create:n},n):n}get(e){return"string"==typeof this._rules[e]&&this.define(e,ce(this._rules[e])),this._rules[e]?this._rules[e]:Dm.has(e)?Dm.get(e):null}*[Symbol.iterator](){yield*Dm;for(const e of Object.keys(this._rules))yield[e,this.get(e)]}}var Bm=Om;const Nm=M.default("eslint:source-code-fixer");function jm(e,t){return e.fix.range[0]-t.fix.range[0]||e.fix.range[1]-t.fix.range[1]}function Lm(e,t){return e.line-t.line||e.column-t.column}function Rm(){Object.freeze(this)}Rm.applyFixes=function(e,t,n){if(Nm("Applying fixes"),!1===n)return Nm("shouldFix parameter was false, not attempting fixes"),{fixed:!1,messages:t,output:e};const r=[],o=[],s=e.startsWith("\ufeff")?"\ufeff":"",a=s?e.slice(1):e;let i=Number.NEGATIVE_INFINITY,c=s;function l(e){const t=e.fix,n=t.range[0],o=t.range[1];return i>=n||n>o?(r.push(e),!1):((n<0&&o>=0||0===n&&t.text.startsWith("\ufeff"))&&(c=""),c+=a.slice(Math.max(0,i),Math.max(0,n)),c+=t.text,i=o,!0)}if(t.forEach((e=>{Object.prototype.hasOwnProperty.call(e,"fix")?o.push(e):r.push(e)})),o.length){Nm("Found fixes to apply");let e=!1;for(const t of o.sort(jm))"function"!=typeof n||n(t)?(l(t),e=!0):r.push(t);return c+=a.slice(Math.max(0,i)),{fixed:e,messages:r.sort(Lm),output:c}}return Nm("No fixes to apply"),{fixed:!1,messages:t,output:s+a}};var Mm=Rm;function _m(e,t,n){return new Array(t-e.length+1).join(n||" ")+e}const $m=!!process.env.TIMING,qm=["Rule","Time (ms)","Relative"],Um=[function(e,t,n){return e+new Array(t-e.length+1).join(n||" ")},_m,_m];function Vm(){if("string"!=typeof process.env.TIMING)return 10;if("all"===process.env.TIMING.toLowerCase())return Number.POSITIVE_INFINITY;const e=Number.parseInt(process.env.TIMING,10);return e>10?e:10}var Wm=function(){const e=Object.create(null);return $m&&process.on("exit",(()=>{!function(e){let t=0;const n=Object.keys(e).map((n=>{const r=e[n];return t+=r,[n,r]})).sort(((e,t)=>t[1]-e[1])).slice(0,Vm());n.forEach((e=>{e.push(`${(100*e[1]/t).toFixed(1)}%`),e[1]=e[1].toFixed(3)})),n.unshift(qm);const r=[];n.forEach((e=>{const t=e.length;for(let n=0;nr[n])&&(r[n]=t)}}));const o=n.map((e=>e.map(((e,t)=>Um[t](e,r[t]))).join(" | ")));o.splice(1,0,r.map(((e,t)=>{const n=0!==t&&t!==r.length-1?2:1;return Um[t](":",e+n,"-")})).join("|")),console.log(o.join("\n"))}(e)})),{time:function(t,n){return void 0===e[t]&&(e[t]=0),function(...r){let o=process.hrtime();n(...r),o=process.hrtime(o),e[t]+=1e3*o[0]+o[1]/1e6}},enabled:$m,getListSize:Vm}}(),Gm={rules:{"generator-star":["generator-star-spacing"],"global-strict":["strict"],"no-arrow-condition":["no-confusing-arrow","no-constant-condition"],"no-comma-dangle":["comma-dangle"],"no-empty-class":["no-empty-character-class"],"no-empty-label":["no-labels"],"no-extra-strict":["strict"],"no-reserved-keys":["quote-props"],"no-space-before-semi":["semi-spacing"],"no-wrap-func":["no-extra-parens"],"space-after-function-name":["space-before-function-paren"],"space-after-keywords":["keyword-spacing"],"space-before-function-parentheses":["space-before-function-paren"],"space-before-keywords":["keyword-spacing"],"space-in-brackets":["object-curly-spacing","array-bracket-spacing","computed-property-spacing"],"space-return-throw-case":["keyword-spacing"],"space-unary-word-ops":["space-unary-ops"],"spaced-line-comment":["spaced-comment"]}};const{SourceCode:zm}=mn,Jm=M.default("eslint:linter"),Km=new class{parseStringConfig(e,t){Kn("Parsing String config");const n={};return e.replace(/\s*([:,])\s*/gu,"$1").split(/\s|,+/u).forEach((e=>{if(!e)return;const[r,o=null]=e.split(":");n[r]={value:o,comment:t}})),n}parseJsonConfig(e,t){Kn("Parsing JSON config");let n={};try{if(n=J.default.parse("Object",e)||{},wt.isEverySeverityValid(n))return{success:!0,config:n}}catch{Kn("Levn parsing failed; falling back to manual parsing.")}n={};const r=e.replace(/([-a-zA-Z0-9/]+):/gu,'"$1":').replace(/(\]|[0-9])\s+(?=")/u,"$1,");try{n=JSON.parse(`{${r}}`)}catch(e){return Kn("Manual parsing failed."),{success:!1,error:{ruleId:null,fatal:!0,severity:2,message:`Failed to parse JSON from '${r}': ${e.message}`,line:t.start.line,column:t.start.column+1}}}return{success:!0,config:n}}parseListConfig(e){Kn("Parsing list config");const t={};return e.replace(/\s*,\s*/gu,",").split(/,+/u).forEach((e=>{const n=e.trim();n&&(t[n]=!0)})),t}},Ym={start:{line:1,column:0},end:{line:1,column:1}};function Hm(e){return Object.prototype.hasOwnProperty.call(Gm.rules,e)?`Rule '${e}' was removed and replaced by: ${Gm.rules[e].join(", ")}`:`Definition for rule '${e}' was not found.`}function Xm(e){const{ruleId:t=null,loc:n=Ym,message:r=Hm(e.ruleId),severity:o=2}=e;return{ruleId:t,message:r,line:n.start.line,column:n.start.column+1,endLine:n.end.line,endColumn:n.end.column+1,severity:o,nodeType:null}}function Qm(e){return e.split(/\s-{2,}\s/u)[0].trim()}function Zm(e,t,n,r){const o={},s=Object.create(null),a={},i=[],c=[],l=new class{constructor({builtInRules:e=new Map}={}){this.builtInRules=e}getRuleOptionsSchema(e){if(!e)return null;const t=e.schema||e.meta&&e.meta.schema;return Array.isArray(t)?t.length?{type:"array",items:t,minItems:0,maxItems:t.length}:{type:"array",minItems:0,maxItems:0}:t||null}validateRuleSeverity(e){const t=Array.isArray(e)?e[0]:e,n="string"==typeof t?Mt[t.toLowerCase()]:t;if(0===n||1===n||2===n)return n;throw new Error(`\tSeverity should be one of the following: 0 = off, 1 = warn, 2 = error (you passed '${V.default.inspect(t).replace(/'/gu,'"').replace(/\n/gu,"")}').\n`)}validateRuleSchema(e,t){if(!jt.has(e)){const t=this.getRuleOptionsSchema(e);t&&jt.set(e,Nt.compile(t))}const n=jt.get(e);if(n&&(n(t),n.errors))throw new Error(n.errors.map((e=>`\tValue ${JSON.stringify(e.data)} ${e.message}.\n`)).join(""))}validateRuleOptions(e,t,n,r=null){try{0!==this.validateRuleSeverity(n)&&this.validateRuleSchema(e,Array.isArray(n)?n.slice(1):[])}catch(e){const n=`Configuration for rule "${t}" is invalid:\n${e.message}`;throw"string"==typeof r?new Error(`${r}:\n\t${n}`):new Error(n)}}validateEnvironment(e,t,n=Lt){e&&Object.keys(e).forEach((e=>{if(!n(e)&&!vt.get(e))throw new Error(`${t}:\n\tEnvironment key "${e}" is unknown\n`)}))}validateRules(e,t,n=Lt){e&&Object.keys(e).forEach((r=>{const o=n(r)||this.builtInRules.get(r)||null;this.validateRuleOptions(o,r,e[r],t)}))}validateGlobals(e,t=null){e&&Object.entries(e).forEach((([e,n])=>{try{wt.normalizeConfigGlobal(n)}catch(n){throw new Error(`ESLint configuration of global '${e}' in ${t} is invalid:\n${n.message}`)}}))}validateProcessor(e,t,n){if(e&&!n(e))throw new Error(`ESLint configuration of processor in '${t}' is invalid: '${e}' was not found.`)}formatErrors(e){return e.map((e=>"additionalProperties"===e.keyword?`Unexpected top-level property "${e.dataPath.length?`${e.dataPath.slice(1)}.${e.params.additionalProperty}`:e.params.additionalProperty}"`:"type"===e.keyword?`Property "${e.dataPath.slice(1)}" is the wrong type (expected ${Array.isArray(e.schema)?e.schema.join("/"):e.schema} but got \`${JSON.stringify(e.data)}\`)`:`"${"."===e.dataPath[0]?e.dataPath.slice(1):e.dataPath}" ${e.message}. Value: ${JSON.stringify(e.data)}`)).map((e=>`\t- ${e}.\n`)).join("")}validateConfigSchema(e,t=null){if(Rt=Rt||Nt.compile(Tt),!Rt(e))throw new Error(`ESLint configuration in ${t} is invalid:\n${this.formatErrors(Rt.errors)}`);Object.hasOwnProperty.call(e,"ecmaFeatures")&&Bt(t,"ESLINT_LEGACY_ECMAFEATURES")}validate(e,t,n,r){this.validateConfigSchema(e,t),this.validateRules(e.rules,t,n),this.validateEnvironment(e.env,t,r),this.validateGlobals(e.globals,t);for(const o of e.overrides||[])this.validateRules(o.rules,t,n),this.validateEnvironment(o.env,t,r),this.validateGlobals(e.globals,t)}validateConfigArray(e){const t=Map.prototype.get.bind(e.pluginEnvironments),n=Map.prototype.get.bind(e.pluginProcessors),r=Map.prototype.get.bind(e.pluginRules);for(const o of e)_t.has(o)||(_t.add(o),this.validateEnvironment(o.env,o.name,t),this.validateGlobals(o.globals,o.name),this.validateProcessor(o.processor,o.name,n),this.validateRules(o.rules,o.name,r))}}({builtInRules:Bm});return t.comments.filter((e=>"Shebang"!==e.type)).forEach((e=>{const t=Qm(e.value),u=/^(eslint(?:-env|-enable|-disable(?:(?:-next)?-line)?)?|exported|globals?)(?:\s|$)/u.exec(t);if(!u)return;const p=u[1],d=/^eslint-disable-(next-)?line$/u.test(p);if("Line"===e.type&&!d)return;if(r){const t="Block"===e.type?`/*${p}*/`:`//${p}`;return void i.push(Xm({ruleId:null,message:`'${t}' has no effect because you have 'noInlineConfig' setting in ${r}.`,loc:e.loc,severity:1}))}if(d&&e.loc.start.line!==e.loc.end.line){const t=`${p} comment should not span multiple lines.`;return void i.push(Xm({ruleId:null,message:t,loc:e.loc}))}const f=t.slice(u.index+p.length);switch(p){case"eslint-disable":case"eslint-enable":case"eslint-disable-next-line":case"eslint-disable-line":{const t={type:p.slice("eslint-".length),loc:e.loc,value:f,ruleMapper:n},{directives:r,directiveProblems:o}=function(e){const{type:t,loc:n,value:r,ruleMapper:o}=e,s=Object.keys(Km.parseListConfig(r)),a=s.length?s:[null],i={directives:[],directiveProblems:[]};for(const e of a)null===e||null!==o(e)?i.directives.push({type:t,line:n.start.line,column:n.start.column+1,ruleId:e}):i.directiveProblems.push(Xm({ruleId:e,loc:n}));return i}(t);c.push(...r),i.push(...o);break}case"exported":Object.assign(a,Km.parseStringConfig(f,e));break;case"globals":case"global":for(const[t,{value:n}]of Object.entries(Km.parseStringConfig(f,e))){let r;try{r=wt.normalizeConfigGlobal(n)}catch(t){i.push(Xm({ruleId:null,loc:e.loc,message:t.message}));continue}s[t]?(s[t].comments.push(e),s[t].value=r):s[t]={comments:[e],value:r}}break;case"eslint":{const t=Km.parseJsonConfig(f,e.loc);t.success?Object.keys(t.config).forEach((r=>{const s=n(r),a=t.config[r];if(null!==s){try{l.validateRuleOptions(s,r,a)}catch(t){return void i.push(Xm({ruleId:r,message:t.message,loc:e.loc}))}o[r]=a}else i.push(Xm({ruleId:r,loc:e.loc}))})):i.push(t.error);break}}})),{configuredRules:o,enabledGlobals:s,exportedVariables:a,problems:i,disableDirectives:c}}const eg=/\/\*\s*eslint-env\s(.+?)\*\//gu;function tg(e){const t=e.split(O.default.sep),n=t.lastIndexOf("");return-1===n?e:t.slice(n).join(O.default.sep)}function ng(e,t,n){const r=t.ecmaFeatures||{},o=t.ecmaVersion||5;return _.default.analyze(e,{ignoreEval:!0,nodejsScope:r.globalReturn,impliedStrict:r.impliedStrict,ecmaVersion:o,sourceType:t.sourceType||"script",childVisitorKeys:n||$.default.KEYS,fallback:Vt.getKeys})}function rg(e,t){const n="Program"!==t.type;for(let r=t;r;r=r.parent){const t=e.acquire(r,n);if(t)return"function-expression-name"===t.type?t.childScopes[0]:t}return e.scopes[0]}const og={getSource:"getText",getSourceLines:"getLines",getAllComments:"getAllComments",getNodeByRangeIndex:"getNodeByRangeIndex",getComments:"getComments",getCommentsBefore:"getCommentsBefore",getCommentsAfter:"getCommentsAfter",getCommentsInside:"getCommentsInside",getJSDocComment:"getJSDocComment",getFirstToken:"getFirstToken",getFirstTokens:"getFirstTokens",getLastToken:"getLastToken",getLastTokens:"getLastTokens",getTokenAfter:"getTokenAfter",getTokenBefore:"getTokenBefore",getTokenByRangeStart:"getTokenByRangeStart",getTokens:"getTokens",getTokensAfter:"getTokensAfter",getTokensBefore:"getTokensBefore",getTokensBetween:"getTokensBetween"},sg=Object.freeze(Object.keys(og).reduce(((e,t)=>Object.assign(e,{[t](...e){return this.getSourceCode()[og[t]](...e)}})),{}));function ag(e,t,n,r,o,s,a,i,c){const l=(()=>{const e=Object.create(null);return Object.freeze({on(t,n){t in e?e[t].push(n):e[t]=[n]},emit(t,...n){t in e&&e[t].forEach((e=>e(...n)))},eventNames:()=>Object.keys(e)})})(),u=[];let p=e.ast;Vt.traverse(e.ast,{enter(e,t){e.parent=t,u.push({isEntering:!0,node:e})},leave(e){u.push({isEntering:!1,node:e})},visitorKeys:e.visitorKeys});const d=Object.freeze(Object.assign(Object.create(sg),{getAncestors:()=>function(e){const t=[];for(let n=e.parent;n;n=n.parent)t.push(n);return t.reverse()}(p),getDeclaredVariables:e.scopeManager.getDeclaredVariables.bind(e.scopeManager),getCwd:()=>c,getFilename:()=>a,getScope:()=>rg(e.scopeManager,p),getSourceCode:()=>e,markVariableAsUsed:t=>function(e,t,n,r){const o=n.ecmaFeatures&&n.ecmaFeatures.globalReturn||"module"===n.sourceType,s=rg(e,t);for(let e="global"===s.type&&o?s.childScopes[0]:s;e;e=e.upper){const t=e.variables.find((e=>e.name===r));if(t)return t.eslintUsed=!0,!0}return!1}(e.scopeManager,p,r,t),parserOptions:r,parserPath:o,parserServices:e.parserServices,settings:s})),f=[];Object.keys(t).forEach((r=>{const o=wt.getRuleSeverity(t[r]);if(0===o)return;const s=n(r);if(null===s)return void f.push(Xm({ruleId:r}));const a=s.meta&&s.meta.messages;let c=null;const u=Object.freeze(Object.assign(Object.create(d),{id:r,options:(p=t[r],Array.isArray(p)?p.slice(1):[]),report(...t){null===c&&(c=lr({ruleId:r,severity:o,sourceCode:e,messageIds:a,disableFixes:i}));const n=c(...t);if(n.fix&&s.meta&&!s.meta.fixable)throw new Error("Fixable rules should export a `meta.fixable` property.");f.push(n)}}));var p;const m=function(e,t){try{return e.create(t)}catch(e){throw e.message=`Error while loading rule '${t.id}': ${e.message}`,e}}(s,u);Object.keys(m).forEach((e=>{l.on(e,Wm.enabled?Wm.time(r,m[e]):m[e])}))}));const m="Program"===u[0].node.type?new Gn(new er(l,{visitorKeys:e.visitorKeys,fallback:Vt.getKeys})):new er(l,{visitorKeys:e.visitorKeys,fallback:Vt.getKeys});return u.forEach((e=>{p=e.node;try{e.isEntering?m.enterNode(p):m.leaveNode(p)}catch(e){throw e.currentNode=p,e}})),f}function ig(e,t){return e.lastConfigArray&&e.lastConfigArray.pluginRules.get(t)||e.ruleMap.get(t)}function cg(e){return e||("object"==typeof process?process.cwd():void 0)}const lg=new WeakMap;var ug={Linter:class{constructor({cwd:e}={}){lg.set(this,{cwd:cg(e),lastConfigArray:null,lastSourceCode:null,parserMap:new Map([["espree",q.default]]),ruleMap:new Bm}),this.version=rt.version}static get version(){return rt.version}_verifyWithoutProcessors(e,t,n){const r=lg.get(this),o=t||{},s=function(e,t){const n=!0===t.noInlineConfig,r=!1===e.allowInlineConfig,o=t.configNameOfNoInlineConfig?` (${t.configNameOfNoInlineConfig})`:"";let s=e.reportUnusedDisableDirectives;return"boolean"==typeof s&&(s=s?"error":"off"),"string"!=typeof s&&(s=t.reportUnusedDisableDirectives?"warn":"off"),{filename:tg(e.filename||""),allowInlineConfig:!r,warnInlineConfig:n&&!r?`your config${o}`:null,reportUnusedDisableDirectives:s,disableFixes:Boolean(e.disableFixes)}}(n,o);let a;"string"==typeof e?(r.lastSourceCode=null,a=e):(r.lastSourceCode=e,a=e.text);let i="espree",c=q.default;if("object"==typeof o.parser&&null!==o.parser)i=o.parser.filePath,c=o.parser.definition;else if("string"==typeof o.parser){if(!r.parserMap.has(o.parser))return[{ruleId:null,fatal:!0,severity:2,message:`Configured parser '${o.parser}' was not found.`,line:0,column:0}];i=o.parser,c=r.parserMap.get(o.parser)}const l=s.allowInlineConfig&&!s.warnInlineConfig?function(e){let t,n;for(eg.lastIndex=0;null!==(t=eg.exec(e));)n=Object.assign(n||{},Km.parseListConfig(Qm(t[1])));return n}(a):{},u=Object.assign({builtin:!0},o.env,l),p=Object.keys(u).filter((e=>u[e])).map((e=>function(e,t){return e.lastConfigArray&&e.lastConfigArray.pluginEnvironments.get(t)||vt.get(t)||null}(r,e))).filter((e=>e)),d=function(e,t,n){const r=n.filter((e=>e.parserOptions)).reduce(((e,t)=>F.default.merge(e,t.parserOptions)),{}),o=F.default.merge(r,t||{});var s;return"module"===o.sourceType&&(o.ecmaFeatures=Object.assign({},o.ecmaFeatures,{globalReturn:!1})),o.ecmaVersion=(s=o.ecmaVersion)>=2015?s-2009:s,o}(0,o.parserOptions||{},p),f=(m=o.globals||{},g=p,Object.assign({},...g.filter((e=>e.globals)).map((e=>e.globals)),m));var m,g;const h=o.settings||{};if(r.lastSourceCode)r.lastSourceCode.scopeManager||(r.lastSourceCode=new zm({text:r.lastSourceCode.text,ast:r.lastSourceCode.ast,parserServices:r.lastSourceCode.parserServices,visitorKeys:r.lastSourceCode.visitorKeys,scopeManager:ng(r.lastSourceCode.ast,d)}));else{const e=function(e,t,n,r){const o=function(e){return 65279===e.charCodeAt(0)?e.slice(1):e}(e).replace(kt.shebangPattern,((e,t)=>`//${t}`)),s=Object.assign({},n,{loc:!0,range:!0,raw:!0,tokens:!0,comment:!0,eslintVisitorKeys:!0,eslintScopeManager:!0,filePath:r});try{const n="function"==typeof t.parseForESLint?t.parseForESLint(o,s):{ast:t.parse(o,s)},r=n.ast,a=n.services||{},i=n.visitorKeys||$.default.KEYS,c=n.scopeManager||ng(r,s,i);return{success:!0,sourceCode:new zm({text:e,ast:r,parserServices:a,scopeManager:c,visitorKeys:i})}}catch(e){const t=`Parsing error: ${e.message.replace(/^line \d+:/iu,"").trim()}`;return Jm("%s\n%s",t,e.stack),{success:!1,error:{ruleId:null,fatal:!0,severity:2,message:t,line:e.lineNumber,column:e.column}}}}(a,c,d,s.filename);if(!e.success)return[e.error];r.lastSourceCode=e.sourceCode}const y=r.lastSourceCode,x=s.allowInlineConfig?Zm(s.filename,y.ast,(e=>ig(r,e)),s.warnInlineConfig):{configuredRules:{},enabledGlobals:{},exportedVariables:{},problems:[],disableDirectives:[]};!function(e,t,{exportedVariables:n,enabledGlobals:r}){for(const n of new Set([...Object.keys(t),...Object.keys(r)])){const o=void 0===t[n]?void 0:wt.normalizeConfigGlobal(t[n]),s=r[n]&&r[n].value||o,a=r[n]&&r[n].comments;if("off"===s)continue;let i=e.set.get(n);i||(i=new _.default.Variable(n,e),e.variables.push(i),e.set.set(n,i)),i.eslintImplicitGlobalSetting=o,i.eslintExplicitGlobal=void 0!==a,i.eslintExplicitGlobalComments=a,i.writeable="writable"===s}Object.keys(n).forEach((t=>{const n=e.set.get(t);n&&(n.eslintUsed=!0)})),e.through=e.through.filter((t=>{const n=t.identifier.name,r=e.set.get(n);return!r||(t.resolved=r,r.references.push(t),!1)}))}(y.scopeManager.scopes[0],f,{exportedVariables:x.exportedVariables,enabledGlobals:x.enabledGlobals});const b=Object.assign({},o.rules,x.configuredRules);let E;try{E=ag(y,b,(e=>ig(r,e)),d,i,h,s.filename,s.disableFixes,r.cwd)}catch(e){if(e.message+=`\nOccurred while linting ${s.filename}`,Jm("An error occurred while traversing"),Jm("Filename:",s.filename),e.currentNode){const{line:t}=e.currentNode.loc.start;Jm("Line:",t),e.message+=`:${t}`}throw Jm("Parser Options:",d),Jm("Parser Path:",i),Jm("Settings:",h),e}return(({directives:e,problems:t,reportUnusedDisableDirectives:n="off"})=>{const r=e.filter((e=>"disable"===e.type||"enable"===e.type)).map((e=>Object.assign({},e,{unprocessedDirective:e}))).sort(zn),o=F.default.flatMap(e,(e=>{switch(e.type){case"disable":case"enable":return[];case"disable-line":return[{type:"disable",line:e.line,column:1,ruleId:e.ruleId,unprocessedDirective:e},{type:"enable",line:e.line+1,column:0,ruleId:e.ruleId,unprocessedDirective:e}];case"disable-next-line":return[{type:"disable",line:e.line+1,column:1,ruleId:e.ruleId,unprocessedDirective:e},{type:"enable",line:e.line+2,column:0,ruleId:e.ruleId,unprocessedDirective:e}];default:throw new TypeError(`Unrecognized directive type '${e.type}'`)}})).sort(zn),s=Jn({problems:t,directives:r,reportUnusedDisableDirectives:n}),a=Jn({problems:s.problems,directives:o,reportUnusedDisableDirectives:n});return"off"!==n?a.problems.concat(s.unusedDisableDirectives).concat(a.unusedDisableDirectives).sort(zn):a.problems})({directives:x.disableDirectives,problems:E.concat(x.problems).sort(((e,t)=>e.line-t.line||e.column-t.column)),reportUnusedDisableDirectives:s.reportUnusedDisableDirectives})}verify(e,t,n){Jm("Verify");const r="string"==typeof n?{filename:n}:n||{};return t&&"function"==typeof t.extractConfig?this._verifyWithConfigArray(e,t,r):r.preprocess||r.postprocess?this._verifyWithProcessor(e,t,r):this._verifyWithoutProcessors(e,t,r)}_verifyWithConfigArray(e,t,n){Jm("With ConfigArray: %s",n.filename),lg.get(this).lastConfigArray=t;const r=t.extractConfig(n.filename),o=r.processor&&t.pluginProcessors.get(r.processor);if(o){Jm("Apply the processor: %o",r.processor);const{preprocess:s,postprocess:a,supportsAutofix:i}=o,c=n.disableFixes||!i;return this._verifyWithProcessor(e,r,{...n,disableFixes:c,postprocess:a,preprocess:s},t)}return this._verifyWithoutProcessors(e,r,n)}_verifyWithProcessor(e,t,n,r){const o=n.filename||"",s=tg(o),a=function(e){if("object"==typeof e){const{hasBOM:t,text:n}=e;return(t?"\ufeff":"")+n}return String(e)}(e),i=n.preprocess||(e=>[e]),c=n.postprocess||F.default.flatten,l=n.filterCodeBlock||(e=>e.endsWith(".js")),u=O.default.extname(o);return c(i(a,s).map(((e,s)=>{if(Jm("A code block was found: %o",e.filename||"(unnamed)"),"string"==typeof e)return this._verifyWithoutProcessors(e,t,n);const a=e.text,i=O.default.join(o,`${s}_${e.filename}`);return l(i,a)?r&&O.default.extname(i)!==u?(Jm("Resolving configuration again because the file extension was changed."),this._verifyWithConfigArray(a,r,{...n,filename:i})):this._verifyWithoutProcessors(a,t,{...n,filename:i}):(Jm("This code block was skipped."),[])})),s)}getSourceCode(){return lg.get(this).lastSourceCode}defineRule(e,t){lg.get(this).ruleMap.define(e,t)}defineRules(e){Object.getOwnPropertyNames(e).forEach((t=>{this.defineRule(t,e[t])}))}getRules(){const{lastConfigArray:e,ruleMap:t}=lg.get(this);return new Map(function*(){yield*t,e&&(yield*e.pluginRules)}())}defineParser(e,t){lg.get(this).parserMap.set(e,t)}verifyAndFix(e,t,n){let r,o=[],s=!1,a=0,i=e;const c=n&&n.filename||`${e.slice(0,10)}...`,l=!n||void 0===n.fix||n.fix;do{if(a++,Jm(`Linting code for ${c} (pass ${a})`),o=this.verify(i,t,n),Jm(`Generating fixed text for ${c} (pass ${a})`),r=Mm.applyFixes(i,o,l),1===o.length&&o[0].fatal)break;s=s||r.fixed,i=r.output}while(r.fixed&&a<10);return r.fixed&&(r.messages=this.verify(i,t,n)),r.fixed=s,r.output=i,r}},getLinterInternalSlots:e=>lg.get(e)};const{Linter:pg}=ug;var dg={Linter:pg,SourceCodeFixer:Mm,interpolate:rr};const fg={};var mg=function(e,t){const n=O.default.resolve(t,e);if(fg[n])return fg[n];const r=Object.create(null);return D.default.readdirSync(n).forEach((e=>{".js"===O.default.extname(e)&&(r[e.slice(0,-3)]=ce(O.default.join(n,e)))})),fg[n]=r,r};var gg=function(e){return te.default(e).result().toString(36)};const hg=M.default("eslint:lint-result-cache"),yg=new WeakMap,xg=process&&process.version,bg=["metadata","content"],Eg=`Cache strategy must be one of: ${bg.map((e=>`"${e}"`)).join(", ")}`;function Sg(e){return yg.has(e)||yg.set(e,gg(`${rt.version}_${xg}_${re.default(e)}`)),yg.get(e)}var Cg=class{constructor(e,t){z.default(e,"Cache file location is required"),z.default(t,"Cache strategy is required"),z.default(function(e){return-1!==bg.indexOf(e)}(t),Eg),hg(`Caching results to ${e}`);const n="content"===t;hg(`Using "${t}" strategy to detect changes`),this.fileEntryCache=ne.default.create(e,void 0,n),this.cacheFileLocation=e}getCachedLintResults(e,t){const n=this.fileEntryCache.getFileDescriptor(e),r=Sg(t),o=n.changed||n.meta.hashOfConfig!==r;return n.notFound?(hg(`File not found on the file system: ${e}`),null):o?(hg(`Cache entry not found or no longer valid: ${e}`),null):(n.meta.results&&null===n.meta.results.source&&(hg(`Rereading cached result source from filesystem: ${e}`),n.meta.results.source=D.default.readFileSync(e,"utf-8")),n.meta.results)}setCachedLintResults(e,t,n){if(n&&Object.prototype.hasOwnProperty.call(n,"output"))return;const r=this.fileEntryCache.getFileDescriptor(e);if(r&&!r.notFound){hg(`Updating cached result: ${e}`);const o=Object.assign({},n);Object.prototype.hasOwnProperty.call(o,"source")&&(o.source=null),r.meta.results=o,r.meta.hashOfConfig=Sg(t)}}reconcile(){hg(`Persisting cached results: ${this.cacheFileLocation}`),this.fileEntryCache.reconcile()}};const{Legacy:{ConfigOps:vg,naming:Ag,CascadingConfigArrayFactory:kg,IgnorePattern:wg,getUsedExtractedConfigs:Pg}}=B.default,{FileEnumerator:Tg}=bt,{Linter:Ig}=dg,Fg=M.default("eslint:cli-engine"),Dg=new Set(["problem","suggestion","layout"]),Og=new WeakMap;function Bg(e){return e.reduce(((e,t)=>(t.fatal||2===t.severity?(e.errorCount++,t.fix&&e.fixableErrorCount++):(e.warningCount++,t.fix&&e.fixableWarningCount++),e)),{errorCount:0,warningCount:0,fixableErrorCount:0,fixableWarningCount:0})}function Ng(e){return e.reduce(((e,t)=>(e.errorCount+=t.errorCount,e.warningCount+=t.warningCount,e.fixableErrorCount+=t.fixableErrorCount,e.fixableWarningCount+=t.fixableWarningCount,e)),{errorCount:0,warningCount:0,fixableErrorCount:0,fixableWarningCount:0})}function jg({text:e,cwd:t,filePath:n,config:r,fix:o,allowInlineConfig:s,reportUnusedDisableDirectives:a,fileEnumerator:i,linter:c}){const l=n||"";Fg(`Lint ${l}`);const u=""===l?O.default.join(t,l):l,{fixed:p,messages:d,output:f}=c.verifyAndFix(e,r,{allowInlineConfig:s,filename:u,fix:o,reportUnusedDisableDirectives:a,filterCodeBlock:e=>i.isTargetPath(e)}),m={filePath:l,messages:d,...Bg(d)};return p&&(m.output=f),m.errorCount+m.warningCount>0&&void 0===m.output&&(m.source=e),m}function Lg(e,t){let n;const r=e.split(O.default.sep).find((e=>/^\./u.test(e))),o=t&&O.default.relative(t,e).startsWith("node_modules");return n=r?"File ignored by default. Use a negated ignore pattern (like \"--ignore-pattern '!'\") to override.":o?"File ignored by default. Use \"--ignore-pattern '!node_modules/*'\" to override.":'File ignored because of a matching ignore pattern. Use "--no-ignore" to override.',{filePath:O.default.resolve(e),messages:[{fatal:!1,severity:1,message:n}],errorCount:0,warningCount:1,fixableErrorCount:0,fixableWarningCount:0}}function Rg(e,t){for(const n of t){const t=n.pluginRules.get(e);if(t)return t}return Dm.get(e)||null}function*Mg(e){const t=new Set,n=[].concat(...e.map(Pg));for(const r of n)for(const[n,o]of Object.entries(r.rules)){if(t.has(n))continue;if(t.add(n),!vg.getRuleSeverity(o))continue;const r=Rg(n,e);r&&r.meta&&r.meta.deprecated&&(yield{ruleId:n,replacedBy:r.meta.replacedBy||[]})}}function _g(e){return 2===e.severity}function $g(e,t,n){if(e&&!Array.isArray(e))throw new Error(`${n} must be an array.`);if(e&&e.length>0)return e.reduce(((e,n)=>{const[r,o]=n.split(":");return"__proto__"!==r&&(e[r]=void 0===o?t:"true"===o),e}),{})}function qg(e){const{ignorePattern:t,parser:n,parserOptions:r,plugins:o,rules:s}=e,a=$g(e.envs,!0,"envs"),i=$g(e.globals,!1,"globals");return void 0!==a||void 0!==i||void 0!==t&&0!==t.length||void 0!==n||void 0!==r||void 0!==o||void 0!==s?{env:a,globals:i,ignorePatterns:t,parser:n,parserOptions:r,plugins:o,rules:s}:null}function Ug(e){try{return D.default.statSync(e).isDirectory()}catch(e){if(e&&("ENOENT"===e.code||"ENOTDIR"===e.code))return!1;throw e}}class Vg{constructor(e){const t=Object.assign(Object.create(null),nt,{cwd:process.cwd()},e);void 0===t.fix&&(t.fix=!1);const n=new Map,r=function(e,t){const n=O.default.normalize(e),r=O.default.resolve(t,n),o=n.slice(-1)===O.default.sep;function s(){return O.default.join(r,`.cache_${gg(t)}`)}let a;try{a=D.default.lstatSync(r)}catch{a=null}return a?a.isDirectory()||o?s():r:o?s():r}(t.cacheLocation||t.cacheFile,t.cwd),o=new kg({additionalPluginPool:n,baseConfig:t.baseConfig||null,cliConfig:qg(t),cwd:t.cwd,ignorePath:t.ignorePath,resolvePluginsRelativeTo:t.resolvePluginsRelativeTo,rulePaths:t.rulePaths,specificConfigPath:t.configFile,useEslintrc:t.useEslintrc,builtInRules:Dm,loadRules:mg,eslintRecommendedPath:O.default.resolve(__dirname,"../../conf/eslint-recommended.js"),eslintAllPath:O.default.resolve(__dirname,"../../conf/eslint-all.js")}),s=new Tg({configArrayFactory:o,cwd:t.cwd,extensions:t.extensions,globInputPaths:t.globInputPaths,errorOnUnmatchedPattern:t.errorOnUnmatchedPattern,ignore:t.ignore}),a=t.cache?new Cg(r,t.cacheStrategy):null,i=new Ig({cwd:t.cwd}),c=[o.getConfigArrayForFile()];if(Og.set(this,{additionalPluginPool:n,cacheFilePath:r,configArrayFactory:o,defaultIgnores:wg.createDefaultIgnore(t.cwd),fileEnumerator:s,lastConfigArrays:c,lintResultCache:a,linter:i,options:t}),t.fix&&t.fixTypes&&t.fixTypes.length>0){Fg(`Using fix types ${t.fixTypes}`),function(e){for(const t of e)if(!Dg.has(t))throw new Error(`Invalid fix type "${t}" found.`)}(t.fixTypes);const e=new Set(t.fixTypes),n="function"==typeof t.fix?t.fix:()=>!0;t.fix=t=>{const r=t.ruleId&&Rg(t.ruleId,c);return r&&r.meta&&e.has(r.meta.type)&&n(t)}}}getRules(){const{lastConfigArrays:e}=Og.get(this);return new Map(function*(){yield*Dm;for(const t of e)yield*t.pluginRules}())}static getErrorResults(e){const t=[];return e.forEach((e=>{const n=e.messages.filter(_g);n.length>0&&t.push({...e,messages:n,errorCount:n.length,warningCount:0,fixableErrorCount:e.fixableErrorCount,fixableWarningCount:0})})),t}static outputFixes(e){e.results.filter((e=>Object.prototype.hasOwnProperty.call(e,"output"))).forEach((e=>{D.default.writeFileSync(e.filePath,e.output)}))}addPlugin(e,t){const{additionalPluginPool:n,configArrayFactory:r,lastConfigArrays:o}=Og.get(this);n.set(e,t),r.clearCache(),o.length=1,o[0]=r.getConfigArrayForFile()}resolveFileGlobPatterns(e){const{options:t}=Og.get(this);if(!1===t.globInputPaths)return e.filter(Boolean);const n=`/**/*.{${(t.extensions||[".js"]).map((e=>e.replace(/^\./u,""))).join(",")}}`;return e.filter(Boolean).map((e=>{const r=Ug(O.default.resolve(t.cwd,e))?e.replace(/[/\\]$/u,"")+n:e;return O.default.normalize(r).replace(/\\/gu,"/")}))}executeOnFiles(e){const{cacheFilePath:t,fileEnumerator:n,lastConfigArrays:r,lintResultCache:o,linter:s,options:{allowInlineConfig:a,cache:i,cwd:c,fix:l,reportUnusedDisableDirectives:u}}=Og.get(this),p=[],d=Date.now();if(r.length=0,!i)try{D.default.unlinkSync(t)}catch(e){const n=e&&e.code;if("ENOENT"!==n&&("EROFS"!==n||D.default.existsSync(t)))throw e}for(const{config:t,filePath:i,ignored:d}of n.iterateFiles(e)){if(d){p.push(Lg(i,c));continue}if(r.includes(t)||r.push(t),o){const e=o.getCachedLintResults(i,t);if(e){if(!(e.messages&&e.messages.length>0)||!l){Fg(`Skipping file since it hasn't changed: ${i}`),p.push(e);continue}Fg(`Reprocessing cached file to allow autofix: ${i}`)}}const e=jg({text:D.default.readFileSync(i,"utf8"),filePath:i,config:t,cwd:c,fix:l,allowInlineConfig:a,reportUnusedDisableDirectives:u,fileEnumerator:n,linter:s});p.push(e),o&&o.setCachedLintResults(i,t,e)}let f;return o&&o.reconcile(),Fg(`Linting complete in: ${Date.now()-d}ms`),{results:p,...Ng(p),get usedDeprecatedRules(){return f||(f=Array.from(Mg(r))),f}}}executeOnText(e,t,n){const{configArrayFactory:r,fileEnumerator:o,lastConfigArrays:s,linter:a,options:{allowInlineConfig:i,cwd:c,fix:l,reportUnusedDisableDirectives:u}}=Og.get(this),p=[],d=Date.now(),f=t&&O.default.resolve(c,t);if(s.length=0,f&&this.isPathIgnored(f))n&&p.push(Lg(f,c));else{const t=r.getConfigArrayForFile(f||"__placeholder__.js");s.push(t),p.push(jg({text:e,filePath:f,config:t,cwd:c,fix:l,allowInlineConfig:i,reportUnusedDisableDirectives:u,fileEnumerator:o,linter:a}))}let m;return Fg(`Linting complete in: ${Date.now()-d}ms`),{results:p,...Ng(p),get usedDeprecatedRules(){return m||(m=Array.from(Mg(s))),m}}}getConfigForFile(e){const{configArrayFactory:t,options:n}=Og.get(this),r=O.default.resolve(n.cwd,e);if(Ug(r))throw Object.assign(new Error("'filePath' should not be a directory path."),{messageTemplate:"print-config-with-directory-path"});return t.getConfigArrayForFile(r).extractConfig(r).toCompatibleObjectAsConfigFileContent()}isPathIgnored(e){const{configArrayFactory:t,defaultIgnores:n,options:{cwd:r,ignore:o}}=Og.get(this),s=O.default.resolve(r,e);if(o){return(t.getConfigArrayForFile(s).extractConfig(s).ignores||n)(s)}return n(s)}getFormatter(e){const t=e||"stylish";if("string"!=typeof t)return null;{const e=t.replace(/\\/gu,"/"),n=Og.get(this),r=n?n.options.cwd:process.cwd();let o;if(!Ag.getNamespaceFromTerm(e)&&e.indexOf("/")>-1)o=O.default.resolve(r,e);else try{const t=Ag.normalizePackageName(e,"eslint-formatter");o=st.resolve(t,O.default.join(r,"__placeholder__.js"))}catch{o=O.default.resolve(__dirname,"formatters",e)}try{return ce(o)}catch(e){throw e.message=`There was a problem loading formatter: ${o}\nError: ${e.message}`,e}}}}Vg.version=rt.version,Vg.getFormatter=Vg.prototype.getFormatter;var Wg={CLIEngine:Vg,getCLIEngineInternalSlots:e=>Og.get(e)};const{CLIEngine:Gg}=Wg;var zg={CLIEngine:Gg};const{promisify:Jg}=V.default,{CLIEngine:Kg,getCLIEngineInternalSlots:Yg}=Wg,{Legacy:{ConfigOps:{getRuleSeverity:Hg}}}=B.default,{version:Xg}=rt,Qg=Jg(D.default.writeFile),Zg=new WeakMap;function eh(e){return"string"==typeof e&&""!==e.trim()}function th(e){return Array.isArray(e)&&e.every(eh)}function nh(e){return"problem"===e||"suggestion"===e||"layout"===e}class rh extends Error{constructor(e){super(`Invalid Options:\n- ${e.join("\n- ")}`),this.code="ESLINT_INVALID_OPTIONS",Error.captureStackTrace(this,rh)}}function oh({allowInlineConfig:e=!0,baseConfig:t=null,cache:n=!1,cacheLocation:r=".eslintcache",cacheStrategy:o="metadata",cwd:s=process.cwd(),errorOnUnmatchedPattern:a=!0,extensions:i=null,fix:c=!1,fixTypes:l=null,globInputPaths:u=!0,ignore:p=!0,ignorePath:d=null,overrideConfig:f=null,overrideConfigFile:m=null,plugins:g={},reportUnusedDisableDirectives:h=null,resolvePluginsRelativeTo:y=null,rulePaths:x=[],useEslintrc:b=!0,...E}){const S=[],C=Object.keys(E);var v;if(C.length>=1&&(S.push(`Unknown options: ${C.join(", ")}`),C.includes("cacheFile")&&S.push("'cacheFile' has been removed. Please use the 'cacheLocation' option instead."),C.includes("configFile")&&S.push("'configFile' has been removed. Please use the 'overrideConfigFile' option instead."),C.includes("envs")&&S.push("'envs' has been removed. Please use the 'overrideConfig.env' option instead."),C.includes("globals")&&S.push("'globals' has been removed. Please use the 'overrideConfig.globals' option instead."),C.includes("ignorePattern")&&S.push("'ignorePattern' has been removed. Please use the 'overrideConfig.ignorePatterns' option instead."),C.includes("parser")&&S.push("'parser' has been removed. Please use the 'overrideConfig.parser' option instead."),C.includes("parserOptions")&&S.push("'parserOptions' has been removed. Please use the 'overrideConfig.parserOptions' option instead."),C.includes("rules")&&S.push("'rules' has been removed. Please use the 'overrideConfig.rules' option instead.")),"boolean"!=typeof e&&S.push("'allowInlineConfig' must be a boolean."),"object"!=typeof t&&S.push("'baseConfig' must be an object or null."),"boolean"!=typeof n&&S.push("'cache' must be a boolean."),eh(r)||S.push("'cacheLocation' must be a non-empty string."),"metadata"!==o&&"content"!==o&&S.push('\'cacheStrategy\' must be any of "metadata", "content".'),eh(s)&&O.default.isAbsolute(s)||S.push("'cwd' must be an absolute path."),"boolean"!=typeof a&&S.push("'errorOnUnmatchedPattern' must be a boolean."),th(i)||null===i||S.push("'extensions' must be an array of non-empty strings or null."),"boolean"!=typeof c&&"function"!=typeof c&&S.push("'fix' must be a boolean or a function."),null===l||(v=l,Array.isArray(v)&&v.every(nh))||S.push('\'fixTypes\' must be an array of any of "problem", "suggestion", and "layout".'),"boolean"!=typeof u&&S.push("'globInputPaths' must be a boolean."),"boolean"!=typeof p&&S.push("'ignore' must be a boolean."),eh(d)||null===d||S.push("'ignorePath' must be a non-empty string or null."),"object"!=typeof f&&S.push("'overrideConfig' must be an object or null."),eh(m)||null===m||S.push("'overrideConfigFile' must be a non-empty string or null."),"object"!=typeof g?S.push("'plugins' must be an object or null."):null!==g&&Object.keys(g).includes("")&&S.push("'plugins' must not include an empty string."),Array.isArray(g)&&S.push("'plugins' doesn't add plugins to configuration to load. Please use the 'overrideConfig.plugins' option instead."),"error"!==h&&"warn"!==h&&"off"!==h&&null!==h&&S.push('\'reportUnusedDisableDirectives\' must be any of "error", "warn", "off", and null.'),eh(y)||null===y||S.push("'resolvePluginsRelativeTo' must be a non-empty string or null."),th(x)||S.push("'rulePaths' must be an array of non-empty strings."),"boolean"!=typeof b&&S.push("'useEslintrc' must be a boolean."),S.length>0)throw new rh(S);return{allowInlineConfig:e,baseConfig:t,cache:n,cacheLocation:r,cacheStrategy:o,configFile:m,cwd:s,errorOnUnmatchedPattern:a,extensions:i,fix:c,fixTypes:l,globInputPaths:u,ignore:p,ignorePath:d,reportUnusedDisableDirectives:h,resolvePluginsRelativeTo:y,rulePaths:x,useEslintrc:b}}const sh=new WeakMap;function ah(e,{results:t}){const n={configurable:!0,enumerable:!0,get(){return function(e,t){const{configArrayFactory:n,options:{cwd:r}}=Yg(e),o=O.default.isAbsolute(t)?t:O.default.join(r,"__placeholder__.js"),s=n.getConfigArrayForFile(o),a=s.extractConfig(o);if(!sh.has(a)){const e=s.pluginRules,t=[];for(const[n,r]of Object.entries(a.rules)){if(0===Hg(r))continue;const o=e.get(n)||Dm.get(n),s=o&&o.meta;s&&s.deprecated&&t.push({ruleId:n,replacedBy:s.replacedBy||[]})}sh.set(a,Object.freeze(t))}return sh.get(a)}(e,this.filePath)}};for(const e of t)Object.defineProperty(e,"usedDeprecatedRules",n);return t}function ih(e,t){return e.filePatht.filePath?1:0}var ch={ESLint:class{constructor(e={}){const t=oh(e),n=new Kg(t),{additionalPluginPool:r,configArrayFactory:o,lastConfigArrays:s}=Yg(n);let a=!1;if(e.plugins)for(const[t,n]of Object.entries(e.plugins))r.set(t,n),a=!0;(function(e){if("object"==typeof e&&null!==e)for(const t in e)if(void 0!==e[t])return!0;return!1})(e.overrideConfig)&&(o.setOverrideConfig(e.overrideConfig),a=!0),a&&(o.clearCache(),s[0]=o.getConfigArrayForFile()),Zg.set(this,{cliEngine:n,options:t})}static get version(){return Xg}static async outputFixes(e){if(!Array.isArray(e))throw new Error("'results' must be an array");await Promise.all(e.filter((e=>{if("object"!=typeof e||null===e)throw new Error("'results' must include only objects");return"string"==typeof e.output&&O.default.isAbsolute(e.filePath)})).map((e=>Qg(e.filePath,e.output))))}static getErrorResults(e){return Kg.getErrorResults(e)}async lintFiles(e){if(!eh(e)&&!th(e))throw new Error("'patterns' must be a non-empty string or an array of non-empty strings");const{cliEngine:t}=Zg.get(this);return ah(t,t.executeOnFiles(e))}async lintText(e,t={}){if("string"!=typeof e)throw new Error("'code' must be a string");if("object"!=typeof t)throw new Error("'options' must be an object, null, or undefined");const{filePath:n,warnIgnored:r=!1,...o}=t||{};for(const e of Object.keys(o))throw new Error(`'options' must not include the unknown option '${e}'`);if(void 0!==n&&!eh(n))throw new Error("'options.filePath' must be a non-empty string or undefined");if("boolean"!=typeof r)throw new Error("'options.warnIgnored' must be a boolean or undefined");const{cliEngine:s}=Zg.get(this);return ah(s,s.executeOnText(e,n,r))}async loadFormatter(e="stylish"){if("string"!=typeof e)throw new Error("'name' must be a string");const{cliEngine:t}=Zg.get(this),n=t.getFormatter(e);if("function"!=typeof n)throw new Error(`Formatter must be a function, but got a ${typeof n}.`);return{format(e){let r=null;return e.sort(ih),n(e,{get rulesMeta(){return r||(r=function(e){return Array.from(e).reduce(((e,[t,n])=>(e[t]=n.meta,e)),{})}(t.getRules())),r}})}}}async calculateConfigForFile(e){if(!eh(e))throw new Error("'filePath' must be a non-empty string");const{cliEngine:t}=Zg.get(this);return t.getConfigForFile(e)}async isPathIgnored(e){if(!eh(e))throw new Error("'filePath' must be a non-empty string");const{cliEngine:t}=Zg.get(this);return t.isPathIgnored(e)}},getESLintPrivateMembers:e=>Zg.get(e)};const{ESLint:lh}=ch;var uh={ESLint:lh};const ph={$schema:{type:"string"},env:{type:"object"},extends:{$ref:"#/definitions/stringOrStrings"},globals:{type:"object"},overrides:{type:"array",items:{$ref:"#/definitions/overrideConfig"},additionalItems:!1},parser:{type:["string","null"]},parserOptions:{type:"object"},plugins:{type:"array"},processor:{type:"string"},rules:{type:"object"},settings:{type:"object"},noInlineConfig:{type:"boolean"},reportUnusedDisableDirectives:{type:"boolean"},ecmaFeatures:{type:"object"}};var dh={definitions:{stringOrStrings:{oneOf:[{type:"string"},{type:"array",items:{type:"string"},additionalItems:!1}]},stringOrStringsRequired:{oneOf:[{type:"string"},{type:"array",items:{type:"string"},additionalItems:!1,minItems:1}]},objectConfig:{type:"object",properties:{root:{type:"boolean"},ignorePatterns:{$ref:"#/definitions/stringOrStrings"},...ph},additionalProperties:!1},overrideConfig:{type:"object",properties:{excludedFiles:{$ref:"#/definitions/stringOrStrings"},files:{$ref:"#/definitions/stringOrStringsRequired"},...ph},required:["files"],additionalProperties:!1}},$ref:"#/definitions/objectConfig"};const fh={ESLINT_LEGACY_ECMAFEATURES:"The 'ecmaFeatures' config file property is deprecated and has no effect.",ESLINT_PERSONAL_CONFIG_LOAD:"'~/.eslintrc.*' config files have been deprecated. Please use a config file per project or the '--config' option.",ESLINT_PERSONAL_CONFIG_SUPPRESS:"'~/.eslintrc.*' config files have been deprecated. Please remove it or add 'root:true' to the config files in your projects in order to avoid loading '~/.eslintrc.*' accidentally."};var mh={emitDeprecationWarning:F.default.memoize(((e,t)=>{const n=O.default.relative(process.cwd(),e),r=fh[t];process.emitWarning(`${r} (found in "${n}")`,"DeprecationWarning",t)}),((...e)=>JSON.stringify(e)))},gh=(e={})=>{const t=new W.default({meta:!1,useDefaults:!0,validateSchema:!1,missingRefs:"ignore",verbose:!0,schemaId:"auto",...e});return t.addMetaSchema(Ot),t._opts.defaultMeta=Ot.id,t};const{emitDeprecationWarning:hh}=mh,yh=gh(),xh=new WeakMap,bh=Function.prototype;let Eh;const Sh={error:2,warn:1,off:0};function Ch(e){if(!e)return null;const t=e.schema||e.meta&&e.meta.schema;return Array.isArray(t)?t.length?{type:"array",items:t,minItems:0,maxItems:t.length}:{type:"array",minItems:0,maxItems:0}:t||null}function vh(e,t,n,r=null){try{0!==function(e){const t=Array.isArray(e)?e[0]:e,n="string"==typeof t?Sh[t.toLowerCase()]:t;if(0===n||1===n||2===n)return n;throw new Error(`\tSeverity should be one of the following: 0 = off, 1 = warn, 2 = error (you passed '${V.default.inspect(t).replace(/'/gu,'"').replace(/\n/gu,"")}').\n`)}(n)&&function(e,t){if(!xh.has(e)){const t=Ch(e);t&&xh.set(e,yh.compile(t))}const n=xh.get(e);if(n&&(n(t),n.errors))throw new Error(n.errors.map((e=>`\tValue ${JSON.stringify(e.data)} ${e.message}.\n`)).join(""))}(e,Array.isArray(n)?n.slice(1):[])}catch(e){const n=`Configuration for rule "${t}" is invalid:\n${e.message}`;throw"string"==typeof r?new Error(`${r}:\n\t${n}`):new Error(n)}}function Ah(e,t,n=bh){e&&Object.keys(e).forEach((e=>{if(!(n(e)||vt.get(e)||null)){throw new Error(`${t}:\n\tEnvironment key "${e}" is unknown\n`)}}))}function kh(e,t,n=bh){e&&Object.keys(e).forEach((r=>{vh(n(r)||Dm.get(r)||null,r,e[r],t)}))}function wh(e,t=null){e&&Object.entries(e).forEach((([e,n])=>{try{wt.normalizeConfigGlobal(n)}catch(n){throw new Error(`ESLint configuration of global '${e}' in ${t} is invalid:\n${n.message}`)}}))}function Ph(e,t,n){if(e&&!n(e))throw new Error(`ESLint configuration of processor in '${t}' is invalid: '${e}' was not found.`)}function Th(e,t=null){if(Eh=Eh||yh.compile(dh),!Eh(e))throw new Error(`ESLint configuration in ${t} is invalid:\n${n=Eh.errors,n.map((e=>"additionalProperties"===e.keyword?`Unexpected top-level property "${e.dataPath.length?`${e.dataPath.slice(1)}.${e.params.additionalProperty}`:e.params.additionalProperty}"`:"type"===e.keyword?`Property "${e.dataPath.slice(1)}" is the wrong type (expected ${Array.isArray(e.schema)?e.schema.join("/"):e.schema} but got \`${JSON.stringify(e.data)}\`)`:`"${"."===e.dataPath[0]?e.dataPath.slice(1):e.dataPath}" ${e.message}. Value: ${JSON.stringify(e.data)}`)).map((e=>`\t- ${e}.\n`)).join("")}`);var n;Object.hasOwnProperty.call(e,"ecmaFeatures")&&hh(t,"ESLINT_LEGACY_ECMAFEATURES")}const Ih=new WeakSet;var Fh={getRuleOptionsSchema:Ch,validate:function(e,t,n,r){Th(e,t),kh(e.rules,t,n),Ah(e.env,t,r),wh(e.globals,t);for(const o of e.overrides||[])kh(o.rules,t,n),Ah(o.env,t,r),wh(e.globals,t)},validateConfigArray:function(e){const t=Map.prototype.get.bind(e.pluginEnvironments),n=Map.prototype.get.bind(e.pluginProcessors),r=Map.prototype.get.bind(e.pluginRules);for(const o of e)Ih.has(o)||(Ih.add(o),Ah(o.env,o.name,t),wh(o.globals,o.name),Ph(o.processor,o.name,n),kh(o.rules,o.name,r))},validateConfigSchema:Th,validateRuleOptions:vh};const{getRuleOptionsSchema:Dh,validate:Oh}=Fh,{Linter:Bh,SourceCodeFixer:Nh,interpolate:jh}=dg,Lh=gh({strictDefaults:!0}),Rh=require.resolve("espree"),Mh={rules:{}};let _h={rules:{}};const $h=["code","filename","options","errors","output"],qh=new Set(["message","messageId","data","type","line","column","endLine","endColumn","suggestions"]),Uh=`[${[...qh].map((e=>`'${e}'`)).join(", ")}]`,Vh=new Set(["desc","messageId","data","output"]),Wh=`[${[...Vh].map((e=>`'${e}'`)).join(", ")}]`,Gh=Function.call.bind(Object.hasOwnProperty);function zh(e){if("object"==typeof e&&null!==e){if(Array.isArray(e))return e.map(zh);const t={};for(const n in e)"parent"!==n&&Gh(e,n)&&(t[n]=zh(e[n]));return t}return e}function Jh(e){if("object"==typeof e&&null!==e){if(Array.isArray(e))e.forEach(Jh);else for(const t in e)"parent"!==t&&Gh(e,t)&&Jh(e[t]);Object.freeze(e)}}function Kh(e){return e.replace(/[\u0000-\u0009\u000b-\u001a]/gu,(e=>`\\u${e.codePointAt(0).toString(16).padStart(4,"0")}`))}function Yh(e,t){Object.defineProperties(t,{start:{get(){throw new Error(`Use ${e}.range[0] instead of ${e}.start`)},configurable:!0,enumerable:!1},end:{get(){throw new Error(`Use ${e}.range[1] instead of ${e}.end`)},configurable:!0,enumerable:!1}})}function Hh(e,t){Vt.traverse(e,{visitorKeys:t,enter:Yh.bind(null,"node")}),e.tokens.forEach(Yh.bind(null,"token")),e.comments.forEach(Yh.bind(null,"token"))}const Xh=Symbol("describe"),Qh=Symbol("it");function Zh(e,t){try{return t.call(this)}catch(e){throw e instanceof z.default.AssertionError&&(e.message+=` (${V.default.inspect(e.actual)} ${e.operator} ${V.default.inspect(e.expected)})`),e}}function ey(e,t){return t.call(this)}class ty{constructor(e){this.testerConfig=F.default.merge(F.default.cloneDeep(_h),e,{rules:{"rule-tester/validate-ast":"error"}}),this.rules={},this.linter=new Bh}static setDefaultConfig(e){if("object"!=typeof e)throw new TypeError("RuleTester.setDefaultConfig: config must be an object");_h=e,_h.rules=_h.rules||{}}static getDefaultConfig(){return _h}static resetDefaultConfig(){_h=F.default.cloneDeep(Mh)}static get describe(){return this[Xh]||("function"==typeof describe?describe:ey)}static set describe(e){this[Xh]=e}static get it(){return this[Qh]||("function"==typeof it?it:Zh)}static set it(e){this[Qh]=e}defineRule(e,t){this.rules[e]=t}run(e,t,n){const r=this.testerConfig,o=[],s=this.linter;if(!n||"object"!=typeof n)throw new TypeError(`Test Scenarios for rule ${e} : Could not find test scenario object`);if(["valid","invalid"].forEach((e=>{n[e]||o.push(`Could not find any ${e} test scenarios`)})),o.length>0)throw new Error([`Test Scenarios for rule ${e} is invalid:`].concat(o).join("\n"));function a(n){let o,a,i,c,l,u=F.default.cloneDeep(r);if("string"==typeof n)o=n;else{o=n.code;const e=F.default.omit(n,$h);u=F.default.merge(u,e)}n.filename&&(a=n.filename),Gh(n,"options")?(z.default(Array.isArray(n.options),"options must be an array"),u.rules[e]=[1].concat(n.options)):u.rules[e]=1;const p=Dh(t);if(s.defineRule("rule-tester/validate-ast",(()=>({Program(e){c=zh(e)},"Program:exit"(e){l=e}}))),"string"==typeof u.parser?z.default(O.default.isAbsolute(u.parser),"Parsers provided as strings to RuleTester must be absolute paths"):u.parser=Rh,s.defineParser(u.parser,function(e){return"function"==typeof e.parseForESLint?{parseForESLint(...t){const n=e.parseForESLint(...t);return Hh(n.ast,n.visitorKeys),n}}:{parse(...t){const n=e.parse(...t);return Hh(n),n}}}(ce(u.parser))),p){if(Lh.validateSchema(p),Lh.errors){const t=Lh.errors.map((e=>`\t${"."===e.dataPath[0]?e.dataPath.slice(1):e.dataPath}: ${e.message}`)).join("\n");throw new Error([`Schema for rule ${e} is invalid:`,t])}try{Lh.compile(p)}catch(t){throw new Error(`Schema for rule ${e} is invalid: ${t.message}`)}}Oh(u,"rule-tester",(n=>n===e?t:null));const d=s.verify(o,u,a),f=d.find((e=>e.fatal));if(z.default(!f,`A fatal parsing error occurred: ${f&&f.message}`),d.some((e=>e.fix))){i=Nh.applyFixes(o,d).output;const e=s.verify(i,u,a).find((e=>e.fatal));z.default(!e,["A fatal parsing error occurred in autofix.",`Error: ${e&&e.message}`,"Autofix output:",i].join("\n"))}else i=o;return{messages:d,output:i,beforeAST:c,afterAST:zh(l)}}function i(e,t){F.default.isEqual(e,t)||z.default.fail("Rule should not modify AST.")}function c(e,t){t instanceof RegExp?z.default.ok(t.test(e),`Expected '${e}' to match ${t}`):z.default.strictEqual(e,t)}s.defineRule(e,Object.assign({},t,{create:e=>(Jh(e.options),Jh(e.settings),Jh(e.parserOptions),("function"==typeof t?t:t.create)(e))})),s.defineRules(this.rules),ty.describe(e,(()=>{ty.describe("valid",(()=>{n.valid.forEach((e=>{ty.it(Kh("object"==typeof e?e.code:e),(()=>{!function(e){const t=a(e),n=t.messages;z.default.strictEqual(n.length,0,V.default.format("Should have no errors but had %d: %s",n.length,V.default.inspect(n))),i(t.beforeAST,t.afterAST)}(e)}))}))})),ty.describe("invalid",(()=>{n.invalid.forEach((n=>{ty.it(Kh(n.code),(()=>{!function(n){z.default.ok(n.errors||0===n.errors,`Did not specify errors for an invalid test of ${e}`),Array.isArray(n.errors)&&0===n.errors.length&&z.default.fail("Invalid cases must have at least one error");const r=Gh(t,"meta")&&Gh(t.meta,"messages"),o=r?`[${Object.keys(t.meta.messages).map((e=>`'${e}'`)).join(", ")}]`:null,s=a(n),l=s.messages;if("number"==typeof n.errors)0===n.errors&&z.default.fail("Invalid cases must have 'error' value greater than 0"),z.default.strictEqual(l.length,n.errors,V.default.format("Should have %d error%s but had %d: %s",n.errors,1===n.errors?"":"s",l.length,V.default.inspect(l)));else{z.default.strictEqual(l.length,n.errors.length,V.default.format("Should have %d error%s but had %d: %s",n.errors.length,1===n.errors.length?"":"s",l.length,V.default.inspect(l)));const s=l.some((t=>t.ruleId===e));for(let e=0,a=n.errors.length;e{z.default.ok(qh.has(e),`Invalid error property name '${e}'. Expected one of ${Uh}.`)})),Gh(a,"message"))z.default.ok(!Gh(a,"messageId"),"Error should not specify both 'message' and a 'messageId'."),z.default.ok(!Gh(a,"data"),"Error should not specify both 'data' and 'message'."),c(i.message,a.message);else if(Gh(a,"messageId")&&(z.default.ok(r,"Error can not use 'messageId' if rule under test doesn't define 'meta.messages'."),Gh(t.meta.messages,a.messageId)||z.default(!1,`Invalid messageId '${a.messageId}'. Expected one of ${o}.`),z.default.strictEqual(i.messageId,a.messageId,`messageId '${i.messageId}' does not match expected messageId '${a.messageId}'.`),Gh(a,"data"))){const e=t.meta.messages[a.messageId],n=jh(e,a.data);z.default.strictEqual(i.message,n,`Hydrated message "${n}" does not match "${i.message}"`)}z.default.ok(!Gh(a,"data")||Gh(a,"messageId"),"Error must specify 'messageId' if 'data' is used."),a.type&&z.default.strictEqual(i.nodeType,a.type,`Error type should be ${a.type}, found ${i.nodeType}`),Gh(a,"line")&&z.default.strictEqual(i.line,a.line,`Error line should be ${a.line}`),Gh(a,"column")&&z.default.strictEqual(i.column,a.column,`Error column should be ${a.column}`),Gh(a,"endLine")&&z.default.strictEqual(i.endLine,a.endLine,`Error endLine should be ${a.endLine}`),Gh(a,"endColumn")&&z.default.strictEqual(i.endColumn,a.endColumn,`Error endColumn should be ${a.endColumn}`),Gh(a,"suggestions")&&(!a.suggestions||Array.isArray(a.suggestions)&&0===a.suggestions.length?Array.isArray(i.suggestions)&&i.suggestions.length>0&&z.default.fail(`Error should have no suggestions on error with message: "${i.message}"`):(z.default.strictEqual(Array.isArray(i.suggestions),!0,`Error should have an array of suggestions. Instead received "${i.suggestions}" on error with message: "${i.message}"`),z.default.strictEqual(i.suggestions.length,a.suggestions.length,`Error should have ${a.suggestions.length} suggestions. Instead found ${i.suggestions.length} suggestions`),a.suggestions.forEach(((e,s)=>{z.default.ok("object"==typeof e&&null!==e,"Test suggestion in 'suggestions' array must be an object."),Object.keys(e).forEach((e=>{z.default.ok(Vh.has(e),`Invalid suggestion property name '${e}'. Expected one of ${Wh}.`)}));const a=i.suggestions[s],c=`Error Suggestion at index ${s} :`;if(Gh(e,"desc")&&(z.default.ok(!Gh(e,"data"),`${c} Test should not specify both 'desc' and 'data'.`),z.default.strictEqual(a.desc,e.desc,`${c} desc should be "${e.desc}" but got "${a.desc}" instead.`)),Gh(e,"messageId")){if(z.default.ok(r,`${c} Test can not use 'messageId' if rule under test doesn't define 'meta.messages'.`),z.default.ok(Gh(t.meta.messages,e.messageId),`${c} Test has invalid messageId '${e.messageId}', the rule under test allows only one of ${o}.`),z.default.strictEqual(a.messageId,e.messageId,`${c} messageId should be '${e.messageId}' but got '${a.messageId}' instead.`),Gh(e,"data")){const n=t.meta.messages[e.messageId],r=jh(n,e.data);z.default.strictEqual(a.desc,r,`${c} Hydrated test desc "${r}" does not match received desc "${a.desc}".`)}}else z.default.ok(!Gh(e,"data"),`${c} Test must specify 'messageId' if 'data' is used.`);if(Gh(e,"output")){const t=Nh.applyFixes(n.code,[a]).output;z.default.strictEqual(t,e.output,`Expected the applied suggestion fix to match the test suggestion output for suggestion at index: ${s} on error with message: "${i.message}"`)}}))))}else z.default.fail(`Error should be a string, object, or RegExp, but found (${V.default.inspect(i)})`)}}Gh(n,"output")?null===n.output?z.default.strictEqual(s.output,n.code,"Expected no autofixes to be suggested"):z.default.strictEqual(s.output,n.output,"Output is incorrect."):z.default.strictEqual(s.output,n.code,"The rule fixed the code. Please add 'output' property."),s.output!==n.code&&z.default.ok(Gh(t,"meta"),"Fixable rules should export a `meta.fixable` property."),i(s.beforeAST,s.afterAST)}(n)}))}))}))}))}}ty[Xh]=ty[Qh]=null;var ny={RuleTester:ty},ry=ie((function(e){const{CLIEngine:t}=zg,{ESLint:n}=uh,{Linter:r}=dg,{RuleTester:o}=ny,{SourceCode:s}=mn;e.exports={Linter:r,CLIEngine:t,ESLint:n,RuleTester:o,SourceCode:s};let a=null;Object.defineProperty(e.exports,"linter",{enumerable:!1,get:()=>(a||(a=new r),a)})})),oy=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=/^\s*([\s\S]*?)<\/caption>/u,s=(e,t)=>(e.match(new RegExp((e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"))(t),"gu"))||[]).length,a={"eol-last":0,"import/no-unresolved":0,"import/unambiguous":0,"jsdoc/require-file-overview":0,"jsdoc/require-jsdoc":0,"no-console":0,"no-multiple-empty-lines":0,"no-undef":0,"no-unused-vars":0,"node/no-missing-import":0,"node/no-missing-require":0,"padded-blocks":0},i={...a,"no-new":"off","no-unused-expressions":"off",quotes:["error","double"],semi:["error","never"],strict:"off"},c=e=>{const t=s(e,"\n");return[t,t?e.slice(e.lastIndexOf("\n")+1).length:e.length]};var l=(0,r.default)((({report:e,utils:t,context:n,globalState:r})=>{r.has("checkExamples-matchingFileName")||r.set("checkExamples-matchingFileName",new Map);const l=r.get("checkExamples-matchingFileName"),u=n.options[0]||{};let{exampleCodeRegex:p=null,rejectExampleCodeRegex:d=null}=u;const{checkDefaults:f=!1,checkParams:m=!1,checkProperties:g=!1,noDefaultExampleRules:h=!1,checkEslintrc:y=!0,matchingFileName:x=null,matchingFileNameDefaults:b=null,matchingFileNameParams:E=null,matchingFileNameProperties:S=null,paddedIndent:C=0,baseConfig:v={},configFile:A,allowInlineConfig:k=!0,reportUnusedDisableDirectives:w=!0,captionRequired:P=!1}=u,T=[],I=h?void 0:a,F=h?void 0:i;p&&(p=t.getRegexFromString(p)),d&&(d=t.getRegexFromString(d));const D=({filename:t,defaultFileName:n,rules:r=F,lines:o=0,cols:s=0,skipInit:a,source:i,targetTagName:c,sources:u=[],tag:p={line:0}})=>{a||u.push({nonJSPrefacingCols:s,nonJSPrefacingLines:o,string:i});u.forEach((function({nonJSPrefacingCols:o,nonJSPrefacingLines:s,string:a}){const i={allowInlineConfig:k,baseConfig:v,configFile:A,reportUnusedDisableDirectives:w,rulePaths:T,rules:r,useEslintrc:y},u=JSON.stringify(i),d=C?a.replace(new RegExp(`(^|\n) {${C}}(?!$)`,"gu"),"\n"):a,f=t?"a"+u+t:"b"+u+n,m=t||n;let g;if(l.has(f))g=l.get(f);else{const e=new ry.CLIEngine(i);let n;(t||y)&&(n=e.getConfigForFile(m)),g=new ry.CLIEngine({allowInlineConfig:k,baseConfig:{...v,...n},configFile:A,reportUnusedDisableDirectives:w,rulePaths:T,rules:r,useEslintrc:!1}),l.set(f,g)}const{results:[{messages:h}]}=g.executeOnText(d);"line"in p||(p.line=p.source[0].number);const x=p.line+s;h.forEach((({message:t,line:n,column:r,severity:s,ruleId:a})=>{e("@"+c+" "+(2===s?"error":"warning")+(a?" ("+a+")":"")+": "+t,null,{column:1+(n<=1?o+1:1)+r,line:x+n+-1})}))}))},O=(e,t="md/*.js")=>{let r;if(!e){const e=n.getFilename();r="string"==typeof e&&e.includes(".")?e.replace(/\..*?$/,`.${t}`):`dummy.${t}`}return{defaultFileName:r,filename:e}};if(f){const e=O(b,"jsdoc-defaults");t.forEachPreferredTag("default",((t,n)=>{t.description.trim()&&D({source:`(${t.description})`,targetTagName:n,...e})}))}if(m){const e=O(E,"jsdoc-params");t.forEachPreferredTag("param",((t,n)=>{t.default&&t.default.trim()&&D({source:`(${t.default})`,targetTagName:n,...e})}))}if(g){const e=O(S,"jsdoc-properties");t.forEachPreferredTag("property",((t,n)=>{t.default&&t.default.trim()&&D({source:`(${t.default})`,targetTagName:n,...e})}))}const B=t.getPreferredTagName({tagName:"example"});if(!t.hasTag(B))return;const N=O(x);t.forEachPreferredTag("example",((t,n)=>{let r=t.source[0].tokens.postTag.slice(1)+t.description;const a=r.match(o);!P||a&&a[1].trim()||e("Caption is expected for examples.",null,t),r=r.replace(o,"");const[i,l]=a?c(a[0]):[0,0];if(p&&!p.test(r)||d&&d.test(r))return;const u=[];let f=!1;if(p){let e,t=0,n=0,o=0,a=0;for(p.lastIndex=0;null!==(e=p.exec(r));){const{index:i,0:l,1:d}=e,f=r.slice(o,i),[m,g]=c(f);let h,y;if(d){const e=l.indexOf(d);h=l.slice(0,e),y=s(h,"\n")}else h="",y=0;if(n+=a+m+y,y){t+=h.slice(h.lastIndexOf("\n")+1).length}else t+=g+h.length;const x=d||l;if(u.push({nonJSPrefacingCols:t,nonJSPrefacingLines:n,string:x}),o=p.lastIndex,a=s(x,"\n"),!p.global)break}f=!0}D({cols:l,lines:i,rules:I,skipInit:f,source:r,sources:u,tag:t,targetTagName:n,...N})}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-examples"},schema:[{additionalProperties:!1,properties:{allowInlineConfig:{default:!0,type:"boolean"},baseConfig:{type:"object"},captionRequired:{default:!1,type:"boolean"},checkDefaults:{default:!1,type:"boolean"},checkEslintrc:{default:!0,type:"boolean"},checkParams:{default:!1,type:"boolean"},checkProperties:{default:!1,type:"boolean"},configFile:{type:"string"},exampleCodeRegex:{type:"string"},matchingFileName:{type:"string"},matchingFileNameDefaults:{type:"string"},matchingFileNameParams:{type:"string"},matchingFileNameProperties:{type:"string"},noDefaultExampleRules:{default:!1,type:"boolean"},paddedIndent:{default:0,type:"integer"},rejectExampleCodeRegex:{type:"string"},reportUnusedDisableDirectives:{default:!0,type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=l,e.exports=t.default})),sy=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};var o=(0,r.default)((({sourceCode:e,jsdocNode:t,report:n,context:r})=>{const o=r.options[0]||{},{excludeTags:s=["example"]}=o,a=new RegExp(/^(?:\/?\**|[ \t]*)\*[ \t]{2}/gmu),i=e.getText(t).replace(/([ \t]+\*)[ \t]```[^\n]*?([\w|\W]*?\n)(?=[ \t]*\*(?:[ \t]*(?:```|@)|\/))/gu,((e,t,n)=>new Array(n.match(/\n/gu).length+1).join(t+"\n")));const c=s.length?((e,t)=>{const n=new RegExp(`([ \\t]+\\*)[ \\t]@(?:${t.join("|")})(?=[ \\n])([\\w|\\W]*?\\n)(?=[ \\t]*\\*(?:[ \\t]*@|\\/))`,"gu");return e.replace(n,((e,t,n)=>new Array(n.match(/\n/gu).length+1).join(t+"\n")))})(i,s):i;if(a.test(c)){n("There must be no indentation.",null,{line:(c.slice(0,a.lastIndex).match(/\n/gu)||[]).length})}}),{iterateAllJsdocs:!0,meta:{docs:{description:"Reports invalid padding inside JSDoc blocks.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-indentation"},schema:[{additionalProperties:!1,properties:{excludeTags:{items:{pattern:"^\\S+$",type:"string"},type:"array"}},type:"object"}],type:"layout"}});t.default=o,e.exports=t.default})),ay=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const{flow:o,align:s,indent:a}=Je.transforms;var i=(0,r.default)((({indent:e,jsdoc:t,jsdocNode:n,report:r,context:i,utils:c})=>{const{tags:l=["param","arg","argument","property","prop","returns","return"]}=i.options[1]||{};if("always"===i.options[0]){if(!n.value.includes("\n"))return;return void(({indent:e,jsdoc:t,jsdocNode:n,report:r,utils:i})=>{const c=o(s(),a(e.length))(t),l="/*"+n.value+"*/",u=i.stringify(c).trimStart();l!==u&&r("Expected JSDoc block lines to be aligned.",(e=>e.replaceText(n,u)))})({indent:e,jsdoc:t,jsdocNode:n,report:r,utils:c})}c.getPresentTags(l).forEach((e=>{((e,t)=>{let n,r;e.tagMightHaveNamepath(t.tag)?(n=["postDelimiter","postTag","postType","postName"],r=["tag","type","name","description"]):(n=["postDelimiter","postTag","postType"],r=["tag","type","description"]);const{tokens:o}=t.source[0],s=(e,t)=>{const s=e+1;return n.slice(s).some(((e,n)=>{const a=r[s+n],i=o[e];return t&&t(!i,a),i}))};if(!n.some(((e,t)=>{const n=r[t],a=o[n],i=o[e];return i.length>1||i&&!a&&s(t)})))return;e.reportJSDoc("Expected JSDoc block lines to not be aligned.",t,(()=>{n.forEach(((e,t)=>{const n=r[t];o[n]?(o[e]=" ",s(t,((e,t)=>{e&&(o[t]="")}))):o[e]=""})),e.setTag(t,o)}),!0)})(c,e)}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Reports invalid alignment of JSDoc block lines.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-line-alignment"},fixable:"whitespace",schema:[{enum:["always","never"],type:"string"},{additionalProperties:!1,properties:{tags:{items:{type:"string"},type:"array"}},type:"object"}],type:"layout"}});t.default=i,e.exports=t.default})),iy=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};var o=(0,r.default)((({context:e,jsdoc:t,jsdocNode:n,report:r,utils:o})=>{const{allowExtraTrailingParamDocs:s,checkDestructured:a=!0,checkRestProperty:i=!1,checkTypesPattern:c="/^(?:[oO]bject|[aA]rray|PlainObject|Generic(?:Object|Array))$/",enableFixer:l=!1,useDefaultObjectProperties:u=!1,disableExtraPropertyReporting:p=!1}=e.options[0]||{},d=o.getRegexFromString(c),f=o.getJsdocTagsDeep("param");if(!f.length)return;const m=o.getFunctionParameterNames(u),g=o.getPreferredTagName({tagName:"param"});!((e,t,n,r,o,s,a,i,c,l,u,p)=>{const d=Object.entries(c.tags).filter((([,t])=>t.tag===e)),f=d.filter((([,e])=>!e.name.includes(".")));let m=0;return d.some((([,c],l)=>{let g;const h=d.find((([e,t],n)=>(g=e,t.name===c.name&&n!==l)));if(h)return u.reportJSDoc(`Duplicate @${e} "${c.name}"`,h[1],a?()=>{u.removeTag(g)}:null),!0;if(c.name.includes("."))return m++,!1;const y=i[l-m];if(!y)return!t&&(p(`@${e} "${c.name}" does not match an existing function parameter.`,null,c),!0);if(Array.isArray(y)){if(!n)return!1;if(c.type&&-1===c.type.search(o))return!1;const[t,{names:a,hasPropertyRest:i,rests:l,annotationParamName:f}]=y;if(void 0!==f){const t=c.name.trim();t!==f&&p(`@${e} "${t}" does not match parameter name "${f}"`,null,c)}const m=void 0===t?c.name.trim():t,g=a.map((e=>`${m}.${e}`)),h=d.map((([,e])=>e.name.trim())),x=d.map((([,e])=>e.type)),b=[],E=[];g.forEach(((e,t)=>{if(E.some((t=>e.startsWith(t))))return;const n=h.findIndex((t=>u.comparePaths(e)(t)));if(-1===n){if(!r&&l[t])return;b.push(e)}else-1===x[n].search(o)&&""!==x[n]&&E.push(e)}));const S=b.length;if(S&&b.forEach((t=>{p(`Missing @${e} "${t}"`,null,c)})),!i||r){const t=[];if(h.forEach(((e,n)=>{!e.startsWith(c.name.trim()+".")||g.some(u.comparePaths(e))||u.comparePaths(e)(c.name)||s&&!a.some((t=>t.split(".").length>=e.split(".").length-1))||t.push([e,d[n][1]])})),t.length)return t.forEach((([t,n])=>{p(`@${e} "${t}" does not exist on ${c.name}`,null,n)})),!0}return S}let x;if("object"==typeof y){const{name:e}=y;x=e}else x=y;if(x!==c.name.trim()){const t=f.map((([,{name:e}])=>e.trim())),n=i.map(((e,n)=>{var r;return null!=e&&null!==(r=e[1])&&void 0!==r&&r.names?t[n]:e})).join(", ");return p(`Expected @${e} names to be "${n}". Got "${t.join(", ")}".`,null,c),!0}return!1}))})(g,s,a,i,d,p,l,m,t,0,o,r)&&a&&((e,t,n,r,o)=>{let s;n.some((({name:t,idx:n})=>{if(t.includes(".")){if(!s)return o(`@${e} path declaration ("${t}") appears before any real parameter.`,null,r.tags[n]),!0;let a=t.slice(0,t.indexOf("."));if(a.endsWith("[]")&&(a=a.slice(0,-2)),a!==s)return o(`@${e} path declaration ("${t}") root node name ("${a}") does not match previous real parameter name ("${s}").`,null,r.tags[n]),!0}else s=t;return!1}))})(g,0,f,t,r)}),{meta:{docs:{description:"Ensures that parameter names in JSDoc match those in the function declaration.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-param-names"},fixable:"code",schema:[{additionalProperties:!1,properties:{allowExtraTrailingParamDocs:{type:"boolean"},checkDestructured:{type:"boolean"},checkRestProperty:{type:"boolean"},checkTypesPattern:{type:"string"},disableExtraPropertyReporting:{type:"boolean"},enableFixer:{type:"boolean"},useDefaultObjectProperties:{type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=o,e.exports=t.default})),cy=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};var o=(0,r.default)((({context:e,jsdoc:t,jsdocNode:n,report:r,utils:o})=>{const{enableFixer:s=!1}=e.options[0]||{},a=o.getJsdocTagsDeep("property");if(!a.length)return;const i=o.getPreferredTagName({tagName:"property"});((e,t,n,r,o)=>{const s=Object.entries(n.tags).filter((([,t])=>t.tag===e));return s.some((([,n],r)=>{let a;const i=s.find((([e,t],o)=>(a=e,t.name===n.name&&o!==r)));return!!i&&(o.reportJSDoc(`Duplicate @${e} "${n.name}"`,i[1],t?()=>{o.removeTag(a)}:null),!0)}))})(i,s,t,0,o)||((e,t,n,r)=>{let o;t.some((({name:t,idx:s})=>{if(t.includes(".")){if(!o)return r(`@${e} path declaration ("${t}") appears before any real property.`,null,n.tags[s]),!0;let a=t.slice(0,t.indexOf("."));if(a.endsWith("[]")&&(a=a.slice(0,-2)),a!==o)return r(`@${e} path declaration ("${t}") root node name ("${a}") does not match previous real property name ("${o}").`,null,n.tags[s]),!0}else o=t;return!1}))})(i,a,t,r)}),{iterateAllJsdocs:!0,meta:{docs:{description:"Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-property-names"},fixable:"code",schema:[{additionalProperties:!1,properties:{enableFixer:{type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=o,e.exports=t.default})),ly=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({jsdoc:e,report:t,settings:n})=>{const{mode:r}=n;if("jsdoc"===r||"typescript"===r)for(const n of e.tags)if("="===n.type.slice(-1)){t("Syntax should not be Google Closure Compiler style.",null,n);break}}),{iterateAllJsdocs:!0,meta:{docs:{description:"Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-syntax"},type:"suggestion"}});t.default=r,e.exports=t.default})),uy=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(F.default),r=o(Ze);function o(e){return e&&e.__esModule?e:{default:e}}const s=new Set(["jsx","jsxFrag","jsxImportSource","jsxRuntime"]);var a=(0,r.default)((({sourceCode:e,jsdoc:t,report:r,utils:o,context:a,settings:i,jsdocNode:c})=>{const{definedTags:l=[],jsxTags:u}=a.options[0]||{};let p=[];const{tagNamePreference:d,structuredTags:f}=i,m=Object.keys(f),g=Object.keys(d);g.length&&(p=Object.values(d).map((e=>"string"==typeof e?e:e?("object"!=typeof e&&o.reportSettings("Invalid `settings.jsdoc.tagNamePreference`. Values must be falsy, a string, or an object."),e.replacement):void 0)).filter((e=>e))),t.tags.forEach((t=>{const a=t.tag;if(!u||!s.has(a))if(o.isValidTag(a,[...l,...p,...g,...m])){let s,i=o.getPreferredTagName({allowObjectReturn:!0,defaultMessage:`Blacklisted tag found (\`@${a}\`)`,tagName:a});if(!i)return;"object"==typeof i&&({message:s,replacement:i}=i),s||(s=`Invalid JSDoc tag (preference). Replace "${a}" JSDoc tag with "${i}".`),i!==a&&r(s,(t=>{const r=e.getText(c).replace(new RegExp(`@${n.default.escapeRegExp(a)}\\b`,"u"),`@${i}`);return t.replaceText(c,r)}),t)}else r(`Invalid JSDoc tag name "${a}".`,null,t)}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Reports invalid block tag names.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-tag-names"},fixable:"code",schema:[{additionalProperties:!1,properties:{definedTags:{items:{type:"string"},type:"array"},jsxTags:{type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=a,e.exports=t.default}));var py={GenericTypeSyntax:{ANGLE_BRACKET:"ANGLE_BRACKET",ANGLE_BRACKET_WITH_DOT:"ANGLE_BRACKET_WITH_DOT",SQUARE_BRACKET:"SQUARE_BRACKET"},VariadicTypeSyntax:{PREFIX_DOTS:"PREFIX_DOTS",SUFFIX_DOTS:"SUFFIX_DOTS",ONLY_DOTS:"ONLY_DOTS"},OptionalTypeSyntax:{PREFIX_EQUALS_SIGN:"PREFIX_EQUALS_SIGN",SUFFIX_EQUALS_SIGN:"SUFFIX_EQUALS_SIGN",SUFFIX_KEY_QUESTION_MARK:"SUFFIX_KEY_QUESTION_MARK"},NullableTypeSyntax:{PREFIX_QUESTION_MARK:"PREFIX_QUESTION_MARK",SUFFIX_QUESTION_MARK:"SUFFIX_QUESTION_MARK"},NotNullableTypeSyntax:{PREFIX_BANG:"PREFIX_BANG",SUFFIX_BANG:"SUFFIX_BANG"}};var dy={NAME:"NAME",MEMBER:"MEMBER",UNION:"UNION",INTERSECTION:"INTERSECTION",VARIADIC:"VARIADIC",RECORD:"RECORD",RECORD_ENTRY:"RECORD_ENTRY",TUPLE:"TUPLE",GENERIC:"GENERIC",MODULE:"MODULE",OPTIONAL:"OPTIONAL",NULLABLE:"NULLABLE",NOT_NULLABLE:"NOT_NULLABLE",FUNCTION:"FUNCTION",ARROW:"ARROW",NAMED_PARAMETER:"NAMED_PARAMETER",ANY:"ANY",UNKNOWN:"UNKNOWN",INNER_MEMBER:"INNER_MEMBER",INSTANCE_MEMBER:"INSTANCE_MEMBER",STRING_VALUE:"STRING_VALUE",NUMBER_VALUE:"NUMBER_VALUE",EXTERNAL:"EXTERNAL",FILE_PATH:"FILE_PATH",PARENTHESIS:"PARENTHESIS",TYPE_QUERY:"TYPE_QUERY",KEY_QUERY:"KEY_QUERY",IMPORT:"IMPORT"};function fy(e,t,n,r){this.message=e,this.expected=t,this.found=n,this.location=r,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,fy)}!function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(fy,Error),fy.buildMessage=function(e,t){var n={literal:function(e){return'"'+o(e.text)+'"'},class:function(e){var t,n="";for(t=0;t0){for(t=1,r=1;t",!1),Oe=et("[",!1),Be=et("]",!1),Ne="new",je=et("new",!1),Le=et("=>",!1),Re="...",Me=et("...",!1),_e="function",$e=et("function",!1),qe="this",Ue=et("this",!1),Ve=et("{",!1),We=et("}",!1),Ge=";",ze=et(";",!1),Je="readonly",Ke=et("readonly",!1),Ye=0,He=[{line:1,column:1}],Xe=0,Qe=[],Ze={};if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function et(e,t){return{type:"literal",text:e,ignoreCase:t}}function tt(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function nt(t){var n,r=He[t];if(r)return r;for(n=t-1;!He[n];)n--;for(r={line:(r=He[n]).line,column:r.column};nXe&&(Xe=Ye,Qe=[]),Qe.push(e))}function st(){var e,t,n=82*Ye+0,o=Ze[n];return o?(Ye=o.nextPos,o.result):(e=Ye,it()!==r?((t=Ht())===r&&(t=kt())===r&&(t=vt())===r&&(t=Pt())===r&&(t=Rt())===r&&(t=jt())===r&&(t=Wt())===r&&(t=Jt())===r&&(t=Mt())===r&&(t=_t())===r&&(t=Ft())===r&&(t=Dt())===r&&(t=gt())===r&&(t=Yt())===r&&(t=Et())===r&&(t=xt())===r&&(t=bt()),t!==r&&it()!==r?e=t:(Ye=e,e=r)):(Ye=e,e=r),Ze[n]={nextPos:Ye,result:e},e)}function at(){var t,n,o,s=82*Ye+1,d=Ze[s];return d?(Ye=d.nextPos,d.result):(a.test(e.charAt(Ye))?(t=e.charAt(Ye),Ye++):(t=r,ot(i)),t===r&&(t=Ye,c.test(e.charAt(Ye))?(n=e.charAt(Ye),Ye++):(n=r,ot(l)),n===r&&(n=null),n!==r?(u.test(e.charAt(Ye))?(o=e.charAt(Ye),Ye++):(o=r,ot(p)),o!==r?t=n=[n,o]:(Ye=t,t=r)):(Ye=t,t=r)),Ze[s]={nextPos:Ye,result:t},t)}function it(){var e,t,n=82*Ye+2,o=Ze[n];if(o)return Ye=o.nextPos,o.result;for(e=[],t=at();t!==r;)e.push(t),t=at();return Ze[n]={nextPos:Ye,result:e},e}function ct(){var e,t,n=82*Ye+3,o=Ze[n];if(o)return Ye=o.nextPos,o.result;if(e=[],(t=at())!==r)for(;t!==r;)e.push(t),t=at();else e=r;return Ze[n]={nextPos:Ye,result:e},e}function lt(){var t,n,o,s,a,i=82*Ye+4,c=Ze[i];if(c)return Ye=c.nextPos,c.result;if(t=Ye,n=Ye,d.test(e.charAt(Ye))?(o=e.charAt(Ye),Ye++):(o=r,ot(f)),o!==r){for(s=[],m.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(g));a!==r;)s.push(a),m.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(g));s!==r?n=o=[o,s]:(Ye=n,n=r)}else Ye=n,n=r;return t=n!==r?e.substring(t,Ye):n,Ze[i]={nextPos:Ye,result:t},t}function ut(){var t,n,o,s,a,i,c,l,u,p,d,f=82*Ye+5,m=Ze[f];if(m)return Ye=m.nextPos,m.result;if(t=Ye,(n=Yt())===r&&(n=function(){var t,n,o,s,a,i=82*Ye+38,c=Ze[i];if(c)return Ye=c.nextPos,c.result;t=Ye,e.substr(Ye,6)===ye?(n=ye,Ye+=6):(n=r,ot(xe));n!==r&&it()!==r?(40===e.charCodeAt(Ye)?(o=be,Ye++):(o=r,ot(Ee)),o!==r&&it()!==r&&(s=St())!==r&&it()!==r?(41===e.charCodeAt(Ye)?(a=Se,Ye++):(a=r,ot(Ce)),a!==r?t=n=function(e,t){return{type:on.IMPORT,path:t}}(0,s):(Ye=t,t=r)):(Ye=t,t=r)):(Ye=t,t=r);return Ze[i]={nextPos:Ye,result:t},t}())===r&&(n=pt()),n!==r){for(o=[],s=Ye,(a=it())!==r&&(i=ft())!==r&&(c=it())!==r?(e.substr(Ye,6)===h?(l=h,Ye+=6):(l=r,ot(y)),l===r&&(l=null),l!==r&&(u=it())!==r&&(p=dt())!==r?s=a=[a,i,c,l,u,p]:(Ye=s,s=r)):(Ye=s,s=r);s!==r;)o.push(s),s=Ye,(a=it())!==r&&(i=ft())!==r&&(c=it())!==r?(e.substr(Ye,6)===h?(l=h,Ye+=6):(l=r,ot(y)),l===r&&(l=null),l!==r&&(u=it())!==r&&(p=dt())!==r?s=a=[a,i,c,l,u,p]:(Ye=s,s=r)):(Ye=s,s=r);o!==r?(d=n,t=n=o.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case sn.MEMBER:return{type:on.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case sn.INSTANCE_MEMBER:return{type:on.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case sn.INNER_MEMBER:return{type:on.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),d)):(Ye=t,t=r)}else Ye=t,t=r;return Ze[f]={nextPos:Ye,result:t},t}function pt(){var t,n,o,s,a,i,c=82*Ye+6,l=Ze[c];if(l)return Ye=l.nextPos,l.result;if(Ye,n=Ye,o=Ye,d.test(e.charAt(Ye))?(s=e.charAt(Ye),Ye++):(s=r,ot(f)),s!==r){for(a=[],x.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(b));i!==r;)a.push(i),x.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(b));a!==r?o=s=[s,a]:(Ye=o,o=r)}else Ye=o,o=r;return(n=o!==r?e.substring(n,Ye):o)!==r&&(n=function(e){return{type:on.NAME,name:e}}(n)),t=n,Ze[c]={nextPos:Ye,result:t},t}function dt(){var t,n,o,s,a,i,c,l=82*Ye+7,u=Ze[l];if(u)return Ye=u.nextPos,u.result;if(t=Ye,39===e.charCodeAt(Ye)?(n=E,Ye++):(n=r,ot(S)),n!==r){for(o=Ye,s=[],C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(39===e.charCodeAt(Ye)?(s=E,Ye++):(s=r,ot(S)),s!==r?t=n=function(e){return{quoteStyle:"single",name:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;if(t===r){if(t=Ye,34===e.charCodeAt(Ye)?(n=P,Ye++):(n=r,ot(T)),n!==r){for(o=Ye,s=[],I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(34===e.charCodeAt(Ye)?(s=P,Ye++):(s=r,ot(T)),s!==r?t=n=function(e){return{quoteStyle:"double",name:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;t===r&&(t=Ye,(n=lt())!==r&&(n=function(e){return{quoteStyle:"none",name:e}}(n)),t=n)}return Ze[l]={nextPos:Ye,result:t},t}function ft(){var t,n=82*Ye+8,o=Ze[n];return o?(Ye=o.nextPos,o.result):((t=function(){var t,n,o=82*Ye+10,s=Ze[o];if(s)return Ye=s.nextPos,s.result;t=Ye,46===e.charCodeAt(Ye)?(n=D,Ye++):(n=r,ot(O));n!==r&&(n=sn.MEMBER);return t=n,Ze[o]={nextPos:Ye,result:t},t}())===r&&(t=function(){var t,n,o=82*Ye+12,s=Ze[o];if(s)return Ye=s.nextPos,s.result;t=Ye,35===e.charCodeAt(Ye)?(n="#",Ye++):(n=r,ot(N));n!==r&&(n=sn.INSTANCE_MEMBER);return t=n,Ze[o]={nextPos:Ye,result:t},t}())===r&&(t=function(){var t,n,o=82*Ye+11,s=Ze[o];if(s)return Ye=s.nextPos,s.result;t=Ye,126===e.charCodeAt(Ye)?(n="~",Ye++):(n=r,ot(B));n!==r&&(n=sn.INNER_MEMBER);return t=n,Ze[o]={nextPos:Ye,result:t},t}()),Ze[n]={nextPos:Ye,result:t},t)}function mt(){var t,n,o,s,a,i,c,l,u,p=82*Ye+9,d=Ze[p];if(d)return Ye=d.nextPos,d.result;if(t=Ye,(n=pt())!==r){for(o=[],s=Ye,(a=it())!==r?(46===e.charCodeAt(Ye)?(i=D,Ye++):(i=r,ot(O)),i!==r&&(c=it())!==r&&(l=pt())!==r?s=a=[a,i,c,l]:(Ye=s,s=r)):(Ye=s,s=r);s!==r;)o.push(s),s=Ye,(a=it())!==r?(46===e.charCodeAt(Ye)?(i=D,Ye++):(i=r,ot(O)),i!==r&&(c=it())!==r&&(l=pt())!==r?s=a=[a,i,c,l]:(Ye=s,s=r)):(Ye=s,s=r);o!==r?(u=n,t=n=o.reduce((function(e,t){return{type:on.MEMBER,owner:e,name:t[3]}}),u)):(Ye=t,t=r)}else Ye=t,t=r;return Ze[p]={nextPos:Ye,result:t},t}function gt(){var e,t=82*Ye+13,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=ht())===r&&(e=yt())===r&&(e=ut()),Ze[t]={nextPos:Ye,result:e},e)}function ht(){var t,n,o,s,a,i,c,l,u,p,d,f,m,g=82*Ye+14,x=Ze[g];if(x)return Ye=x.nextPos,x.result;if(t=Ye,e.substr(Ye,8)===j?(n=j,Ye+=8):(n=r,ot(L)),n!==r)if(it()!==r)if(58===e.charCodeAt(Ye)?(o=R,Ye++):(o=r,ot(M)),o!==r)if(it()!==r)if((s=dt())!==r){for(a=[],i=Ye,(c=it())!==r&&(l=ft())!==r&&(u=it())!==r?(e.substr(Ye,6)===h?(p=h,Ye+=6):(p=r,ot(y)),p===r&&(p=null),p!==r&&(d=it())!==r&&(f=dt())!==r?i=c=[c,l,u,p,d,f]:(Ye=i,i=r)):(Ye=i,i=r);i!==r;)a.push(i),i=Ye,(c=it())!==r&&(l=ft())!==r&&(u=it())!==r?(e.substr(Ye,6)===h?(p=h,Ye+=6):(p=r,ot(y)),p===r&&(p=null),p!==r&&(d=it())!==r&&(f=dt())!==r?i=c=[c,l,u,p,d,f]:(Ye=i,i=r)):(Ye=i,i=r);a!==r?(m=s,t=n=a.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case sn.MEMBER:return{type:on.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case sn.INSTANCE_MEMBER:return{type:on.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case sn.INNER_MEMBER:return{type:on.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),Object.assign({type:on.EXTERNAL},m))):(Ye=t,t=r)}else Ye=t,t=r;else Ye=t,t=r;else Ye=t,t=r;else Ye=t,t=r;else Ye=t,t=r;return Ze[g]={nextPos:Ye,result:t},t}function yt(){var t,n,o,s,a,i=82*Ye+15,c=Ze[i];return c?(Ye=c.nextPos,c.result):(t=Ye,e.substr(Ye,6)===_?(n=_,Ye+=6):(n=r,ot($)),n!==r&&it()!==r?(58===e.charCodeAt(Ye)?(o=R,Ye++):(o=r,ot(M)),o!==r&&it()!==r&&(s=function(){var t,n,o,s,a,i,c,l,u,p,d=82*Ye+16,f=Ze[d];if(f)return Ye=f.nextPos,f.result;if(t=Ye,(n=function(){var t,n,o,s,a,i,c,l=82*Ye+17,u=Ze[l];if(u)return Ye=u.nextPos,u.result;t=Ye,39===e.charCodeAt(Ye)?(n=E,Ye++):(n=r,ot(S));if(n!==r){for(o=Ye,s=[],C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(39===e.charCodeAt(Ye)?(s=E,Ye++):(s=r,ot(S)),s!==r?t=n=function(e){return{quoteStyle:"single",type:on.FILE_PATH,path:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;if(t===r){if(t=Ye,34===e.charCodeAt(Ye)?(n=P,Ye++):(n=r,ot(T)),n!==r){for(o=Ye,s=[],I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(34===e.charCodeAt(Ye)?(s=P,Ye++):(s=r,ot(T)),s!==r?t=n=function(e){return{quoteStyle:"double",type:on.FILE_PATH,path:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;if(t===r){if(t=Ye,n=Ye,o=[],q.test(e.charAt(Ye))?(s=e.charAt(Ye),Ye++):(s=r,ot(U)),s!==r)for(;s!==r;)o.push(s),q.test(e.charAt(Ye))?(s=e.charAt(Ye),Ye++):(s=r,ot(U));else o=r;(n=o!==r?e.substring(n,Ye):o)!==r&&(n=function(e){return{quoteStyle:"none",type:on.FILE_PATH,path:e}}(n)),t=n}}return Ze[l]={nextPos:Ye,result:t},t}())!==r){for(o=[],s=Ye,(a=it())!==r&&(i=ft())!==r&&(c=it())!==r?(e.substr(Ye,6)===h?(l=h,Ye+=6):(l=r,ot(y)),l===r&&(l=null),l!==r&&(u=it())!==r&&(p=dt())!==r?s=a=[a,i,c,l,u,p]:(Ye=s,s=r)):(Ye=s,s=r);s!==r;)o.push(s),s=Ye,(a=it())!==r&&(i=ft())!==r&&(c=it())!==r?(e.substr(Ye,6)===h?(l=h,Ye+=6):(l=r,ot(y)),l===r&&(l=null),l!==r&&(u=it())!==r&&(p=dt())!==r?s=a=[a,i,c,l,u,p]:(Ye=s,s=r)):(Ye=s,s=r);o!==r?(m=n,t=n=o.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case sn.MEMBER:return{type:on.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case sn.INSTANCE_MEMBER:return{type:on.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case sn.INNER_MEMBER:return{type:on.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),m)):(Ye=t,t=r)}else Ye=t,t=r;var m;return Ze[d]={nextPos:Ye,result:t},t}())!==r?(a=s,t=n={type:on.MODULE,value:a}):(Ye=t,t=r)):(Ye=t,t=r),Ze[i]={nextPos:Ye,result:t},t)}function xt(){var t,n,o=82*Ye+18,s=Ze[o];return s?(Ye=s.nextPos,s.result):(Ye,42===e.charCodeAt(Ye)?(n="*",Ye++):(n=r,ot(V)),n!==r&&(n={type:on.ANY}),t=n,Ze[o]={nextPos:Ye,result:t},t)}function bt(){var t,n,o=82*Ye+19,s=Ze[o];return s?(Ye=s.nextPos,s.result):(Ye,63===e.charCodeAt(Ye)?(n=W,Ye++):(n=r,ot(G)),n!==r&&(n={type:on.UNKNOWN}),t=n,Ze[o]={nextPos:Ye,result:t},t)}function Et(){var t,n=82*Ye+20,o=Ze[n];return o?(Ye=o.nextPos,o.result):((t=St())===r&&(t=function(){var t,n,o=82*Ye+22,s=Ze[o];if(s)return Ye=s.nextPos,s.result;t=Ye,(n=function(){var t,n,o,s,a,i,c=82*Ye+25,l=Ze[c];if(l)return Ye=l.nextPos,l.result;t=Ye,n=Ye,45===e.charCodeAt(Ye)?(o=J,Ye++):(o=r,ot(K));o===r&&(o=null);if(o!==r)if(e.substr(Ye,2)===Q?(s=Q,Ye+=2):(s=r,ot(Z)),s!==r){if(a=[],ee.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(te)),i!==r)for(;i!==r;)a.push(i),ee.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(te));else a=r;a!==r?n=o=[o,s,a]:(Ye=n,n=r)}else Ye=n,n=r;else Ye=n,n=r;t=n!==r?e.substring(t,Ye):n;return Ze[c]={nextPos:Ye,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=82*Ye+26,l=Ze[c];if(l)return Ye=l.nextPos,l.result;t=Ye,n=Ye,45===e.charCodeAt(Ye)?(o=J,Ye++):(o=r,ot(K));o===r&&(o=null);if(o!==r)if(e.substr(Ye,2)===ne?(s=ne,Ye+=2):(s=r,ot(re)),s!==r){if(a=[],oe.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(se)),i!==r)for(;i!==r;)a.push(i),oe.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(se));else a=r;a!==r?n=o=[o,s,a]:(Ye=n,n=r)}else Ye=n,n=r;else Ye=n,n=r;t=n!==r?e.substring(t,Ye):n;return Ze[c]={nextPos:Ye,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=82*Ye+27,l=Ze[c];if(l)return Ye=l.nextPos,l.result;t=Ye,n=Ye,45===e.charCodeAt(Ye)?(o=J,Ye++):(o=r,ot(K));o===r&&(o=null);if(o!==r)if(e.substr(Ye,2)===ae?(s=ae,Ye+=2):(s=r,ot(ie)),s!==r){if(a=[],ce.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(le)),i!==r)for(;i!==r;)a.push(i),ce.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(le));else a=r;a!==r?n=o=[o,s,a]:(Ye=n,n=r)}else Ye=n,n=r;else Ye=n,n=r;t=n!==r?e.substring(t,Ye):n;return Ze[c]={nextPos:Ye,result:t},t}())===r&&(n=function(){var t,n,o,s,a=82*Ye+23,i=Ze[a];if(i)return Ye=i.nextPos,i.result;t=Ye,n=Ye,43===e.charCodeAt(Ye)?(o="+",Ye++):(o=r,ot(z));o===r&&(45===e.charCodeAt(Ye)?(o=J,Ye++):(o=r,ot(K)));o===r&&(o=null);o!==r&&(s=Ct())!==r?n=o=[o,s]:(Ye=n,n=r);t=n!==r?e.substring(t,Ye):n;return Ze[a]={nextPos:Ye,result:t},t}());n!==r&&(a=n,n={type:on.NUMBER_VALUE,number:a});var a;return t=n,Ze[o]={nextPos:Ye,result:t},t}()),Ze[n]={nextPos:Ye,result:t},t)}function St(){var t,n,o,s,a,i,c,l,u=82*Ye+21,p=Ze[u];if(p)return Ye=p.nextPos,p.result;if(t=Ye,34===e.charCodeAt(Ye)?(n=P,Ye++):(n=r,ot(T)),n!==r){for(o=Ye,s=[],I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(34===e.charCodeAt(Ye)?(s=P,Ye++):(s=r,ot(T)),s!==r?(l=o,t=n={type:on.STRING_VALUE,quoteStyle:"double",string:l.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;if(t===r)if(t=Ye,39===e.charCodeAt(Ye)?(n=E,Ye++):(n=r,ot(S)),n!==r){for(o=Ye,s=[],C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(39===e.charCodeAt(Ye)?(s=E,Ye++):(s=r,ot(S)),s!==r?t=n=function(e){return{type:on.STRING_VALUE,quoteStyle:"single",string:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;return Ze[u]={nextPos:Ye,result:t},t}function Ct(){var t,n,o,s,a,i,c,l,u=82*Ye+24,p=Ze[u];if(p)return Ye=p.nextPos,p.result;if(t=Ye,n=Ye,o=Ye,s=[],Y.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(H)),a!==r)for(;a!==r;)s.push(a),Y.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(H));else s=r;if(s!==r){if(a=Ye,46===e.charCodeAt(Ye)?(i=D,Ye++):(i=r,ot(O)),i!==r){if(c=[],Y.test(e.charAt(Ye))?(l=e.charAt(Ye),Ye++):(l=r,ot(H)),l!==r)for(;l!==r;)c.push(l),Y.test(e.charAt(Ye))?(l=e.charAt(Ye),Ye++):(l=r,ot(H));else c=r;c!==r?a=i=[i,c]:(Ye=a,a=r)}else Ye=a,a=r;a===r&&(a=null),a!==r?o=s=[s,a]:(Ye=o,o=r)}else Ye=o,o=r;if(o===r)if(o=Ye,46===e.charCodeAt(Ye)?(s=D,Ye++):(s=r,ot(O)),s!==r){if(a=[],Y.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(H)),i!==r)for(;i!==r;)a.push(i),Y.test(e.charAt(Ye))?(i=e.charAt(Ye),Ye++):(i=r,ot(H));else a=r;a!==r?o=s=[s,a]:(Ye=o,o=r)}else Ye=o,o=r;if(o!==r){if(s=Ye,101===e.charCodeAt(Ye)?(a="e",Ye++):(a=r,ot(X)),a!==r)if(43===e.charCodeAt(Ye)?(i="+",Ye++):(i=r,ot(z)),i===r&&(45===e.charCodeAt(Ye)?(i=J,Ye++):(i=r,ot(K))),i===r&&(i=null),i!==r){if(c=[],Y.test(e.charAt(Ye))?(l=e.charAt(Ye),Ye++):(l=r,ot(H)),l!==r)for(;l!==r;)c.push(l),Y.test(e.charAt(Ye))?(l=e.charAt(Ye),Ye++):(l=r,ot(H));else c=r;c!==r?s=a=[a,i,c]:(Ye=s,s=r)}else Ye=s,s=r;else Ye=s,s=r;s===r&&(s=null),s!==r?n=o=[o,s]:(Ye=n,n=r)}else Ye=n,n=r;return t=n!==r?e.substring(t,Ye):n,Ze[u]={nextPos:Ye,result:t},t}function vt(){var t,n,o,s,a,i,c=82*Ye+28,l=Ze[c];return l?(Ye=l.nextPos,l.result):(t=Ye,(n=At())!==r&&it()!==r?(38===e.charCodeAt(Ye)?(o="&",Ye++):(o=r,ot(ue)),o!==r&&it()!==r?((s=vt())===r&&(s=At()),s!==r?(a=n,i=s,t=n={type:on.INTERSECTION,left:a,right:i}):(Ye=t,t=r)):(Ye=t,t=r)):(Ye=t,t=r),Ze[c]={nextPos:Ye,result:t},t)}function At(){var e,t=82*Ye+29,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=jt())===r&&(e=Rt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function kt(){var t,n,o,s,a,i,c=82*Ye+30,l=Ze[c];return l?(Ye=l.nextPos,l.result):(t=Ye,(n=wt())!==r&&it()!==r?(124===e.charCodeAt(Ye)?(o="|",Ye++):(o=r,ot(pe)),o!==r&&it()!==r?((s=kt())===r&&(s=wt()),s!==r?(a=n,i=s,t=n={type:on.UNION,left:a,right:i}):(Ye=t,t=r)):(Ye=t,t=r)):(Ye=t,t=r),Ze[c]={nextPos:Ye,result:t},t)}function wt(){var e,t=82*Ye+31,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=jt())===r&&(e=Rt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function Pt(){var t,n=82*Ye+32,o=Ze[n];return o?(Ye=o.nextPos,o.result):((t=function(){var t,n=82*Ye+42,o=Ze[n];if(o)return Ye=o.nextPos,o.result;(t=function(){var t,n,o,s=82*Ye+46,a=Ze[s];if(a)return Ye=a.nextPos,a.result;t=Ye,(n=Bt())===r&&(n=Nt())===r&&(n=Ot());n!==r&&it()!==r?(61===e.charCodeAt(Ye)?(o="=",Ye++):(o=r,ot(ke)),o!==r?(i=n,t=n={type:on.OPTIONAL,value:i,meta:{syntax:tn.SUFFIX_EQUALS_SIGN}}):(Ye=t,t=r)):(Ye=t,t=r);var i;return Ze[s]={nextPos:Ye,result:t},t}())===r&&(t=Bt())===r&&(t=Nt());return Ze[n]={nextPos:Ye,result:t},t}())===r&&(t=Tt()),Ze[n]={nextPos:Ye,result:t},t)}function Tt(){var t,n=82*Ye+33,o=Ze[n];return o?(Ye=o.nextPos,o.result):((t=function(){var t,n,o,s=82*Ye+41,a=Ze[s];if(a)return Ye=a.nextPos,a.result;t=Ye,61===e.charCodeAt(Ye)?(n=Ae,Ye++):(n=r,ot(ke));n!==r&&it()!==r&&(o=It())!==r?(i=o,t=n={type:on.OPTIONAL,value:i,meta:{syntax:tn.PREFIX_EQUALS_SIGN}}):(Ye=t,t=r);var i;return Ze[s]={nextPos:Ye,result:t},t}())===r&&(t=function(){var t,n,o,s=82*Ye+40,a=Ze[s];if(a)return Ye=a.nextPos,a.result;t=Ye,33===e.charCodeAt(Ye)?(n="!",Ye++):(n=r,ot(ve));n!==r&&it()!==r&&(o=It())!==r?(i=o,t=n={type:on.NOT_NULLABLE,value:i,meta:{syntax:rn.PREFIX_BANG}}):(Ye=t,t=r);var i;return Ze[s]={nextPos:Ye,result:t},t}())===r&&(t=function(){var t,n,o,s=82*Ye+39,a=Ze[s];if(a)return Ye=a.nextPos,a.result;t=Ye,63===e.charCodeAt(Ye)?(n=W,Ye++):(n=r,ot(G));n!==r&&it()!==r&&(o=It())!==r?(i=o,t=n={type:on.NULLABLE,value:i,meta:{syntax:nn.PREFIX_QUESTION_MARK}}):(Ye=t,t=r);var i;return Ze[s]={nextPos:Ye,result:t},t}()),Ze[n]={nextPos:Ye,result:t},t)}function It(){var e,t=82*Ye+34,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=jt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function Ft(){var t,n,o,s=82*Ye+35,a=Ze[s];return a?(Ye=a.nextPos,a.result):(t=Ye,e.substr(Ye,6)===de?(n=de,Ye+=6):(n=r,ot(fe)),n!==r&&ct()!==r&&(o=mt())!==r?t=n=function(e,t){return{type:on.TYPE_QUERY,name:t}}(0,o):(Ye=t,t=r),Ze[s]={nextPos:Ye,result:t},t)}function Dt(){var t,n,o,s,a=82*Ye+36,i=Ze[a];return i?(Ye=i.nextPos,i.result):(t=Ye,e.substr(Ye,5)===me?(n=me,Ye+=5):(n=r,ot(ge)),n!==r&&(o=ct())!==r&&(s=function(){var e,t=82*Ye+37,n=Ze[t];if(n)return Ye=n.nextPos,n.result;(e=kt())===r&&(e=vt())===r&&(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=Rt())===r&&(e=jt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt());return Ze[t]={nextPos:Ye,result:e},e}())!==r?t=n=he(0,s):(Ye=t,t=r),t===r&&(t=Ye,e.substr(Ye,5)===me?(n=me,Ye+=5):(n=r,ot(ge)),n!==r&&(o=Yt())!==r?t=n=he(0,o):(Ye=t,t=r)),Ze[a]={nextPos:Ye,result:t},t)}function Ot(){var e,t=82*Ye+43,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=Tt())===r&&(e=jt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function Bt(){var t,n,o,s,a=82*Ye+44,i=Ze[a];return i?(Ye=i.nextPos,i.result):(t=Ye,(n=Ot())!==r&&it()!==r?(63===e.charCodeAt(Ye)?(o=W,Ye++):(o=r,ot(G)),o!==r?(s=n,t=n={type:on.NULLABLE,value:s,meta:{syntax:nn.SUFFIX_QUESTION_MARK}}):(Ye=t,t=r)):(Ye=t,t=r),Ze[a]={nextPos:Ye,result:t},t)}function Nt(){var t,n,o,s,a=82*Ye+45,i=Ze[a];return i?(Ye=i.nextPos,i.result):(t=Ye,(n=Ot())!==r&&it()!==r?(33===e.charCodeAt(Ye)?(o="!",Ye++):(o=r,ot(ve)),o!==r?(s=n,t=n={type:on.NOT_NULLABLE,value:s,meta:{syntax:rn.SUFFIX_BANG}}):(Ye=t,t=r)):(Ye=t,t=r),Ze[a]={nextPos:Ye,result:t},t)}function jt(){var t,n,o,s,a,i,c,l=82*Ye+47,u=Ze[l];return u?(Ye=u.nextPos,u.result):(t=Ye,(n=function(){var e,t=82*Ye+48,n=Ze[t];if(n)return Ye=n.nextPos,n.result;(e=Yt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt());return Ze[t]={nextPos:Ye,result:e},e}())!==r&&it()!==r&&(o=function(){var t,n=82*Ye+51,o=Ze[n];if(o)return Ye=o.nextPos,o.result;(t=function(){var t,n,o=82*Ye+52,s=Ze[o];if(s)return Ye=s.nextPos,s.result;t=Ye,e.substr(Ye,2)===Te?(n=Te,Ye+=2):(n=r,ot(Ie));n!==r&&(n=Zt.ANGLE_BRACKET_WITH_DOT);return t=n,Ze[o]={nextPos:Ye,result:t},t}())===r&&(t=function(){var t,n,o=82*Ye+53,s=Ze[o];if(s)return Ye=s.nextPos,s.result;t=Ye,60===e.charCodeAt(Ye)?(n="<",Ye++):(n=r,ot(Fe));n!==r&&(n=Zt.ANGLE_BRACKET);return t=n,Ze[o]={nextPos:Ye,result:t},t}());return Ze[n]={nextPos:Ye,result:t},t}())!==r&&it()!==r&&(s=function(){var t,n,o,s,a,i,c,l,u=82*Ye+50,p=Ze[u];if(p)return Ye=p.nextPos,p.result;if(t=Ye,(n=Lt())!==r){for(o=[],s=Ye,(a=it())!==r?(44===e.charCodeAt(Ye)?(i=we,Ye++):(i=r,ot(Pe)),i!==r&&(c=it())!==r&&(l=Lt())!==r?s=a=[a,i,c,l]:(Ye=s,s=r)):(Ye=s,s=r);s!==r;)o.push(s),s=Ye,(a=it())!==r?(44===e.charCodeAt(Ye)?(i=we,Ye++):(i=r,ot(Pe)),i!==r&&(c=it())!==r&&(l=Lt())!==r?s=a=[a,i,c,l]:(Ye=s,s=r)):(Ye=s,s=r);o!==r?(d=n,t=n=o.reduce((function(e,t){return e.concat([t[3]])}),[d])):(Ye=t,t=r)}else Ye=t,t=r;var d;return Ze[u]={nextPos:Ye,result:t},t}())!==r&&it()!==r&&function(){var t,n=82*Ye+54,o=Ze[n];if(o)return Ye=o.nextPos,o.result;62===e.charCodeAt(Ye)?(t=">",Ye++):(t=r,ot(De));return Ze[n]={nextPos:Ye,result:t},t}()!==r?(a=n,i=o,c=s,t=n={type:on.GENERIC,subject:a,objects:c,meta:{syntax:i}}):(Ye=t,t=r),Ze[l]={nextPos:Ye,result:t},t)}function Lt(){var e,t=82*Ye+49,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=kt())===r&&(e=vt())===r&&(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Rt())===r&&(e=jt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function Rt(){var t,n,o,s,a,i,c,l,u,p=82*Ye+55,d=Ze[p];if(d)return Ye=d.nextPos,d.result;if(t=Ye,(n=function(){var e,t=82*Ye+56,n=Ze[t];if(n)return Ye=n.nextPos,n.result;(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=jt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt());return Ze[t]={nextPos:Ye,result:e},e}())!==r){if(o=[],s=Ye,(a=it())!==r?(91===e.charCodeAt(Ye)?(i="[",Ye++):(i=r,ot(Oe)),i!==r&&(c=it())!==r?(93===e.charCodeAt(Ye)?(l="]",Ye++):(l=r,ot(Be)),l!==r?s=a=[a,i,c,l]:(Ye=s,s=r)):(Ye=s,s=r)):(Ye=s,s=r),s!==r)for(;s!==r;)o.push(s),s=Ye,(a=it())!==r?(91===e.charCodeAt(Ye)?(i="[",Ye++):(i=r,ot(Oe)),i!==r&&(c=it())!==r?(93===e.charCodeAt(Ye)?(l="]",Ye++):(l=r,ot(Be)),l!==r?s=a=[a,i,c,l]:(Ye=s,s=r)):(Ye=s,s=r)):(Ye=s,s=r);else o=r;o!==r?(u=n,t=n=o.reduce((function(e){return{type:on.GENERIC,subject:{type:on.NAME,name:"Array"},objects:[e],meta:{syntax:Zt.SQUARE_BRACKET}}}),u)):(Ye=t,t=r)}else Ye=t,t=r;return Ze[p]={nextPos:Ye,result:t},t}function Mt(){var t,n,o,s,a,i,c,l,u=82*Ye+57,p=Ze[u];return p?(Ye=p.nextPos,p.result):(t=Ye,e.substr(Ye,3)===Ne?(n=Ne,Ye+=3):(n=r,ot(je)),n===r&&(n=null),n!==r&&it()!==r&&(o=function(){var t,n,o,s,a=82*Ye+58,i=Ze[a];if(i)return Ye=i.nextPos,i.result;t=Ye,40===e.charCodeAt(Ye)?(n=be,Ye++):(n=r,ot(Ee));n!==r&&it()!==r?(41===e.charCodeAt(Ye)?(o=Se,Ye++):(o=r,ot(Ce)),o!==r?t=n=[]:(Ye=t,t=r)):(Ye=t,t=r);t===r&&(t=Ye,40===e.charCodeAt(Ye)?(n=be,Ye++):(n=r,ot(Ee)),n!==r&&it()!==r&&(o=function(){var t,n,o,s,a,i,c,l,u,p,d,f=82*Ye+59,m=Ze[f];if(m)return Ye=m.nextPos,m.result;t=Ye,n=[],o=Ye,(s=lt())!==r&&(a=it())!==r?(58===e.charCodeAt(Ye)?(i=R,Ye++):(i=r,ot(M)),i!==r&&(c=it())!==r?((l=Ut())===r&&(l=null),l!==r&&(u=it())!==r?(44===e.charCodeAt(Ye)?(p=we,Ye++):(p=r,ot(Pe)),p!==r&&(d=it())!==r?o=s=[s,a,i,c,l,u,p,d]:(Ye=o,o=r)):(Ye=o,o=r)):(Ye=o,o=r)):(Ye=o,o=r);for(;o!==r;)n.push(o),o=Ye,(s=lt())!==r&&(a=it())!==r?(58===e.charCodeAt(Ye)?(i=R,Ye++):(i=r,ot(M)),i!==r&&(c=it())!==r?((l=Ut())===r&&(l=null),l!==r&&(u=it())!==r?(44===e.charCodeAt(Ye)?(p=we,Ye++):(p=r,ot(Pe)),p!==r&&(d=it())!==r?o=s=[s,a,i,c,l,u,p,d]:(Ye=o,o=r)):(Ye=o,o=r)):(Ye=o,o=r)):(Ye=o,o=r);n!==r?((o=function(){var t,n,o,s,a,i=82*Ye+60,c=Ze[i];if(c)return Ye=c.nextPos,c.result;t=Ye,e.substr(Ye,3)===Re?(n=Re,Ye+=3):(n=r,ot(Me));n===r&&(n=null);n!==r&&it()!==r&&(o=lt())!==r&&it()!==r?(58===e.charCodeAt(Ye)?(s=R,Ye++):(s=r,ot(M)),s!==r&&it()!==r?((a=Ut())===r&&(a=null),a!==r?t=n=function(e,t,n){const r={type:on.NAMED_PARAMETER,name:t,typeName:n};return e?{type:on.VARIADIC,value:r,meta:{syntax:en.PREFIX_DOTS}}:r}(n,o,a):(Ye=t,t=r)):(Ye=t,t=r)):(Ye=t,t=r);return Ze[i]={nextPos:Ye,result:t},t}())===r&&(o=null),o!==r?(g=o,t=n=n.reduceRight((function(e,t){return[{type:on.NAMED_PARAMETER,name:t[0],typeName:t[4]}].concat(e)}),g?[g]:[])):(Ye=t,t=r)):(Ye=t,t=r);var g;return Ze[f]={nextPos:Ye,result:t},t}())!==r&&it()!==r?(41===e.charCodeAt(Ye)?(s=Se,Ye++):(s=r,ot(Ce)),s!==r?t=n=o:(Ye=t,t=r)):(Ye=t,t=r));return Ze[a]={nextPos:Ye,result:t},t}())!==r&&it()!==r?("=>"===e.substr(Ye,2)?(s="=>",Ye+=2):(s=r,ot(Le)),s!==r&&it()!==r&&(a=Vt())!==r?(i=n,c=o,l=a,t=n={type:on.ARROW,params:c,returns:l,new:i}):(Ye=t,t=r)):(Ye=t,t=r),Ze[u]={nextPos:Ye,result:t},t)}function _t(){var t,n,o,s,a,i,c,l=82*Ye+61,u=Ze[l];return u?(Ye=u.nextPos,u.result):(t=Ye,e.substr(Ye,8)===_e?(n=_e,Ye+=8):(n=r,ot($e)),n!==r&&it()!==r&&(o=function(){var t,n,o,s,a,i,c=82*Ye+62,l=Ze[c];if(l)return Ye=l.nextPos,l.result;t=Ye,40===e.charCodeAt(Ye)?(n=be,Ye++):(n=r,ot(Ee));n!==r&&it()!==r&&(o=$t())!==r&&it()!==r?(44===e.charCodeAt(Ye)?(s=we,Ye++):(s=r,ot(Pe)),s!==r&&it()!==r&&(a=qt())!==r&&it()!==r?(41===e.charCodeAt(Ye)?(i=Se,Ye++):(i=r,ot(Ce)),i!==r?t=n={params:a,modifier:o}:(Ye=t,t=r)):(Ye=t,t=r)):(Ye=t,t=r);t===r&&(t=Ye,40===e.charCodeAt(Ye)?(n=be,Ye++):(n=r,ot(Ee)),n!==r&&it()!==r&&(o=$t())!==r&&it()!==r?(41===e.charCodeAt(Ye)?(s=Se,Ye++):(s=r,ot(Ce)),s!==r?t=n=function(e){return{params:[],modifier:e}}(o):(Ye=t,t=r)):(Ye=t,t=r),t===r&&(t=Ye,40===e.charCodeAt(Ye)?(n=be,Ye++):(n=r,ot(Ee)),n!==r&&it()!==r?(41===e.charCodeAt(Ye)?(o=Se,Ye++):(o=r,ot(Ce)),o!==r?t=n={params:[],modifier:{nodeThis:null,nodeNew:null}}:(Ye=t,t=r)):(Ye=t,t=r),t===r&&(t=Ye,40===e.charCodeAt(Ye)?(n=be,Ye++):(n=r,ot(Ee)),n!==r&&it()!==r&&(o=qt())!==r&&it()!==r?(41===e.charCodeAt(Ye)?(s=Se,Ye++):(s=r,ot(Ce)),s!==r?t=n=function(e){return{params:e,modifier:{nodeThis:null,nodeNew:null}}}(o):(Ye=t,t=r)):(Ye=t,t=r))));return Ze[c]={nextPos:Ye,result:t},t}())!==r&&it()!==r?(s=Ye,58===e.charCodeAt(Ye)?(a=R,Ye++):(a=r,ot(M)),a!==r&&(i=it())!==r&&(c=Vt())!==r?s=a=[a,i,c]:(Ye=s,s=r),s===r&&(s=null),s!==r?t=n=function(e,t){const n=t?t[2]:null;return{type:on.FUNCTION,params:e.params,returns:n,this:e.modifier.nodeThis,new:e.modifier.nodeNew}}(o,s):(Ye=t,t=r)):(Ye=t,t=r),Ze[l]={nextPos:Ye,result:t},t)}function $t(){var t,n,o,s,a,i,c,l=82*Ye+63,u=Ze[l];return u?(Ye=u.nextPos,u.result):(t=Ye,n=Ye,e.substr(Ye,4)===qe?(o=qe,Ye+=4):(o=r,ot(Ue)),o!==r&&(s=it())!==r?(58===e.charCodeAt(Ye)?(a=R,Ye++):(a=r,ot(M)),a!==r&&(i=it())!==r&&(c=Ut())!==r?n=o=[o,s,a,i,c]:(Ye=n,n=r)):(Ye=n,n=r),n!==r&&(n={nodeThis:n[4],nodeNew:null}),(t=n)===r&&(t=Ye,n=Ye,e.substr(Ye,3)===Ne?(o=Ne,Ye+=3):(o=r,ot(je)),o!==r&&(s=it())!==r?(58===e.charCodeAt(Ye)?(a=R,Ye++):(a=r,ot(M)),a!==r&&(i=it())!==r&&(c=Ut())!==r?n=o=[o,s,a,i,c]:(Ye=n,n=r)):(Ye=n,n=r),n!==r&&(n={nodeThis:null,nodeNew:n[4]}),t=n),Ze[l]={nextPos:Ye,result:t},t)}function qt(){var t,n,o,s,a,i,c,l,u=82*Ye+64,p=Ze[u];if(p)return Ye=p.nextPos,p.result;for(t=Ye,n=[],o=Ye,(s=Ut())!==r&&(a=it())!==r?(44===e.charCodeAt(Ye)?(i=we,Ye++):(i=r,ot(Pe)),i!==r&&(c=it())!==r?o=s=[s,a,i,c]:(Ye=o,o=r)):(Ye=o,o=r);o!==r;)n.push(o),o=Ye,(s=Ut())!==r&&(a=it())!==r?(44===e.charCodeAt(Ye)?(i=we,Ye++):(i=r,ot(Pe)),i!==r&&(c=it())!==r?o=s=[s,a,i,c]:(Ye=o,o=r)):(Ye=o,o=r);return n!==r?((o=Ht())===r&&(o=Xt()),o===r&&(o=null),o!==r?(l=o,t=n=n.reduceRight((function(e,t){const[n]=t;return[n].concat(e)}),l?[l]:[])):(Ye=t,t=r)):(Ye=t,t=r),Ze[u]={nextPos:Ye,result:t},t}function Ut(){var e,t=82*Ye+65,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=kt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Rt())===r&&(e=jt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function Vt(){var e,t=82*Ye+66,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=Tt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Rt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=jt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function Wt(){var t,n,o,s,d,f=82*Ye+67,m=Ze[f];return m?(Ye=m.nextPos,m.result):(t=Ye,123===e.charCodeAt(Ye)?(n="{",Ye++):(n=r,ot(Ve)),n!==r&&it()!==r?((o=function(){var t,n,o,s,d,f,m,g,h=82*Ye+68,y=Ze[h];if(y)return Ye=y.nextPos,y.result;if(t=Ye,(n=Gt())!==r){if(o=[],s=Ye,d=Ye,(f=it())!==r?(44===e.charCodeAt(Ye)?(m=we,Ye++):(m=r,ot(Pe)),m!==r?d=f=[f,m]:(Ye=d,d=r)):(Ye=d,d=r),d===r&&(d=Ye,(f=it())!==r?(59===e.charCodeAt(Ye)?(m=Ge,Ye++):(m=r,ot(ze)),m!==r?d=f=[f,m]:(Ye=d,d=r)):(Ye=d,d=r),d===r)){for(d=Ye,f=[],a.test(e.charAt(Ye))?(m=e.charAt(Ye),Ye++):(m=r,ot(i));m!==r;)f.push(m),a.test(e.charAt(Ye))?(m=e.charAt(Ye),Ye++):(m=r,ot(i));f!==r?(c.test(e.charAt(Ye))?(m=e.charAt(Ye),Ye++):(m=r,ot(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(Ye))?(g=e.charAt(Ye),Ye++):(g=r,ot(p)),g!==r?d=f=[f,m,g]:(Ye=d,d=r)):(Ye=d,d=r)):(Ye=d,d=r)}for(d!==r&&(f=it())!==r&&(m=Gt())!==r?s=d=[d,f,m]:(Ye=s,s=r);s!==r;){if(o.push(s),s=Ye,d=Ye,(f=it())!==r?(44===e.charCodeAt(Ye)?(m=we,Ye++):(m=r,ot(Pe)),m!==r?d=f=[f,m]:(Ye=d,d=r)):(Ye=d,d=r),d===r&&(d=Ye,(f=it())!==r?(59===e.charCodeAt(Ye)?(m=Ge,Ye++):(m=r,ot(ze)),m!==r?d=f=[f,m]:(Ye=d,d=r)):(Ye=d,d=r),d===r)){for(d=Ye,f=[],a.test(e.charAt(Ye))?(m=e.charAt(Ye),Ye++):(m=r,ot(i));m!==r;)f.push(m),a.test(e.charAt(Ye))?(m=e.charAt(Ye),Ye++):(m=r,ot(i));f!==r?(c.test(e.charAt(Ye))?(m=e.charAt(Ye),Ye++):(m=r,ot(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(Ye))?(g=e.charAt(Ye),Ye++):(g=r,ot(p)),g!==r?d=f=[f,m,g]:(Ye=d,d=r)):(Ye=d,d=r)):(Ye=d,d=r)}d!==r&&(f=it())!==r&&(m=Gt())!==r?s=d=[d,f,m]:(Ye=s,s=r)}if(o!==r){if(s=Ye,(d=it())!==r?(44===e.charCodeAt(Ye)?(f=we,Ye++):(f=r,ot(Pe)),f!==r?s=d=[d,f]:(Ye=s,s=r)):(Ye=s,s=r),s===r&&(s=Ye,(d=it())!==r?(59===e.charCodeAt(Ye)?(f=Ge,Ye++):(f=r,ot(ze)),f!==r?s=d=[d,f]:(Ye=s,s=r)):(Ye=s,s=r),s===r)){for(s=Ye,d=[],a.test(e.charAt(Ye))?(f=e.charAt(Ye),Ye++):(f=r,ot(i));f!==r;)d.push(f),a.test(e.charAt(Ye))?(f=e.charAt(Ye),Ye++):(f=r,ot(i));d!==r?(c.test(e.charAt(Ye))?(f=e.charAt(Ye),Ye++):(f=r,ot(l)),f===r&&(f=null),f!==r?(u.test(e.charAt(Ye))?(m=e.charAt(Ye),Ye++):(m=r,ot(p)),m!==r?s=d=[d,f,m]:(Ye=s,s=r)):(Ye=s,s=r)):(Ye=s,s=r)}s===r&&(s=null),s!==r?(x=n,t=n=o.reduce((function(e,t){const n=t[2];return e.concat([n])}),[x])):(Ye=t,t=r)}else Ye=t,t=r}else Ye=t,t=r;var x;return Ze[h]={nextPos:Ye,result:t},t}())===r&&(o=null),o!==r&&it()!==r?(125===e.charCodeAt(Ye)?(s="}",Ye++):(s=r,ot(We)),s!==r?(d=o,t=n={type:on.RECORD,entries:d||[]}):(Ye=t,t=r)):(Ye=t,t=r)):(Ye=t,t=r),Ze[f]={nextPos:Ye,result:t},t)}function Gt(){var t,n,o,s,a,i,c,l=82*Ye+69,u=Ze[l];return u?(Ye=u.nextPos,u.result):(t=Ye,n=Ye,e.substr(Ye,8)===Je?(o=Je,Ye+=8):(o=r,ot(Ke)),o!==r&&(s=ct())!==r?n=o=[o,s]:(Ye=n,n=r),n===r&&(n=null),n!==r&&(o=zt())!==r&&(s=it())!==r?(63===e.charCodeAt(Ye)?(a=W,Ye++):(a=r,ot(G)),a===r&&(a=null),a!==r&&it()!==r?(58===e.charCodeAt(Ye)?(i=R,Ye++):(i=r,ot(M)),i!==r&&it()!==r&&(c=function(){var e,t=82*Ye+71,n=Ze[t];if(n)return Ye=n.nextPos,n.result;(e=kt())===r&&(e=vt())===r&&(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Rt())===r&&(e=jt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt());return Ze[t]={nextPos:Ye,result:e},e}())!==r?t=n=function(e,t,n,r){const{quoteStyle:o,key:s}=t;return{type:on.RECORD_ENTRY,key:s,quoteStyle:o,value:"?"===n?{type:on.OPTIONAL,value:r,meta:{syntax:tn.SUFFIX_KEY_QUESTION_MARK}}:r,readonly:Boolean(e)}}(n,o,a,c):(Ye=t,t=r)):(Ye=t,t=r)):(Ye=t,t=r),t===r&&(t=Ye,n=Ye,e.substr(Ye,8)===Je?(o=Je,Ye+=8):(o=r,ot(Ke)),o!==r&&(s=ct())!==r?n=o=[o,s]:(Ye=n,n=r),n===r&&(n=null),n!==r&&(o=zt())!==r?t=n=function(e,t){const{quoteStyle:n,key:r}=t;return{type:on.RECORD_ENTRY,key:r,quoteStyle:n,value:null,readonly:Boolean(e)}}(n,o):(Ye=t,t=r)),Ze[l]={nextPos:Ye,result:t},t)}function zt(){var t,n,o,s,a,i,c,l=82*Ye+70,u=Ze[l];if(u)return Ye=u.nextPos,u.result;if(t=Ye,34===e.charCodeAt(Ye)?(n=P,Ye++):(n=r,ot(T)),n!==r){for(o=Ye,s=[],I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),I.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(F)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(34===e.charCodeAt(Ye)?(s=P,Ye++):(s=r,ot(T)),s!==r?t=n=function(e){return{quoteStyle:"double",key:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;if(t===r){if(t=Ye,39===e.charCodeAt(Ye)?(n=E,Ye++):(n=r,ot(S)),n!==r){for(o=Ye,s=[],C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));a!==r;)s.push(a),C.test(e.charAt(Ye))?(a=e.charAt(Ye),Ye++):(a=r,ot(v)),a===r&&(a=Ye,92===e.charCodeAt(Ye)?(i=A,Ye++):(i=r,ot(k)),i!==r?(e.length>Ye?(c=e.charAt(Ye),Ye++):(c=r,ot(w)),c!==r?a=i=[i,c]:(Ye=a,a=r)):(Ye=a,a=r));(o=s!==r?e.substring(o,Ye):s)!==r?(39===e.charCodeAt(Ye)?(s=E,Ye++):(s=r,ot(S)),s!==r?t=n=function(e){return{quoteStyle:"single",key:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(Ye=t,t=r)):(Ye=t,t=r)}else Ye=t,t=r;t===r&&(t=Ye,n=Ye,(o=lt())===r&&(o=Ct()),(n=o!==r?e.substring(n,Ye):o)!==r&&(n=function(e){return{quoteStyle:"none",key:e}}(n)),t=n)}return Ze[l]={nextPos:Ye,result:t},t}function Jt(){var t,n,o,s,a,i=82*Ye+72,c=Ze[i];return c?(Ye=c.nextPos,c.result):(t=Ye,91===e.charCodeAt(Ye)?(n="[",Ye++):(n=r,ot(Oe)),n!==r&&it()!==r&&(o=function(){var t,n,o,s,a,i,c,l=82*Ye+73,u=Ze[l];if(u)return Ye=u.nextPos,u.result;t=Ye,n=[],o=Ye,(s=Kt())!==r&&(a=it())!==r?(44===e.charCodeAt(Ye)?(i=we,Ye++):(i=r,ot(Pe)),i!==r&&(c=it())!==r?o=s=[s,a,i,c]:(Ye=o,o=r)):(Ye=o,o=r);for(;o!==r;)n.push(o),o=Ye,(s=Kt())!==r&&(a=it())!==r?(44===e.charCodeAt(Ye)?(i=we,Ye++):(i=r,ot(Pe)),i!==r&&(c=it())!==r?o=s=[s,a,i,c]:(Ye=o,o=r)):(Ye=o,o=r);n!==r?((o=Ht())===r&&(o=Xt()),o===r&&(o=null),o!==r?t=n=function(e,t){return e.reduceRight(((e,t)=>{let[n]=t;return[n].concat(e)}),t?[t]:[])}(n,o):(Ye=t,t=r)):(Ye=t,t=r);return Ze[l]={nextPos:Ye,result:t},t}())!==r&&it()!==r?(93===e.charCodeAt(Ye)?(s="]",Ye++):(s=r,ot(Be)),s!==r?(a=o,t=n={type:on.TUPLE,entries:a}):(Ye=t,t=r)):(Ye=t,t=r),Ze[i]={nextPos:Ye,result:t},t)}function Kt(){var e,t=82*Ye+74,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=kt())===r&&(e=vt())===r&&(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=Rt())===r&&(e=jt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}function Yt(){var t,n,o,s,a,i=82*Ye+75,c=Ze[i];return c?(Ye=c.nextPos,c.result):(t=Ye,40===e.charCodeAt(Ye)?(n=be,Ye++):(n=r,ot(Ee)),n!==r&&it()!==r&&(o=function(){var e,t=82*Ye+76,n=Ze[t];if(n)return Ye=n.nextPos,n.result;(e=kt())===r&&(e=vt())===r&&(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Rt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=jt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt());return Ze[t]={nextPos:Ye,result:e},e}())!==r&&it()!==r?(41===e.charCodeAt(Ye)?(s=Se,Ye++):(s=r,ot(Ce)),s!==r?(a=o,t=n={type:on.PARENTHESIS,value:a}):(Ye=t,t=r)):(Ye=t,t=r),Ze[i]={nextPos:Ye,result:t},t)}function Ht(){var t,n=82*Ye+77,o=Ze[n];return o?(Ye=o.nextPos,o.result):((t=function(){var t,n,o,s=82*Ye+78,a=Ze[s];if(a)return Ye=a.nextPos,a.result;t=Ye,e.substr(Ye,3)===Re?(n=Re,Ye+=3):(n=r,ot(Me));n!==r&&(o=Xt())!==r?(i=o,t=n={type:on.VARIADIC,value:i,meta:{syntax:en.PREFIX_DOTS}}):(Ye=t,t=r);var i;return Ze[s]={nextPos:Ye,result:t},t}())===r&&(t=function(){var t,n,o,s=82*Ye+79,a=Ze[s];if(a)return Ye=a.nextPos,a.result;t=Ye,(n=Xt())!==r?(e.substr(Ye,3)===Re?(o=Re,Ye+=3):(o=r,ot(Me)),o!==r?(i=n,t=n={type:on.VARIADIC,value:i,meta:{syntax:en.SUFFIX_DOTS}}):(Ye=t,t=r)):(Ye=t,t=r);var i;return Ze[s]={nextPos:Ye,result:t},t}())===r&&(t=function(){var t,n,o=82*Ye+80,s=Ze[o];if(s)return Ye=s.nextPos,s.result;t=Ye,e.substr(Ye,3)===Re?(n=Re,Ye+=3):(n=r,ot(Me));n!==r&&(n={type:on.VARIADIC,value:{type:on.ANY},meta:{syntax:en.ONLY_DOTS}});return t=n,Ze[o]={nextPos:Ye,result:t},t}()),Ze[n]={nextPos:Ye,result:t},t)}function Xt(){var e,t=82*Ye+81,n=Ze[t];return n?(Ye=n.nextPos,n.result):((e=kt())===r&&(e=vt())===r&&(e=Pt())===r&&(e=Wt())===r&&(e=Jt())===r&&(e=Mt())===r&&(e=_t())===r&&(e=Yt())===r&&(e=Ft())===r&&(e=Dt())===r&&(e=Rt())===r&&(e=jt())===r&&(e=gt())===r&&(e=Et())===r&&(e=xt())===r&&(e=bt()),Ze[t]={nextPos:Ye,result:e},e)}const Qt=py,{GenericTypeSyntax:Zt,VariadicTypeSyntax:en,OptionalTypeSyntax:tn,NullableTypeSyntax:nn,NotNullableTypeSyntax:rn}=Qt,on=dy,sn={MEMBER:"MEMBER",INNER_MEMBER:"INNER_MEMBER",INSTANCE_MEMBER:"INSTANCE_MEMBER"};if((n=s())!==r&&Ye===e.length)return n;throw n!==r&&Ye0){for(t=1,r=1;t",!1),Ee=We("[",!1),Se=We("]",!1),Ce="function",ve=We("function",!1),Ae="(",ke=We("(",!1),we=")",Pe=We(")",!1),Te="this",Ie=We("this",!1),Fe=We("new",!1),De=We("{",!1),Oe=We("}",!1),Be=";",Ne=We(";",!1),je="readonly",Le=We("readonly",!1),Re="...",Me=We("...",!1),_e=0,$e=[{line:1,column:1}],qe=0,Ue=[],Ve={};if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function We(e,t){return{type:"literal",text:e,ignoreCase:t}}function Ge(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function ze(t){var n,r=$e[t];if(r)return r;for(n=t-1;!$e[n];)n--;for(r={line:(r=$e[n]).line,column:r.column};nqe&&(qe=_e,Ue=[]),Ue.push(e))}function Ye(){var e,t,n=69*_e+0,o=Ve[n];return o?(_e=o.nextPos,o.result):(e=_e,Xe()!==r?((t=It())===r&&(t=ut())===r&&(t=dt())===r&&(t=Et())===r&&(t=xt())===r&&(t=kt())===r&&(t=St())===r&&(t=rt())===r&&(t=Tt())===r&&(t=ct())===r&&(t=at())===r&&(t=it()),t!==r&&Xe()!==r?e=t:(_e=e,e=r)):(_e=e,e=r),Ve[n]={nextPos:_e,result:e},e)}function He(){var t,n,o,s=69*_e+1,d=Ve[s];return d?(_e=d.nextPos,d.result):(a.test(e.charAt(_e))?(t=e.charAt(_e),_e++):(t=r,Ke(i)),t===r&&(t=_e,c.test(e.charAt(_e))?(n=e.charAt(_e),_e++):(n=r,Ke(l)),n===r&&(n=null),n!==r?(u.test(e.charAt(_e))?(o=e.charAt(_e),_e++):(o=r,Ke(p)),o!==r?t=n=[n,o]:(_e=t,t=r)):(_e=t,t=r)),Ve[s]={nextPos:_e,result:t},t)}function Xe(){var e,t,n=69*_e+2,o=Ve[n];if(o)return _e=o.nextPos,o.result;for(e=[],t=He();t!==r;)e.push(t),t=He();return Ve[n]={nextPos:_e,result:e},e}function Qe(){var e,t,n=69*_e+3,o=Ve[n];if(o)return _e=o.nextPos,o.result;if(e=[],(t=He())!==r)for(;t!==r;)e.push(t),t=He();else e=r;return Ve[n]={nextPos:_e,result:e},e}function Ze(){var t,n,o,s,a,i=69*_e+4,c=Ve[i];if(c)return _e=c.nextPos,c.result;if(t=_e,n=_e,d.test(e.charAt(_e))?(o=e.charAt(_e),_e++):(o=r,Ke(f)),o!==r){for(s=[],m.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(g));a!==r;)s.push(a),m.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(g));s!==r?n=o=[o,s]:(_e=n,n=r)}else _e=n,n=r;return t=n!==r?e.substring(t,_e):n,Ve[i]={nextPos:_e,result:t},t}function et(){var t,n,o,s,a,i,c,l,u,p,m,g=69*_e+5,E=Ve[g];if(E)return _e=E.nextPos,E.result;if(t=_e,(n=Tt())===r&&(n=function(){var t,n,o,s,a,i,c=69*_e+6,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,n=_e,o=_e,d.test(e.charAt(_e))?(s=e.charAt(_e),_e++):(s=r,Ke(f));if(s!==r){for(a=[],x.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(b));i!==r;)a.push(i),x.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(b));a!==r?o=s=[s,a]:(_e=o,o=r)}else _e=o,o=r;n=o!==r?e.substring(n,_e):o;n!==r&&(n=function(e){return{type:Rt.NAME,name:e}}(n));return t=n,Ve[c]={nextPos:_e,result:t},t}()),n!==r){for(o=[],s=_e,(a=Xe())!==r&&(i=nt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=tt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);s!==r;)o.push(s),s=_e,(a=Xe())!==r&&(i=nt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=tt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);o!==r?(m=n,t=n=o.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case Mt.MEMBER:return{type:Rt.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Mt.INSTANCE_MEMBER:return{type:Rt.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Mt.INNER_MEMBER:return{type:Rt.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),m)):(_e=t,t=r)}else _e=t,t=r;return Ve[g]={nextPos:_e,result:t},t}function tt(){var t,n,o,s,a,i,c,l=69*_e+7,u=Ve[l];if(u)return _e=u.nextPos,u.result;if(t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S)),n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{quoteStyle:"single",name:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T)),n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?t=n=function(e){return{quoteStyle:"double",name:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;t===r&&(t=_e,(n=Ze())!==r&&(n=function(e){return{quoteStyle:"none",name:e}}(n)),t=n)}return Ve[l]={nextPos:_e,result:t},t}function nt(){var t,n=69*_e+8,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o=69*_e+10,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,46===e.charCodeAt(_e)?(n=D,_e++):(n=r,Ke(O));n!==r&&(n=Mt.MEMBER);return t=n,Ve[o]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=69*_e+12,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,35===e.charCodeAt(_e)?(n="#",_e++):(n=r,Ke(N));n!==r&&(n=Mt.INSTANCE_MEMBER);return t=n,Ve[o]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=69*_e+11,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,126===e.charCodeAt(_e)?(n="~",_e++):(n=r,Ke(B));n!==r&&(n=Mt.INNER_MEMBER);return t=n,Ve[o]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function rt(){var e,t=69*_e+13,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=ot())===r&&(e=st())===r&&(e=et()),Ve[t]={nextPos:_e,result:e},e)}function ot(){var t,n,o,s,a,i,c,l,u,p,d,f,m,g=69*_e+14,x=Ve[g];if(x)return _e=x.nextPos,x.result;if(t=_e,e.substr(_e,8)===j?(n=j,_e+=8):(n=r,Ke(L)),n!==r)if(Xe()!==r)if(58===e.charCodeAt(_e)?(o=R,_e++):(o=r,Ke(M)),o!==r)if(Xe()!==r)if((s=tt())!==r){for(a=[],i=_e,(c=Xe())!==r&&(l=nt())!==r&&(u=Xe())!==r?(e.substr(_e,6)===h?(p=h,_e+=6):(p=r,Ke(y)),p===r&&(p=null),p!==r&&(d=Xe())!==r&&(f=tt())!==r?i=c=[c,l,u,p,d,f]:(_e=i,i=r)):(_e=i,i=r);i!==r;)a.push(i),i=_e,(c=Xe())!==r&&(l=nt())!==r&&(u=Xe())!==r?(e.substr(_e,6)===h?(p=h,_e+=6):(p=r,Ke(y)),p===r&&(p=null),p!==r&&(d=Xe())!==r&&(f=tt())!==r?i=c=[c,l,u,p,d,f]:(_e=i,i=r)):(_e=i,i=r);a!==r?(m=s,t=n=a.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case Mt.MEMBER:return{type:Rt.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Mt.INSTANCE_MEMBER:return{type:Rt.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Mt.INNER_MEMBER:return{type:Rt.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),Object.assign({type:Rt.EXTERNAL},m))):(_e=t,t=r)}else _e=t,t=r;else _e=t,t=r;else _e=t,t=r;else _e=t,t=r;else _e=t,t=r;return Ve[g]={nextPos:_e,result:t},t}function st(){var t,n,o,s,a,i=69*_e+15,c=Ve[i];return c?(_e=c.nextPos,c.result):(t=_e,e.substr(_e,6)===_?(n=_,_e+=6):(n=r,Ke($)),n!==r&&Xe()!==r?(58===e.charCodeAt(_e)?(o=R,_e++):(o=r,Ke(M)),o!==r&&Xe()!==r&&(s=function(){var t,n,o,s,a,i,c,l,u,p,d=69*_e+16,f=Ve[d];if(f)return _e=f.nextPos,f.result;if(t=_e,(n=function(){var t,n,o,s,a,i,c,l=69*_e+17,u=Ve[l];if(u)return _e=u.nextPos,u.result;t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S));if(n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{quoteStyle:"single",type:Rt.FILE_PATH,path:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T)),n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?t=n=function(e){return{quoteStyle:"double",type:Rt.FILE_PATH,path:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,n=_e,o=[],q.test(e.charAt(_e))?(s=e.charAt(_e),_e++):(s=r,Ke(U)),s!==r)for(;s!==r;)o.push(s),q.test(e.charAt(_e))?(s=e.charAt(_e),_e++):(s=r,Ke(U));else o=r;(n=o!==r?e.substring(n,_e):o)!==r&&(n=function(e){return{quoteStyle:"none",type:Rt.FILE_PATH,path:e}}(n)),t=n}}return Ve[l]={nextPos:_e,result:t},t}())!==r){for(o=[],s=_e,(a=Xe())!==r&&(i=nt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=tt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);s!==r;)o.push(s),s=_e,(a=Xe())!==r&&(i=nt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=tt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);o!==r?(m=n,t=n=o.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case Mt.MEMBER:return{type:Rt.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Mt.INSTANCE_MEMBER:return{type:Rt.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Mt.INNER_MEMBER:return{type:Rt.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),m)):(_e=t,t=r)}else _e=t,t=r;var m;return Ve[d]={nextPos:_e,result:t},t}())!==r?(a=s,t=n={type:Rt.MODULE,value:a}):(_e=t,t=r)):(_e=t,t=r),Ve[i]={nextPos:_e,result:t},t)}function at(){var t,n,o=69*_e+18,s=Ve[o];return s?(_e=s.nextPos,s.result):(_e,42===e.charCodeAt(_e)?(n="*",_e++):(n=r,Ke(V)),n!==r&&(n={type:Rt.ANY}),t=n,Ve[o]={nextPos:_e,result:t},t)}function it(){var t,n,o=69*_e+19,s=Ve[o];return s?(_e=s.nextPos,s.result):(_e,63===e.charCodeAt(_e)?(n=W,_e++):(n=r,Ke(G)),n!==r&&(n={type:Rt.UNKNOWN}),t=n,Ve[o]={nextPos:_e,result:t},t)}function ct(){var t,n=69*_e+20,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o,s,a,i,c,l=69*_e+21,u=Ve[l];if(u)return _e=u.nextPos,u.result;t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T));if(n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?(p=o,t=n={type:Rt.STRING_VALUE,quoteStyle:"double",string:p.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;var p;if(t===r)if(t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S)),n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{type:Rt.STRING_VALUE,quoteStyle:"single",string:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;return Ve[l]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=69*_e+22,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,(n=function(){var t,n,o,s,a,i,c=69*_e+25,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,n=_e,45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K));o===r&&(o=null);if(o!==r)if(e.substr(_e,2)===Q?(s=Q,_e+=2):(s=r,Ke(Z)),s!==r){if(a=[],ee.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(te)),i!==r)for(;i!==r;)a.push(i),ee.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(te));else a=r;a!==r?n=o=[o,s,a]:(_e=n,n=r)}else _e=n,n=r;else _e=n,n=r;t=n!==r?e.substring(t,_e):n;return Ve[c]={nextPos:_e,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=69*_e+26,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,n=_e,45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K));o===r&&(o=null);if(o!==r)if(e.substr(_e,2)===ne?(s=ne,_e+=2):(s=r,Ke(re)),s!==r){if(a=[],oe.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(se)),i!==r)for(;i!==r;)a.push(i),oe.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(se));else a=r;a!==r?n=o=[o,s,a]:(_e=n,n=r)}else _e=n,n=r;else _e=n,n=r;t=n!==r?e.substring(t,_e):n;return Ve[c]={nextPos:_e,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=69*_e+27,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,n=_e,45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K));o===r&&(o=null);if(o!==r)if(e.substr(_e,2)===ae?(s=ae,_e+=2):(s=r,Ke(ie)),s!==r){if(a=[],ce.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(le)),i!==r)for(;i!==r;)a.push(i),ce.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(le));else a=r;a!==r?n=o=[o,s,a]:(_e=n,n=r)}else _e=n,n=r;else _e=n,n=r;t=n!==r?e.substring(t,_e):n;return Ve[c]={nextPos:_e,result:t},t}())===r&&(n=function(){var t,n,o,s,a=69*_e+23,i=Ve[a];if(i)return _e=i.nextPos,i.result;t=_e,n=_e,43===e.charCodeAt(_e)?(o="+",_e++):(o=r,Ke(z));o===r&&(45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K)));o===r&&(o=null);o!==r&&(s=lt())!==r?n=o=[o,s]:(_e=n,n=r);t=n!==r?e.substring(t,_e):n;return Ve[a]={nextPos:_e,result:t},t}());n!==r&&(a=n,n={type:Rt.NUMBER_VALUE,number:a});var a;return t=n,Ve[o]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function lt(){var t,n,o,s,a,i,c,l,u=69*_e+24,p=Ve[u];if(p)return _e=p.nextPos,p.result;if(t=_e,n=_e,o=_e,s=[],Y.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(H)),a!==r)for(;a!==r;)s.push(a),Y.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(H));else s=r;if(s!==r){if(a=_e,46===e.charCodeAt(_e)?(i=D,_e++):(i=r,Ke(O)),i!==r){if(c=[],Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H)),l!==r)for(;l!==r;)c.push(l),Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H));else c=r;c!==r?a=i=[i,c]:(_e=a,a=r)}else _e=a,a=r;a===r&&(a=null),a!==r?o=s=[s,a]:(_e=o,o=r)}else _e=o,o=r;if(o===r)if(o=_e,46===e.charCodeAt(_e)?(s=D,_e++):(s=r,Ke(O)),s!==r){if(a=[],Y.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(H)),i!==r)for(;i!==r;)a.push(i),Y.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(H));else a=r;a!==r?o=s=[s,a]:(_e=o,o=r)}else _e=o,o=r;if(o!==r){if(s=_e,101===e.charCodeAt(_e)?(a="e",_e++):(a=r,Ke(X)),a!==r)if(43===e.charCodeAt(_e)?(i="+",_e++):(i=r,Ke(z)),i===r&&(45===e.charCodeAt(_e)?(i=J,_e++):(i=r,Ke(K))),i===r&&(i=null),i!==r){if(c=[],Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H)),l!==r)for(;l!==r;)c.push(l),Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H));else c=r;c!==r?s=a=[a,i,c]:(_e=s,s=r)}else _e=s,s=r;else _e=s,s=r;s===r&&(s=null),s!==r?n=o=[o,s]:(_e=n,n=r)}else _e=n,n=r;return t=n!==r?e.substring(t,_e):n,Ve[u]={nextPos:_e,result:t},t}function ut(){var t,n,o,s,a,i,c=69*_e+28,l=Ve[c];return l?(_e=l.nextPos,l.result):(t=_e,(n=pt())!==r&&Xe()!==r?(124===e.charCodeAt(_e)?(o="|",_e++):(o=r,Ke(ue)),o!==r&&Xe()!==r?((s=ut())===r&&(s=pt()),s!==r?(a=n,i=s,t=n={type:Rt.UNION,left:a,right:i}):(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r),Ve[c]={nextPos:_e,result:t},t)}function pt(){var e,t=69*_e+29,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=dt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=xt())===r&&(e=Et())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it()),Ve[t]={nextPos:_e,result:e},e)}function dt(){var t,n=69*_e+30,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n=69*_e+36,o=Ve[n];if(o)return _e=o.nextPos,o.result;(t=function(){var t,n,o,s=69*_e+40,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,(n=ht())===r&&(n=yt())===r&&(n=gt());n!==r&&Xe()!==r?(61===e.charCodeAt(_e)?(o="=",_e++):(o=r,Ke(fe)),o!==r?(i=n,t=n={type:Rt.OPTIONAL,value:i,meta:{syntax:Nt.SUFFIX_EQUALS_SIGN}}):(_e=t,t=r)):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=ht())===r&&(t=yt());return Ve[n]={nextPos:_e,result:t},t}())===r&&(t=ft()),Ve[n]={nextPos:_e,result:t},t)}function ft(){var t,n=69*_e+31,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o,s=69*_e+35,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,61===e.charCodeAt(_e)?(n=de,_e++):(n=r,Ke(fe));n!==r&&Xe()!==r&&(o=mt())!==r?(i=o,t=n={type:Rt.OPTIONAL,value:i,meta:{syntax:Nt.PREFIX_EQUALS_SIGN}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o,s=69*_e+34,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,33===e.charCodeAt(_e)?(n="!",_e++):(n=r,Ke(pe));n!==r&&Xe()!==r&&(o=mt())!==r?(i=o,t=n={type:Rt.NOT_NULLABLE,value:i,meta:{syntax:Lt.PREFIX_BANG}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o,s=69*_e+33,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,63===e.charCodeAt(_e)?(n=W,_e++):(n=r,Ke(G));n!==r&&Xe()!==r&&(o=mt())!==r?(i=o,t=n={type:Rt.NULLABLE,value:i,meta:{syntax:jt.PREFIX_QUESTION_MARK}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function mt(){var e,t=69*_e+32,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=xt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it()),Ve[t]={nextPos:_e,result:e},e)}function gt(){var e,t=69*_e+37,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=ft())===r&&(e=xt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it()),Ve[t]={nextPos:_e,result:e},e)}function ht(){var t,n,o,s,a=69*_e+38,i=Ve[a];return i?(_e=i.nextPos,i.result):(t=_e,(n=gt())!==r&&Xe()!==r?(63===e.charCodeAt(_e)?(o=W,_e++):(o=r,Ke(G)),o!==r?(s=n,t=n={type:Rt.NULLABLE,value:s,meta:{syntax:jt.SUFFIX_QUESTION_MARK}}):(_e=t,t=r)):(_e=t,t=r),Ve[a]={nextPos:_e,result:t},t)}function yt(){var t,n,o,s,a=69*_e+39,i=Ve[a];return i?(_e=i.nextPos,i.result):(t=_e,(n=gt())!==r&&Xe()!==r?(33===e.charCodeAt(_e)?(o="!",_e++):(o=r,Ke(pe)),o!==r?(s=n,t=n={type:Rt.NOT_NULLABLE,value:s,meta:{syntax:Lt.SUFFIX_BANG}}):(_e=t,t=r)):(_e=t,t=r),Ve[a]={nextPos:_e,result:t},t)}function xt(){var t,n,o,s,a,i,c,l=69*_e+41,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,(n=function(){var e,t=69*_e+42,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=Tt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it());return Ve[t]={nextPos:_e,result:e},e}())!==r&&Xe()!==r&&(o=function(){var t,n=69*_e+45,o=Ve[n];if(o)return _e=o.nextPos,o.result;(t=function(){var t,n,o=69*_e+46,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,e.substr(_e,2)===he?(n=he,_e+=2):(n=r,Ke(ye));n!==r&&(n=Ot.ANGLE_BRACKET_WITH_DOT);return t=n,Ve[o]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=69*_e+47,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,60===e.charCodeAt(_e)?(n="<",_e++):(n=r,Ke(xe));n!==r&&(n=Ot.ANGLE_BRACKET);return t=n,Ve[o]={nextPos:_e,result:t},t}());return Ve[n]={nextPos:_e,result:t},t}())!==r&&Xe()!==r&&(s=function(){var t,n,o,s,a,i,c,l,u=69*_e+44,p=Ve[u];if(p)return _e=p.nextPos,p.result;if(t=_e,(n=bt())!==r){for(o=[],s=_e,(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=me,_e++):(i=r,Ke(ge)),i!==r&&(c=Xe())!==r&&(l=bt())!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r);s!==r;)o.push(s),s=_e,(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=me,_e++):(i=r,Ke(ge)),i!==r&&(c=Xe())!==r&&(l=bt())!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r);o!==r?(d=n,t=n=o.reduce((function(e,t){return e.concat([t[3]])}),[d])):(_e=t,t=r)}else _e=t,t=r;var d;return Ve[u]={nextPos:_e,result:t},t}())!==r&&Xe()!==r&&function(){var t,n=69*_e+48,o=Ve[n];if(o)return _e=o.nextPos,o.result;62===e.charCodeAt(_e)?(t=">",_e++):(t=r,Ke(be));return Ve[n]={nextPos:_e,result:t},t}()!==r?(a=n,i=o,c=s,t=n={type:Rt.GENERIC,subject:a,objects:c,meta:{syntax:i}}):(_e=t,t=r),Ve[l]={nextPos:_e,result:t},t)}function bt(){var e,t=69*_e+43,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=ut())===r&&(e=dt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=Et())===r&&(e=xt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it()),Ve[t]={nextPos:_e,result:e},e)}function Et(){var t,n,o,s,a,i,c,l,u,p=69*_e+49,d=Ve[p];if(d)return _e=d.nextPos,d.result;if(t=_e,(n=function(){var e,t=69*_e+50,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=dt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=xt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it());return Ve[t]={nextPos:_e,result:e},e}())!==r){if(o=[],s=_e,(a=Xe())!==r?(91===e.charCodeAt(_e)?(i="[",_e++):(i=r,Ke(Ee)),i!==r&&(c=Xe())!==r?(93===e.charCodeAt(_e)?(l="]",_e++):(l=r,Ke(Se)),l!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r)):(_e=s,s=r),s!==r)for(;s!==r;)o.push(s),s=_e,(a=Xe())!==r?(91===e.charCodeAt(_e)?(i="[",_e++):(i=r,Ke(Ee)),i!==r&&(c=Xe())!==r?(93===e.charCodeAt(_e)?(l="]",_e++):(l=r,Ke(Se)),l!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r)):(_e=s,s=r);else o=r;o!==r?(u=n,t=n=o.reduce((function(e){return{type:Rt.GENERIC,subject:{type:Rt.NAME,name:"Array"},objects:[e],meta:{syntax:Ot.SQUARE_BRACKET}}}),u)):(_e=t,t=r)}else _e=t,t=r;return Ve[p]={nextPos:_e,result:t},t}function St(){var t,n,o,s,a,i,c,l=69*_e+51,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,e.substr(_e,8)===Ce?(n=Ce,_e+=8):(n=r,Ke(ve)),n!==r&&Xe()!==r&&(o=function(){var t,n,o,s,a,i,c=69*_e+52,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke));n!==r&&Xe()!==r&&(o=Ct())!==r&&Xe()!==r?(44===e.charCodeAt(_e)?(s=me,_e++):(s=r,Ke(ge)),s!==r&&Xe()!==r&&(a=vt())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(i=we,_e++):(i=r,Ke(Pe)),i!==r?t=n={params:a,modifier:o}:(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r);t===r&&(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r&&(o=Ct())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(s=we,_e++):(s=r,Ke(Pe)),s!==r?t=n=function(e){return{params:[],modifier:e}}(o):(_e=t,t=r)):(_e=t,t=r),t===r&&(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(o=we,_e++):(o=r,Ke(Pe)),o!==r?t=n={params:[],modifier:{nodeThis:null,nodeNew:null}}:(_e=t,t=r)):(_e=t,t=r),t===r&&(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r&&(o=vt())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(s=we,_e++):(s=r,Ke(Pe)),s!==r?t=n=function(e){return{params:e,modifier:{nodeThis:null,nodeNew:null}}}(o):(_e=t,t=r)):(_e=t,t=r))));return Ve[c]={nextPos:_e,result:t},t}())!==r&&Xe()!==r?(s=_e,58===e.charCodeAt(_e)?(a=R,_e++):(a=r,Ke(M)),a!==r&&(i=Xe())!==r&&(c=function(){var e,t=69*_e+56,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=ft())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=Et())===r&&(e=xt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it());return Ve[t]={nextPos:_e,result:e},e}())!==r?s=a=[a,i,c]:(_e=s,s=r),s===r&&(s=null),s!==r?t=n=function(e,t){const n=t?t[2]:null;return{type:Rt.FUNCTION,params:e.params,returns:n,this:e.modifier.nodeThis,new:e.modifier.nodeNew}}(o,s):(_e=t,t=r)):(_e=t,t=r),Ve[l]={nextPos:_e,result:t},t)}function Ct(){var t,n,o,s,a,i,c,l=69*_e+53,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,n=_e,e.substr(_e,4)===Te?(o=Te,_e+=4):(o=r,Ke(Ie)),o!==r&&(s=Xe())!==r?(58===e.charCodeAt(_e)?(a=R,_e++):(a=r,Ke(M)),a!==r&&(i=Xe())!==r&&(c=At())!==r?n=o=[o,s,a,i,c]:(_e=n,n=r)):(_e=n,n=r),n!==r&&(n={nodeThis:n[4],nodeNew:null}),(t=n)===r&&(t=_e,n=_e,"new"===e.substr(_e,3)?(o="new",_e+=3):(o=r,Ke(Fe)),o!==r&&(s=Xe())!==r?(58===e.charCodeAt(_e)?(a=R,_e++):(a=r,Ke(M)),a!==r&&(i=Xe())!==r&&(c=At())!==r?n=o=[o,s,a,i,c]:(_e=n,n=r)):(_e=n,n=r),n!==r&&(n={nodeThis:null,nodeNew:n[4]}),t=n),Ve[l]={nextPos:_e,result:t},t)}function vt(){var t,n,o,s,a,i,c,l,u=69*_e+54,p=Ve[u];if(p)return _e=p.nextPos,p.result;for(t=_e,n=[],o=_e,(s=At())!==r&&(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=me,_e++):(i=r,Ke(ge)),i!==r&&(c=Xe())!==r?o=s=[s,a,i,c]:(_e=o,o=r)):(_e=o,o=r);o!==r;)n.push(o),o=_e,(s=At())!==r&&(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=me,_e++):(i=r,Ke(ge)),i!==r&&(c=Xe())!==r?o=s=[s,a,i,c]:(_e=o,o=r)):(_e=o,o=r);return n!==r?((o=It())===r&&(o=Ft()),o===r&&(o=null),o!==r?(l=o,t=n=n.reduceRight((function(e,t){const[n]=t;return[n].concat(e)}),l?[l]:[])):(_e=t,t=r)):(_e=t,t=r),Ve[u]={nextPos:_e,result:t},t}function At(){var e,t=69*_e+55,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=ut())===r&&(e=dt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=Et())===r&&(e=xt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it()),Ve[t]={nextPos:_e,result:e},e)}function kt(){var t,n,o,s,d,f=69*_e+57,m=Ve[f];return m?(_e=m.nextPos,m.result):(t=_e,123===e.charCodeAt(_e)?(n="{",_e++):(n=r,Ke(De)),n!==r&&Xe()!==r?((o=function(){var t,n,o,s,d,f,m,g,h=69*_e+58,y=Ve[h];if(y)return _e=y.nextPos,y.result;if(t=_e,(n=wt())!==r){if(o=[],s=_e,d=_e,(f=Xe())!==r?(44===e.charCodeAt(_e)?(m=me,_e++):(m=r,Ke(ge)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r&&(d=_e,(f=Xe())!==r?(59===e.charCodeAt(_e)?(m=Be,_e++):(m=r,Ke(Ne)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r)){for(d=_e,f=[],a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));m!==r;)f.push(m),a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));f!==r?(c.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(_e))?(g=e.charAt(_e),_e++):(g=r,Ke(p)),g!==r?d=f=[f,m,g]:(_e=d,d=r)):(_e=d,d=r)):(_e=d,d=r)}for(d!==r&&(f=Xe())!==r&&(m=wt())!==r?s=d=[d,f,m]:(_e=s,s=r);s!==r;){if(o.push(s),s=_e,d=_e,(f=Xe())!==r?(44===e.charCodeAt(_e)?(m=me,_e++):(m=r,Ke(ge)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r&&(d=_e,(f=Xe())!==r?(59===e.charCodeAt(_e)?(m=Be,_e++):(m=r,Ke(Ne)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r)){for(d=_e,f=[],a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));m!==r;)f.push(m),a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));f!==r?(c.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(_e))?(g=e.charAt(_e),_e++):(g=r,Ke(p)),g!==r?d=f=[f,m,g]:(_e=d,d=r)):(_e=d,d=r)):(_e=d,d=r)}d!==r&&(f=Xe())!==r&&(m=wt())!==r?s=d=[d,f,m]:(_e=s,s=r)}if(o!==r){if(s=_e,(d=Xe())!==r?(44===e.charCodeAt(_e)?(f=me,_e++):(f=r,Ke(ge)),f!==r?s=d=[d,f]:(_e=s,s=r)):(_e=s,s=r),s===r&&(s=_e,(d=Xe())!==r?(59===e.charCodeAt(_e)?(f=Be,_e++):(f=r,Ke(Ne)),f!==r?s=d=[d,f]:(_e=s,s=r)):(_e=s,s=r),s===r)){for(s=_e,d=[],a.test(e.charAt(_e))?(f=e.charAt(_e),_e++):(f=r,Ke(i));f!==r;)d.push(f),a.test(e.charAt(_e))?(f=e.charAt(_e),_e++):(f=r,Ke(i));d!==r?(c.test(e.charAt(_e))?(f=e.charAt(_e),_e++):(f=r,Ke(l)),f===r&&(f=null),f!==r?(u.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(p)),m!==r?s=d=[d,f,m]:(_e=s,s=r)):(_e=s,s=r)):(_e=s,s=r)}s===r&&(s=null),s!==r?(x=n,t=n=o.reduce((function(e,t){const n=t[2];return e.concat([n])}),[x])):(_e=t,t=r)}else _e=t,t=r}else _e=t,t=r;var x;return Ve[h]={nextPos:_e,result:t},t}())===r&&(o=null),o!==r&&Xe()!==r?(125===e.charCodeAt(_e)?(s="}",_e++):(s=r,Ke(Oe)),s!==r?(d=o,t=n={type:Rt.RECORD,entries:d||[]}):(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r),Ve[f]={nextPos:_e,result:t},t)}function wt(){var t,n,o,s,a,i,c,l=69*_e+59,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,n=_e,e.substr(_e,8)===je?(o=je,_e+=8):(o=r,Ke(Le)),o!==r&&(s=Qe())!==r?n=o=[o,s]:(_e=n,n=r),n===r&&(n=null),n!==r&&(o=Pt())!==r&&(s=Xe())!==r?(63===e.charCodeAt(_e)?(a=W,_e++):(a=r,Ke(G)),a===r&&(a=null),a!==r&&Xe()!==r?(58===e.charCodeAt(_e)?(i=R,_e++):(i=r,Ke(M)),i!==r&&Xe()!==r&&(c=function(){var e,t=69*_e+61,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=ut())===r&&(e=dt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=Et())===r&&(e=xt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it());return Ve[t]={nextPos:_e,result:e},e}())!==r?t=n=function(e,t,n,r){const{quoteStyle:o,key:s}=t;return{type:Rt.RECORD_ENTRY,key:s,quoteStyle:o,value:"?"===n?{type:Rt.OPTIONAL,value:r,meta:{syntax:Nt.SUFFIX_KEY_QUESTION_MARK}}:r,readonly:Boolean(e)}}(n,o,a,c):(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r),t===r&&(t=_e,n=_e,e.substr(_e,8)===je?(o=je,_e+=8):(o=r,Ke(Le)),o!==r&&(s=Qe())!==r?n=o=[o,s]:(_e=n,n=r),n===r&&(n=null),n!==r&&(o=Pt())!==r?t=n=function(e,t){const{quoteStyle:n,key:r}=t;return{type:Rt.RECORD_ENTRY,key:r,quoteStyle:n,value:null,readonly:Boolean(e)}}(n,o):(_e=t,t=r)),Ve[l]={nextPos:_e,result:t},t)}function Pt(){var t,n,o,s,a,i,c,l=69*_e+60,u=Ve[l];if(u)return _e=u.nextPos,u.result;if(t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T)),n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?t=n=function(e){return{quoteStyle:"double",key:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S)),n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{quoteStyle:"single",key:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;t===r&&(t=_e,n=_e,(o=Ze())===r&&(o=lt()),(n=o!==r?e.substring(n,_e):o)!==r&&(n=function(e){return{quoteStyle:"none",key:e}}(n)),t=n)}return Ve[l]={nextPos:_e,result:t},t}function Tt(){var t,n,o,s,a,i=69*_e+62,c=Ve[i];return c?(_e=c.nextPos,c.result):(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r&&(o=function(){var e,t=69*_e+63,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=ut())===r&&(e=dt())===r&&(e=kt())===r&&(e=St())===r&&(e=Et())===r&&(e=xt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it());return Ve[t]={nextPos:_e,result:e},e}())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(s=we,_e++):(s=r,Ke(Pe)),s!==r?(a=o,t=n={type:Rt.PARENTHESIS,value:a}):(_e=t,t=r)):(_e=t,t=r),Ve[i]={nextPos:_e,result:t},t)}function It(){var t,n=69*_e+64,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o,s=69*_e+65,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,e.substr(_e,3)===Re?(n=Re,_e+=3):(n=r,Ke(Me));n!==r&&(o=Ft())!==r?(i=o,t=n={type:Rt.VARIADIC,value:i,meta:{syntax:Bt.PREFIX_DOTS}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o,s=69*_e+66,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,(n=Ft())!==r?(e.substr(_e,3)===Re?(o=Re,_e+=3):(o=r,Ke(Me)),o!==r?(i=n,t=n={type:Rt.VARIADIC,value:i,meta:{syntax:Bt.SUFFIX_DOTS}}):(_e=t,t=r)):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=69*_e+67,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,e.substr(_e,3)===Re?(n=Re,_e+=3):(n=r,Ke(Me));n!==r&&(n={type:Rt.VARIADIC,value:{type:Rt.ANY},meta:{syntax:Bt.ONLY_DOTS}});return t=n,Ve[o]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function Ft(){var e,t=69*_e+68,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=ut())===r&&(e=dt())===r&&(e=kt())===r&&(e=St())===r&&(e=Tt())===r&&(e=Et())===r&&(e=xt())===r&&(e=rt())===r&&(e=ct())===r&&(e=at())===r&&(e=it()),Ve[t]={nextPos:_e,result:e},e)}const Dt=py,{GenericTypeSyntax:Ot,VariadicTypeSyntax:Bt,OptionalTypeSyntax:Nt,NullableTypeSyntax:jt,NotNullableTypeSyntax:Lt}=Dt,Rt=dy,Mt={MEMBER:"MEMBER",INNER_MEMBER:"INNER_MEMBER",INSTANCE_MEMBER:"INSTANCE_MEMBER"};if((n=s())!==r&&_e===e.length)return n;throw n!==r&&_e0){for(t=1,r=1;t",!1),Ce="function",ve=We("function",!1),Ae="(",ke=We("(",!1),we=")",Pe=We(")",!1),Te="this",Ie=We("this",!1),Fe=We("new",!1),De=We("{",!1),Oe=We("}",!1),Be=";",Ne=We(";",!1),je="readonly",Le=We("readonly",!1),Re="...",Me=We("...",!1),_e=0,$e=[{line:1,column:1}],qe=0,Ue=[],Ve={};if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function We(e,t){return{type:"literal",text:e,ignoreCase:t}}function Ge(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function ze(t){var n,r=$e[t];if(r)return r;for(n=t-1;!$e[n];)n--;for(r={line:(r=$e[n]).line,column:r.column};nqe&&(qe=_e,Ue=[]),Ue.push(e))}function Ye(){var e,t,n=68*_e+0,o=Ve[n];return o?(_e=o.nextPos,o.result):(e=_e,Xe()!==r?((t=Dt())===r&&(t=dt())===r&&(t=mt())===r&&(t=St())===r&&(t=Pt())===r&&(t=vt())===r&&(t=yt())===r&&(t=st())===r&&(t=Ft())===r&&(t=ut())===r&&(t=ct())===r&&(t=lt()),t!==r&&Xe()!==r?e=t:(_e=e,e=r)):(_e=e,e=r),Ve[n]={nextPos:_e,result:e},e)}function He(){var t,n,o,s=68*_e+1,d=Ve[s];return d?(_e=d.nextPos,d.result):(a.test(e.charAt(_e))?(t=e.charAt(_e),_e++):(t=r,Ke(i)),t===r&&(t=_e,c.test(e.charAt(_e))?(n=e.charAt(_e),_e++):(n=r,Ke(l)),n===r&&(n=null),n!==r?(u.test(e.charAt(_e))?(o=e.charAt(_e),_e++):(o=r,Ke(p)),o!==r?t=n=[n,o]:(_e=t,t=r)):(_e=t,t=r)),Ve[s]={nextPos:_e,result:t},t)}function Xe(){var e,t,n=68*_e+2,o=Ve[n];if(o)return _e=o.nextPos,o.result;for(e=[],t=He();t!==r;)e.push(t),t=He();return Ve[n]={nextPos:_e,result:e},e}function Qe(){var e,t,n=68*_e+3,o=Ve[n];if(o)return _e=o.nextPos,o.result;if(e=[],(t=He())!==r)for(;t!==r;)e.push(t),t=He();else e=r;return Ve[n]={nextPos:_e,result:e},e}function Ze(){var t,n,o,s,a,i=68*_e+4,c=Ve[i];if(c)return _e=c.nextPos,c.result;if(t=_e,n=_e,d.test(e.charAt(_e))?(o=e.charAt(_e),_e++):(o=r,Ke(f)),o!==r){for(s=[],m.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(g));a!==r;)s.push(a),m.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(g));s!==r?n=o=[o,s]:(_e=n,n=r)}else _e=n,n=r;return t=n!==r?e.substring(t,_e):n,Ve[i]={nextPos:_e,result:t},t}function et(){var t,n,o,s,a,i,c,l,u,p,d,f=68*_e+5,m=Ve[f];if(m)return _e=m.nextPos,m.result;if(t=_e,(n=Ft())===r&&(n=tt()),n!==r){for(o=[],s=_e,(a=Xe())!==r&&(i=rt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=nt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);s!==r;)o.push(s),s=_e,(a=Xe())!==r&&(i=rt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=nt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);o!==r?(d=n,t=n=o.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case $t.MEMBER:return{type:_t.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case $t.INSTANCE_MEMBER:return{type:_t.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case $t.INNER_MEMBER:return{type:_t.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),d)):(_e=t,t=r)}else _e=t,t=r;return Ve[f]={nextPos:_e,result:t},t}function tt(){var t,n,o,s,a,i,c=68*_e+6,l=Ve[c];if(l)return _e=l.nextPos,l.result;if(_e,n=_e,o=_e,d.test(e.charAt(_e))?(s=e.charAt(_e),_e++):(s=r,Ke(f)),s!==r){for(a=[],x.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(b));i!==r;)a.push(i),x.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(b));a!==r?o=s=[s,a]:(_e=o,o=r)}else _e=o,o=r;return(n=o!==r?e.substring(n,_e):o)!==r&&(n=function(e){return{type:_t.NAME,name:e}}(n)),t=n,Ve[c]={nextPos:_e,result:t},t}function nt(){var t,n,o,s,a,i,c,l=68*_e+7,u=Ve[l];if(u)return _e=u.nextPos,u.result;if(t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S)),n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{quoteStyle:"single",name:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T)),n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?t=n=function(e){return{quoteStyle:"double",name:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;t===r&&(t=_e,(n=Ze())!==r&&(n=function(e){return{quoteStyle:"none",name:e}}(n)),t=n)}return Ve[l]={nextPos:_e,result:t},t}function rt(){var t,n=68*_e+8,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o=68*_e+10,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,46===e.charCodeAt(_e)?(n=D,_e++):(n=r,Ke(O));n!==r&&(n=$t.MEMBER);return t=n,Ve[o]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=68*_e+12,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,35===e.charCodeAt(_e)?(n="#",_e++):(n=r,Ke(N));n!==r&&(n=$t.INSTANCE_MEMBER);return t=n,Ve[o]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=68*_e+11,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,126===e.charCodeAt(_e)?(n="~",_e++):(n=r,Ke(B));n!==r&&(n=$t.INNER_MEMBER);return t=n,Ve[o]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function ot(){var t,n,o,s,a,i,c,l,u,p=68*_e+9,d=Ve[p];if(d)return _e=d.nextPos,d.result;if(t=_e,(n=tt())!==r){for(o=[],s=_e,(a=Xe())!==r?(46===e.charCodeAt(_e)?(i=D,_e++):(i=r,Ke(O)),i!==r&&(c=Xe())!==r&&(l=tt())!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r);s!==r;)o.push(s),s=_e,(a=Xe())!==r?(46===e.charCodeAt(_e)?(i=D,_e++):(i=r,Ke(O)),i!==r&&(c=Xe())!==r&&(l=tt())!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r);o!==r?(u=n,t=n=o.reduce((function(e,t){return{type:_t.MEMBER,owner:e,name:t[3]}}),u)):(_e=t,t=r)}else _e=t,t=r;return Ve[p]={nextPos:_e,result:t},t}function st(){var e,t=68*_e+13,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=at())===r&&(e=it())===r&&(e=et()),Ve[t]={nextPos:_e,result:e},e)}function at(){var t,n,o,s,a,i,c,l,u,p,d,f,m,g=68*_e+14,x=Ve[g];if(x)return _e=x.nextPos,x.result;if(t=_e,e.substr(_e,8)===j?(n=j,_e+=8):(n=r,Ke(L)),n!==r)if(Xe()!==r)if(58===e.charCodeAt(_e)?(o=R,_e++):(o=r,Ke(M)),o!==r)if(Xe()!==r)if((s=nt())!==r){for(a=[],i=_e,(c=Xe())!==r&&(l=rt())!==r&&(u=Xe())!==r?(e.substr(_e,6)===h?(p=h,_e+=6):(p=r,Ke(y)),p===r&&(p=null),p!==r&&(d=Xe())!==r&&(f=nt())!==r?i=c=[c,l,u,p,d,f]:(_e=i,i=r)):(_e=i,i=r);i!==r;)a.push(i),i=_e,(c=Xe())!==r&&(l=rt())!==r&&(u=Xe())!==r?(e.substr(_e,6)===h?(p=h,_e+=6):(p=r,Ke(y)),p===r&&(p=null),p!==r&&(d=Xe())!==r&&(f=nt())!==r?i=c=[c,l,u,p,d,f]:(_e=i,i=r)):(_e=i,i=r);a!==r?(m=s,t=n=a.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case $t.MEMBER:return{type:_t.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case $t.INSTANCE_MEMBER:return{type:_t.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case $t.INNER_MEMBER:return{type:_t.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),Object.assign({type:_t.EXTERNAL},m))):(_e=t,t=r)}else _e=t,t=r;else _e=t,t=r;else _e=t,t=r;else _e=t,t=r;else _e=t,t=r;return Ve[g]={nextPos:_e,result:t},t}function it(){var t,n,o,s,a,i=68*_e+15,c=Ve[i];return c?(_e=c.nextPos,c.result):(t=_e,e.substr(_e,6)===_?(n=_,_e+=6):(n=r,Ke($)),n!==r&&Xe()!==r?(58===e.charCodeAt(_e)?(o=R,_e++):(o=r,Ke(M)),o!==r&&Xe()!==r&&(s=function(){var t,n,o,s,a,i,c,l,u,p,d=68*_e+16,f=Ve[d];if(f)return _e=f.nextPos,f.result;if(t=_e,(n=function(){var t,n,o,s,a,i,c,l=68*_e+17,u=Ve[l];if(u)return _e=u.nextPos,u.result;t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S));if(n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{quoteStyle:"single",type:_t.FILE_PATH,path:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T)),n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?t=n=function(e){return{quoteStyle:"double",type:_t.FILE_PATH,path:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,n=_e,o=[],q.test(e.charAt(_e))?(s=e.charAt(_e),_e++):(s=r,Ke(U)),s!==r)for(;s!==r;)o.push(s),q.test(e.charAt(_e))?(s=e.charAt(_e),_e++):(s=r,Ke(U));else o=r;(n=o!==r?e.substring(n,_e):o)!==r&&(n=function(e){return{quoteStyle:"none",type:_t.FILE_PATH,path:e}}(n)),t=n}}return Ve[l]={nextPos:_e,result:t},t}())!==r){for(o=[],s=_e,(a=Xe())!==r&&(i=rt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=nt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);s!==r;)o.push(s),s=_e,(a=Xe())!==r&&(i=rt())!==r&&(c=Xe())!==r?(e.substr(_e,6)===h?(l=h,_e+=6):(l=r,Ke(y)),l===r&&(l=null),l!==r&&(u=Xe())!==r&&(p=nt())!==r?s=a=[a,i,c,l,u,p]:(_e=s,s=r)):(_e=s,s=r);o!==r?(m=n,t=n=o.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case $t.MEMBER:return{type:_t.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case $t.INSTANCE_MEMBER:return{type:_t.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case $t.INNER_MEMBER:return{type:_t.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),m)):(_e=t,t=r)}else _e=t,t=r;var m;return Ve[d]={nextPos:_e,result:t},t}())!==r?(a=s,t=n={type:_t.MODULE,value:a}):(_e=t,t=r)):(_e=t,t=r),Ve[i]={nextPos:_e,result:t},t)}function ct(){var t,n,o=68*_e+18,s=Ve[o];return s?(_e=s.nextPos,s.result):(_e,42===e.charCodeAt(_e)?(n="*",_e++):(n=r,Ke(V)),n!==r&&(n={type:_t.ANY}),t=n,Ve[o]={nextPos:_e,result:t},t)}function lt(){var t,n,o=68*_e+19,s=Ve[o];return s?(_e=s.nextPos,s.result):(_e,63===e.charCodeAt(_e)?(n=W,_e++):(n=r,Ke(G)),n!==r&&(n={type:_t.UNKNOWN}),t=n,Ve[o]={nextPos:_e,result:t},t)}function ut(){var t,n=68*_e+20,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o,s,a,i,c,l=68*_e+21,u=Ve[l];if(u)return _e=u.nextPos,u.result;t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T));if(n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?(p=o,t=n={type:_t.STRING_VALUE,quoteStyle:"double",string:p.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;var p;if(t===r)if(t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S)),n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{type:_t.STRING_VALUE,quoteStyle:"single",string:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;return Ve[l]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=68*_e+22,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,(n=function(){var t,n,o,s,a,i,c=68*_e+25,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,n=_e,45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K));o===r&&(o=null);if(o!==r)if(e.substr(_e,2)===Q?(s=Q,_e+=2):(s=r,Ke(Z)),s!==r){if(a=[],ee.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(te)),i!==r)for(;i!==r;)a.push(i),ee.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(te));else a=r;a!==r?n=o=[o,s,a]:(_e=n,n=r)}else _e=n,n=r;else _e=n,n=r;t=n!==r?e.substring(t,_e):n;return Ve[c]={nextPos:_e,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=68*_e+26,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,n=_e,45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K));o===r&&(o=null);if(o!==r)if(e.substr(_e,2)===ne?(s=ne,_e+=2):(s=r,Ke(re)),s!==r){if(a=[],oe.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(se)),i!==r)for(;i!==r;)a.push(i),oe.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(se));else a=r;a!==r?n=o=[o,s,a]:(_e=n,n=r)}else _e=n,n=r;else _e=n,n=r;t=n!==r?e.substring(t,_e):n;return Ve[c]={nextPos:_e,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=68*_e+27,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,n=_e,45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K));o===r&&(o=null);if(o!==r)if(e.substr(_e,2)===ae?(s=ae,_e+=2):(s=r,Ke(ie)),s!==r){if(a=[],ce.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(le)),i!==r)for(;i!==r;)a.push(i),ce.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(le));else a=r;a!==r?n=o=[o,s,a]:(_e=n,n=r)}else _e=n,n=r;else _e=n,n=r;t=n!==r?e.substring(t,_e):n;return Ve[c]={nextPos:_e,result:t},t}())===r&&(n=function(){var t,n,o,s,a=68*_e+23,i=Ve[a];if(i)return _e=i.nextPos,i.result;t=_e,n=_e,43===e.charCodeAt(_e)?(o="+",_e++):(o=r,Ke(z));o===r&&(45===e.charCodeAt(_e)?(o=J,_e++):(o=r,Ke(K)));o===r&&(o=null);o!==r&&(s=pt())!==r?n=o=[o,s]:(_e=n,n=r);t=n!==r?e.substring(t,_e):n;return Ve[a]={nextPos:_e,result:t},t}());n!==r&&(a=n,n={type:_t.NUMBER_VALUE,number:a});var a;return t=n,Ve[o]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function pt(){var t,n,o,s,a,i,c,l,u=68*_e+24,p=Ve[u];if(p)return _e=p.nextPos,p.result;if(t=_e,n=_e,o=_e,s=[],Y.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(H)),a!==r)for(;a!==r;)s.push(a),Y.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(H));else s=r;if(s!==r){if(a=_e,46===e.charCodeAt(_e)?(i=D,_e++):(i=r,Ke(O)),i!==r){if(c=[],Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H)),l!==r)for(;l!==r;)c.push(l),Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H));else c=r;c!==r?a=i=[i,c]:(_e=a,a=r)}else _e=a,a=r;a===r&&(a=null),a!==r?o=s=[s,a]:(_e=o,o=r)}else _e=o,o=r;if(o===r)if(o=_e,46===e.charCodeAt(_e)?(s=D,_e++):(s=r,Ke(O)),s!==r){if(a=[],Y.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(H)),i!==r)for(;i!==r;)a.push(i),Y.test(e.charAt(_e))?(i=e.charAt(_e),_e++):(i=r,Ke(H));else a=r;a!==r?o=s=[s,a]:(_e=o,o=r)}else _e=o,o=r;if(o!==r){if(s=_e,101===e.charCodeAt(_e)?(a="e",_e++):(a=r,Ke(X)),a!==r)if(43===e.charCodeAt(_e)?(i="+",_e++):(i=r,Ke(z)),i===r&&(45===e.charCodeAt(_e)?(i=J,_e++):(i=r,Ke(K))),i===r&&(i=null),i!==r){if(c=[],Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H)),l!==r)for(;l!==r;)c.push(l),Y.test(e.charAt(_e))?(l=e.charAt(_e),_e++):(l=r,Ke(H));else c=r;c!==r?s=a=[a,i,c]:(_e=s,s=r)}else _e=s,s=r;else _e=s,s=r;s===r&&(s=null),s!==r?n=o=[o,s]:(_e=n,n=r)}else _e=n,n=r;return t=n!==r?e.substring(t,_e):n,Ve[u]={nextPos:_e,result:t},t}function dt(){var t,n,o,s,a,i,c=68*_e+28,l=Ve[c];return l?(_e=l.nextPos,l.result):(t=_e,(n=ft())!==r&&Xe()!==r?(124===e.charCodeAt(_e)?(o="|",_e++):(o=r,Ke(ue)),o!==r&&Xe()!==r?((s=dt())===r&&(s=ft()),s!==r?(a=n,i=s,t=n={type:_t.UNION,left:a,right:i}):(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r),Ve[c]={nextPos:_e,result:t},t)}function ft(){var e,t=68*_e+29,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=mt())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=yt())===r&&(e=St())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt()),Ve[t]={nextPos:_e,result:e},e)}function mt(){var t,n=68*_e+30,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n=68*_e+37,o=Ve[n];if(o)return _e=o.nextPos,o.result;(t=function(){var t,n,o,s=68*_e+41,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,(n=bt())===r&&(n=Et())===r&&(n=xt());n!==r&&Xe()!==r?(61===e.charCodeAt(_e)?(o="=",_e++):(o=r,Ke(ge)),o!==r?(i=n,t=n={type:_t.OPTIONAL,value:i,meta:{syntax:Lt.SUFFIX_EQUALS_SIGN}}):(_e=t,t=r)):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=bt())===r&&(t=Et());return Ve[n]={nextPos:_e,result:t},t}())===r&&(t=gt()),Ve[n]={nextPos:_e,result:t},t)}function gt(){var t,n=68*_e+31,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o,s=68*_e+36,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,61===e.charCodeAt(_e)?(n=me,_e++):(n=r,Ke(ge));n!==r&&Xe()!==r&&(o=ht())!==r?(i=o,t=n={type:_t.OPTIONAL,value:i,meta:{syntax:Lt.PREFIX_EQUALS_SIGN}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o,s=68*_e+35,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,33===e.charCodeAt(_e)?(n="!",_e++):(n=r,Ke(fe));n!==r&&Xe()!==r&&(o=ht())!==r?(i=o,t=n={type:_t.NOT_NULLABLE,value:i,meta:{syntax:Mt.PREFIX_BANG}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o,s=68*_e+34,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,63===e.charCodeAt(_e)?(n=W,_e++):(n=r,Ke(G));n!==r&&Xe()!==r&&(o=ht())!==r?(i=o,t=n={type:_t.NULLABLE,value:i,meta:{syntax:Rt.PREFIX_QUESTION_MARK}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function ht(){var e,t=68*_e+32,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=St())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt()),Ve[t]={nextPos:_e,result:e},e)}function yt(){var t,n,o,s=68*_e+33,a=Ve[s];return a?(_e=a.nextPos,a.result):(t=_e,e.substr(_e,6)===pe?(n=pe,_e+=6):(n=r,Ke(de)),n!==r&&Qe()!==r&&(o=ot())!==r?t=n=function(e,t){return{type:_t.TYPE_QUERY,name:t}}(0,o):(_e=t,t=r),Ve[s]={nextPos:_e,result:t},t)}function xt(){var e,t=68*_e+38,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=gt())===r&&(e=St())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt()),Ve[t]={nextPos:_e,result:e},e)}function bt(){var t,n,o,s,a=68*_e+39,i=Ve[a];return i?(_e=i.nextPos,i.result):(t=_e,(n=xt())!==r&&Xe()!==r?(63===e.charCodeAt(_e)?(o=W,_e++):(o=r,Ke(G)),o!==r?(s=n,t=n={type:_t.NULLABLE,value:s,meta:{syntax:Rt.SUFFIX_QUESTION_MARK}}):(_e=t,t=r)):(_e=t,t=r),Ve[a]={nextPos:_e,result:t},t)}function Et(){var t,n,o,s,a=68*_e+40,i=Ve[a];return i?(_e=i.nextPos,i.result):(t=_e,(n=xt())!==r&&Xe()!==r?(33===e.charCodeAt(_e)?(o="!",_e++):(o=r,Ke(fe)),o!==r?(s=n,t=n={type:_t.NOT_NULLABLE,value:s,meta:{syntax:Mt.SUFFIX_BANG}}):(_e=t,t=r)):(_e=t,t=r),Ve[a]={nextPos:_e,result:t},t)}function St(){var t,n,o,s,a,i,c,l=68*_e+42,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,(n=function(){var e,t=68*_e+43,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=Ft())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt());return Ve[t]={nextPos:_e,result:e},e}())!==r&&Xe()!==r&&(o=function(){var t,n=68*_e+46,o=Ve[n];if(o)return _e=o.nextPos,o.result;(t=function(){var t,n,o=68*_e+47,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,e.substr(_e,2)===xe?(n=xe,_e+=2):(n=r,Ke(be));n!==r&&(n=Nt.ANGLE_BRACKET_WITH_DOT);return t=n,Ve[o]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=68*_e+48,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,60===e.charCodeAt(_e)?(n="<",_e++):(n=r,Ke(Ee));n!==r&&(n=Nt.ANGLE_BRACKET);return t=n,Ve[o]={nextPos:_e,result:t},t}());return Ve[n]={nextPos:_e,result:t},t}())!==r&&Xe()!==r&&(s=function(){var t,n,o,s,a,i,c,l,u=68*_e+45,p=Ve[u];if(p)return _e=p.nextPos,p.result;if(t=_e,(n=Ct())!==r){for(o=[],s=_e,(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=he,_e++):(i=r,Ke(ye)),i!==r&&(c=Xe())!==r&&(l=Ct())!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r);s!==r;)o.push(s),s=_e,(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=he,_e++):(i=r,Ke(ye)),i!==r&&(c=Xe())!==r&&(l=Ct())!==r?s=a=[a,i,c,l]:(_e=s,s=r)):(_e=s,s=r);o!==r?(d=n,t=n=o.reduce((function(e,t){return e.concat([t[3]])}),[d])):(_e=t,t=r)}else _e=t,t=r;var d;return Ve[u]={nextPos:_e,result:t},t}())!==r&&Xe()!==r&&function(){var t,n=68*_e+49,o=Ve[n];if(o)return _e=o.nextPos,o.result;62===e.charCodeAt(_e)?(t=">",_e++):(t=r,Ke(Se));return Ve[n]={nextPos:_e,result:t},t}()!==r?(a=n,i=o,c=s,t=n={type:_t.GENERIC,subject:a,objects:c,meta:{syntax:i}}):(_e=t,t=r),Ve[l]={nextPos:_e,result:t},t)}function Ct(){var e,t=68*_e+44,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=dt())===r&&(e=mt())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=St())===r&&(e=yt())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt()),Ve[t]={nextPos:_e,result:e},e)}function vt(){var t,n,o,s,a,i,c,l=68*_e+50,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,e.substr(_e,8)===Ce?(n=Ce,_e+=8):(n=r,Ke(ve)),n!==r&&Xe()!==r&&(o=function(){var t,n,o,s,a,i,c=68*_e+51,l=Ve[c];if(l)return _e=l.nextPos,l.result;t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke));n!==r&&Xe()!==r&&(o=At())!==r&&Xe()!==r?(44===e.charCodeAt(_e)?(s=he,_e++):(s=r,Ke(ye)),s!==r&&Xe()!==r&&(a=kt())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(i=we,_e++):(i=r,Ke(Pe)),i!==r?t=n={params:a,modifier:o}:(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r);t===r&&(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r&&(o=At())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(s=we,_e++):(s=r,Ke(Pe)),s!==r?t=n=function(e){return{params:[],modifier:e}}(o):(_e=t,t=r)):(_e=t,t=r),t===r&&(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(o=we,_e++):(o=r,Ke(Pe)),o!==r?t=n={params:[],modifier:{nodeThis:null,nodeNew:null}}:(_e=t,t=r)):(_e=t,t=r),t===r&&(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r&&(o=kt())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(s=we,_e++):(s=r,Ke(Pe)),s!==r?t=n=function(e){return{params:e,modifier:{nodeThis:null,nodeNew:null}}}(o):(_e=t,t=r)):(_e=t,t=r))));return Ve[c]={nextPos:_e,result:t},t}())!==r&&Xe()!==r?(s=_e,58===e.charCodeAt(_e)?(a=R,_e++):(a=r,Ke(M)),a!==r&&(i=Xe())!==r&&(c=function(){var e,t=68*_e+55,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=gt())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=yt())===r&&(e=St())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt());return Ve[t]={nextPos:_e,result:e},e}())!==r?s=a=[a,i,c]:(_e=s,s=r),s===r&&(s=null),s!==r?t=n=function(e,t){const n=t?t[2]:null;return{type:_t.FUNCTION,params:e.params,returns:n,this:e.modifier.nodeThis,new:e.modifier.nodeNew}}(o,s):(_e=t,t=r)):(_e=t,t=r),Ve[l]={nextPos:_e,result:t},t)}function At(){var t,n,o,s,a,i,c,l=68*_e+52,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,n=_e,e.substr(_e,4)===Te?(o=Te,_e+=4):(o=r,Ke(Ie)),o!==r&&(s=Xe())!==r?(58===e.charCodeAt(_e)?(a=R,_e++):(a=r,Ke(M)),a!==r&&(i=Xe())!==r&&(c=wt())!==r?n=o=[o,s,a,i,c]:(_e=n,n=r)):(_e=n,n=r),n!==r&&(n={nodeThis:n[4],nodeNew:null}),(t=n)===r&&(t=_e,n=_e,"new"===e.substr(_e,3)?(o="new",_e+=3):(o=r,Ke(Fe)),o!==r&&(s=Xe())!==r?(58===e.charCodeAt(_e)?(a=R,_e++):(a=r,Ke(M)),a!==r&&(i=Xe())!==r&&(c=wt())!==r?n=o=[o,s,a,i,c]:(_e=n,n=r)):(_e=n,n=r),n!==r&&(n={nodeThis:null,nodeNew:n[4]}),t=n),Ve[l]={nextPos:_e,result:t},t)}function kt(){var t,n,o,s,a,i,c,l,u=68*_e+53,p=Ve[u];if(p)return _e=p.nextPos,p.result;for(t=_e,n=[],o=_e,(s=wt())!==r&&(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=he,_e++):(i=r,Ke(ye)),i!==r&&(c=Xe())!==r?o=s=[s,a,i,c]:(_e=o,o=r)):(_e=o,o=r);o!==r;)n.push(o),o=_e,(s=wt())!==r&&(a=Xe())!==r?(44===e.charCodeAt(_e)?(i=he,_e++):(i=r,Ke(ye)),i!==r&&(c=Xe())!==r?o=s=[s,a,i,c]:(_e=o,o=r)):(_e=o,o=r);return n!==r?((o=Dt())===r&&(o=Ot()),o===r&&(o=null),o!==r?(l=o,t=n=n.reduceRight((function(e,t){const[n]=t;return[n].concat(e)}),l?[l]:[])):(_e=t,t=r)):(_e=t,t=r),Ve[u]={nextPos:_e,result:t},t}function wt(){var e,t=68*_e+54,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=dt())===r&&(e=yt())===r&&(e=mt())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=St())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt()),Ve[t]={nextPos:_e,result:e},e)}function Pt(){var t,n,o,s,d,f=68*_e+56,m=Ve[f];return m?(_e=m.nextPos,m.result):(t=_e,123===e.charCodeAt(_e)?(n="{",_e++):(n=r,Ke(De)),n!==r&&Xe()!==r?((o=function(){var t,n,o,s,d,f,m,g,h=68*_e+57,y=Ve[h];if(y)return _e=y.nextPos,y.result;if(t=_e,(n=Tt())!==r){if(o=[],s=_e,d=_e,(f=Xe())!==r?(44===e.charCodeAt(_e)?(m=he,_e++):(m=r,Ke(ye)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r&&(d=_e,(f=Xe())!==r?(59===e.charCodeAt(_e)?(m=Be,_e++):(m=r,Ke(Ne)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r)){for(d=_e,f=[],a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));m!==r;)f.push(m),a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));f!==r?(c.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(_e))?(g=e.charAt(_e),_e++):(g=r,Ke(p)),g!==r?d=f=[f,m,g]:(_e=d,d=r)):(_e=d,d=r)):(_e=d,d=r)}for(d!==r&&(f=Xe())!==r&&(m=Tt())!==r?s=d=[d,f,m]:(_e=s,s=r);s!==r;){if(o.push(s),s=_e,d=_e,(f=Xe())!==r?(44===e.charCodeAt(_e)?(m=he,_e++):(m=r,Ke(ye)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r&&(d=_e,(f=Xe())!==r?(59===e.charCodeAt(_e)?(m=Be,_e++):(m=r,Ke(Ne)),m!==r?d=f=[f,m]:(_e=d,d=r)):(_e=d,d=r),d===r)){for(d=_e,f=[],a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));m!==r;)f.push(m),a.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(i));f!==r?(c.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(_e))?(g=e.charAt(_e),_e++):(g=r,Ke(p)),g!==r?d=f=[f,m,g]:(_e=d,d=r)):(_e=d,d=r)):(_e=d,d=r)}d!==r&&(f=Xe())!==r&&(m=Tt())!==r?s=d=[d,f,m]:(_e=s,s=r)}if(o!==r){if(s=_e,(d=Xe())!==r?(44===e.charCodeAt(_e)?(f=he,_e++):(f=r,Ke(ye)),f!==r?s=d=[d,f]:(_e=s,s=r)):(_e=s,s=r),s===r&&(s=_e,(d=Xe())!==r?(59===e.charCodeAt(_e)?(f=Be,_e++):(f=r,Ke(Ne)),f!==r?s=d=[d,f]:(_e=s,s=r)):(_e=s,s=r),s===r)){for(s=_e,d=[],a.test(e.charAt(_e))?(f=e.charAt(_e),_e++):(f=r,Ke(i));f!==r;)d.push(f),a.test(e.charAt(_e))?(f=e.charAt(_e),_e++):(f=r,Ke(i));d!==r?(c.test(e.charAt(_e))?(f=e.charAt(_e),_e++):(f=r,Ke(l)),f===r&&(f=null),f!==r?(u.test(e.charAt(_e))?(m=e.charAt(_e),_e++):(m=r,Ke(p)),m!==r?s=d=[d,f,m]:(_e=s,s=r)):(_e=s,s=r)):(_e=s,s=r)}s===r&&(s=null),s!==r?(x=n,t=n=o.reduce((function(e,t){const n=t[2];return e.concat([n])}),[x])):(_e=t,t=r)}else _e=t,t=r}else _e=t,t=r;var x;return Ve[h]={nextPos:_e,result:t},t}())===r&&(o=null),o!==r&&Xe()!==r?(125===e.charCodeAt(_e)?(s="}",_e++):(s=r,Ke(Oe)),s!==r?(d=o,t=n={type:_t.RECORD,entries:d||[]}):(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r),Ve[f]={nextPos:_e,result:t},t)}function Tt(){var t,n,o,s,a,i,c,l=68*_e+58,u=Ve[l];return u?(_e=u.nextPos,u.result):(t=_e,n=_e,e.substr(_e,8)===je?(o=je,_e+=8):(o=r,Ke(Le)),o!==r&&(s=Qe())!==r?n=o=[o,s]:(_e=n,n=r),n===r&&(n=null),n!==r&&(o=It())!==r&&(s=Xe())!==r?(63===e.charCodeAt(_e)?(a=W,_e++):(a=r,Ke(G)),a===r&&(a=null),a!==r&&Xe()!==r?(58===e.charCodeAt(_e)?(i=R,_e++):(i=r,Ke(M)),i!==r&&Xe()!==r&&(c=function(){var e,t=68*_e+60,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=dt())===r&&(e=mt())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=St())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt());return Ve[t]={nextPos:_e,result:e},e}())!==r?t=n=function(e,t,n,r){const{quoteStyle:o,key:s}=t;return{type:_t.RECORD_ENTRY,key:s,quoteStyle:o,value:"?"===n?{type:_t.OPTIONAL,value:r,meta:{syntax:Lt.SUFFIX_KEY_QUESTION_MARK}}:r,readonly:Boolean(e)}}(n,o,a,c):(_e=t,t=r)):(_e=t,t=r)):(_e=t,t=r),t===r&&(t=_e,n=_e,e.substr(_e,8)===je?(o=je,_e+=8):(o=r,Ke(Le)),o!==r&&(s=Qe())!==r?n=o=[o,s]:(_e=n,n=r),n===r&&(n=null),n!==r&&(o=It())!==r?t=n=function(e,t){const{quoteStyle:n,key:r}=t;return{type:_t.RECORD_ENTRY,key:r,quoteStyle:n,value:null,readonly:Boolean(e)}}(n,o):(_e=t,t=r)),Ve[l]={nextPos:_e,result:t},t)}function It(){var t,n,o,s,a,i,c,l=68*_e+59,u=Ve[l];if(u)return _e=u.nextPos,u.result;if(t=_e,34===e.charCodeAt(_e)?(n=P,_e++):(n=r,Ke(T)),n!==r){for(o=_e,s=[],I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),I.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(F)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(34===e.charCodeAt(_e)?(s=P,_e++):(s=r,Ke(T)),s!==r?t=n=function(e){return{quoteStyle:"double",key:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;if(t===r){if(t=_e,39===e.charCodeAt(_e)?(n=E,_e++):(n=r,Ke(S)),n!==r){for(o=_e,s=[],C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));a!==r;)s.push(a),C.test(e.charAt(_e))?(a=e.charAt(_e),_e++):(a=r,Ke(v)),a===r&&(a=_e,92===e.charCodeAt(_e)?(i=A,_e++):(i=r,Ke(k)),i!==r?(e.length>_e?(c=e.charAt(_e),_e++):(c=r,Ke(w)),c!==r?a=i=[i,c]:(_e=a,a=r)):(_e=a,a=r));(o=s!==r?e.substring(o,_e):s)!==r?(39===e.charCodeAt(_e)?(s=E,_e++):(s=r,Ke(S)),s!==r?t=n=function(e){return{quoteStyle:"single",key:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(_e=t,t=r)):(_e=t,t=r)}else _e=t,t=r;t===r&&(t=_e,n=_e,(o=Ze())===r&&(o=pt()),(n=o!==r?e.substring(n,_e):o)!==r&&(n=function(e){return{quoteStyle:"none",key:e}}(n)),t=n)}return Ve[l]={nextPos:_e,result:t},t}function Ft(){var t,n,o,s,a,i=68*_e+61,c=Ve[i];return c?(_e=c.nextPos,c.result):(t=_e,40===e.charCodeAt(_e)?(n=Ae,_e++):(n=r,Ke(ke)),n!==r&&Xe()!==r&&(o=function(){var e,t=68*_e+62,n=Ve[t];if(n)return _e=n.nextPos,n.result;(e=dt())===r&&(e=mt())===r&&(e=Pt())===r&&(e=vt())===r&&(e=yt())===r&&(e=St())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt());return Ve[t]={nextPos:_e,result:e},e}())!==r&&Xe()!==r?(41===e.charCodeAt(_e)?(s=we,_e++):(s=r,Ke(Pe)),s!==r?(a=o,t=n={type:_t.PARENTHESIS,value:a}):(_e=t,t=r)):(_e=t,t=r),Ve[i]={nextPos:_e,result:t},t)}function Dt(){var t,n=68*_e+63,o=Ve[n];return o?(_e=o.nextPos,o.result):((t=function(){var t,n,o,s=68*_e+64,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,e.substr(_e,3)===Re?(n=Re,_e+=3):(n=r,Ke(Me));n!==r&&(o=Ot())!==r?(i=o,t=n={type:_t.VARIADIC,value:i,meta:{syntax:jt.PREFIX_DOTS}}):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o,s=68*_e+65,a=Ve[s];if(a)return _e=a.nextPos,a.result;t=_e,(n=Ot())!==r?(e.substr(_e,3)===Re?(o=Re,_e+=3):(o=r,Ke(Me)),o!==r?(i=n,t=n={type:_t.VARIADIC,value:i,meta:{syntax:jt.SUFFIX_DOTS}}):(_e=t,t=r)):(_e=t,t=r);var i;return Ve[s]={nextPos:_e,result:t},t}())===r&&(t=function(){var t,n,o=68*_e+66,s=Ve[o];if(s)return _e=s.nextPos,s.result;t=_e,e.substr(_e,3)===Re?(n=Re,_e+=3):(n=r,Ke(Me));n!==r&&(n={type:_t.VARIADIC,value:{type:_t.ANY},meta:{syntax:jt.ONLY_DOTS}});return t=n,Ve[o]={nextPos:_e,result:t},t}()),Ve[n]={nextPos:_e,result:t},t)}function Ot(){var e,t=68*_e+67,n=Ve[t];return n?(_e=n.nextPos,n.result):((e=dt())===r&&(e=mt())===r&&(e=Pt())===r&&(e=vt())===r&&(e=Ft())===r&&(e=yt())===r&&(e=St())===r&&(e=st())===r&&(e=ut())===r&&(e=ct())===r&&(e=lt()),Ve[t]={nextPos:_e,result:e},e)}const Bt=py,{GenericTypeSyntax:Nt,VariadicTypeSyntax:jt,OptionalTypeSyntax:Lt,NullableTypeSyntax:Rt,NotNullableTypeSyntax:Mt}=Bt,_t=dy,$t={MEMBER:"MEMBER",INNER_MEMBER:"INNER_MEMBER",INSTANCE_MEMBER:"INSTANCE_MEMBER"};if((n=s())!==r&&_e===e.length)return n;throw n!==r&&_e0){for(t=1,r=1;t",!1),Ae=Ke("[",!1),ke=Ke("]",!1),we="new",Pe=Ke("new",!1),Te=Ke("=>",!1),Ie=":",Fe=Ke(":",!1),De="...",Oe=Ke("...",!1),Be="function",Ne=Ke("function",!1),je="this",Le=Ke("this",!1),Re=Ke("{",!1),Me=Ke("}",!1),_e=";",$e=Ke(";",!1),qe="readonly",Ue=Ke("readonly",!1),Ve=0,We=[{line:1,column:1}],Ge=0,ze=[],Je={};if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function Ke(e,t){return{type:"literal",text:e,ignoreCase:t}}function Ye(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function He(t){var n,r=We[t];if(r)return r;for(n=t-1;!We[n];)n--;for(r={line:(r=We[n]).line,column:r.column};nGe&&(Ge=Ve,ze=[]),ze.push(e))}function Ze(){var e,t,n=78*Ve+0,o=Je[n];return o?(Ve=o.nextPos,o.result):(e=Ve,tt()!==r?((t=qt())===r&&(t=ht())===r&&(t=mt())===r&&(t=xt())===r&&(t=Tt())===r&&(t=wt())===r&&(t=jt())===r&&(t=Mt())===r&&(t=It())===r&&(t=Ft())===r&&(t=St())===r&&(t=Ct())===r&&(t=ot())===r&&(t=$t())===r&&(t=pt())===r&&(t=lt())===r&&(t=ut()),t!==r&&tt()!==r?e=t:(Ve=e,e=r)):(Ve=e,e=r),Je[n]={nextPos:Ve,result:e},e)}function et(){var t,n,o,s=78*Ve+1,d=Je[s];return d?(Ve=d.nextPos,d.result):(a.test(e.charAt(Ve))?(t=e.charAt(Ve),Ve++):(t=r,Qe(i)),t===r&&(t=Ve,c.test(e.charAt(Ve))?(n=e.charAt(Ve),Ve++):(n=r,Qe(l)),n===r&&(n=null),n!==r?(u.test(e.charAt(Ve))?(o=e.charAt(Ve),Ve++):(o=r,Qe(p)),o!==r?t=n=[n,o]:(Ve=t,t=r)):(Ve=t,t=r)),Je[s]={nextPos:Ve,result:t},t)}function tt(){var e,t,n=78*Ve+2,o=Je[n];if(o)return Ve=o.nextPos,o.result;for(e=[],t=et();t!==r;)e.push(t),t=et();return Je[n]={nextPos:Ve,result:e},e}function nt(){var e,t,n=78*Ve+3,o=Je[n];if(o)return Ve=o.nextPos,o.result;if(e=[],(t=et())!==r)for(;t!==r;)e.push(t),t=et();else e=r;return Je[n]={nextPos:Ve,result:e},e}function rt(){var t,n,o,s,a,i=78*Ve+4,c=Je[i];if(c)return Ve=c.nextPos,c.result;if(t=Ve,n=Ve,d.test(e.charAt(Ve))?(o=e.charAt(Ve),Ve++):(o=r,Qe(f)),o!==r){for(s=[],m.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(g));a!==r;)s.push(a),m.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(g));s!==r?n=o=[o,s]:(Ve=n,n=r)}else Ve=n,n=r;return t=n!==r?e.substring(t,Ve):n,Je[i]={nextPos:Ve,result:t},t}function ot(){var t,n,o,s,a,i,c,l,u,p,d,f=78*Ve+5,m=Je[f];if(m)return Ve=m.nextPos,m.result;if(t=Ve,(n=$t())===r&&(n=function(){var t,n,o,s,a,i=78*Ve+34,c=Je[i];if(c)return Ve=c.nextPos,c.result;t=Ve,e.substr(Ve,6)===le?(n=le,Ve+=6):(n=r,Qe(ue));n!==r&&tt()!==r?(40===e.charCodeAt(Ve)?(o=pe,Ve++):(o=r,Qe(de)),o!==r&&tt()!==r&&(s=dt())!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(a=fe,Ve++):(a=r,Qe(me)),a!==r?t=n=function(e,t){return{type:Yt.IMPORT,path:t}}(0,s):(Ve=t,t=r)):(Ve=t,t=r)):(Ve=t,t=r);return Je[i]={nextPos:Ve,result:t},t}())===r&&(n=st()),n!==r){for(o=[],s=Ve,(a=tt())!==r&&(i=it())!==r&&(c=tt())!==r?(e.substr(Ve,6)===h?(l=h,Ve+=6):(l=r,Qe(y)),l===r&&(l=null),l!==r&&(u=tt())!==r&&(p=at())!==r?s=a=[a,i,c,l,u,p]:(Ve=s,s=r)):(Ve=s,s=r);s!==r;)o.push(s),s=Ve,(a=tt())!==r&&(i=it())!==r&&(c=tt())!==r?(e.substr(Ve,6)===h?(l=h,Ve+=6):(l=r,Qe(y)),l===r&&(l=null),l!==r&&(u=tt())!==r&&(p=at())!==r?s=a=[a,i,c,l,u,p]:(Ve=s,s=r)):(Ve=s,s=r);o!==r?(d=n,t=n=o.reduce((function(e,t){const n=t[1],r=t[3],o=t[5],{quoteStyle:s,name:a}=o;switch(n){case Ht.MEMBER:return{type:Yt.MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Ht.INSTANCE_MEMBER:return{type:Yt.INSTANCE_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};case Ht.INNER_MEMBER:return{type:Yt.INNER_MEMBER,owner:e,name:a,quoteStyle:s,hasEventPrefix:Boolean(r)};default:throw new Error('Unexpected operator type: "'+n+'"')}}),d)):(Ve=t,t=r)}else Ve=t,t=r;return Je[f]={nextPos:Ve,result:t},t}function st(){var t,n,o,s,a,i,c=78*Ve+6,l=Je[c];if(l)return Ve=l.nextPos,l.result;if(Ve,n=Ve,o=Ve,d.test(e.charAt(Ve))?(s=e.charAt(Ve),Ve++):(s=r,Qe(f)),s!==r){for(a=[],x.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(b));i!==r;)a.push(i),x.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(b));a!==r?o=s=[s,a]:(Ve=o,o=r)}else Ve=o,o=r;return(n=o!==r?e.substring(n,Ve):o)!==r&&(n=function(e){return{type:Yt.NAME,name:e}}(n)),t=n,Je[c]={nextPos:Ve,result:t},t}function at(){var t,n,o,s,a,i,c,l=78*Ve+7,u=Je[l];if(u)return Ve=u.nextPos,u.result;if(t=Ve,39===e.charCodeAt(Ve)?(n=E,Ve++):(n=r,Qe(S)),n!==r){for(o=Ve,s=[],C.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(v)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));a!==r;)s.push(a),C.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(v)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));(o=s!==r?e.substring(o,Ve):s)!==r?(39===e.charCodeAt(Ve)?(s=E,Ve++):(s=r,Qe(S)),s!==r?t=n=function(e){return{quoteStyle:"single",name:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(Ve=t,t=r)):(Ve=t,t=r)}else Ve=t,t=r;if(t===r){if(t=Ve,34===e.charCodeAt(Ve)?(n=P,Ve++):(n=r,Qe(T)),n!==r){for(o=Ve,s=[],I.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(F)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));a!==r;)s.push(a),I.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(F)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));(o=s!==r?e.substring(o,Ve):s)!==r?(34===e.charCodeAt(Ve)?(s=P,Ve++):(s=r,Qe(T)),s!==r?t=n=function(e){return{quoteStyle:"double",name:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(Ve=t,t=r)):(Ve=t,t=r)}else Ve=t,t=r;t===r&&(t=Ve,(n=rt())!==r&&(n=function(e){return{quoteStyle:"none",name:e}}(n)),t=n)}return Je[l]={nextPos:Ve,result:t},t}function it(){var t,n=78*Ve+8,o=Je[n];return o?(Ve=o.nextPos,o.result):((t=function(){var t,n,o=78*Ve+10,s=Je[o];if(s)return Ve=s.nextPos,s.result;t=Ve,46===e.charCodeAt(Ve)?(n=D,Ve++):(n=r,Qe(O));n!==r&&(n=Ht.MEMBER);return t=n,Je[o]={nextPos:Ve,result:t},t}())===r&&(t=function(){var t,n,o=78*Ve+12,s=Je[o];if(s)return Ve=s.nextPos,s.result;t=Ve,35===e.charCodeAt(Ve)?(n="#",Ve++):(n=r,Qe(N));n!==r&&(n=Ht.INSTANCE_MEMBER);return t=n,Je[o]={nextPos:Ve,result:t},t}())===r&&(t=function(){var t,n,o=78*Ve+11,s=Je[o];if(s)return Ve=s.nextPos,s.result;t=Ve,126===e.charCodeAt(Ve)?(n="~",Ve++):(n=r,Qe(B));n!==r&&(n=Ht.INNER_MEMBER);return t=n,Je[o]={nextPos:Ve,result:t},t}()),Je[n]={nextPos:Ve,result:t},t)}function ct(){var t,n,o,s,a,i,c,l,u,p=78*Ve+9,d=Je[p];if(d)return Ve=d.nextPos,d.result;if(t=Ve,(n=st())!==r){for(o=[],s=Ve,(a=tt())!==r?(46===e.charCodeAt(Ve)?(i=D,Ve++):(i=r,Qe(O)),i!==r&&(c=tt())!==r&&(l=st())!==r?s=a=[a,i,c,l]:(Ve=s,s=r)):(Ve=s,s=r);s!==r;)o.push(s),s=Ve,(a=tt())!==r?(46===e.charCodeAt(Ve)?(i=D,Ve++):(i=r,Qe(O)),i!==r&&(c=tt())!==r&&(l=st())!==r?s=a=[a,i,c,l]:(Ve=s,s=r)):(Ve=s,s=r);o!==r?(u=n,t=n=o.reduce((function(e,t){return{type:Yt.MEMBER,owner:e,name:t[3]}}),u)):(Ve=t,t=r)}else Ve=t,t=r;return Je[p]={nextPos:Ve,result:t},t}function lt(){var t,n,o=78*Ve+14,s=Je[o];return s?(Ve=s.nextPos,s.result):(Ve,42===e.charCodeAt(Ve)?(n="*",Ve++):(n=r,Qe(j)),n!==r&&(n={type:Yt.ANY}),t=n,Je[o]={nextPos:Ve,result:t},t)}function ut(){var t,n,o=78*Ve+15,s=Je[o];return s?(Ve=s.nextPos,s.result):(Ve,63===e.charCodeAt(Ve)?(n=L,Ve++):(n=r,Qe(R)),n!==r&&(n={type:Yt.UNKNOWN}),t=n,Je[o]={nextPos:Ve,result:t},t)}function pt(){var t,n=78*Ve+16,o=Je[n];return o?(Ve=o.nextPos,o.result):((t=dt())===r&&(t=function(){var t,n,o=78*Ve+18,s=Je[o];if(s)return Ve=s.nextPos,s.result;t=Ve,(n=function(){var t,n,o,s,a,i,c=78*Ve+21,l=Je[c];if(l)return Ve=l.nextPos,l.result;t=Ve,n=Ve,45===e.charCodeAt(Ve)?(o=_,Ve++):(o=r,Qe($));o===r&&(o=null);if(o!==r)if(e.substr(Ve,2)===W?(s=W,Ve+=2):(s=r,Qe(G)),s!==r){if(a=[],z.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(J)),i!==r)for(;i!==r;)a.push(i),z.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(J));else a=r;a!==r?n=o=[o,s,a]:(Ve=n,n=r)}else Ve=n,n=r;else Ve=n,n=r;t=n!==r?e.substring(t,Ve):n;return Je[c]={nextPos:Ve,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=78*Ve+22,l=Je[c];if(l)return Ve=l.nextPos,l.result;t=Ve,n=Ve,45===e.charCodeAt(Ve)?(o=_,Ve++):(o=r,Qe($));o===r&&(o=null);if(o!==r)if(e.substr(Ve,2)===K?(s=K,Ve+=2):(s=r,Qe(Y)),s!==r){if(a=[],H.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(X)),i!==r)for(;i!==r;)a.push(i),H.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(X));else a=r;a!==r?n=o=[o,s,a]:(Ve=n,n=r)}else Ve=n,n=r;else Ve=n,n=r;t=n!==r?e.substring(t,Ve):n;return Je[c]={nextPos:Ve,result:t},t}())===r&&(n=function(){var t,n,o,s,a,i,c=78*Ve+23,l=Je[c];if(l)return Ve=l.nextPos,l.result;t=Ve,n=Ve,45===e.charCodeAt(Ve)?(o=_,Ve++):(o=r,Qe($));o===r&&(o=null);if(o!==r)if(e.substr(Ve,2)===Q?(s=Q,Ve+=2):(s=r,Qe(Z)),s!==r){if(a=[],ee.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(te)),i!==r)for(;i!==r;)a.push(i),ee.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(te));else a=r;a!==r?n=o=[o,s,a]:(Ve=n,n=r)}else Ve=n,n=r;else Ve=n,n=r;t=n!==r?e.substring(t,Ve):n;return Je[c]={nextPos:Ve,result:t},t}())===r&&(n=function(){var t,n,o,s,a=78*Ve+19,i=Je[a];if(i)return Ve=i.nextPos,i.result;t=Ve,n=Ve,43===e.charCodeAt(Ve)?(o="+",Ve++):(o=r,Qe(M));o===r&&(45===e.charCodeAt(Ve)?(o=_,Ve++):(o=r,Qe($)));o===r&&(o=null);o!==r&&(s=ft())!==r?n=o=[o,s]:(Ve=n,n=r);t=n!==r?e.substring(t,Ve):n;return Je[a]={nextPos:Ve,result:t},t}());n!==r&&(a=n,n={type:Yt.NUMBER_VALUE,number:a});var a;return t=n,Je[o]={nextPos:Ve,result:t},t}()),Je[n]={nextPos:Ve,result:t},t)}function dt(){var t,n,o,s,a,i,c,l,u=78*Ve+17,p=Je[u];if(p)return Ve=p.nextPos,p.result;if(t=Ve,34===e.charCodeAt(Ve)?(n=P,Ve++):(n=r,Qe(T)),n!==r){for(o=Ve,s=[],I.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(F)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));a!==r;)s.push(a),I.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(F)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));(o=s!==r?e.substring(o,Ve):s)!==r?(34===e.charCodeAt(Ve)?(s=P,Ve++):(s=r,Qe(T)),s!==r?(l=o,t=n={type:Yt.STRING_VALUE,quoteStyle:"double",string:l.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}):(Ve=t,t=r)):(Ve=t,t=r)}else Ve=t,t=r;if(t===r)if(t=Ve,39===e.charCodeAt(Ve)?(n=E,Ve++):(n=r,Qe(S)),n!==r){for(o=Ve,s=[],C.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(v)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));a!==r;)s.push(a),C.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(v)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));(o=s!==r?e.substring(o,Ve):s)!==r?(39===e.charCodeAt(Ve)?(s=E,Ve++):(s=r,Qe(S)),s!==r?t=n=function(e){return{type:Yt.STRING_VALUE,quoteStyle:"single",string:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(Ve=t,t=r)):(Ve=t,t=r)}else Ve=t,t=r;return Je[u]={nextPos:Ve,result:t},t}function ft(){var t,n,o,s,a,i,c,l,u=78*Ve+20,p=Je[u];if(p)return Ve=p.nextPos,p.result;if(t=Ve,n=Ve,o=Ve,s=[],q.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(U)),a!==r)for(;a!==r;)s.push(a),q.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(U));else s=r;if(s!==r){if(a=Ve,46===e.charCodeAt(Ve)?(i=D,Ve++):(i=r,Qe(O)),i!==r){if(c=[],q.test(e.charAt(Ve))?(l=e.charAt(Ve),Ve++):(l=r,Qe(U)),l!==r)for(;l!==r;)c.push(l),q.test(e.charAt(Ve))?(l=e.charAt(Ve),Ve++):(l=r,Qe(U));else c=r;c!==r?a=i=[i,c]:(Ve=a,a=r)}else Ve=a,a=r;a===r&&(a=null),a!==r?o=s=[s,a]:(Ve=o,o=r)}else Ve=o,o=r;if(o===r)if(o=Ve,46===e.charCodeAt(Ve)?(s=D,Ve++):(s=r,Qe(O)),s!==r){if(a=[],q.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(U)),i!==r)for(;i!==r;)a.push(i),q.test(e.charAt(Ve))?(i=e.charAt(Ve),Ve++):(i=r,Qe(U));else a=r;a!==r?o=s=[s,a]:(Ve=o,o=r)}else Ve=o,o=r;if(o!==r){if(s=Ve,101===e.charCodeAt(Ve)?(a="e",Ve++):(a=r,Qe(V)),a!==r)if(43===e.charCodeAt(Ve)?(i="+",Ve++):(i=r,Qe(M)),i===r&&(45===e.charCodeAt(Ve)?(i=_,Ve++):(i=r,Qe($))),i===r&&(i=null),i!==r){if(c=[],q.test(e.charAt(Ve))?(l=e.charAt(Ve),Ve++):(l=r,Qe(U)),l!==r)for(;l!==r;)c.push(l),q.test(e.charAt(Ve))?(l=e.charAt(Ve),Ve++):(l=r,Qe(U));else c=r;c!==r?s=a=[a,i,c]:(Ve=s,s=r)}else Ve=s,s=r;else Ve=s,s=r;s===r&&(s=null),s!==r?n=o=[o,s]:(Ve=n,n=r)}else Ve=n,n=r;return t=n!==r?e.substring(t,Ve):n,Je[u]={nextPos:Ve,result:t},t}function mt(){var t,n,o,s,a,i,c=78*Ve+24,l=Je[c];return l?(Ve=l.nextPos,l.result):(t=Ve,(n=gt())!==r&&tt()!==r?(38===e.charCodeAt(Ve)?(o="&",Ve++):(o=r,Qe(ne)),o!==r&&tt()!==r?((s=mt())===r&&(s=gt()),s!==r?(a=n,i=s,t=n={type:Yt.INTERSECTION,left:a,right:i}):(Ve=t,t=r)):(Ve=t,t=r)):(Ve=t,t=r),Je[c]={nextPos:Ve,result:t},t)}function gt(){var e,t=78*Ve+25,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=St())===r&&(e=Ct())===r&&(e=wt())===r&&(e=Tt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function ht(){var t,n,o,s,a,i,c=78*Ve+26,l=Je[c];return l?(Ve=l.nextPos,l.result):(t=Ve,(n=yt())!==r&&tt()!==r?(124===e.charCodeAt(Ve)?(o="|",Ve++):(o=r,Qe(re)),o!==r&&tt()!==r?((s=ht())===r&&(s=yt()),s!==r?(a=n,i=s,t=n={type:Yt.UNION,left:a,right:i}):(Ve=t,t=r)):(Ve=t,t=r)):(Ve=t,t=r),Je[c]={nextPos:Ve,result:t},t)}function yt(){var e,t=78*Ve+27,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=St())===r&&(e=Ct())===r&&(e=wt())===r&&(e=Tt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function xt(){var t,n=78*Ve+28,o=Je[n];return o?(Ve=o.nextPos,o.result):((t=function(){var t,n=78*Ve+38,o=Je[n];if(o)return Ve=o.nextPos,o.result;(t=function(){var t,n,o,s=78*Ve+42,a=Je[s];if(a)return Ve=a.nextPos,a.result;t=Ve,(n=At())===r&&(n=kt())===r&&(n=vt());n!==r&&tt()!==r?(61===e.charCodeAt(Ve)?(o="=",Ve++):(o=r,Qe(ye)),o!==r?(i=n,t=n={type:Yt.OPTIONAL,value:i,meta:{syntax:zt.SUFFIX_EQUALS_SIGN}}):(Ve=t,t=r)):(Ve=t,t=r);var i;return Je[s]={nextPos:Ve,result:t},t}())===r&&(t=At())===r&&(t=kt());return Je[n]={nextPos:Ve,result:t},t}())===r&&(t=bt()),Je[n]={nextPos:Ve,result:t},t)}function bt(){var t,n=78*Ve+29,o=Je[n];return o?(Ve=o.nextPos,o.result):((t=function(){var t,n,o,s=78*Ve+37,a=Je[s];if(a)return Ve=a.nextPos,a.result;t=Ve,61===e.charCodeAt(Ve)?(n=he,Ve++):(n=r,Qe(ye));n!==r&&tt()!==r&&(o=Et())!==r?(i=o,t=n={type:Yt.OPTIONAL,value:i,meta:{syntax:zt.PREFIX_EQUALS_SIGN}}):(Ve=t,t=r);var i;return Je[s]={nextPos:Ve,result:t},t}())===r&&(t=function(){var t,n,o,s=78*Ve+36,a=Je[s];if(a)return Ve=a.nextPos,a.result;t=Ve,33===e.charCodeAt(Ve)?(n="!",Ve++):(n=r,Qe(ge));n!==r&&tt()!==r&&(o=Et())!==r?(i=o,t=n={type:Yt.NOT_NULLABLE,value:i,meta:{syntax:Kt.PREFIX_BANG}}):(Ve=t,t=r);var i;return Je[s]={nextPos:Ve,result:t},t}())===r&&(t=function(){var t,n,o,s=78*Ve+35,a=Je[s];if(a)return Ve=a.nextPos,a.result;t=Ve,63===e.charCodeAt(Ve)?(n=L,Ve++):(n=r,Qe(R));n!==r&&tt()!==r&&(o=Et())!==r?(i=o,t=n={type:Yt.NULLABLE,value:i,meta:{syntax:Jt.PREFIX_QUESTION_MARK}}):(Ve=t,t=r);var i;return Je[s]={nextPos:Ve,result:t},t}()),Je[n]={nextPos:Ve,result:t},t)}function Et(){var e,t=78*Ve+30,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=wt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function St(){var t,n,o,s=78*Ve+31,a=Je[s];return a?(Ve=a.nextPos,a.result):(t=Ve,e.substr(Ve,6)===oe?(n=oe,Ve+=6):(n=r,Qe(se)),n!==r&&nt()!==r&&(o=ct())!==r?t=n=function(e,t){return{type:Yt.TYPE_QUERY,name:t}}(0,o):(Ve=t,t=r),Je[s]={nextPos:Ve,result:t},t)}function Ct(){var t,n,o,s,a=78*Ve+32,i=Je[a];return i?(Ve=i.nextPos,i.result):(t=Ve,e.substr(Ve,5)===ae?(n=ae,Ve+=5):(n=r,Qe(ie)),n!==r&&(o=nt())!==r&&(s=function(){var e,t=78*Ve+33,n=Je[t];if(n)return Ve=n.nextPos,n.result;(e=ht())===r&&(e=mt())===r&&(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=Ft())===r&&(e=$t())===r&&(e=St())===r&&(e=Ct())===r&&(e=Tt())===r&&(e=wt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut());return Je[t]={nextPos:Ve,result:e},e}())!==r?t=n=ce(0,s):(Ve=t,t=r),t===r&&(t=Ve,e.substr(Ve,5)===ae?(n=ae,Ve+=5):(n=r,Qe(ie)),n!==r&&(o=$t())!==r?t=n=ce(0,o):(Ve=t,t=r)),Je[a]={nextPos:Ve,result:t},t)}function vt(){var e,t=78*Ve+39,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=bt())===r&&(e=wt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function At(){var t,n,o,s,a=78*Ve+40,i=Je[a];return i?(Ve=i.nextPos,i.result):(t=Ve,(n=vt())!==r&&tt()!==r?(63===e.charCodeAt(Ve)?(o=L,Ve++):(o=r,Qe(R)),o!==r?(s=n,t=n={type:Yt.NULLABLE,value:s,meta:{syntax:Jt.SUFFIX_QUESTION_MARK}}):(Ve=t,t=r)):(Ve=t,t=r),Je[a]={nextPos:Ve,result:t},t)}function kt(){var t,n,o,s,a=78*Ve+41,i=Je[a];return i?(Ve=i.nextPos,i.result):(t=Ve,(n=vt())!==r&&tt()!==r?(33===e.charCodeAt(Ve)?(o="!",Ve++):(o=r,Qe(ge)),o!==r?(s=n,t=n={type:Yt.NOT_NULLABLE,value:s,meta:{syntax:Kt.SUFFIX_BANG}}):(Ve=t,t=r)):(Ve=t,t=r),Je[a]={nextPos:Ve,result:t},t)}function wt(){var t,n,o,s,a,i,c,l=78*Ve+43,u=Je[l];return u?(Ve=u.nextPos,u.result):(t=Ve,(n=function(){var e,t=78*Ve+44,n=Je[t];if(n)return Ve=n.nextPos,n.result;(e=$t())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut());return Je[t]={nextPos:Ve,result:e},e}())!==r&&tt()!==r&&(o=function(){var t,n=78*Ve+47,o=Je[n];if(o)return Ve=o.nextPos,o.result;(t=function(){var t,n,o=78*Ve+48,s=Je[o];if(s)return Ve=s.nextPos,s.result;t=Ve,e.substr(Ve,2)===Ee?(n=Ee,Ve+=2):(n=r,Qe(Se));n!==r&&(n=Wt.ANGLE_BRACKET_WITH_DOT);return t=n,Je[o]={nextPos:Ve,result:t},t}())===r&&(t=function(){var t,n,o=78*Ve+49,s=Je[o];if(s)return Ve=s.nextPos,s.result;t=Ve,60===e.charCodeAt(Ve)?(n="<",Ve++):(n=r,Qe(Ce));n!==r&&(n=Wt.ANGLE_BRACKET);return t=n,Je[o]={nextPos:Ve,result:t},t}());return Je[n]={nextPos:Ve,result:t},t}())!==r&&tt()!==r&&(s=function(){var t,n,o,s,a,i,c,l,u=78*Ve+46,p=Je[u];if(p)return Ve=p.nextPos,p.result;if(t=Ve,(n=Pt())!==r){for(o=[],s=Ve,(a=tt())!==r?(44===e.charCodeAt(Ve)?(i=xe,Ve++):(i=r,Qe(be)),i!==r&&(c=tt())!==r&&(l=Pt())!==r?s=a=[a,i,c,l]:(Ve=s,s=r)):(Ve=s,s=r);s!==r;)o.push(s),s=Ve,(a=tt())!==r?(44===e.charCodeAt(Ve)?(i=xe,Ve++):(i=r,Qe(be)),i!==r&&(c=tt())!==r&&(l=Pt())!==r?s=a=[a,i,c,l]:(Ve=s,s=r)):(Ve=s,s=r);o!==r?(d=n,t=n=o.reduce((function(e,t){return e.concat([t[3]])}),[d])):(Ve=t,t=r)}else Ve=t,t=r;var d;return Je[u]={nextPos:Ve,result:t},t}())!==r&&tt()!==r&&function(){var t,n=78*Ve+50,o=Je[n];if(o)return Ve=o.nextPos,o.result;62===e.charCodeAt(Ve)?(t=">",Ve++):(t=r,Qe(ve));return Je[n]={nextPos:Ve,result:t},t}()!==r?(a=n,i=o,c=s,t=n={type:Yt.GENERIC,subject:a,objects:c,meta:{syntax:i}}):(Ve=t,t=r),Je[l]={nextPos:Ve,result:t},t)}function Pt(){var e,t=78*Ve+45,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=ht())===r&&(e=mt())===r&&(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=Tt())===r&&(e=wt())===r&&(e=St())===r&&(e=Ct())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function Tt(){var t,n,o,s,a,i,c,l,u,p=78*Ve+51,d=Je[p];if(d)return Ve=d.nextPos,d.result;if(t=Ve,(n=function(){var e,t=78*Ve+52,n=Je[t];if(n)return Ve=n.nextPos,n.result;(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=wt())===r&&(e=St())===r&&(e=Ct())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut());return Je[t]={nextPos:Ve,result:e},e}())!==r){if(o=[],s=Ve,(a=tt())!==r?(91===e.charCodeAt(Ve)?(i="[",Ve++):(i=r,Qe(Ae)),i!==r&&(c=tt())!==r?(93===e.charCodeAt(Ve)?(l="]",Ve++):(l=r,Qe(ke)),l!==r?s=a=[a,i,c,l]:(Ve=s,s=r)):(Ve=s,s=r)):(Ve=s,s=r),s!==r)for(;s!==r;)o.push(s),s=Ve,(a=tt())!==r?(91===e.charCodeAt(Ve)?(i="[",Ve++):(i=r,Qe(Ae)),i!==r&&(c=tt())!==r?(93===e.charCodeAt(Ve)?(l="]",Ve++):(l=r,Qe(ke)),l!==r?s=a=[a,i,c,l]:(Ve=s,s=r)):(Ve=s,s=r)):(Ve=s,s=r);else o=r;o!==r?(u=n,t=n=o.reduce((function(e){return{type:Yt.GENERIC,subject:{type:Yt.NAME,name:"Array"},objects:[e],meta:{syntax:Wt.SQUARE_BRACKET}}}),u)):(Ve=t,t=r)}else Ve=t,t=r;return Je[p]={nextPos:Ve,result:t},t}function It(){var t,n,o,s,a,i,c,l,u=78*Ve+53,p=Je[u];return p?(Ve=p.nextPos,p.result):(t=Ve,e.substr(Ve,3)===we?(n=we,Ve+=3):(n=r,Qe(Pe)),n===r&&(n=null),n!==r&&tt()!==r&&(o=function(){var t,n,o,s,a=78*Ve+54,i=Je[a];if(i)return Ve=i.nextPos,i.result;t=Ve,40===e.charCodeAt(Ve)?(n=pe,Ve++):(n=r,Qe(de));n!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(o=fe,Ve++):(o=r,Qe(me)),o!==r?t=n=[]:(Ve=t,t=r)):(Ve=t,t=r);t===r&&(t=Ve,40===e.charCodeAt(Ve)?(n=pe,Ve++):(n=r,Qe(de)),n!==r&&tt()!==r&&(o=function(){var t,n,o,s,a,i,c,l,u,p,d,f=78*Ve+55,m=Je[f];if(m)return Ve=m.nextPos,m.result;t=Ve,n=[],o=Ve,(s=rt())!==r&&(a=tt())!==r?(58===e.charCodeAt(Ve)?(i=Ie,Ve++):(i=r,Qe(Fe)),i!==r&&(c=tt())!==r?((l=Bt())===r&&(l=null),l!==r&&(u=tt())!==r?(44===e.charCodeAt(Ve)?(p=xe,Ve++):(p=r,Qe(be)),p!==r&&(d=tt())!==r?o=s=[s,a,i,c,l,u,p,d]:(Ve=o,o=r)):(Ve=o,o=r)):(Ve=o,o=r)):(Ve=o,o=r);for(;o!==r;)n.push(o),o=Ve,(s=rt())!==r&&(a=tt())!==r?(58===e.charCodeAt(Ve)?(i=Ie,Ve++):(i=r,Qe(Fe)),i!==r&&(c=tt())!==r?((l=Bt())===r&&(l=null),l!==r&&(u=tt())!==r?(44===e.charCodeAt(Ve)?(p=xe,Ve++):(p=r,Qe(be)),p!==r&&(d=tt())!==r?o=s=[s,a,i,c,l,u,p,d]:(Ve=o,o=r)):(Ve=o,o=r)):(Ve=o,o=r)):(Ve=o,o=r);n!==r?((o=function(){var t,n,o,s,a,i=78*Ve+56,c=Je[i];if(c)return Ve=c.nextPos,c.result;t=Ve,e.substr(Ve,3)===De?(n=De,Ve+=3):(n=r,Qe(Oe));n===r&&(n=null);n!==r&&tt()!==r&&(o=rt())!==r&&tt()!==r?(58===e.charCodeAt(Ve)?(s=Ie,Ve++):(s=r,Qe(Fe)),s!==r&&tt()!==r?((a=Bt())===r&&(a=null),a!==r?t=n=function(e,t,n){const r={type:Yt.NAMED_PARAMETER,name:t,typeName:n};return e?{type:Yt.VARIADIC,value:r,meta:{syntax:Gt.PREFIX_DOTS}}:r}(n,o,a):(Ve=t,t=r)):(Ve=t,t=r)):(Ve=t,t=r);return Je[i]={nextPos:Ve,result:t},t}())===r&&(o=null),o!==r?(g=o,t=n=n.reduceRight((function(e,t){return[{type:Yt.NAMED_PARAMETER,name:t[0],typeName:t[4]}].concat(e)}),g?[g]:[])):(Ve=t,t=r)):(Ve=t,t=r);var g;return Je[f]={nextPos:Ve,result:t},t}())!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(s=fe,Ve++):(s=r,Qe(me)),s!==r?t=n=o:(Ve=t,t=r)):(Ve=t,t=r));return Je[a]={nextPos:Ve,result:t},t}())!==r&&tt()!==r?("=>"===e.substr(Ve,2)?(s="=>",Ve+=2):(s=r,Qe(Te)),s!==r&&tt()!==r&&(a=Nt())!==r?(i=n,c=o,l=a,t=n={type:Yt.ARROW,params:c,returns:l,new:i}):(Ve=t,t=r)):(Ve=t,t=r),Je[u]={nextPos:Ve,result:t},t)}function Ft(){var t,n,o,s,a,i,c,l=78*Ve+57,u=Je[l];return u?(Ve=u.nextPos,u.result):(t=Ve,e.substr(Ve,8)===Be?(n=Be,Ve+=8):(n=r,Qe(Ne)),n!==r&&tt()!==r&&(o=function(){var t,n,o,s,a,i,c=78*Ve+58,l=Je[c];if(l)return Ve=l.nextPos,l.result;t=Ve,40===e.charCodeAt(Ve)?(n=pe,Ve++):(n=r,Qe(de));n!==r&&tt()!==r&&(o=Dt())!==r&&tt()!==r?(44===e.charCodeAt(Ve)?(s=xe,Ve++):(s=r,Qe(be)),s!==r&&tt()!==r&&(a=Ot())!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(i=fe,Ve++):(i=r,Qe(me)),i!==r?t=n={params:a,modifier:o}:(Ve=t,t=r)):(Ve=t,t=r)):(Ve=t,t=r);t===r&&(t=Ve,40===e.charCodeAt(Ve)?(n=pe,Ve++):(n=r,Qe(de)),n!==r&&tt()!==r&&(o=Dt())!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(s=fe,Ve++):(s=r,Qe(me)),s!==r?t=n=function(e){return{params:[],modifier:e}}(o):(Ve=t,t=r)):(Ve=t,t=r),t===r&&(t=Ve,40===e.charCodeAt(Ve)?(n=pe,Ve++):(n=r,Qe(de)),n!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(o=fe,Ve++):(o=r,Qe(me)),o!==r?t=n={params:[],modifier:{nodeThis:null,nodeNew:null}}:(Ve=t,t=r)):(Ve=t,t=r),t===r&&(t=Ve,40===e.charCodeAt(Ve)?(n=pe,Ve++):(n=r,Qe(de)),n!==r&&tt()!==r&&(o=Ot())!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(s=fe,Ve++):(s=r,Qe(me)),s!==r?t=n=function(e){return{params:e,modifier:{nodeThis:null,nodeNew:null}}}(o):(Ve=t,t=r)):(Ve=t,t=r))));return Je[c]={nextPos:Ve,result:t},t}())!==r&&tt()!==r?(s=Ve,58===e.charCodeAt(Ve)?(a=Ie,Ve++):(a=r,Qe(Fe)),a!==r&&(i=tt())!==r&&(c=Nt())!==r?s=a=[a,i,c]:(Ve=s,s=r),s===r&&(s=null),s!==r?t=n=function(e,t){const n=t?t[2]:null;return{type:Yt.FUNCTION,params:e.params,returns:n,this:e.modifier.nodeThis,new:e.modifier.nodeNew}}(o,s):(Ve=t,t=r)):(Ve=t,t=r),Je[l]={nextPos:Ve,result:t},t)}function Dt(){var t,n,o,s,a,i,c,l=78*Ve+59,u=Je[l];return u?(Ve=u.nextPos,u.result):(t=Ve,n=Ve,e.substr(Ve,4)===je?(o=je,Ve+=4):(o=r,Qe(Le)),o!==r&&(s=tt())!==r?(58===e.charCodeAt(Ve)?(a=Ie,Ve++):(a=r,Qe(Fe)),a!==r&&(i=tt())!==r&&(c=Bt())!==r?n=o=[o,s,a,i,c]:(Ve=n,n=r)):(Ve=n,n=r),n!==r&&(n={nodeThis:n[4],nodeNew:null}),(t=n)===r&&(t=Ve,n=Ve,e.substr(Ve,3)===we?(o=we,Ve+=3):(o=r,Qe(Pe)),o!==r&&(s=tt())!==r?(58===e.charCodeAt(Ve)?(a=Ie,Ve++):(a=r,Qe(Fe)),a!==r&&(i=tt())!==r&&(c=Bt())!==r?n=o=[o,s,a,i,c]:(Ve=n,n=r)):(Ve=n,n=r),n!==r&&(n={nodeThis:null,nodeNew:n[4]}),t=n),Je[l]={nextPos:Ve,result:t},t)}function Ot(){var t,n,o,s,a,i,c,l,u=78*Ve+60,p=Je[u];if(p)return Ve=p.nextPos,p.result;for(t=Ve,n=[],o=Ve,(s=Bt())!==r&&(a=tt())!==r?(44===e.charCodeAt(Ve)?(i=xe,Ve++):(i=r,Qe(be)),i!==r&&(c=tt())!==r?o=s=[s,a,i,c]:(Ve=o,o=r)):(Ve=o,o=r);o!==r;)n.push(o),o=Ve,(s=Bt())!==r&&(a=tt())!==r?(44===e.charCodeAt(Ve)?(i=xe,Ve++):(i=r,Qe(be)),i!==r&&(c=tt())!==r?o=s=[s,a,i,c]:(Ve=o,o=r)):(Ve=o,o=r);return n!==r?((o=qt())===r&&(o=Ut()),o===r&&(o=null),o!==r?(l=o,t=n=n.reduceRight((function(e,t){const[n]=t;return[n].concat(e)}),l?[l]:[])):(Ve=t,t=r)):(Ve=t,t=r),Je[u]={nextPos:Ve,result:t},t}function Bt(){var e,t=78*Ve+61,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=ht())===r&&(e=mt())===r&&(e=St())===r&&(e=Ct())===r&&(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=Tt())===r&&(e=wt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function Nt(){var e,t=78*Ve+62,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=bt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=Tt())===r&&(e=St())===r&&(e=Ct())===r&&(e=wt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function jt(){var t,n,o,s,d,f=78*Ve+63,m=Je[f];return m?(Ve=m.nextPos,m.result):(t=Ve,123===e.charCodeAt(Ve)?(n="{",Ve++):(n=r,Qe(Re)),n!==r&&tt()!==r?((o=function(){var t,n,o,s,d,f,m,g,h=78*Ve+64,y=Je[h];if(y)return Ve=y.nextPos,y.result;if(t=Ve,(n=Lt())!==r){if(o=[],s=Ve,d=Ve,(f=tt())!==r?(44===e.charCodeAt(Ve)?(m=xe,Ve++):(m=r,Qe(be)),m!==r?d=f=[f,m]:(Ve=d,d=r)):(Ve=d,d=r),d===r&&(d=Ve,(f=tt())!==r?(59===e.charCodeAt(Ve)?(m=_e,Ve++):(m=r,Qe($e)),m!==r?d=f=[f,m]:(Ve=d,d=r)):(Ve=d,d=r),d===r)){for(d=Ve,f=[],a.test(e.charAt(Ve))?(m=e.charAt(Ve),Ve++):(m=r,Qe(i));m!==r;)f.push(m),a.test(e.charAt(Ve))?(m=e.charAt(Ve),Ve++):(m=r,Qe(i));f!==r?(c.test(e.charAt(Ve))?(m=e.charAt(Ve),Ve++):(m=r,Qe(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(Ve))?(g=e.charAt(Ve),Ve++):(g=r,Qe(p)),g!==r?d=f=[f,m,g]:(Ve=d,d=r)):(Ve=d,d=r)):(Ve=d,d=r)}for(d!==r&&(f=tt())!==r&&(m=Lt())!==r?s=d=[d,f,m]:(Ve=s,s=r);s!==r;){if(o.push(s),s=Ve,d=Ve,(f=tt())!==r?(44===e.charCodeAt(Ve)?(m=xe,Ve++):(m=r,Qe(be)),m!==r?d=f=[f,m]:(Ve=d,d=r)):(Ve=d,d=r),d===r&&(d=Ve,(f=tt())!==r?(59===e.charCodeAt(Ve)?(m=_e,Ve++):(m=r,Qe($e)),m!==r?d=f=[f,m]:(Ve=d,d=r)):(Ve=d,d=r),d===r)){for(d=Ve,f=[],a.test(e.charAt(Ve))?(m=e.charAt(Ve),Ve++):(m=r,Qe(i));m!==r;)f.push(m),a.test(e.charAt(Ve))?(m=e.charAt(Ve),Ve++):(m=r,Qe(i));f!==r?(c.test(e.charAt(Ve))?(m=e.charAt(Ve),Ve++):(m=r,Qe(l)),m===r&&(m=null),m!==r?(u.test(e.charAt(Ve))?(g=e.charAt(Ve),Ve++):(g=r,Qe(p)),g!==r?d=f=[f,m,g]:(Ve=d,d=r)):(Ve=d,d=r)):(Ve=d,d=r)}d!==r&&(f=tt())!==r&&(m=Lt())!==r?s=d=[d,f,m]:(Ve=s,s=r)}if(o!==r){if(s=Ve,(d=tt())!==r?(44===e.charCodeAt(Ve)?(f=xe,Ve++):(f=r,Qe(be)),f!==r?s=d=[d,f]:(Ve=s,s=r)):(Ve=s,s=r),s===r&&(s=Ve,(d=tt())!==r?(59===e.charCodeAt(Ve)?(f=_e,Ve++):(f=r,Qe($e)),f!==r?s=d=[d,f]:(Ve=s,s=r)):(Ve=s,s=r),s===r)){for(s=Ve,d=[],a.test(e.charAt(Ve))?(f=e.charAt(Ve),Ve++):(f=r,Qe(i));f!==r;)d.push(f),a.test(e.charAt(Ve))?(f=e.charAt(Ve),Ve++):(f=r,Qe(i));d!==r?(c.test(e.charAt(Ve))?(f=e.charAt(Ve),Ve++):(f=r,Qe(l)),f===r&&(f=null),f!==r?(u.test(e.charAt(Ve))?(m=e.charAt(Ve),Ve++):(m=r,Qe(p)),m!==r?s=d=[d,f,m]:(Ve=s,s=r)):(Ve=s,s=r)):(Ve=s,s=r)}s===r&&(s=null),s!==r?(x=n,t=n=o.reduce((function(e,t){const n=t[2];return e.concat([n])}),[x])):(Ve=t,t=r)}else Ve=t,t=r}else Ve=t,t=r;var x;return Je[h]={nextPos:Ve,result:t},t}())===r&&(o=null),o!==r&&tt()!==r?(125===e.charCodeAt(Ve)?(s="}",Ve++):(s=r,Qe(Me)),s!==r?(d=o,t=n={type:Yt.RECORD,entries:d||[]}):(Ve=t,t=r)):(Ve=t,t=r)):(Ve=t,t=r),Je[f]={nextPos:Ve,result:t},t)}function Lt(){var t,n,o,s,a,i,c,l=78*Ve+65,u=Je[l];return u?(Ve=u.nextPos,u.result):(t=Ve,n=Ve,e.substr(Ve,8)===qe?(o=qe,Ve+=8):(o=r,Qe(Ue)),o!==r&&(s=nt())!==r?n=o=[o,s]:(Ve=n,n=r),n===r&&(n=null),n!==r&&(o=Rt())!==r&&(s=tt())!==r?(63===e.charCodeAt(Ve)?(a=L,Ve++):(a=r,Qe(R)),a===r&&(a=null),a!==r&&tt()!==r?(58===e.charCodeAt(Ve)?(i=Ie,Ve++):(i=r,Qe(Fe)),i!==r&&tt()!==r&&(c=function(){var e,t=78*Ve+67,n=Je[t];if(n)return Ve=n.nextPos,n.result;(e=ht())===r&&(e=mt())===r&&(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=Tt())===r&&(e=wt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut());return Je[t]={nextPos:Ve,result:e},e}())!==r?t=n=function(e,t,n,r){const{quoteStyle:o,key:s}=t;return{type:Yt.RECORD_ENTRY,key:s,quoteStyle:o,value:"?"===n?{type:Yt.OPTIONAL,value:r,meta:{syntax:zt.SUFFIX_KEY_QUESTION_MARK}}:r,readonly:Boolean(e)}}(n,o,a,c):(Ve=t,t=r)):(Ve=t,t=r)):(Ve=t,t=r),t===r&&(t=Ve,n=Ve,e.substr(Ve,8)===qe?(o=qe,Ve+=8):(o=r,Qe(Ue)),o!==r&&(s=nt())!==r?n=o=[o,s]:(Ve=n,n=r),n===r&&(n=null),n!==r&&(o=Rt())!==r?t=n=function(e,t){const{quoteStyle:n,key:r}=t;return{type:Yt.RECORD_ENTRY,key:r,quoteStyle:n,value:null,readonly:Boolean(e)}}(n,o):(Ve=t,t=r)),Je[l]={nextPos:Ve,result:t},t)}function Rt(){var t,n,o,s,a,i,c,l=78*Ve+66,u=Je[l];if(u)return Ve=u.nextPos,u.result;if(t=Ve,34===e.charCodeAt(Ve)?(n=P,Ve++):(n=r,Qe(T)),n!==r){for(o=Ve,s=[],I.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(F)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));a!==r;)s.push(a),I.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(F)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));(o=s!==r?e.substring(o,Ve):s)!==r?(34===e.charCodeAt(Ve)?(s=P,Ve++):(s=r,Qe(T)),s!==r?t=n=function(e){return{quoteStyle:"double",key:e.replace(/\\"/gu,'"').replace(/\\\\/gu,"\\")}}(o):(Ve=t,t=r)):(Ve=t,t=r)}else Ve=t,t=r;if(t===r){if(t=Ve,39===e.charCodeAt(Ve)?(n=E,Ve++):(n=r,Qe(S)),n!==r){for(o=Ve,s=[],C.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(v)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));a!==r;)s.push(a),C.test(e.charAt(Ve))?(a=e.charAt(Ve),Ve++):(a=r,Qe(v)),a===r&&(a=Ve,92===e.charCodeAt(Ve)?(i=A,Ve++):(i=r,Qe(k)),i!==r?(e.length>Ve?(c=e.charAt(Ve),Ve++):(c=r,Qe(w)),c!==r?a=i=[i,c]:(Ve=a,a=r)):(Ve=a,a=r));(o=s!==r?e.substring(o,Ve):s)!==r?(39===e.charCodeAt(Ve)?(s=E,Ve++):(s=r,Qe(S)),s!==r?t=n=function(e){return{quoteStyle:"single",key:e.replace(/\\'/g,"'").replace(/\\\\/gu,"\\")}}(o):(Ve=t,t=r)):(Ve=t,t=r)}else Ve=t,t=r;t===r&&(t=Ve,n=Ve,(o=rt())===r&&(o=ft()),(n=o!==r?e.substring(n,Ve):o)!==r&&(n=function(e){return{quoteStyle:"none",key:e}}(n)),t=n)}return Je[l]={nextPos:Ve,result:t},t}function Mt(){var t,n,o,s,a,i=78*Ve+68,c=Je[i];return c?(Ve=c.nextPos,c.result):(t=Ve,91===e.charCodeAt(Ve)?(n="[",Ve++):(n=r,Qe(Ae)),n!==r&&tt()!==r&&(o=function(){var t,n,o,s,a,i,c,l=78*Ve+69,u=Je[l];if(u)return Ve=u.nextPos,u.result;t=Ve,n=[],o=Ve,(s=_t())!==r&&(a=tt())!==r?(44===e.charCodeAt(Ve)?(i=xe,Ve++):(i=r,Qe(be)),i!==r&&(c=tt())!==r?o=s=[s,a,i,c]:(Ve=o,o=r)):(Ve=o,o=r);for(;o!==r;)n.push(o),o=Ve,(s=_t())!==r&&(a=tt())!==r?(44===e.charCodeAt(Ve)?(i=xe,Ve++):(i=r,Qe(be)),i!==r&&(c=tt())!==r?o=s=[s,a,i,c]:(Ve=o,o=r)):(Ve=o,o=r);n!==r?((o=qt())===r&&(o=Ut()),o===r&&(o=null),o!==r?t=n=function(e,t){return e.reduceRight(((e,t)=>{let[n]=t;return[n].concat(e)}),t?[t]:[])}(n,o):(Ve=t,t=r)):(Ve=t,t=r);return Je[l]={nextPos:Ve,result:t},t}())!==r&&tt()!==r?(93===e.charCodeAt(Ve)?(s="]",Ve++):(s=r,Qe(ke)),s!==r?(a=o,t=n={type:Yt.TUPLE,entries:a}):(Ve=t,t=r)):(Ve=t,t=r),Je[i]={nextPos:Ve,result:t},t)}function _t(){var e,t=78*Ve+70,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=ht())===r&&(e=mt())===r&&(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=St())===r&&(e=Ct())===r&&(e=Tt())===r&&(e=wt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}function $t(){var t,n,o,s,a,i=78*Ve+71,c=Je[i];return c?(Ve=c.nextPos,c.result):(t=Ve,40===e.charCodeAt(Ve)?(n=pe,Ve++):(n=r,Qe(de)),n!==r&&tt()!==r&&(o=function(){var e,t=78*Ve+72,n=Je[t];if(n)return Ve=n.nextPos,n.result;(e=ht())===r&&(e=mt())===r&&(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=Tt())===r&&(e=St())===r&&(e=Ct())===r&&(e=wt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut());return Je[t]={nextPos:Ve,result:e},e}())!==r&&tt()!==r?(41===e.charCodeAt(Ve)?(s=fe,Ve++):(s=r,Qe(me)),s!==r?(a=o,t=n={type:Yt.PARENTHESIS,value:a}):(Ve=t,t=r)):(Ve=t,t=r),Je[i]={nextPos:Ve,result:t},t)}function qt(){var t,n=78*Ve+73,o=Je[n];return o?(Ve=o.nextPos,o.result):((t=function(){var t,n,o,s=78*Ve+74,a=Je[s];if(a)return Ve=a.nextPos,a.result;t=Ve,e.substr(Ve,3)===De?(n=De,Ve+=3):(n=r,Qe(Oe));n!==r&&(o=Ut())!==r?(i=o,t=n={type:Yt.VARIADIC,value:i,meta:{syntax:Gt.PREFIX_DOTS}}):(Ve=t,t=r);var i;return Je[s]={nextPos:Ve,result:t},t}())===r&&(t=function(){var t,n,o,s=78*Ve+75,a=Je[s];if(a)return Ve=a.nextPos,a.result;t=Ve,(n=Ut())!==r?(e.substr(Ve,3)===De?(o=De,Ve+=3):(o=r,Qe(Oe)),o!==r?(i=n,t=n={type:Yt.VARIADIC,value:i,meta:{syntax:Gt.SUFFIX_DOTS}}):(Ve=t,t=r)):(Ve=t,t=r);var i;return Je[s]={nextPos:Ve,result:t},t}())===r&&(t=function(){var t,n,o=78*Ve+76,s=Je[o];if(s)return Ve=s.nextPos,s.result;t=Ve,e.substr(Ve,3)===De?(n=De,Ve+=3):(n=r,Qe(Oe));n!==r&&(n={type:Yt.VARIADIC,value:{type:Yt.ANY},meta:{syntax:Gt.ONLY_DOTS}});return t=n,Je[o]={nextPos:Ve,result:t},t}()),Je[n]={nextPos:Ve,result:t},t)}function Ut(){var e,t=78*Ve+77,n=Je[t];return n?(Ve=n.nextPos,n.result):((e=ht())===r&&(e=mt())===r&&(e=xt())===r&&(e=jt())===r&&(e=Mt())===r&&(e=It())===r&&(e=Ft())===r&&(e=$t())===r&&(e=St())===r&&(e=Ct())===r&&(e=Tt())===r&&(e=wt())===r&&(e=ot())===r&&(e=pt())===r&&(e=lt())===r&&(e=ut()),Je[t]={nextPos:Ve,result:e},e)}const Vt=py,{GenericTypeSyntax:Wt,VariadicTypeSyntax:Gt,OptionalTypeSyntax:zt,NullableTypeSyntax:Jt,NotNullableTypeSyntax:Kt}=Vt,Yt=dy,Ht={MEMBER:"MEMBER",INNER_MEMBER:"INNER_MEMBER",INSTANCE_MEMBER:"INSTANCE_MEMBER"};if((n=s())!==r&&Ve===e.length)return n;throw n!==r&&Vee.name,MEMBER:(e,t)=>jy("%s.%s%s",t(e.owner),e.hasEventPrefix?"event:":"",Ly(e.name,e.quoteStyle)),UNION:(e,t)=>jy("%s | %s",t(e.left),t(e.right)),INTERSECTION:(e,t)=>jy("%s & %s",t(e.left),t(e.right)),VARIADIC:(e,t)=>e.meta.syntax===Ny.ONLY_DOTS?"...":jy("...%s",t(e.value)),RECORD(e,t){const n=e.entries.map(t);return jy("{%s}",n.join(", "))},RECORD_ENTRY(e,t){const{readonly:n,value:r,key:o,quoteStyle:s}=e,a=n?"readonly ":"";if(!r)return a+Ly(o,s);const i=r.type===Dy&&r.meta.syntax===By.SUFFIX_KEY_QUESTION_MARK?"?":"";return jy("%s%s%s: %s",a,Ly(o,s),i,t(r))},TUPLE(e,t){const n=e.entries.map(t);return jy("[%s]",n.join(", "))},GENERIC(e,t){const n=e.objects.map(t);switch(e.meta.syntax){case"SQUARE_BRACKET":return jy("%s[]",n.join(", "));case"ANGLE_BRACKET_WITH_DOT":return jy("%s.<%s>",t(e.subject),n.join(", "))}return jy("%s<%s>",t(e.subject),n.join(", "))},MODULE:(e,t)=>jy("module:%s",t(e.value)),FILE_PATH:e=>Ly(e.path,e.quoteStyle),OPTIONAL:(e,t)=>e.meta.syntax===By.SUFFIX_KEY_QUESTION_MARK?t(e.value):jy("%s=",t(e.value)),NULLABLE:(e,t)=>jy("?%s",t(e.value)),NOT_NULLABLE:(e,t)=>jy("!%s",t(e.value)),FUNCTION(e,t){const n=e.params.map(t);return e.new&&n.unshift(jy("new: %s",t(e.new))),e.this&&n.unshift(jy("this: %s",t(e.this))),e.returns?jy("function(%s): %s",n.join(", "),t(e.returns)):jy("function(%s)",n.join(", "))},ARROW(e,t){const n=e.params.map(t);return(e.new?"new ":"")+jy("(%s) => %s",n.join(", "),t(e.returns))},NAMED_PARAMETER:(e,t)=>e.name+": "+t(e.typeName),ANY:()=>"*",UNKNOWN:()=>"?",INNER_MEMBER:(e,t)=>t(e.owner)+"~"+(e.hasEventPrefix?"event:":"")+Ly(e.name,e.quoteStyle),INSTANCE_MEMBER:(e,t)=>t(e.owner)+"#"+(e.hasEventPrefix?"event:":"")+Ly(e.name,e.quoteStyle),STRING_VALUE:e=>Ly(e.string,e.quoteStyle),NUMBER_VALUE:e=>e.number,EXTERNAL(e){const{name:t,quoteStyle:n}=e;return jy("external:%s",Ly(t,n))},PARENTHESIS:(e,t)=>jy("(%s)",t(e.value)),TYPE_QUERY:(e,t)=>jy("typeof %s",t(e.name)),KEY_QUERY:(e,t)=>e.value.type===Oy?jy("keyof%s",t(e.value)):jy("keyof %s",t(e.value)),IMPORT:(e,t)=>jy("import(%s)",t(e.path))}}var My={publish:function e(t,n){const r=n||Ry();return r[t.type](t,(function(t){return e(t,r)}))},createDefaultPublisher:Ry};const _y={NODE(e,t,n,r){e(t,n,r)},NODE_LIST(e,t,n,r){t.forEach((function(t){e(t,n,r)}))},NULLABLE_NODE(e,t,n,r){t&&e(t,n,r)}},$y={NAME:{},NAMED_PARAMETER:{typeName:_y.NULLABLE_NODE},MEMBER:{owner:_y.NODE},UNION:{left:_y.NODE,right:_y.NODE},INTERSECTION:{left:_y.NODE,right:_y.NODE},VARIADIC:{value:_y.NODE},RECORD:{entries:_y.NODE_LIST},RECORD_ENTRY:{value:_y.NULLABLE_NODE},TUPLE:{entries:_y.NODE_LIST},GENERIC:{subject:_y.NODE,objects:_y.NODE_LIST},MODULE:{value:_y.NODE},OPTIONAL:{value:_y.NODE},NULLABLE:{value:_y.NODE},NOT_NULLABLE:{value:_y.NODE},FUNCTION:{params:_y.NODE_LIST,returns:_y.NULLABLE_NODE,this:_y.NULLABLE_NODE,new:_y.NULLABLE_NODE},ARROW:{params:_y.NODE_LIST,returns:_y.NULLABLE_NODE},ANY:{},UNKNOWN:{},INNER_MEMBER:{owner:_y.NODE},INSTANCE_MEMBER:{owner:_y.NODE},STRING_VALUE:{},NUMBER_VALUE:{},EXTERNAL:{},FILE_PATH:{},PARENTHESIS:{value:_y.NODE},TYPE_QUERY:{name:_y.NODE},KEY_QUERY:{value:_y.NODE},IMPORT:{path:_y.NODE}};var qy={traverse:function e(t,n,r){n&&n(t,null,null),function(e){const t=[],n=$y[e.type];return Object.keys(n).forEach((function(r){(0,n[r])(((e,n,r)=>{t.push([e,n,r])}),e[r],r,e)})),t}(t).forEach((function([t,o,s]){e(t,n?(e,t,r)=>{n(e,t||o,r||s)}:null,r?(e,t,n)=>{r(e,t||o,n||s)}:null)})),r&&r(t,null,null)}};const{parse:Uy,JSDocTypeSyntaxError:Vy,JSDocSyntaxError:Wy,ClosureSyntaxError:Gy,TypeScriptSyntaxError:zy}=Fy,{publish:Jy,createDefaultPublisher:Ky}=My,{traverse:Yy}=qy;var Hy=Uy,Xy=Jy,Qy=Yy,Zy=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=["undefined","null","boolean","number","bigint","string","symbol","object","Array","Function","Date","RegExp"];var s=(0,r.default)((({jsdocNode:e,sourceCode:t,report:n,utils:r,settings:s,context:a})=>{const i=r.filterTags((e=>r.tagMightHaveTypePosition(e.tag))),{preferredTypes:c,structuredTags:l,mode:u}=s,{noDefaults:p,unifyParentAndChildTypeChecks:d,exemptTagContexts:f=[]}=a.options[0]||{};i.forEach((s=>{const a=[];let i;try{i=Hy(s.type,{mode:u})}catch{return}const m=s.tag;if(Qy(i,((e,t,n)=>{const{type:s,name:i}=e;if(!["NAME","ANY"].includes(s))return;let f="ANY"===s?"*":i;const[g,h,y]=((e,t,n,r)=>{let o,s,a=t;if(Object.keys(c).length){const e="subject"===n;if(d||e){var i;const n=null==r||null===(i=r.meta)||void 0===i?void 0:i.syntax;[[".","ANGLE_BRACKET_WITH_DOT"],[".<>","ANGLE_BRACKET_WITH_DOT"],["<>","ANGLE_BRACKET"]].some((([e,r])=>(s=void 0!==(null==c?void 0:c[t+e])&&n===r,s&&(a+=e),s))),!s&&e&&[["[]","SQUARE_BRACKET"],[".","ANGLE_BRACKET_WITH_DOT"],[".<>","ANGLE_BRACKET_WITH_DOT"],["<>","ANGLE_BRACKET"]].some((([e,t])=>(s=void 0!==(null==c?void 0:c[e])&&n===t,s&&(a=e),s)))}const l=void 0!==(null==c?void 0:c[t])&&!Object.values(c).includes(t),u=e&&l&&d;s=s||u,o=s||l&&!e}return[o,a,s]})(0,f,t,n);let x,b;if(g){const e=c[h];if(f="[]"===h?h:f,e)if("string"==typeof e)x=e,a.push([f,x]);else{if("object"!=typeof e)return void r.reportSettings("Invalid `settings.jsdoc.preferredTypes`. Values must be falsy, a string, or an object.");x=null==e?void 0:e.replacement,a.push([f,x,null==e?void 0:e.message])}else a.push([f])}else if(Object.entries(l).some((([e,{type:t}])=>(b=t,e===m&&Array.isArray(b)&&!b.includes(f)))))a.push([f,b]);else if(!p&&"NAME"===s)for(const e of o)if(!("object"===e&&"typescript"===u||e.toLowerCase()!==f.toLowerCase()||e===f||c&&void 0!==(null==c?void 0:c[e]))){x=e,a.push([f,x]);break}x&&((e,t,n,r,o,s)=>{let a=t;if(n)if("[]"===t)"UNION"===s.objects[0].type&&(s.objects[0]={type:"PARENTHESIS",value:s.objects[0]}),s.meta.syntax="SQUARE_BRACKET",a="Array";else{const e=t.match(/\.(?:<>)?$/u);e?(s.meta.syntax="ANGLE_BRACKET_WITH_DOT",a=t.slice(0,-e[0].length)):t.endsWith("<>")?(s.meta.syntax="ANGLE_BRACKET",a=t.slice(0,-2)):"SQUARE_BRACKET"!==s.meta.syntax||"[]"!==r&&"Array"!==r||(s.meta.syntax="ANGLE_BRACKET")}else"ANY"===e&&(o.type="NAME");o.name=a.replace(/(?:\.|<>|\.<>|\[\])$/u,""),a||(o.name=r)})(s,x,y,f,e,n)})),a.length){const r=Xy(i);a.forEach((([o,a="",i])=>{const c=s.name?` "${s.name}"`:"";f.some((({tag:e,types:t})=>e===m&&(!0===t||t.includes(s.type))))||n(i||`Invalid JSDoc @${m}${c} type "${o}"`+(a?"; ":".")+(a?`prefer: ${JSON.stringify(a)}.`:""),a?n=>n.replaceText(e,t.getText(e).replace(`{${s.type}}`,`{${r}}`)):null,s,i?{tagName:m,tagValue:c}:null)}))}}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Reports invalid types.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-types"},fixable:"code",schema:[{additionalProperties:!1,properties:{exemptTagContexts:{items:{additionalProperties:!1,properties:{tag:{type:"string"},types:{oneOf:[{type:"boolean"},{items:{type:"string"},type:"array"}]}},type:"object"},type:"array"},noDefaults:{type:"boolean"},unifyParentAndChildTypeChecks:{type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=s,e.exports=t.default})),ex=["389-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-3.1","gnu-javamail-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","i2p-gpl-java-exception","Libtool-exception","Linux-syscall-note","LLVM-exception","LZMA-exception","mif-exception","Nokia-Qt-exception-1.1","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","Swift-exception","u-boot-exception-2.0","Universal-FOSS-exception-1.0","WxWindows-exception-3.1"],tx=[].concat(["0BSD","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","AMDPLPA","AML","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","Abstyles","Adobe-2006","Adobe-Glyph","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-LBNL","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-4-Clause","BSD-4-Clause-UC","BSD-Protection","BSD-Source-Code","BSL-1.0","BUSL-1.1","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","BlueOak-1.0.0","Borceux","CAL-1.0","CAL-1.0-Combined-Work-Exception","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-4.0","CC-PDDC","CC0-1.0","CDDL-1.0","CDDL-1.1","CDLA-Permissive-1.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","ClArtistic","Condor-1.1","Crossword","CrystalStacker","Cube","D-FSL-1.0","DOC","DSDP","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Entessa","ErlPL-1.1","Eurosym","FSFAP","FSFUL","FSFULLR","FTL","Fair","Frameworx-1.0","FreeImage","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Giftware","Glide","Glulxe","HPND","HPND-sell-variant","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IJG","IPA","IPL-1.0","ISC","ImageMagick","Imlib2","Info-ZIP","Intel","Intel-ACPI","Interbase-1.0","JPNIC","JSON","JasPer-2.0","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","Latex2e","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","MIT","MIT-0","MIT-CMU","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MITNFA","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-PL","MS-RL","MTLL","MakeIndex","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NASA-1.3","NBPL-1.0","NCGL-UK-2.0","NCSA","NGPL","NIST-PD","NIST-PD-fallback","NLOD-1.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTP","NTP-0","Naumen","Net-SNMP","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OML","OPL-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OpenSSL","PDDL-1.0","PHP-3.0","PHP-3.01","PSF-2.0","Parity-6.0.0","Parity-7.0.0","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","QPL-1.0","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","SAX-PD","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SMLNJ","SMPPL","SNIA","SPL-1.0","SSH-OpenSSH","SSH-short","SSPL-1.0","SWL","Saxpath","Sendmail","Sendmail-8.23","SimPL-2.0","Sleepycat","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","TAPR-OHL-1.0","TCL","TCP-wrappers","TMate","TORQUE-1.1","TOSL","TU-Berlin-1.0","TU-Berlin-2.0","UCL-1.0","UPL-1.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","Unlicense","VOSTROM","VSL-1.0","Vim","W3C","W3C-19980720","W3C-20150513","WTFPL","Watcom-1.0","Wsuipa","X11","XFree86-1.1","XSkat","Xerox","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","blessing","bzip2-1.0.5","bzip2-1.0.6","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","diffmark","dvipdfm","eGenix","etalab-2.0","gSOAP-1.3b","gnuplot","iMatix","libpng-2.0","libselinux-1.0","libtiff","mpich2","psfrag","psutils","xinetd","xpp","zlib-acknowledgement"]).concat(["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Nunit","StandardML-NJ","eCos-2.0","wxWindows"]),nx=function(e){var t=0;function n(){return t1&&" "===e[t-2])throw new Error("Space before `+`");return n&&{type:"OPERATOR",string:n}}()||function(){if(r("DocumentRef-"))return{type:"DOCUMENTREF",string:s()}}()||function(){if(r("LicenseRef-"))return{type:"LICENSEREF",string:s()}}()||(n=t,a=o(),-1!==tx.indexOf(a)?{type:"LICENSE",string:a}:-1!==ex.indexOf(a)?{type:"EXCEPTION",string:a}:void(t=n));var n,a}for(var i=[];n()&&(r(/[ ]*/),n());){var c=a();if(!c)throw new Error("Unexpected `"+e[t]+"` at offset "+t);i.push(c)}return i},rx=function(e){var t=0;function n(){return t{const s=o.options[0]||{},{allowedLicenses:a=null,allowedAuthors:i=null,licensePattern:c="/([^\n]*)/gu"}=s;e.forEachPreferredTag("version",((e,r)=>{const o=e.description.trim();o?n.default.valid(o)||t(`Invalid JSDoc @${r}: "${e.description}".`,null,e):t(`Missing JSDoc @${r}.`,null,e)})),e.forEachPreferredTag("since",((e,r)=>{const o=e.description.trim();o?n.default.valid(o)||t(`Invalid JSDoc @${r}: "${e.description}".`,null,e):t(`Missing JSDoc @${r}.`,null,e)})),e.forEachPreferredTag("license",((n,o)=>{const s=e.getRegexFromString(c,"g"),i=n.description.match(s),l=i&&i[1]||i[0];if(l.trim())if(a)!0===a||a.includes(l)||t(`Invalid JSDoc @${o}: "${l}"; expected one of ${a.join(", ")}.`,null,n);else try{(0,r.default)(l)}catch{t(`Invalid JSDoc @${o}: "${l}"; expected SPDX expression: https://spdx.org/licenses/.`,null,n)}else t(`Missing JSDoc @${o}.`,null,n)})),e.forEachPreferredTag("author",((e,n)=>{const r=e.description.trim();r?i&&!i.includes(r)&&t(`Invalid JSDoc @${n}: "${e.description}"; expected one of ${i.join(", ")}.`,null,e):t(`Missing JSDoc @${n}.`,null,e)}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-values"},schema:[{additionalProperties:!1,properties:{allowedAuthors:{items:{type:"string"},type:"array"},allowedLicenses:{anyOf:[{items:{type:"string"},type:"array"},{type:"boolean"}]},licensePattern:{type:"string"}},type:"object"}],type:"suggestion"}});t.default=s,e.exports=t.default})),ax=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=new Set(["abstract","async","generator","global","hideconstructor","ignore","inner","instance","override","readonly","inheritDoc","internal"]),s=new Set(["package","private","protected","public","static","inheritdoc"]);var a=(0,r.default)((({settings:e,jsdoc:t,utils:n})=>{n.filterTags((({tag:r})=>o.has(r)||n.hasOptionTag(r)&&t.tags.some((({tag:e})=>e===r))||"closure"!==e.mode&&s.has(r))).forEach((e=>{if((e.name||e.description||e.type).trim()){const t=()=>{n.setTag(e)};n.reportJSDoc(`@${e.tag} should be empty.`,e,t,!0)}}))}),{checkInternal:!0,checkPrivate:!0,iterateAllJsdocs:!0,meta:{docs:{description:"Expects specific tags to be empty of any content.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-empty-tags"},fixable:"code",schema:[{additionalProperties:!1,properties:{tags:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=a,e.exports=t.default})),ix=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{if(t.isIteratingFunction()){if(t.hasATag(["class","constructor"])||t.isConstructor())return}else if(!t.isVirtualFunction())return;t.forEachPreferredTag("implements",(t=>{e("@implements used on a non-constructor function",null,t)}))}),{contextDefaults:!0,meta:{docs:{description:"Reports an issue with any non-constructor function using `@implements`.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-implements-on-classes"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=r,e.exports=t.default})),cx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(F.default),r=o(Ze);function o(e){return e&&e.__esModule?e:{default:e}}var s=(0,r.default)((({jsdoc:e,report:t,context:r,utils:o})=>{const s=r.options[0]||{},a=(n,r)=>{if(!r&&!1===s.mainDescription)return;let a=s.mainDescription;if(r){const e=r.tag;a=s.tags[e]}var i,c;o.getRegexFromString((i=a,c=s.matchDescription,"string"==typeof i?i:c||"^[A-Z`\\d_][\\s\\S]*[.?!`]$")).test(n)||t("JSDoc description does not satisfy the regex pattern.",null,r||{line:e.source[0].number+1})};if(e.description){const{description:e}=o.getDescription();a(e.replace(/\s+$/,""))}if(!s.tags||!Object.keys(s.tags).length)return;const i=e=>Boolean(s.tags[e]);o.forEachPreferredTag("description",((e,t)=>{const n=(e.name+" "+e.description).trim();i(t)&&a(n,e)}),!0);const c=o.filterTags((({tag:e})=>i(e))),{tagsWithNames:l,tagsWithoutNames:u}=o.getTagsByType(c);l.some((e=>{const t=n.default.trimStart(e.description,"- ");return a(t,e)})),u.some((e=>{const t=(e.name+" "+e.description).trim();return a(t,e)}))}),{contextDefaults:!0,meta:{docs:{description:"Enforces a regular expression pattern on descriptions.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-match-description"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"},mainDescription:{oneOf:[{format:"regex",type:"string"},{type:"boolean"}]},matchDescription:{format:"regex",type:"string"},tags:{patternProperties:{".*":{oneOf:[{format:"regex",type:"string"},{enum:[!0],type:"boolean"}]}},type:"object"}},type:"object"}],type:"suggestion"}});t.default=s,e.exports=t.default})),lx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(F.default);function r(e){return e&&e.__esModule?e:{default:e}}var o=(0,r(Ze).default)((({jsdoc:e,report:t,context:r,jsdocNode:o,sourceCode:s,indent:a,utils:i})=>{let c;if(!e.description.trim()||!e.tags.length)return;c=!n.default.has(r.options,0)||"always"===r.options[0];const{description:l,lastDescriptionLine:u}=i.getDescription(),p=/\n\r?$/.test(l);if(c){if(!p){const e=s.getText(o).split("\n");t("There must be a newline after the description of the JSDoc block.",(t=>{const n=`${a} *`+(e[u].endsWith("\r")?"\r":"");return e.splice(u+1,0,n),t.replaceText(o,e.join("\n"))}),{line:u})}}else if(p){const e=s.getText(o).split("\n");t("There must be no newline after the description of the JSDoc block.",(t=>(e.splice(u,1),t.replaceText(o,e.join("\n")))),{line:u})}}),{iterateAllJsdocs:!0,meta:{docs:{description:"Enforces a consistent padding of the block description.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-newline-after-description"},fixable:"whitespace",schema:[{enum:["always","never"],type:"string"}],type:"layout"}});t.default=o,e.exports=t.default})),ux=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=/^\/\*(?!\*)/;var s=(0,r.default)((({context:e,sourceCode:t,allComments:n,makeReport:r})=>{const[{ignore:s=["ts-check","ts-expect-error","ts-ignore","ts-nocheck"]}={}]=e.options,a=n.filter((e=>{const n=t.getText(e);if(!o.test(n))return!1;const[{tags:r={}}={}]=(0,Je.parse)(`${n.slice(0,2)}*${n.slice(2)}`);return r.length&&!r.some((({tag:e})=>s.includes(e)))}));a.length&&a.forEach((n=>{r(e,n)("Expected JSDoc-like comment to begin with two asterisks.",(e=>{const r=t.getText(n);return e.replaceText(n,r.replace("/*","/**"))}))}))}),{checkFile:!0,meta:{docs:{description:"This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-bad-blocks"},fixable:"code",schema:[{additionalProperties:!1,properties:{ignore:{items:{type:"string"},type:"array"}},type:"object"}],type:"layout"}});t.default=s,e.exports=t.default})),px=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({context:e,utils:t})=>{const{noOptionalParamNames:n}=e.options[0]||{};t.getPresentTags(["param","arg","argument"]).forEach((e=>{n&&e.optional?t.reportJSDoc(`Optional param names are not permitted on @${e.tag}.`,e,(()=>{t.changeTag(e,{name:e.name.replace(/([^=]*)(=.+)?/,"$1")})})):e.default&&t.reportJSDoc(`Defaults are not permitted on @${e.tag}.`,e,(()=>{t.changeTag(e,{name:e.name.replace(/([^=]*)(=.+)?/,"[$1]")})}))}));t.getPresentTags(["default","defaultvalue"]).forEach((e=>{e.description.trim()&&t.reportJSDoc(`Default values are not permitted on @${e.tag}.`,e,(()=>{t.changeTag(e,{description:"",postTag:""})}))}))}),{contextDefaults:!0,meta:{docs:{description:"This rule reports defaults being used on the relevant portion of `@param` or `@default`.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-defaults"},fixable:"code",schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"},noOptionalParamNames:{type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=r,e.exports=t.default})),dx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=({tokens:e})=>{e.postTag="",e.type=""};var s=(0,r.default)((({utils:e})=>{if(!e.isIteratingFunction()&&!e.isVirtualFunction())return;e.getPresentTags(["param","arg","argument","returns","return"]).forEach((t=>{t.type&&e.reportJSDoc(`Types are not permitted on @${t.tag}.`,t,(()=>{t.source.forEach(o)}))}))}),{contextDefaults:!0,meta:{docs:{description:"This rule reports types being used on `@param` or `@returns`.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-types"},fixable:"code",schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=s,e.exports=t.default})),fx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(F.default),r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(Ze),o=a(Qe);function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function a(e){return e&&e.__esModule?e:{default:e}}const i=["null","undefined","void","string","boolean","object","function","symbol","number","bigint","NaN","Infinity","any","*","this","true","false","Array","Object","RegExp","Date","Function"],c=e=>e&&e.replace(/(?:\.|<>|\.<>|\[\])$/u,"");var l=(0,r.default)((({context:e,node:t,report:s,settings:a,sourceCode:l,utils:u})=>{var p;const{scopeManager:d}=l,{globalScope:f}=d,{definedTypes:m=[]}=e.options[0]||{};let g=[];const{preferredTypes:h,structuredTags:y,mode:x}=a;Object.keys(h).length&&(g=Object.values(h).map((e=>"string"==typeof e?c(e):e?("object"!=typeof e&&u.reportSettings("Invalid `settings.jsdoc.preferredTypes`. Values must be falsy, a string, or an object."),c(e.replacement)):void 0)).filter((e=>e)));const b=(0,n.default)(e.getAllComments()).filter((e=>e.value.startsWith("*"))).map((e=>(0,r.parseComment)(e,""))).flatMap((e=>e.tags.filter((({tag:e})=>u.isNamepathDefiningTag(e))))).map((e=>e.name)).value(),E=[];let S=d.acquire(t);for(;S&&"Program"!==S.block.type;)E.push(S.block),S=S.upper;let C=E.length?(0,n.default)(E).flatMap((e=>{const t=(0,Ke.getJSDocComment)(l,e,a);if(!t)return[];const n=(0,r.parseComment)(t,"");return o.default.filterTags(n.tags,(e=>"template"===e.tag))})).value():u.getPresentTags("template");const v=u.getClassJsdoc();null!=v&&v.tags&&(C=C.concat(v.tags.filter((({tag:e})=>"template"===e))));const A=n.default.flatMap(C,(e=>u.parseClosureTemplateTag(e))),k="Program"===(null===(p=f.childScopes[0])||void 0===p?void 0:p.block.type),w=new Set(f.variables.map((({name:e})=>e)).concat(k?n.default.flatMap(f.childScopes,(({variables:e})=>e),[]).map((({name:e})=>e)):[]).concat(i).concat(b).concat(m).concat(g).concat("jsdoc"===a.mode?[]:A));u.filterTags((({tag:e})=>u.tagMightHaveTypePosition(e))).forEach((t=>{let n;try{n=Hy(t.type,{mode:x})}catch{return}Qy(n,(({type:n,name:r})=>{if("NAME"===n){var o;const n=null===(o=y[t.tag])||void 0===o?void 0:o.type;w.has(r)||Array.isArray(n)&&n.includes(r)?i.includes(r)||e.markVariableAsUsed(r):s(`The type '${r}' is undefined.`,null,t)}}))}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Checks that types in jsdoc comments are defined.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-undefined-types"},schema:[{additionalProperties:!1,properties:{definedTypes:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=l,e.exports=t.default})),mx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(F.default);function r(e){return e&&e.__esModule?e:{default:e}}var o=(0,r(Ze).default)((({jsdoc:e,report:t,utils:r,context:o})=>{if(r.avoidDocs())return;const{descriptionStyle:s="body"}=o.options[0]||{};let a=r.getPreferredTagName({skipReportingBlockedTag:"tag"!==s,tagName:"description"});if(!a)return;const i="object"==typeof a&&a.blocked;i&&(a=a.tagName);const c=e=>n.default.compact(e.trim().split("\n")).length;if("tag"!==s){const{description:e}=r.getDescription();if(c(e||""))return;if("body"===s){const e=r.getPresentTags(["desc","description"]);if(e.length){const[{tag:n}]=e;t(`Remove the @${n} tag to leave a plain block description or add additional description text above the @${n} line.`)}else t("Missing JSDoc block description.");return}}const l=i?[]:n.default.filter(e.tags,{tag:a});l.length?l.forEach((e=>{c(`${e.name} ${e.description}`)||t(`Missing JSDoc @${a} description.`)})):t("any"===s?`Missing JSDoc block description or @${a} declaration.`:`Missing JSDoc @${a} declaration.`)}),{contextDefaults:!0,meta:{docs:{description:"Requires that all functions have a description.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-description"},schema:[{additionalProperties:!1,properties:{checkConstructors:{default:!0,type:"boolean"},checkGetters:{default:!0,type:"boolean"},checkSetters:{default:!0,type:"boolean"},contexts:{items:{type:"string"},type:"array"},descriptionStyle:{enum:["body","tag","any"],type:"string"},exemptedBy:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=o,e.exports=t.default})),gx=ie((function(e,t){!function(e){function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:e.lastIndex;return t=t||"",(e=new RegExp(e.source,(t.includes("g")||e.global?"g":"")+(t.includes("i")||e.ignoreCase?"i":"")+(t.includes("m")||e.multiline?"m":"")+(t.includes("u")||e.unicode?"u":"")+(t.includes("y")||e.sticky?"y":"")+(t.includes("s")||e.dotAll?"s":""))).lastIndex=n,e}e.RegExtras=function(){function e(n,r,o){t(this,e),this.regex=i("string"==typeof n?new RegExp(n):i(n),r||"",o)}return r(e,[{key:"forEach",value:function(e,t){for(var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=i(this.regex,"g"),a=0;null!==(n=s.exec(e));)r=n.splice(0,1),t.apply(o,n.concat(a++,r));return this}},{key:"some",value:function(e,t){for(var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=i(this.regex,"g"),a=0;null!==(n=s.exec(e));)if(r=n.splice(0,1),t.apply(o,n.concat(a++,r)))return!0;return!1}},{key:"every",value:function(e,t){for(var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=i(this.regex,"g"),a=0;null!==(n=s.exec(e));)if(r=n.splice(0,1),!t.apply(o,n.concat(a++,r)))return!1;return!0}},{key:"map",value:function(e,t){for(var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=[],a=i(this.regex,"g"),c=0;null!==(n=a.exec(e));)r=n.splice(0,1),s.push(t.apply(o,n.concat(c++,r)));return s}},{key:"filter",value:function(e,t){for(var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=0,a=[],c=i(this.regex,"g");null!==(n=c.exec(e));)r=n.splice(0,1),n=n.concat(s++,r),t.apply(o,n)&&a.push(r[0]);return a}},{key:"reduce",value:function(e,t,n){var r,o,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=0,c=i(this.regex,"g");for(n||null!==(r=c.exec(e))&&(o=r.splice(0,1),n=t.apply(s,[""].concat(r.concat(a++,o))));null!==(r=c.exec(e));)o=r.splice(0,1),n=t.apply(s,[n].concat(r.concat(a++,o)));return n}},{key:"reduceRight",value:function(e,t,n,r){var o,s,a,c=r,l=n,u=[],p=i(this.regex,"g");for(c=c||null;null!==(o=p.exec(e));)u.push(o);if(!(a=u.length)){if(arguments.length<3)throw new TypeError("reduce of empty matches array with no initial value");return l}return l||(o=u.splice(-1)[0],s=o.splice(0,1),l=t.apply(c,[""].concat(o.concat(a--,s)))),u.reduceRight((function(e,n){return s=n.splice(0,1),l=t.apply(c,[l].concat(n.concat(a--,s))),e}),u),l}},{key:"find",value:function(e,t){for(var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=0,a=i(this.regex,"g");null!==(n=a.exec(e));)if(r=n.splice(0,1),t.apply(o,n.concat(s++,r)))return r[0];return!1}},{key:"findIndex",value:function(e,t){for(var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=i(this.regex,"g"),s=0;null!==(n=o.exec(e));){var a=n.splice(0,1);if(t.apply(r,n.concat(s++,a)))return s-1}return-1}},{key:"findExec",value:function(e,t){for(var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=i(this.regex,"g"),s=0;null!==(n=o.exec(e));){var a=n.splice(0,1);if(t.apply(r,n.concat(s++,a)))return n}return!1}},{key:"filterExec",value:function(e,t){for(var n,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=0,a=[],c=i(this.regex,"g");null!==(n=c.exec(e));)r=n.splice(0,1),n.push(s++,r[0]),t.apply(o,n)&&a.push(n);return a}}]),e}();var c=e.RegExtras;e.RegExtras=function(){for(var e=arguments.length,t=new Array(e),n=0;ne[0]===e[0].toUpperCase(),i=e=>"|"===e.charAt(),c=e=>e.charAt(0).toUpperCase()+e.slice(1),l=(e,t,r,o,s,l,u)=>{if(!e)return!1;return e.split(/(?{const d=((e,t)=>{const n=e.replace(/\{[\s\S]*?\}\s*/gu,"").replace(t,""),r=(0,gx.RegExtras)(/([.?!])(?:\s+|$)/u).map(n,(e=>e));return n.split(/[.?!](?:\s+|$)/u).map(((e,t)=>/^\s*$/u.test(e)?e:`${e}${r[t]||""}`))})(e,o),f=t=>{let o=s.getText(r);if(!/[.:?!]$/u.test(e)){const t=e.split("\n").pop();o=o.replace(new RegExp(`${n.default.escapeRegExp(t)}$`,"mu"),`${t}.`)}for(const e of d.filter((e=>!/^\s*$/u.test(e)&&!a(e)&&!i(e)))){const t=e.split("\n")[0];if(l.tag){const e=new RegExp(`(@${n.default.escapeRegExp(l.tag)}.*)${n.default.escapeRegExp(t)}`,"u");o=o.replace(e,((e,n)=>n+c(t)))}else o=o.replace(new RegExp("((?:[.!?]|\\*|\\})\\s*)"+n.default.escapeRegExp(t),"u"),"$1"+c(t))}return t.replaceText(r,o)},m=(e,n,r)=>{"line"in r?r.line+=2*p:r.source[0].number+=2*p,r.column=0,t(e,n,r)};d.some((e=>!/^\s*$/u.test(e)&&!a(e)&&!i(e)))&&m("Sentence should start with an uppercase character.",f,l);const g=e.replace(o,"");return/[.!?|]\s*$/u.test(g)?!(!u||(e=>{let t;return!e.split("\n").some((e=>!(!1!==t||!/^[A-Z][a-z]/u.test(e))||(t=/[.:?!|]$/u.test(e),!1)))})(g))&&(m("A line of text is started with an uppercase character, but preceding line does not end the sentence.",null,l),!0):(m("Sentence must end with a period.",f,l),!0)}))};var u=(0,r.default)((({sourceCode:e,context:t,jsdoc:r,report:o,jsdocNode:a,utils:i})=>{const c=t.options[0]||{},{abbreviations:u=[],newlineBeforeCapsAssumesBadSentenceEnd:p=!1}=c,d=u.length?new RegExp("\\b"+u.map((e=>n.default.escapeRegExp(e.replace(/\.$/g,"")+"."))).join("|")+"(?:$|\\s)","gu"):"",{description:f}=i.getDescription();if(l(f,o,a,d,e,{line:r.source[0].number+1},p))return;i.forEachPreferredTag("description",(t=>{const n=`${t.name} ${t.description}`.trim();l(n,o,a,d,e,t,p)}),!0);const{tagsWithNames:m}=i.getTagsByType(r.tags),g=i.filterTags((({tag:e})=>s.has(e)||i.hasOptionTag(e)&&!m.some((({tag:t})=>t===e))));m.some((t=>{const r=n.default.trimStart(t.description,"- ").trimEnd();return l(r,o,a,d,e,t,p)})),g.some((t=>{const n=`${t.name} ${t.description}`.trim();return l(n,o,a,d,e,t,p)}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-description-complete-sentence"},fixable:"code",schema:[{additionalProperties:!1,properties:{abbreviations:{items:{type:"string"},type:"array"},newlineBeforeCapsAssumesBadSentenceEnd:{type:"boolean"},tags:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=u,e.exports=t.default})),yx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(F.default);function r(e){return e&&e.__esModule?e:{default:e}}var o=(0,r(Ze).default)((({context:e,jsdoc:t,report:r,utils:o})=>{if(o.avoidDocs())return;const{exemptNoArguments:s=!1}=e.options[0]||{},a="example",i=n.default.filter(t.tags,{tag:a});if(i.length)i.forEach((e=>{n.default.compact(`${e.name} ${e.description}`.trim().split("\n")).length||r("Missing JSDoc @example description.")}));else{if(s&&o.isIteratingFunction()&&!o.hasParams())return;o.reportJSDoc("Missing JSDoc @example declaration.",null,(()=>{o.addTag(a)}))}}),{contextDefaults:!0,meta:{docs:{description:"Requires that all functions have examples.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-example"},fixable:"code",schema:[{additionalProperties:!1,properties:{checkConstructors:{default:!0,type:"boolean"},checkGetters:{default:!1,type:"boolean"},checkSetters:{default:!1,type:"boolean"},contexts:{items:{type:"string"},type:"array"},exemptedBy:{items:{type:"string"},type:"array"},exemptNoArguments:{default:!1,type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=o,e.exports=t.default})),xx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o={file:{initialCommentsOnly:!0,mustExist:!0,preventDuplicates:!0}},s=e=>{e.globalTags||(e.globalTags={},e.hasDuplicates={},e.hasTag={},e.hasNonCommentBeforeTag={})};var a=(0,r.default)((({jsdocNode:e,state:t,utils:n,context:r})=>{const{tags:a=o}=r.options[0]||{};s(t);for(const r of Object.keys(a)){const o=n.getPreferredTagName({tagName:r}),s=o&&n.hasTag(o);t.hasTag[r]=s||t.hasTag[r];const a=t.hasDuplicates[r];!1===a?t.hasDuplicates[r]=s:!a&&s&&(t.hasDuplicates[r]=!1,t.hasNonCommentBeforeTag[r]=t.hasNonComment&&t.hasNonComment{const[a,{tags:i}={}]=r.options,c=(t,r,o=a)=>{const i=!o||"always"===o;if(!t.description.trim())return;const c=/^\s*-/u.test(t.description);i?c||n(`There must be a hyphen before @${r} description.`,(n=>{const r=t.line,o=e.getText(s).split("\n"),a=t.description.split("\n")[0],i=o[r].lastIndexOf(a),c=o[r].slice(0,i)+"- "+a;o.splice(r,1,c);const l=o.join("\n");return n.replaceText(s,l)}),t):c&&n(`There must be no hyphen before @${r} description.`,(n=>{const[r]=/^\s*-\s*/u.exec(t.description),o=e.getText(s).replace(t.description,t.description.slice(r.length));return n.replaceText(s,o)}),t)};if(t.forEachPreferredTag("param",c),i){const e=Object.entries(i);e.forEach((([n,r])=>{if("*"!==n)t.forEachPreferredTag(n,((e,t)=>{c(e,t,r)}));else{const n=t.getPreferredTagName({tagName:"param"});o.tags.forEach((({tag:o})=>{o===n||e.some((([e])=>"*"!==e&&e===o))||t.forEachPreferredTag(o,((e,t)=>{c(e,t,r)}))}))}}))}}),{iterateAllJsdocs:!0,meta:{docs:{description:"Requires a hyphen before the `@param` description.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-hyphen-before-param-description"},fixable:"code",schema:[{enum:["always","never"],type:"string"},{additionalProperties:!1,properties:{tags:{anyOf:[{patternProperties:{".*":{enum:["always","never"],type:"string"}},type:"object"},{enum:["any"],type:"string"}]}},type:"object"}],type:"layout"}});t.default=r,e.exports=t.default})),Ex=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r=(0,((n=M.default)&&n.__esModule?n:{default:n}).default)("requireExportJsdoc"),o=function(e){return e&&"literal"===e.type?e.value.value:null};let s=null;const a=function(e,t,n,i){const c=i||{};switch(e.type){case"Identifier":return function(e,t,n,r){if(r.simpleIdentifier){const t={props:{},type:"literal"};return t.value={value:e.name},t}const o=n||t;return o.props[e.name]?o.props[e.name]:t.props[e.name]?t.props[e.name]:null}(e,t,n,c);case"MemberExpression":{const s=a(e.object,t,n,c),i=a(e.property,t,n,{simpleIdentifier:!e.computed}),l=o(i);if(s&&l&&s.props[l]){return s.props[l]}return r(`MemberExpression: Missing property ${e.property.name}`),null}case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSInterfaceDeclaration":case"ClassDeclaration":case"ClassExpression":case"FunctionExpression":case"FunctionDeclaration":case"ArrowFunctionExpression":{const t={props:{}};return t.props.prototype={props:{}},t.props.prototype.type="object",t.type="object",t.value=e,t}case"AssignmentExpression":return s(e.left,t,e.right,n,c);case"ClassBody":{const t={props:{}};return e.body.forEach((e=>{t.props[e.key.name]={props:{}},t.props[e.key.name].type="object",t.props[e.key.name].value=e.value})),t.type="object",t.value=e,t}case"ObjectExpression":{const r={props:{},type:"object"};return e.properties.forEach((e=>{if(["SpreadElement","ExperimentalSpreadProperty"].includes(e.type))return;const o=a(e.value,t,n,c);o&&(r.props[e.key.name]=o)})),r}case"Literal":{const t={props:{},type:"literal"};return t.value=e,t}}return null},i=function(e,t,n,r,o){e.props[t]=n,o&&r.props.window&&r.props.window.special&&(r.props.window.props[t]=n)};s=function(e,t,n,c,l){const u=c||t;let p;switch(e.type){case"FunctionDeclaration":case"TSEnumDeclaration":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"ClassDeclaration":if(e.id&&"Identifier"===e.id.type)return s(e.id,t,e,t);break;case"Identifier":if(!n)return i(u,e.name,{props:{}},t,l),u.props[e.name];{const o=a(n,t,u);if(o)return i(u,e.name,o,t,l),u.props[e.name];r("Identifier: Missing value symbol for %s",e.name)}break;case"MemberExpression":{p=a(e.object,t,u);const s=a(e.property,t,u,{simpleIdentifier:!e.computed}),c=o(s);if(p&&c)return i(p,c,a(n,t,u),t,l),p.props[c];r("MemberExpression: Missing symbol: %s",e.property.name);break}}return null};const c=function(e,t,n){switch(e.type){case"Program":e.body.forEach((e=>{c(e,t,n)}));break;case"ExpressionStatement":c(e.expression,t,n);break;case"VariableDeclaration":e.declarations.forEach((r=>{const o=s(r.id,t,null,t);n.initWindow&&"var"===e.kind&&t.props.window&&(t.props.window.props[r.id.name]=o)}));break;case"ExportNamedDeclaration":e.declaration&&c(e.declaration,t,n)}},l=function(e,t,n,r){const o=n||{};switch(e.type){case"Program":if(o.ancestorsOnly)return!1;e.body.forEach((e=>{l(e,t,o)}));break;case"ExpressionStatement":l(e.expression,t,o);break;case"AssignmentExpression":s(e.left,t,e.right);break;case"VariableDeclaration":e.declarations.forEach((n=>{const a=o.initWindow&&"var"===e.kind&&t.props.window,i=s(n.id,t,n.init,t,a);i&&r&&(i.exported=!0)}));break;case"FunctionDeclaration":"Identifier"===e.id.type&&s(e.id,t,e,t,!0);break;case"ExportDefaultDeclaration":{const n=s(e.declaration,t,e.declaration);n?n.exported=!0:e.id||(t.ANONYMOUS_DEFAULT=e.declaration);break}case"ExportNamedDeclaration":if(e.declaration)if("VariableDeclaration"===e.declaration.type)l(e.declaration,t,o,!0);else{const n=s(e.declaration,t,e.declaration);n&&(n.exported=!0)}e.specifiers.forEach((e=>{l(e,t,o)}));break;case"ExportSpecifier":{const n=a(e.local,t,t);n&&(n.exported=!0);break}case"ClassDeclaration":s(e.id,t,e.body,t);break;default:return!1}return!0},u=function(e,t,n){let r=n||[];if(!t||r.includes(t))return!1;if(r=r.slice(),r.push(t),("object"===t.type||"MethodDefinition"===t.type)&&t.value===e)return!0;const{props:o=t.body}=t;for(const t of Object.values(o||{}))if(Array.isArray(t)){if(t.some((t=>u(e,t,r))))return!0}else if(u(e,t,r))return!0;return!1},p=new Set(["ExportNamedDeclaration","ExportDefaultDeclaration"]),d=new Set(["TSPropertySignature","TSMethodSignature","ClassProperty","Method"]),f=new Set(["TSInterfaceBody","TSInterfaceDeclaration","ClassDefinition","ClassExpression","Program"]),m=function(e,t,n){return!!(n.initModuleExports&&t.props.module&&t.props.module.props.exports&&u(e,t.props.module.props.exports))||(!!(n.initWindow&&t.props.window&&u(e,t.props.window))||!(!n.esm||!function(e,t,n){if(null===e)return!1;const r=n||[],{props:o}=e;for(const e of Object.values(o))if(r.push(e),e.exported&&(t===e.value||u(t,e.value)))return!0;return!1}(t,e)))},g=function(e,t,n){return!(!e.parent||!g(e.parent,t,n))||l(e,t,n)},h=function(e,t,n){const r=n||{ancestorsOnly:!1,esm:!0,initModuleExports:!0,initWindow:!0},o={props:{}};return r.initModuleExports&&(o.props.module={props:{}},o.props.module.props.exports={props:{}},o.props.exports=o.props.module.props.exports),r.initWindow&&(o.props.window={props:{}},o.props.window.special=!0),r.ancestorsOnly?g(t,o,r):(c(e,o,r),l(e,o,r)),{globalVars:o}};var y={isUncommentedExport:function(e,t,n,r){if(n.esm){const n=function(e){let t=e;for(;t;){if(p.has(t.type))return t;t=t.parent}return!1}(e);if(n&&!(0,Ke.findJSDocComment)(n,t,r))return!0;if(function(e){if(!d.has(e.type))return!1;let t=e.parent;for(;t;){if(p.has(t.type))return t;if(!f.has(t.type))return!1;t=t.parent}return!1}(e)&&!(0,Ke.findJSDocComment)(e,t,r))return!0}const o=h(t.ast,e,n);return m(e,o.globalVars,n)},parse:h};t.default=y,e.exports=t.default})),Sx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(F.default),r=s(Ex),o=s(Qe);function s(e){return e&&e.__esModule?e:{default:e}}const a={additionalProperties:!1,properties:{checkConstructors:{default:!0,type:"boolean"},checkGetters:{anyOf:[{type:"boolean"},{enum:["no-setter"],type:"string"}],default:!0},checkSetters:{anyOf:[{type:"boolean"},{enum:["no-getter"],type:"string"}],default:!0},contexts:{items:{anyOf:[{type:"string"},{additionalProperties:!1,properties:{context:{type:"string"},inlineCommentBlock:{type:"boolean"}},type:"object"}]},type:"array"},enableFixer:{default:!0,type:"boolean"},exemptEmptyConstructors:{default:!1,type:"boolean"},exemptEmptyFunctions:{default:!1,type:"boolean"},publicOnly:{oneOf:[{default:!1,type:"boolean"},{additionalProperties:!1,default:{},properties:{ancestorsOnly:{type:"boolean"},cjs:{type:"boolean"},esm:{type:"boolean"},window:{type:"boolean"}},type:"object"}]},require:{additionalProperties:!1,default:{},properties:{ArrowFunctionExpression:{default:!1,type:"boolean"},ClassDeclaration:{default:!1,type:"boolean"},ClassExpression:{default:!1,type:"boolean"},FunctionDeclaration:{default:!0,type:"boolean"},FunctionExpression:{default:!1,type:"boolean"},MethodDefinition:{default:!1,type:"boolean"}},type:"object"}},type:"object"},i=(e,t,r,o)=>n.default.has(e,`options[0][${r}][${o}]`)?e.options[0][r][o]:t.properties[o].default;var c={create(e){const t=e.getSourceCode(),n=(0,Ze.getSettings)(e);if(!n)return{};const{require:s,contexts:c,publicOnly:l,exemptEmptyFunctions:u,exemptEmptyConstructors:p,enableFixer:d}=(e=>{const{publicOnly:t,contexts:n=[],exemptEmptyConstructors:r=!0,exemptEmptyFunctions:o=!1,enableFixer:s=!0}=e.options[0]||{};return{contexts:n,enableFixer:s,exemptEmptyConstructors:r,exemptEmptyFunctions:o,publicOnly:(n=>{if(!t)return!1;const r={};return Object.keys(n.properties).forEach((t=>{const o=i(e,n,"publicOnly",t);r[t]=o})),r})(a.properties.publicOnly.oneOf[1]),require:(t=>{const n={};return Object.keys(t.properties).forEach((r=>{const o=i(e,t,"require",r);n[r]=o})),n})(a.properties.require)}})(e),f=(s,i)=>{if((0,Ke.getJSDocComment)(t,s,n))return;if(o.default.exemptSpeciaMethods({tags:[]},s,e,[a]))return;if(u&&i||p&&o.default.isConstructor(s)){if(!o.default.getFunctionParameterNames(s).length&&!o.default.hasReturnValue(s,e))return}const f=e=>{const r=0===n.minLines&&n.maxLines>=1?1:n.minLines;let a=(0,Ke.getReducedASTNode)(s,t);const i=(0,Ke.getDecorator)(a);i&&(a=i);const l=o.default.getIndent({text:t.getText(a,a.loc.start.column)}),{inlineCommentBlock:u}=c.find((({context:e})=>e===s.type))||{},p=(u?"/** ":`/**\n${l}*\n${l}`)+`*/${"\n".repeat(r)}${l.slice(0,-1)}`;return e.insertTextBefore(a,p)},m=()=>{const t={end:s.loc.start+1,start:s.loc.start};e.report({fix:d?f:null,loc:t,messageId:"missingJsDoc",node:s})};if(l){var g,h,y,x;const e={ancestorsOnly:Boolean(null!==(g=null==l?void 0:l.ancestorsOnly)&&void 0!==g&&g),esm:Boolean(null===(h=null==l?void 0:l.esm)||void 0===h||h),initModuleExports:Boolean(null===(y=null==l?void 0:l.cjs)||void 0===y||y),initWindow:Boolean(null!==(x=null==l?void 0:l.window)&&void 0!==x&&x)};r.default.isUncommentedExport(s,t,e,n)&&m()}else m()},m=e=>s[e]||c.some((t=>"object"==typeof t?t.context===e:t===e));return{...o.default.getContextObject(o.default.enforcedContexts(e,[]),f),ArrowFunctionExpression(e){m("ArrowFunctionExpression")&&(["VariableDeclarator","AssignmentExpression","ExportDefaultDeclaration"].includes(e.parent.type)||["Property","ObjectProperty","ClassProperty"].includes(e.parent.type)&&e===e.parent.value)&&f(e,!0)},ClassDeclaration(e){m("ClassDeclaration")&&f(e)},ClassExpression(e){m("ClassExpression")&&f(e)},FunctionDeclaration(e){m("FunctionDeclaration")&&f(e,!0)},FunctionExpression(e){(m("MethodDefinition")&&"MethodDefinition"===e.parent.type||m("FunctionExpression")&&(["VariableDeclarator","AssignmentExpression","ExportDefaultDeclaration"].includes(e.parent.type)||["Property","ObjectProperty","ClassProperty"].includes(e.parent.type)&&e===e.parent.value))&&f(e,!0)}}},meta:{docs:{category:"Stylistic Issues",description:"Require JSDoc comments",recommended:"true",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc"},fixable:"code",messages:{missingJsDoc:"Missing JSDoc comment."},schema:[a],type:"suggestion"}};t.default=c,e.exports=t.default})),Cx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(F.default),r=o(Ze);function o(e){return e&&e.__esModule?e:{default:e}}const s=(e,t)=>{let n,r=t;const o=e.length<=1;if(o){n=`${e[0]}${r++}`}else n=e.shift();return[n,o,()=>s(e,r)]};var a=(0,r.default)((({jsdoc:e,utils:t,context:r})=>{const o=t.getPreferredTagName({tagName:"param"});if(!o)return;const a=t.getJsdocTagsDeep(o),i=a.filter((e=>!e.name.includes("."))).map(((e,t)=>({...e,idx:t})));if(t.avoidDocs())return;if(t.hasTag("type"))return;const{autoIncrementBase:c=0,checkRestProperty:l=!1,checkDestructured:u=!0,checkDestructuredRoots:p=!0,checkTypesPattern:d="/^(?:[oO]bject|[aA]rray|PlainObject|Generic(?:Object|Array))$/",enableFixer:f=!0,enableRootFixer:m=!0,enableRestElementFixer:g=!0,unnamedRootBase:h=["root"],useDefaultObjectProperties:y=!1}=r.options[0]||{},x=t.getRegexFromString(d),b=[],E=t.getFunctionParameterNames(y),S=t.flattenRoots(E).names,C={},v=e=>C[t.dropPathSegmentQuotes(String(e))];S.forEach(((e,n)=>{((e,n)=>{C[t.dropPathSegmentQuotes(String(e))]=n})(e,n)}));let[A,k,w]=s([...h],c);E.forEach(((e,r)=>{let o,s,c;if(Array.isArray(e)){const s=i[r]||a[r];let c;if(e[0])c=e[0];else if(s&&s.name){if(c=s.name,s.type&&-1===s.type.search(x))return}else c=A,o=k,[A,k,w]=w();const{hasRestElement:d,hasPropertyRest:f,rests:m,names:h}=e[1],y=[];if(!g&&d)return;if(!p)return;h.forEach(((r,s)=>{if(!a.find((({name:e})=>e===c))&&!b.find((({functionParameterName:e})=>e===c))){const e=a.findIndex((({name:e})=>!e));e>-1?b.push({functionParameterIdx:e,functionParameterName:c,inc:o,remove:!0}):b.push({functionParameterIdx:(i=c,n.default.has(C,t.dropPathSegmentQuotes(String(i)))?v(c):v(r)),functionParameterName:c,inc:o})}var i;if(!u)return;if(!l&&m[s])return;const p=`${c}.${r}`,g=a.find((({name:e,type:n})=>t.comparePaths(e)(p)&&-1===n.search(x)&&""!==n));void 0!==g&&y.push(g.name),y.find((e=>p.startsWith(e)))||a&&!a.find((({name:e})=>t.comparePaths(e)(p)))&&b.push({functionParameterIdx:v(e[0]?p:r),functionParameterName:p,inc:o,type:d&&!f?"{...any}":void 0})}))}else{if("object"==typeof e){if(!g&&e.restElement)return;s=e.name,c="{...any}"}else s=e;a&&!a.find((({name:e})=>e===s))&&b.push({functionParameterIdx:v(s),functionParameterName:s,inc:o,type:c})}}));const P=({functionParameterIdx:t,functionParameterName:n,remove:r,inc:s,type:a})=>{if(s&&!m)return;const i=(t,r,s)=>{const i={number:r+1,tokens:{delimiter:"*",description:"",end:"",name:n,newAdd:!0,postDelimiter:" ",postName:"",postTag:" ",postType:a?" ":"",start:e.source[r].tokens.start,tag:`@${o}`,type:null!=a?a:""}};e.tags.splice(t,s,{name:n,newAdd:!0,source:[i],tag:o,type:null!=a?a:""});const c=e.source[0].number;e.source.splice(r,s,i),e.source.slice(r).forEach(((e,t)=>{e.number=c+r+t}))},c=e.source.findIndex((({tokens:{tag:e,end:t}})=>e||t));if(r)i(t,c+t,1);else{const n=((e,t)=>{const n=E.slice(t||0),r=e.findIndex((({name:e,newAdd:t})=>!t&&n.some((t=>Array.isArray(t)?t[1].names.includes(e):"object"==typeof t?e===t.name:e===t)))),s=r>-1?e.slice(0,r):e.filter((({tag:e})=>e===o));let a=0;return s.forEach((({source:e})=>{e.forEach((({tokens:{end:e}})=>{e||a++}))})),a})(e.tags,t);i(n,c+n,0)}},T=()=>{b.forEach((e=>{P(e)}))};b.forEach((({functionParameterName:e})=>{t.reportJSDoc(`Missing JSDoc @${o} "${e}" declaration.`,null,f?T:null)}))}),{contextDefaults:!0,meta:{docs:{description:"Requires that all function parameters are documented.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param"},fixable:"code",schema:[{additionalProperties:!1,properties:{autoIncrementBase:{default:0,type:"integer"},checkConstructors:{default:!0,type:"boolean"},checkDestructured:{default:!0,type:"boolean"},checkDestructuredRoots:{default:!0,type:"boolean"},checkGetters:{default:!1,type:"boolean"},checkRestProperty:{default:!1,type:"boolean"},checkSetters:{default:!1,type:"boolean"},checkTypesPattern:{type:"string"},contexts:{items:{type:"string"},type:"array"},enableFixer:{type:"boolean"},enableRestElementFixer:{type:"boolean"},enableRootFixer:{type:"boolean"},exemptedBy:{items:{type:"string"},type:"array"},unnamedRootBase:{items:{type:"string"},type:"array"},useDefaultObjectProperties:{type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=a,e.exports=t.default})),vx=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("param",((t,n)=>{t.description.trim()||e(`Missing JSDoc @${n} "${t.name}" description.`,null,t)}))}),{contextDefaults:!0,meta:{docs:{description:"Requires that each `@param` tag has a `description` value.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-description"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=r,e.exports=t.default})),Ax=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("param",((t,n)=>{t.tag&&""===t.name&&e(`There must be an identifier after @${n} ${""===t.type?"type":"tag"}.`,null,t)}))}),{contextDefaults:!0,meta:{docs:{description:"Requires that all function parameters have names.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-name"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=r,e.exports=t.default})),kx=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("param",((t,n)=>{t.type||e(`Missing JSDoc @${n} "${t.name}" type.`,null,t)}))}),{contextDefaults:!0,meta:{docs:{description:"Requires that each `@param` tag has a `type` value.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-param-type"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=r,e.exports=t.default})),wx=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({utils:e})=>{const t=e.filterTags((({tag:e})=>["typedef","namespace"].includes(e)));if(!t.length)return;const n=e.getPreferredTagName({tagName:"property"});e.hasATag([n])||t.forEach((t=>{["object","Object","PlainObject"].includes(t.type)&&e.reportJSDoc(`Missing JSDoc @${n}.`,null,(()=>{e.addTag(n)}))}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property"},fixable:"code",type:"suggestion"}});t.default=r,e.exports=t.default})),Px=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("property",((t,n)=>{t.description.trim()||e(`Missing JSDoc @${n} "${t.name}" description.`,null,t)}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Requires that each `@property` tag has a `description` value.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-description"},type:"suggestion"}});t.default=r,e.exports=t.default})),Tx=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("property",((t,n)=>{t.tag&&""===t.name&&e(`There must be an identifier after @${n} ${""===t.type?"type":"tag"}.`,null,t)}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Requires that all function `@property` tags have names.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-name"},type:"suggestion"}});t.default=r,e.exports=t.default})),Ix=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("property",((t,n)=>{t.type||e(`Missing JSDoc @${n} "${t.name}" type.`,null,t)}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Requires that each `@property` tag has a `type` value.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-property-type"},type:"suggestion"}});t.default=r,e.exports=t.default})),Fx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};var o=(0,r.default)((({report:e,utils:t,context:n})=>{const{forceRequireReturn:r=!1,forceReturnsWithAsync:o=!1}=n.options[0]||{};if((e=>e.hasATag(["abstract","virtual","class","constructor","type","interface"])||e.avoidDocs())(t))return;const s=t.getPreferredTagName({tagName:"returns"});if(!s)return;const a=t.getTags(s);a.length>1&&e(`Found more than one @${s} declaration.`);const i=t.isIteratingFunction(),[c]=a,l=null==c;(()=>{if(!l)return!1;if(r&&(i||t.isVirtualFunction()))return!0;const e=!i&&t.hasTag("async")||i&&t.isAsync();return!(!o||!e)||i&&t.hasValueOrExecutorHasNonEmptyResolveValue(o)})()&&e(`Missing JSDoc @${s} declaration.`)}),{contextDefaults:!0,meta:{docs:{description:"Requires returns are documented.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns"},schema:[{additionalProperties:!1,properties:{checkConstructors:{default:!1,type:"boolean"},checkGetters:{default:!0,type:"boolean"},contexts:{items:{type:"string"},type:"array"},exemptedBy:{items:{type:"string"},type:"array"},forceRequireReturn:{default:!1,type:"boolean"},forceReturnsWithAsync:{default:!1,type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=o,e.exports=t.default})),Dx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};var o=(0,r.default)((({context:e,report:t,settings:n,utils:r})=>{const{exemptAsync:o=!0,reportMissingReturnForUndefinedTypes:s=!1}=e.options[0]||{};if(((e,t)=>{const n=["abstract","virtual","class","constructor","interface"];return"closure"===t.mode&&n.push("record"),e.hasATag(n)||e.isConstructor()||e.classHasTag("interface")||"closure"===t.mode&&e.classHasTag("record")})(r,n))return;if(o&&r.isAsync())return;const a=r.getPreferredTagName({tagName:"returns"});if(!a)return;const i=r.getTags(a);0!==i.length&&(i.length>1?t(`Found more than one @${a} declaration.`):!s&&!r.hasDefinedTypeTag(i[0])||r.hasValueOrExecutorHasNonEmptyResolveValue(o)||t(`JSDoc @${a} declaration present but return expression not available in function.`))}),{meta:{docs:{description:"Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-check"},schema:[{additionalProperties:!1,properties:{exemptAsync:{default:!0,type:"boolean"},reportMissingReturnForUndefinedTypes:{default:!1,type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=o,e.exports=t.default})),Ox=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("returns",((t,n)=>{const r=t.type&&t.type.trim();["void","undefined","Promise","Promise"].includes(r)||t.description.trim()||e(`Missing JSDoc @${n} description.`,null,t)}))}),{contextDefaults:!0,meta:{docs:{description:"Requires that the `@returns` tag has a `description` value.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-description"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=r,e.exports=t.default})),Bx=ie((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=(0,((n=Ze)&&n.__esModule?n:{default:n}).default)((({report:e,utils:t})=>{t.forEachPreferredTag("returns",((t,n)=>{t.type||e(`Missing JSDoc @${n} type.`,null,t)}))}),{contextDefaults:!0,meta:{docs:{description:"Requires that `@returns` tag has `type` value.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=r,e.exports=t.default})),Nx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};var o=(0,r.default)((({report:e,utils:t})=>{if((e=>e.hasATag(["abstract","virtual","type"])||e.avoidDocs())(t))return;const n=t.getPreferredTagName({tagName:"throws"});if(!n)return;const r=t.getTags(n),o=t.isIteratingFunction(),[s]=r;!!(null==s)&&o&&t.hasThrowValue()&&e(`Missing JSDoc @${n} declaration.`)}),{contextDefaults:!0,meta:{docs:{url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"},exemptedBy:{items:{type:"string"},type:"array"}},type:"object"}],type:"suggestion"}});t.default=o,e.exports=t.default})),jx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=(e,t,n)=>{const r=e.getPreferredTagName({tagName:n});if(!r)return[];const o=e.getTags(r);o.length>1&&t(`Found more than one @${r} declaration.`);const[s]=o;return[r,null==s]};var s=(0,r.default)((({report:e,utils:t,context:n})=>{const{next:r=!1,nextWithGeneratorTag:s=!1,forceRequireNext:a=!1,forceRequireYields:i=!1,withGeneratorTag:c=!0}=n.options[0]||{};if((e=>e.hasATag(["abstract","virtual","class","constructor","type","interface"])||e.avoidDocs())(t))return;const l=t.isIteratingFunction(),[u,p]=o(t,e,"yields");if(u){(()=>!!p&&(!!(c&&t.hasTag("generator")||i&&l&&t.isGenerator())||l&&t.isGenerator()&&t.hasYieldValue()))()&&e(`Missing JSDoc @${u} declaration.`)}if(r||s||a){const[n,i]=o(t,e,"next");if(!n)return;(()=>!!i&&(!(!s||!t.hasTag("generator"))||!(!r&&!a||!l||!t.isGenerator())&&(a||t.hasYieldReturnValue())))()&&e(`Missing JSDoc @${n} declaration.`)}}),{contextDefaults:!0,meta:{docs:{description:"Requires yields are documented.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-yields"},schema:[{additionalProperties:!1,properties:{contexts:{items:{type:"string"},type:"array"},exemptedBy:{items:{type:"string"},type:"array"},forceRequireNext:{default:!1,type:"boolean"},forceRequireYields:{default:!1,type:"boolean"},next:{default:!1,type:"boolean"},nextWithGeneratorTag:{default:!1,type:"boolean"},withGeneratorTag:{default:!0,type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=s,e.exports=t.default})),Lx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=(e,t,n)=>{const r=e.getPreferredTagName({tagName:n});if(!r)return[];const o=e.getTags(r);return 0===o.length?[]:o.length>1?(t(`Found more than one @${r} declaration.`),[]):[r,o[0]]};var s=(0,r.default)((({context:e,report:t,settings:n,utils:r})=>{if(((e,t)=>{const n=["abstract","virtual","class","constructor","interface"];return"closure"===t.mode&&n.push("record"),e.hasATag(n)||e.isConstructor()||e.classHasTag("interface")||"closure"===t.mode&&e.classHasTag("record")})(r,n))return;const{next:s=!1,checkGeneratorsOnly:a=!1}=e.options[0]||{},[i,c]=o(r,t,"yields");if(i){(()=>!(!a||r.isGenerator())||r.hasDefinedTypeTag(c)&&!r.hasYieldValue())()&&t(`JSDoc @${i} declaration present but yield expression not available in function.`)}if(s){const[e,n]=o(r,t,"next");if(e){(()=>!(!a||r.isGenerator())||r.hasDefinedTypeTag(n)&&!r.hasYieldReturnValue())()&&t(`JSDoc @${e} declaration present but yield expression with return value not available in function.`)}}}),{meta:{docs:{description:"Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-yields-check"},schema:[{additionalProperties:!1,properties:{checkGeneratorsOnly:{default:!1,type:"boolean"},contexts:{items:{type:"string"},type:"array"},exemptedBy:{items:{type:"string"},type:"array"},next:{default:!1,type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=s,e.exports=t.default})),Rx=ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,r=(n=Ze)&&n.__esModule?n:{default:n};const o=/as\s+/u;var s=(0,r.default)((({jsdoc:e,report:t,utils:n,context:r,settings:s})=>{const{allowEmptyNamepaths:a=!1}=r.options[0]||{},{mode:i}=s,c=e=>{try{return Hy(e,{mode:i}),!0}catch{}return!1};e.tags.forEach((e=>{const r=function(n,r){if(c(n))return!0;let o=!1;if(r)switch(r){case"module":n.startsWith("module:")||(o=c(`module:${n}`));break;case"memberof":case"memberof!":{const e=n.slice(-1);["#",".","~"].includes(e)&&(o=c(n.slice(0,-1)));break}case"borrows":{const e=n.charAt();["#",".","~"].includes(e)&&(o=c(n.slice(1)))}}return!!o||(t(`Syntax error in namepath: ${n}`,null,e),!1)};if("borrows"===e.tag){const n=e.description.replace(o,"").trim();if(!o.test(e.description)||!n)return void t(`@borrows must have an "as" expression. Found "${e.description}"`,null,e);if(r(n,"borrows")){const t=e.name;r(t)}return}const s=["jsdoc","typescript","closure","permissive"].filter((e=>e!==i)).map((e=>n.getTagStructureForMode(e))),l=n.tagMightHaveNamePosition(e.tag,s);if(!0!==l&&e.name){const n=!1===l?"":` in "${i}" mode`;return void t(`@${e.tag} should not have a name${n}.`,null,e)}const u=n.tagMightHaveTypePosition(e.tag,s);if(!0!==u&&e.type){const n=!1===u?"":` in "${i}" mode`;return void t(`@${e.tag} should not have a bracketed type${n}.`,null,e)}const p=n.tagMustHaveNamePosition(e.tag,s);if(!(!1===p||e.name||a||["param","arg","argument","property","prop"].includes(e.tag)||"see"===e.tag&&e.description.includes("{@link"))){const n=!0===p?"":` in "${i}" mode`;return void t(`Tag @${e.tag} must have a name/namepath${n}.`,null,e)}const d=n.tagMustHaveTypePosition(e.tag,s);if(!1!==d&&!e.type){const n=!0===d?"":` in "${i}" mode`;return void t(`Tag @${e.tag} must have a type${n}.`,null,e)}const f=n.tagMissingRequiredTypeOrNamepath(e,s);if(!1!==f&&!a){const n=!0===f?"":` in "${i}" mode`;return void t(`Tag @${e.tag} must have either a type or namepath${n}.`,null,e)}!0===u&&Boolean(e.type)&&function(n){try{Hy(n,{mode:i})}catch{return t(`Syntax error in type: ${n}`,null,e),!1}}(e.type);(!1!==p||n.tagMightHaveNamepath(e.tag))&&Boolean(e.name)&&("jsdoc"!==i&&"template"===e.tag?n.parseClosureTemplateTag(e).forEach((e=>{r(e)})):r(e.name,e.tag))}))}),{iterateAllJsdocs:!0,meta:{docs:{description:"Requires all types to be valid JSDoc or Closure compiler types without syntax errors.",url:"https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types"},schema:[{additionalProperies:!1,properties:{allowEmptyNamepaths:{default:!1,type:"boolean"}},type:"object"}],type:"suggestion"}});t.default=s,e.exports=t.default})),Mx=ae(ie((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=V(et),r=V(tt),o=V(oy),s=V(sy),a=V(ay),i=V(iy),c=V(cy),l=V(ly),u=V(uy),p=V(Zy),d=V(sx),f=V(ax),m=V(ix),g=V(cx),h=V(lx),y=V(ux),x=V(px),b=V(dx),E=V(fx),S=V(mx),C=V(hx),v=V(yx),A=V(xx),k=V(bx),w=V(Sx),P=V(Cx),T=V(vx),I=V(Ax),F=V(kx),D=V(wx),O=V(Px),B=V(Tx),N=V(Ix),j=V(Fx),L=V(Dx),R=V(Ox),M=V(Bx),_=V(Nx),$=V(jx),q=V(Lx),U=V(Rx);function V(e){return e&&e.__esModule?e:{default:e}}var W={configs:{recommended:{plugins:["jsdoc"],rules:{"jsdoc/check-access":"warn","jsdoc/check-alignment":"warn","jsdoc/check-examples":"off","jsdoc/check-indentation":"off","jsdoc/check-line-alignment":"off","jsdoc/check-param-names":"warn","jsdoc/check-property-names":"warn","jsdoc/check-syntax":"off","jsdoc/check-tag-names":"warn","jsdoc/check-types":"warn","jsdoc/check-values":"warn","jsdoc/empty-tags":"warn","jsdoc/implements-on-classes":"warn","jsdoc/match-description":"off","jsdoc/newline-after-description":"warn","jsdoc/no-bad-blocks":"off","jsdoc/no-defaults":"off","jsdoc/no-types":"off","jsdoc/no-undefined-types":"warn","jsdoc/require-description":"off","jsdoc/require-description-complete-sentence":"off","jsdoc/require-example":"off","jsdoc/require-file-overview":"off","jsdoc/require-hyphen-before-param-description":"off","jsdoc/require-jsdoc":"warn","jsdoc/require-param":"warn","jsdoc/require-param-description":"warn","jsdoc/require-param-name":"warn","jsdoc/require-param-type":"warn","jsdoc/require-property":"warn","jsdoc/require-property-description":"warn","jsdoc/require-property-name":"warn","jsdoc/require-property-type":"warn","jsdoc/require-returns":"warn","jsdoc/require-returns-check":"warn","jsdoc/require-returns-description":"warn","jsdoc/require-returns-type":"warn","jsdoc/require-throws":"off","jsdoc/require-yields":"warn","jsdoc/require-yields-check":"warn","jsdoc/valid-types":"warn"}}},rules:{"check-access":n.default,"check-alignment":r.default,"check-examples":o.default,"check-indentation":s.default,"check-line-alignment":a.default,"check-param-names":i.default,"check-property-names":c.default,"check-syntax":l.default,"check-tag-names":u.default,"check-types":p.default,"check-values":d.default,"empty-tags":f.default,"implements-on-classes":m.default,"match-description":g.default,"newline-after-description":h.default,"no-bad-blocks":y.default,"no-defaults":x.default,"no-types":b.default,"no-undefined-types":E.default,"require-description":S.default,"require-description-complete-sentence":C.default,"require-example":v.default,"require-file-overview":A.default,"require-hyphen-before-param-description":k.default,"require-jsdoc":w.default,"require-param":P.default,"require-param-description":T.default,"require-param-name":I.default,"require-param-type":F.default,"require-property":D.default,"require-property-description":O.default,"require-property-name":B.default,"require-property-type":N.default,"require-returns":j.default,"require-returns-check":L.default,"require-returns-description":R.default,"require-returns-type":M.default,"require-throws":_.default,"require-yields":$.default,"require-yields-check":q.default,"valid-types":U.default}};t.default=W,e.exports=t.default})));module.exports=Mx; \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js new file mode 100644 index 00000000000000..ce968149796dfd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js @@ -0,0 +1,13 @@ +"use strict";var r=require("path"),e=require("util");function t(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var n=t(r),o=t(e),i=Object.prototype.hasOwnProperty,a=Object.prototype.toString,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,s=function(r){return"function"==typeof Array.isArray?Array.isArray(r):"[object Array]"===a.call(r)},u=function(r){if(!r||"[object Object]"!==a.call(r))return!1;var e,t=i.call(r,"constructor"),n=r.constructor&&r.constructor.prototype&&i.call(r.constructor.prototype,"isPrototypeOf");if(r.constructor&&!t&&!n)return!1;for(e in r);return void 0===e||i.call(r,e)},f=function(r,e){c&&"__proto__"===e.name?c(r,e.name,{enumerable:!0,configurable:!0,value:e.newValue,writable:!0}):r[e.name]=e.newValue},p=function(r,e){if("__proto__"===e){if(!i.call(r,e))return;if(l)return l(r,e).value}return r[e]},h=function r(){var e,t,n,o,i,a,c=arguments[0],l=1,h=arguments.length,d=!1;for("boolean"==typeof c&&(d=c,c=arguments[1]||{},l=2),(null==c||"object"!=typeof c&&"function"!=typeof c)&&(c={});l + * @license MIT + */function L(r){return!!r.constructor&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)}var S=C,O={}.hasOwnProperty,T=C.prototype;T.toString=function(r){var e=this.contents||"";return E(e)?e.toString(r):String(e)};var D=["history","path","basename","stem","extname","dirname"];function C(r){var e,t,n;if(r){if("string"==typeof r||E(r))r={contents:r};else if("message"in r&&"messages"in r)return r}else r={};if(!(this instanceof C))return new C(r);for(this.data={},this.messages=[],this.history=[],this.cwd=process.cwd(),t=-1,n=D.length;++ti.length;a&&i.push(n);try{e=r.apply(null,i)}catch(r){if(a&&t)throw r;return n(r)}a||(e&&"function"==typeof e.then?e.then(o,n):e instanceof Error?n(e):o(e))};function n(){t||(t=!0,e.apply(null,arguments))}function o(r){n(null,r)}};var V=G;G.wrap=P;var H=[].slice;function G(){var r=[],e={run:function(){var e=-1,t=H.call(arguments,0,-1),n=arguments[arguments.length-1];if("function"!=typeof n)throw new Error("Expected function as last argument, not "+n);function o(i){var a=r[++e],c=H.call(arguments,0),l=c.slice(1),s=t.length,u=-1;if(i)n(i);else{for(;++ue)return{line:t+1,column:e-(r[t-1]||0)+1,offset:e};return{}}}function pr(r){return function(e){var t=e&&e.line,n=e&&e.column;if(!isNaN(t)&&!isNaN(n)&&t-1 in r)return(r[t-2]||0)+n-1||0;return-1}}var hr=function(r,e){return function(t){var n,o=0,i=t.indexOf("\\"),a=r[e],c=[];for(;-1!==i;)c.push(t.slice(o,i)),o=i+1,(n=t.charAt(o))&&-1!==a.indexOf(n)||c.push("\\"),i=t.indexOf("\\",o);return c.push(t.slice(o)),c.join("")}};var dr={AElig:"Æ",AMP:"&",Aacute:"Á",Acirc:"Â",Agrave:"À",Aring:"Å",Atilde:"Ã",Auml:"Ä",COPY:"©",Ccedil:"Ç",ETH:"Ð",Eacute:"É",Ecirc:"Ê",Egrave:"È",Euml:"Ë",GT:">",Iacute:"Í",Icirc:"Î",Igrave:"Ì",Iuml:"Ï",LT:"<",Ntilde:"Ñ",Oacute:"Ó",Ocirc:"Ô",Ograve:"Ò",Oslash:"Ø",Otilde:"Õ",Ouml:"Ö",QUOT:'"',REG:"®",THORN:"Þ",Uacute:"Ú",Ucirc:"Û",Ugrave:"Ù",Uuml:"Ü",Yacute:"Ý",aacute:"á",acirc:"â",acute:"´",aelig:"æ",agrave:"à",amp:"&",aring:"å",atilde:"ã",auml:"ä",brvbar:"¦",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",ecirc:"ê",egrave:"è",eth:"ð",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",iacute:"í",icirc:"î",iexcl:"¡",igrave:"ì",iquest:"¿",iuml:"ï",laquo:"«",lt:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",oacute:"ó",ocirc:"ô",ograve:"ò",ordf:"ª",ordm:"º",oslash:"ø",otilde:"õ",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',raquo:"»",reg:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",times:"×",uacute:"ú",ucirc:"û",ugrave:"ù",uml:"¨",uuml:"ü",yacute:"ý",yen:"¥",yuml:"ÿ"},gr={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},mr=function(r){var e="string"==typeof r?r.charCodeAt(0):r;return e>=48&&e<=57};var br=function(r){var e="string"==typeof r?r.charCodeAt(0):r;return e>=97&&e<=102||e>=65&&e<=70||e>=48&&e<=57};var vr=function(r){var e="string"==typeof r?r.charCodeAt(0):r;return e>=97&&e<=122||e>=65&&e<=90};var yr=function(r){return vr(r)||mr(r)};var wr={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},Ar=function(r){return!!kr.call(wr,r)&&wr[r]},kr={}.hasOwnProperty;var qr=function(r,e){var t,n,o={};e||(e={});for(n in Sr)t=e[n],o[n]=null==t?Sr[n]:t;(o.position.indent||o.position.start)&&(o.indent=o.position.indent||[],o.position=o.position.start);return function(r,e){var t,n,o,i,a,c,l,s,u,f,p,h,d,g,m,b,v,y,w,A=e.additional,k=e.nonTerminated,q=e.text,x=e.reference,E=e.warning,L=e.textContext,S=e.referenceContext,O=e.warningContext,T=e.position,D=e.indent||[],C=r.length,N=0,R=-1,I=T.column||1,B=T.line||1,j="",U=[];"string"==typeof A&&(A=A.charCodeAt(0));b=z(),s=E?P:Lr,N--,C++;for(;++N65535&&(f+=Er((c-=65536)>>>10|55296),c=56320|1023&c),c=f+Er(c))):g!==Or&&s(4,y)),c?(V(),b=z(),N=w-1,I+=w-d+1,U.push(c),(v=z()).offset++,x&&x.call(S,c,{start:b,end:v},r.slice(d-1,w)),b=v):(i=r.slice(d-1,w),j+=i,I+=i.length,N=w-1)}else 10===a&&(B++,R++,I=0),a==a?(j+=Er(a),I++):V();return U.join("");function z(){return{line:B,column:I,offset:N+(T.offset||0)}}function P(r,e){var t=z();t.column+=e,t.offset+=e,E.call(O,Rr[r],t,r)}function V(){j&&(U.push(j),q&&q.call(L,j,{start:b,end:z()}),j="")}}(r,o)},xr={}.hasOwnProperty,Er=String.fromCharCode,Lr=Function.prototype,Sr={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},Or="named",Tr="hexadecimal",Dr="decimal",Cr={hexadecimal:16,decimal:10},Nr={};Nr.named=yr,Nr[Dr]=mr,Nr[Tr]=br;var Rr={};function Ir(r){return r>=55296&&r<=57343||r>1114111}function Br(r){return r>=1&&r<=8||11===r||r>=13&&r<=31||r>=127&&r<=159||r>=64976&&r<=65007||65535==(65535&r)||65534==(65535&r)}Rr[1]="Named character references must be terminated by a semicolon",Rr[2]="Numeric character references must be terminated by a semicolon",Rr[3]="Named character references cannot be empty",Rr[4]="Numeric character references cannot be empty",Rr[5]="Named character references must be known",Rr[6]="Numeric character references cannot be disallowed",Rr[7]="Numeric character references cannot be outside the permissible Unicode range";var jr=function(r){return n.raw=o,n;function e(e){for(var t=r.offset,n=e.line,o=[];++n&&n in t;)o.push((t[n]||0)+1);return{start:e,indent:o}}function t(e,t,n){3!==n&&r.file.message(e,t)}function n(n,o,i){qr(n,{position:e(o),warning:t,text:i,reference:i,textContext:r,referenceContext:r})}function o(r,n,o){return qr(r,nr(o,{position:e(n),warning:t}))}};var Ur=function(r){return function(e,t){var n,o,i,a,c,l=this,s=l.offset,u=[],f=l[r+"Methods"],p=l[r+"Tokenizers"],h=t.line,d=t.column;if(!e)return u;k.now=b,k.file=l.file,g("");for(;e;){for(n=-1,o=f.length,a=!1;++n"],Gr=Hr.concat(["~","|"]),Mr=Gr.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);function _r(r){var e=r||{};return e.commonmark?Mr:e.gfm?Gr:Hr}_r.default=Hr,_r.gfm=Gr,_r.commonmark=Mr;var Fr={position:!0,gfm:!0,commonmark:!1,footnotes:!1,pedantic:!1,blocks:["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},Zr=function(r){var e,t,n=this,o=n.options;if(null==r)r={};else{if("object"!=typeof r)throw new Error("Invalid value `"+r+"` for setting `options`");r=nr(r)}for(e in Fr){if(null==(t=r[e])&&(t=o[e]),"blocks"!==e&&"boolean"!=typeof t||"blocks"===e&&"object"!=typeof t)throw new Error("Invalid value `"+t+"` for setting `options."+e+"`");r[e]=t}return n.options=r,n.escape=Vr(r),n};var $r=Yr;function Yr(r){if("string"==typeof r)return function(r){return e;function e(e){return Boolean(e&&e.type===r)}}(r);if(null==r)return Qr;if("object"==typeof r)return("length"in r?Kr:Jr)(r);if("function"==typeof r)return r;throw new Error("Expected function, string, or object as test")}function Jr(r){return function(e){var t;for(t in r)if(e[t]!==r[t])return!1;return!0}}function Kr(r){var e=function(r){for(var e=[],t=r.length,n=-1;++no&&c + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */;var ge,me="",be=function(r,e){if("string"!=typeof r)throw new TypeError("expected a string");if(1===e)return r;if(2===e)return r+r;var t=r.length*e;if(ge!==r||void 0===ge)ge=r,me="";else if(me.length>=t)return me.substr(0,t);for(;t>me.length&&e>1;)1&e&&(me+=r),e>>=1,r+=r;return me=(me+=r).substr(0,t)};var ve=function(r){return String(r).replace(/\n+$/,"")};var ye=function(r,e,t){var n,o,i,a=-1,c=e.length,l="",s="",u="",f="";for(;++a=4)){for(c="";b"!==e.charAt(k))return;if(t)return!0;k=0;for(;k"===e.charAt(k)?(k++,u=!0," "===e.charAt(k)&&k++):k=s,c=e.slice(k,a),!u&&!ke(c)){k=s;break}if(!u&&(i=e.slice(k),qe(g,d,p,[r,i,!0])))break;l=s===k?c:e.slice(s,a),A.push(k-s),y.push(l),w.push(c),k=a+1}k=-1,v=A.length,n=r(y.join("\n"));for(;++k6)return;if(!i||!a.pedantic&&"#"===e.charAt(l+1))return;c=e.length+1,o="";for(;++l=3&&(!n||"\n"===n)?(s+=a,!!t||r(s)({type:"thematicBreak"})):void 0;a+=n}};var Se=function(r){var e,t=0,n=0,o=r.charAt(t),i={};for(;o in Oe;)n+=e=Oe[o],e>1&&(n=Math.floor(n/e)*e),i[n]=t,o=r.charAt(++t);return{indent:n,stops:i}},Oe={" ":1,"\t":4};var Te=function(r,e){var t,n,o,i,a=r.split("\n"),c=a.length+1,l=1/0,s=[];a.unshift(be(" ",e)+"!");for(;c--;)if(n=Se(a[c]),s[c]=n.stops,0!==ke(a[c]).length){if(!n.indent){l=1/0;break}n.indent>0&&n.indent=4)return;if(a=e.charAt(N),n=O?ze:Ue,!0===je[a])c=a,i=!1;else{for(i=!0,o="";N=4&&(L=!0),y&&B>=y.indent&&(L=!0),a=e.charAt(N),f=null,!L){if(!0===je[a])f=a,N++,B++;else{for(o="";N=y.indent||B>4):L=!0,u=!1,N=s;if(h=e.slice(s,l),p=s===N?h:e.slice(N,l),("*"===f||"_"===f||"-"===f)&&D.thematicBreak.call(S,r,h,!0))break;if(d=g,g=!ke(p).length,L&&y)y.value=y.value.concat(v,h),b=b.concat(v,h),v=[];else if(u)0!==v.length&&(y.value.push(""),y.trail=v.concat()),y={value:[h],indent:B,trail:[]},m.push(y),b=b.concat(v,h),v=[];else if(g){if(d)break;v.push(h)}else{if(d)break;if(qe(C,D,S,[r,h,!0]))break;y.value=y.value.concat(v,h),b=b.concat(v,h),v=[]}N=l+1}q=r(b.join("\n")).reset({type:"list",ordered:i,start:I,loose:null,children:[]}),w=S.enterList(),A=S.enterBlock(),k=!1,N=-1,R=m.length;for(;++N=3){u--;break}f+=i}n="",o="";for(;++u`\\u0000-\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",Fe="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Ze={openCloseTag:new RegExp("^(?:"+_e+"|"+Fe+")"),tag:new RegExp("^(?:"+_e+"|"+Fe+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)")},$e=Ze.openCloseTag,Ye=function(r,e,t){var n,o,i,a,c,l,s,u=this.options.blocks,f=e.length,p=0,h=[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp($e.source+"\\s*$"),/^$/,!1]];for(;p"!==r&&"["!==r&&"]"!==r}function nt(r){return"["!==r&&"]"!==r&&!fe(r)}tt.delimiter=">";var ot=function(r,e,t){var n,o,i,a,c,l,s,u,f,p,h,d,g,m,b,v,y,w,A,k,q,x,E,L;if(!this.options.gfm)return;n=0,w=0,l=e.length+1,s=[];for(;nx){if(w<2)return;break}s.push(e.slice(n,x)),w++,n=x+1}a=s.join("\n"),o=s.splice(1,1)[0]||[],n=0,l=o.length,w--,i=!1,h=[];for(;n1&&(f?(a+=u.slice(0,u.length-1),u=u.charAt(u.length-1)):(a+=u,u="")),v=r.now(),r(a)({type:"tableCell",children:this.tokenizeInline(d,v)},c)),r(u+f),u="",d=""}else if(u&&(d+=u,u=""),d+=f,"\\"===f&&n!==l-2&&(d+=A.charAt(n+1),n++),"`"===f){for(m=1;A.charAt(n+1)===f;)d+=f,n++,m++;b?m>=b&&(b=0):b=m}g=!1,n++}else d?u+=f:r(f),n++;y||r("\n"+o)}return q};var it=function(r,e,t){var n,o,i,a,c,l=this,s=l.options,u=s.commonmark,f=s.gfm,p=l.blockTokenizers,h=l.interruptParagraph,d=e.indexOf("\n"),g=e.length;for(;d=4){d=e.indexOf("\n",d+1);continue}}if(o=e.slice(d+1),qe(h,p,l,[r,o,!0]))break;if(p.list.call(l,r,o,!0)&&(l.inList||u||f&&!mr(ke.left(o).charAt(0))))break;if(n=d,-1!==(d=e.indexOf("\n",d+1))&&""===ke(e.slice(n,d))){d=n;break}}if(o=e.slice(0,d),""===ke(o))return r(o),null;if(t)return!0;return c=r.now(),o=ve(o),r(o)({type:"paragraph",children:l.tokenizeInline(o,c)})};var at=function(r,e){return r.indexOf("\\",e)};var ct=lt;function lt(r,e,t){var n,o;if("\\"===e.charAt(0)&&(n=e.charAt(1),-1!==this.escape.indexOf(n)))return!!t||(o="\n"===n?{type:"break"}:{type:"text",value:n},r("\\"+n)(o))}lt.locator=at;var st=function(r,e){return r.indexOf("<",e)};var ut=pt;pt.locator=st,pt.notInLink=!0;var ft="mailto:".length;function pt(r,e,t){var n,o,i,a,c,l,s,u,f,p,h,d;if("<"===e.charAt(0)){for(n=this,o="",i=e.length,a=0,c="",s=!1,u="",a++,o="<";a"===l||"@"===l||":"===l&&"/"===e.charAt(a+1)));)c+=l,a++;if(c){if(u+=c,c="",u+=l=e.charAt(a),a++,"@"===l)s=!0;else{if(":"!==l||"/"!==e.charAt(a+1))return;u+="/",a++}for(;a"!==l);)c+=l,a++;if(l=e.charAt(a),c&&">"===l)return!!t||(p=u+=c,o+=u+l,(f=r.now()).column++,f.offset++,s&&("mailto:"===u.slice(0,ft).toLowerCase()?(p=p.substr(ft),f.column+=ft,f.offset+=ft):u="mailto:"+u),h=n.inlineTokenizers,n.inlineTokenizers={text:h.text},d=n.enterLink(),p=n.tokenizeInline(p,f),n.inlineTokenizers=h,d(),r(o)({type:"link",title:null,url:qr(u,{nonTerminated:!1}),children:p}))}}}var ht=function(r,e){var t,n=dt.length,o=-1,i=-1;if(!this.options.gfm)return-1;for(;++o/i;function qt(r,e,t){var n,o,i=this,a=e.length;if(!("<"!==e.charAt(0)||a<3)&&(n=e.charAt(1),(vr(n)||"?"===n||"!"===n||"/"===n)&&(o=e.match(yt))))return!!t||(o=o[0],!i.inLink&&At.test(o)?i.inLink=!0:i.inLink&&kt.test(o)&&(i.inLink=!1),r(o)({type:"html",value:o}))}var xt=function(r,e){var t=r.indexOf("[",e),n=r.indexOf("![",e);if(-1===n)return t;return t=i&&(i=0):i=o}else if("\\"===E)x++,l+=e.charAt(x);else if(i&&!O||"["!==E){if((!i||O)&&"]"===E){if(!m){if(!L)for(;x"!==(E=e.charAt(x));){if(S&&"\n"===E)return;b+=E,x++}if(">"!==e.charAt(x))return;q+="<"+b+">",v=b,x++}else{for(E=null,l="";xe&&" "===r.charAt(t-1);)t--;return t};var Yt=Jt;Jt.locator=$t;function Jt(r,e,t){for(var n,o=e.length,i=-1,a="";++i\s]*/u;function sn(r){return r.position.start.offset-r.position.start.column+1}function un(r,e){return ln.exec(r.slice(sn(e)))[0]}function fn(r,e,t){const n=sn(e),o=r.slice(n,e.position.end.offset).split("\n"),i=un(r,e).length,a=[{js:0,md:0}];let c=t.reduce(((r,e)=>r+e.length+1),0),l=n+o[0].length+1;for(let r=0;r+1({filename:`${e}.${r.lang.trim().split(" ")[0]}`,text:[...r.comments,r.value,""].join("\n")})))},postprocess:function(r,e){const t=an.get(e);return an.delete(e),[].concat(...r.map(((r,e)=>{const n=function(r){const e=r.comments.reduce(((r,e)=>r+e.split("\n").length),0),t=r.position.start.line;return function(n){const o=n.line-e;if(o<1)return null;const i={line:o+t,column:n.column+r.position.indent[o-1]-1};Number.isInteger(n.endLine)&&(i.endLine=n.endLine-e+t);const a={};return n.fix&&(a.fix={range:n.fix.range.map((e=>{let t=1;for(;t { + const columnCount = columns.length; + const result = []; + result.push(drawVerticalLine(0, columnCount) ? separator.left : ''); + columns.forEach((column, index) => { + result.push(column); + + if (index + 1 < columnCount) { + result.push(drawVerticalLine(index + 1, columnCount) ? separator.join : ''); + } + }); + result.push(drawVerticalLine(columnCount, columnCount) ? separator.right : ''); + return result.join('') + '\n'; +}; + +var _default = drawHorizontalContent; +exports.default = _default; \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/table/dist/drawHorizontalContent.js.flow b/tools/node_modules/eslint/node_modules/table/dist/drawHorizontalContent.js.flow new file mode 100644 index 00000000000000..5b7ac499a57bb9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/table/dist/drawHorizontalContent.js.flow @@ -0,0 +1,31 @@ +/** + * @typedef {object} drawHorizontalContent~separator + * @property {string} left + * @property {string} right + * @property {string} join + */ + +/** + * @param {string[]} columns + * @param {object} config + * @param {drawHorizontalContent~separator} config.separator + * @param {Function} config.drawVerticalLine + * @returns {string} + */ +export default (columns, {separator, drawVerticalLine}) => { + const columnCount = columns.length; + const result = []; + + result.push(drawVerticalLine(0, columnCount) ? separator.left : ''); + + columns.forEach((column, index) => { + result.push(column); + + if (index + 1 < columnCount) { + result.push(drawVerticalLine(index + 1, columnCount) ? separator.join : ''); + } + }); + result.push(drawVerticalLine(columnCount, columnCount) ? separator.right : ''); + + return result.join('') + '\n'; +}; diff --git a/tools/update-eslint.sh b/tools/update-eslint.sh index eb1045267f70fc..3a181c0d6328c5 100755 --- a/tools/update-eslint.sh +++ b/tools/update-eslint.sh @@ -6,7 +6,7 @@ # script source file path to determine directories to work in. cd "$( dirname "$0" )" || exit -rm -rf node_modules/eslint node_modules/eslint-plugin-markdown +rm -rf node_modules/eslint ( mkdir eslint-tmp cd eslint-tmp || exit @@ -18,8 +18,23 @@ rm -rf node_modules/eslint node_modules/eslint-plugin-markdown "$NODE" "$NPM" init --yes + mkdir eslint-plugin-markdown eslint-plugin-jsdoc + "$NODE" "$NPM" install --production --no-save --no-package-lock \ + eslint@latest \ + eslint-plugin-markdown@latest \ + eslint-plugin-jsdoc@latest \ + rollup @rollup/plugin-node-resolve @rollup/plugin-commonjs @rollup/plugin-json \ + terser + node -p '"export default"+JSON.stringify({external:Object.keys(require("eslint/package.json").dependencies),output:{format:"cjs",exports:"default"}})' > rollup.config.mjs + + "$NODE" "$NPM" exec -- rollup -c rollup.config.mjs -p '@rollup/plugin-node-resolve' -p '@rollup/plugin-commonjs' -p '@rollup/plugin-json' -- ./node_modules/eslint-plugin-markdown/index.js | \ + "$NODE" "$NPM" exec -- terser --toplevel --compress --mangle --timings -o ./eslint-plugin-markdown/index.js + + "$NODE" "$NPM" exec -- rollup -c rollup.config.mjs -p '@rollup/plugin-node-resolve' -p '@rollup/plugin-commonjs' -p '@rollup/plugin-json' -- ./node_modules/eslint-plugin-jsdoc/dist/index.js | \ + "$NODE" "$NPM" exec -- terser --toplevel --compress --mangle --timings -o ./eslint-plugin-jsdoc/index.js + rm -r node_modules + "$NODE" "$NPM" install --global-style --no-bin-links --production --no-package-lock eslint@latest - "$NODE" "$NPM" install --global-style --no-bin-links --production --no-package-lock eslint-plugin-markdown@latest # Use dmn to remove some unneeded files. "$NODE" "$NPM" exec -- dmn@2.2.2 -f clean @@ -29,5 +44,6 @@ rm -rf node_modules/eslint node_modules/eslint-plugin-markdown ) mv eslint-tmp/node_modules/eslint node_modules/eslint -mv eslint-tmp/node_modules/eslint-plugin-markdown node_modules/eslint-plugin-markdown +mv eslint-tmp/eslint-plugin-markdown node_modules/eslint/node_modules/eslint-plugin-markdown +mv eslint-tmp/eslint-plugin-jsdoc node_modules/eslint/node_modules/eslint-plugin-jsdoc rm -rf eslint-tmp/