summaryrefslogtreecommitdiff
path: root/tools/node_modules
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2018-12-08 08:42:29 -0500
committercjihrig <cjihrig@gmail.com>2018-12-10 08:47:26 -0500
commitcc8250fab86486632fdeb63892be735d7628cd13 (patch)
tree3fd31e93d3a8eba093267c6b168df9ad67b1a546 /tools/node_modules
parent4aabd7ed641db5d78fdf7e1c93b93027ffc3a9b4 (diff)
downloadandroid-node-v8-cc8250fab86486632fdeb63892be735d7628cd13.tar.gz
android-node-v8-cc8250fab86486632fdeb63892be735d7628cd13.tar.bz2
android-node-v8-cc8250fab86486632fdeb63892be735d7628cd13.zip
tools: update ESLint to 5.10.0
Update ESLint to 5.10.0. PR-URL: https://github.com/nodejs/node/pull/24903 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Diffstat (limited to 'tools/node_modules')
-rw-r--r--tools/node_modules/eslint/README.md4
-rw-r--r--tools/node_modules/eslint/lib/cli-engine.js2
-rw-r--r--tools/node_modules/eslint/lib/config.js17
-rw-r--r--tools/node_modules/eslint/lib/config/autoconfig.js1
-rw-r--r--tools/node_modules/eslint/lib/config/config-rule.js8
-rw-r--r--tools/node_modules/eslint/lib/config/config-validator.js4
-rw-r--r--tools/node_modules/eslint/lib/linter.js128
-rw-r--r--tools/node_modules/eslint/lib/rules/array-element-newline.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/camelcase.js19
-rw-r--r--tools/node_modules/eslint/lib/rules/comma-style.js9
-rw-r--r--tools/node_modules/eslint/lib/rules/eqeqeq.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/handle-callback-err.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/indent-legacy.js3
-rw-r--r--tools/node_modules/eslint/lib/rules/indent.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/keyword-spacing.js6
-rw-r--r--tools/node_modules/eslint/lib/rules/newline-before-return.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/no-constant-condition.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/no-else-return.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/no-implied-eval.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/no-restricted-imports.js2
-rw-r--r--tools/node_modules/eslint/lib/rules/no-this-before-super.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/object-curly-newline.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/one-var.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/padding-line-between-statements.js37
-rw-r--r--tools/node_modules/eslint/lib/rules/quotes.js73
-rw-r--r--tools/node_modules/eslint/lib/rules/require-jsdoc.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/space-in-parens.js1
-rw-r--r--tools/node_modules/eslint/lib/rules/space-infix-ops.js5
-rw-r--r--tools/node_modules/eslint/lib/rules/valid-jsdoc.js5
-rw-r--r--tools/node_modules/eslint/lib/util/config-comment-parser.js144
-rw-r--r--tools/node_modules/eslint/lib/util/glob-utils.js2
-rw-r--r--tools/node_modules/eslint/lib/util/ignored-paths.js (renamed from tools/node_modules/eslint/lib/ignored-paths.js)8
-rw-r--r--tools/node_modules/eslint/lib/util/report-translator.js (renamed from tools/node_modules/eslint/lib/report-translator.js)4
-rw-r--r--tools/node_modules/eslint/lib/util/source-code.js3
-rw-r--r--tools/node_modules/eslint/messages/all-files-ignored.txt2
-rw-r--r--tools/node_modules/eslint/node_modules/acorn-jsx/index.js22
-rw-r--r--tools/node_modules/eslint/node_modules/acorn-jsx/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/README.md2
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js97
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js4
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map2
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts6
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/ajv.js5
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dot/validate.jst10
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js8
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/package.json4
-rw-r--r--tools/node_modules/eslint/node_modules/array-union/index.js6
-rw-r--r--tools/node_modules/eslint/node_modules/array-union/license21
-rw-r--r--tools/node_modules/eslint/node_modules/array-union/package.json49
-rw-r--r--tools/node_modules/eslint/node_modules/array-union/readme.md28
-rw-r--r--tools/node_modules/eslint/node_modules/array-uniq/index.js62
-rw-r--r--tools/node_modules/eslint/node_modules/array-uniq/license21
-rw-r--r--tools/node_modules/eslint/node_modules/array-uniq/package.json46
-rw-r--r--tools/node_modules/eslint/node_modules/array-uniq/readme.md30
-rw-r--r--tools/node_modules/eslint/node_modules/astral-regex/index.js4
-rw-r--r--tools/node_modules/eslint/node_modules/astral-regex/license (renamed from tools/node_modules/eslint/node_modules/pify/license)2
-rw-r--r--tools/node_modules/eslint/node_modules/astral-regex/package.json41
-rw-r--r--tools/node_modules/eslint/node_modules/astral-regex/readme.md43
-rw-r--r--tools/node_modules/eslint/node_modules/del/index.js70
-rw-r--r--tools/node_modules/eslint/node_modules/del/package.json70
-rw-r--r--tools/node_modules/eslint/node_modules/del/readme.md121
-rw-r--r--tools/node_modules/eslint/node_modules/espree/README.md13
-rw-r--r--tools/node_modules/eslint/node_modules/espree/espree.js7
-rw-r--r--tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js175
-rw-r--r--tools/node_modules/eslint/node_modules/espree/lib/espree.js35
-rw-r--r--tools/node_modules/eslint/node_modules/espree/lib/token-translator.js28
-rw-r--r--tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js123
-rw-r--r--tools/node_modules/eslint/node_modules/espree/package.json7
-rw-r--r--tools/node_modules/eslint/node_modules/flat-cache/cache.js14
-rw-r--r--tools/node_modules/eslint/node_modules/flat-cache/changelog.md177
-rw-r--r--tools/node_modules/eslint/node_modules/flat-cache/del.js13
-rw-r--r--tools/node_modules/eslint/node_modules/flat-cache/package.json11
-rw-r--r--tools/node_modules/eslint/node_modules/flat-cache/utils.js4
-rw-r--r--tools/node_modules/eslint/node_modules/globals/globals.json5
-rw-r--r--tools/node_modules/eslint/node_modules/globals/package.json2
-rw-r--r--tools/node_modules/eslint/node_modules/globby/index.js88
-rw-r--r--tools/node_modules/eslint/node_modules/globby/license21
-rw-r--r--tools/node_modules/eslint/node_modules/globby/node_modules/pify/index.js68
-rw-r--r--tools/node_modules/eslint/node_modules/globby/node_modules/pify/license21
-rw-r--r--tools/node_modules/eslint/node_modules/globby/node_modules/pify/package.json57
-rw-r--r--tools/node_modules/eslint/node_modules/globby/node_modules/pify/readme.md119
-rw-r--r--tools/node_modules/eslint/node_modules/globby/package.json78
-rw-r--r--tools/node_modules/eslint/node_modules/globby/readme.md88
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/README.md424
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js4
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js8
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js32
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/index.js14
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/license (renamed from tools/node_modules/eslint/node_modules/del/license)0
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/package.json62
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/readme.md65
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js4
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/license (renamed from tools/node_modules/eslint/node_modules/p-map/license)0
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json61
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md53
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/package.json17
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-cwd/index.js6
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-cwd/package.json42
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-cwd/readme.md28
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js6
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-in-cwd/license21
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json47
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md31
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-inside/index.js14
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-inside/license21
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-inside/package.json46
-rw-r--r--tools/node_modules/eslint/node_modules/is-path-inside/readme.md34
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/LICENSE6
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/README.md73
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/index.js16
-rw-r--r--tools/node_modules/eslint/node_modules/is-resolvable/package.json49
-rw-r--r--tools/node_modules/eslint/node_modules/p-map/index.js67
-rw-r--r--tools/node_modules/eslint/node_modules/p-map/package.json56
-rw-r--r--tools/node_modules/eslint/node_modules/p-map/readme.md81
-rw-r--r--tools/node_modules/eslint/node_modules/pify/index.js84
-rw-r--r--tools/node_modules/eslint/node_modules/pify/package.json60
-rw-r--r--tools/node_modules/eslint/node_modules/pify/readme.md131
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie-promise/index.js3
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie-promise/license21
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie-promise/package.json44
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie-promise/readme.md28
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie/index.js292
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie/license21
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie/package.json45
-rw-r--r--tools/node_modules/eslint/node_modules/pinkie/readme.md83
-rw-r--r--tools/node_modules/eslint/node_modules/progress/lib/node-progress.js7
-rw-r--r--tools/node_modules/eslint/node_modules/progress/package.json2
-rwxr-xr-xtools/node_modules/eslint/node_modules/slice-ansi/index.js50
-rw-r--r--tools/node_modules/eslint/node_modules/slice-ansi/package.json16
-rwxr-xr-xtools/node_modules/eslint/node_modules/slice-ansi/readme.md2
-rw-r--r--tools/node_modules/eslint/node_modules/table/package.json28
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-location/index.js19
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-location/package.json20
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-location/readme.md27
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-message/index.js20
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-message/package.json18
-rw-r--r--tools/node_modules/eslint/node_modules/vfile-message/readme.md27
-rw-r--r--tools/node_modules/eslint/package.json7
139 files changed, 1655 insertions, 3230 deletions
diff --git a/tools/node_modules/eslint/README.md b/tools/node_modules/eslint/README.md
index 572cd8a07a..65ee43400d 100644
--- a/tools/node_modules/eslint/README.md
+++ b/tools/node_modules/eslint/README.md
@@ -38,7 +38,7 @@ If you want to include ESLint as part of your project's build system, we recomme
$ npm install eslint --save-dev
```
-You should then setup a configuration file:
+You should then set up a configuration file:
```
$ ./node_modules/.bin/eslint --init
@@ -60,7 +60,7 @@ If you want to make ESLint available to tools that run across all of your projec
$ npm install -g eslint
```
-You should then setup a configuration file:
+You should then set up a configuration file:
```
$ eslint --init
diff --git a/tools/node_modules/eslint/lib/cli-engine.js b/tools/node_modules/eslint/lib/cli-engine.js
index 652d68b59b..ce9fe289b8 100644
--- a/tools/node_modules/eslint/lib/cli-engine.js
+++ b/tools/node_modules/eslint/lib/cli-engine.js
@@ -20,7 +20,7 @@ const fs = require("fs"),
defaultOptions = require("../conf/default-cli-options"),
Linter = require("./linter"),
lodash = require("lodash"),
- IgnoredPaths = require("./ignored-paths"),
+ IgnoredPaths = require("./util/ignored-paths"),
Config = require("./config"),
ConfigOps = require("./config/config-ops"),
LintResultCache = require("./util/lint-result-cache"),
diff --git a/tools/node_modules/eslint/lib/config.js b/tools/node_modules/eslint/lib/config.js
index 8ea9aeb6f3..abcb38b50d 100644
--- a/tools/node_modules/eslint/lib/config.js
+++ b/tools/node_modules/eslint/lib/config.js
@@ -15,8 +15,7 @@ const path = require("path"),
ConfigFile = require("./config/config-file"),
ConfigCache = require("./config/config-cache"),
Plugins = require("./config/plugins"),
- FileFinder = require("./util/file-finder"),
- isResolvable = require("is-resolvable");
+ FileFinder = require("./util/file-finder");
const debug = require("debug")("eslint:config");
@@ -41,6 +40,20 @@ function hasRules(options) {
return options.rules && Object.keys(options.rules).length > 0;
}
+/**
+ * Determines if a module is can be resolved.
+ * @param {string} moduleId The ID (name) of the module
+ * @returns {boolean} True if it is resolvable; False otherwise.
+ */
+function isResolvable(moduleId) {
+ try {
+ require.resolve(moduleId);
+ return true;
+ } catch (err) {
+ return false;
+ }
+}
+
//------------------------------------------------------------------------------
// API
//------------------------------------------------------------------------------
diff --git a/tools/node_modules/eslint/lib/config/autoconfig.js b/tools/node_modules/eslint/lib/config/autoconfig.js
index 8536fdc55a..f2c707be84 100644
--- a/tools/node_modules/eslint/lib/config/autoconfig.js
+++ b/tools/node_modules/eslint/lib/config/autoconfig.js
@@ -102,7 +102,6 @@ class Registry {
*
* The length of the returned array will be <= MAX_CONFIG_COMBINATIONS.
*
- * @param {Object} registry The autoconfig registry
* @returns {Object[]} "rules" configurations to use for linting
*/
buildRuleSets() {
diff --git a/tools/node_modules/eslint/lib/config/config-rule.js b/tools/node_modules/eslint/lib/config/config-rule.js
index 27d29446db..e4221406df 100644
--- a/tools/node_modules/eslint/lib/config/config-rule.js
+++ b/tools/node_modules/eslint/lib/config/config-rule.js
@@ -37,9 +37,9 @@ function explodeArray(xs) {
* For example:
* combineArrays([a, [b, c]], [x, y]); // -> [[a, x], [a, y], [b, c, x], [b, c, y]]
*
- * @param {array} arr1 The first array to combine.
- * @param {array} arr2 The second array to combine.
- * @returns {array} A mixture of the elements of the first and second arrays.
+ * @param {Array} arr1 The first array to combine.
+ * @param {Array} arr2 The second array to combine.
+ * @returns {Array} A mixture of the elements of the first and second arrays.
*/
function combineArrays(arr1, arr2) {
const res = [];
@@ -268,7 +268,7 @@ class RuleConfigSet {
/**
* Generate valid rule configurations based on a schema object
* @param {Object} schema A rule's schema object
- * @returns {array[]} Valid rule configurations
+ * @returns {Array[]} Valid rule configurations
*/
function generateConfigsFromSchema(schema) {
const configSet = new RuleConfigSet();
diff --git a/tools/node_modules/eslint/lib/config/config-validator.js b/tools/node_modules/eslint/lib/config/config-validator.js
index 6b151f46a4..0c63b68f76 100644
--- a/tools/node_modules/eslint/lib/config/config-validator.js
+++ b/tools/node_modules/eslint/lib/config/config-validator.js
@@ -83,7 +83,7 @@ function validateRuleSeverity(options) {
/**
* Validates the non-severity options passed to a rule, based on its schema.
* @param {{create: Function}} rule The rule to validate
- * @param {array} localOptions The options for the rule, excluding severity
+ * @param {Array} localOptions The options for the rule, excluding severity
* @returns {void}
*/
function validateRuleSchema(rule, localOptions) {
@@ -111,7 +111,7 @@ function validateRuleSchema(rule, localOptions) {
* Validates a rule's options against its schema.
* @param {{create: Function}|null} rule The rule that the config is being validated for
* @param {string} ruleId The rule's unique name.
- * @param {array|number} options The given options for the rule.
+ * @param {Array|number} options The given options for the rule.
* @param {string|null} source The name of the configuration source to report in any errors. If null or undefined,
* no source is prepended to the message.
* @returns {void}
diff --git a/tools/node_modules/eslint/lib/linter.js b/tools/node_modules/eslint/lib/linter.js
index b47e6eb1fc..d6d635f9f4 100644
--- a/tools/node_modules/eslint/lib/linter.js
+++ b/tools/node_modules/eslint/lib/linter.js
@@ -11,7 +11,6 @@
const eslintScope = require("eslint-scope"),
evk = require("eslint-visitor-keys"),
- levn = require("levn"),
lodash = require("lodash"),
CodePathAnalyzer = require("./code-path-analysis/code-path-analyzer"),
ConfigOps = require("./config/config-ops"),
@@ -22,9 +21,10 @@ const eslintScope = require("eslint-scope"),
NodeEventGenerator = require("./util/node-event-generator"),
SourceCode = require("./util/source-code"),
Traverser = require("./util/traverser"),
- createReportTranslator = require("./report-translator"),
+ createReportTranslator = require("./util/report-translator"),
Rules = require("./rules"),
timing = require("./util/timing"),
+ ConfigCommentParser = require("./util/config-comment-parser"),
astUtils = require("./util/ast-utils"),
pkg = require("../package.json"),
SourceCodeFixer = require("./util/source-code-fixer");
@@ -32,6 +32,7 @@ const eslintScope = require("eslint-scope"),
const debug = require("debug")("eslint:linter");
const MAX_AUTOFIX_PASSES = 10;
const DEFAULT_PARSER_NAME = "espree";
+const commentParser = new ConfigCommentParser();
//------------------------------------------------------------------------------
// Typedefs
@@ -60,117 +61,6 @@ const DEFAULT_PARSER_NAME = "espree";
//------------------------------------------------------------------------------
/**
- * Parses a list of "name:boolean_value" or/and "name" options divided by comma or
- * whitespace.
- * @param {string} string The string to parse.
- * @param {Comment} comment The comment node which has the string.
- * @returns {Object} Result map object of names and boolean values
- */
-function parseBooleanConfig(string, comment) {
- const items = {};
-
- // Collapse whitespace around `:` and `,` to make parsing easier
- const trimmedString = string.replace(/\s*([:,])\s*/g, "$1");
-
- trimmedString.split(/\s|,+/).forEach(name => {
- if (!name) {
- return;
- }
- const pos = name.indexOf(":");
-
- if (pos === -1) {
- items[name] = {
- value: false,
- comment
- };
- } else {
- items[name.slice(0, pos)] = {
- value: name.slice(pos + 1) === "true",
- comment
- };
- }
- });
- return items;
-}
-
-/**
- * Parses a JSON-like config.
- * @param {string} string The string to parse.
- * @param {Object} location Start line and column of comments for potential error message.
- * @returns {({success: true, config: Object}|{success: false, error: Problem})} Result map object
- */
-function parseJsonConfig(string, location) {
- let items = {};
-
- // Parses a JSON-like comment by the same way as parsing CLI option.
- try {
- items = levn.parse("Object", string) || {};
-
- // Some tests say that it should ignore invalid comments such as `/*eslint no-alert:abc*/`.
- // Also, commaless notations have invalid severity:
- // "no-alert: 2 no-console: 2" --> {"no-alert": "2 no-console: 2"}
- // Should ignore that case as well.
- if (ConfigOps.isEverySeverityValid(items)) {
- return {
- success: true,
- config: items
- };
- }
- } catch (ex) {
-
- // ignore to parse the string by a fallback.
- }
-
- /*
- * Optionator cannot parse commaless notations.
- * But we are supporting that. So this is a fallback for that.
- */
- items = {};
- const normalizedString = string.replace(/([a-zA-Z0-9\-/]+):/g, "\"$1\":").replace(/(]|[0-9])\s+(?=")/, "$1,");
-
- try {
- items = JSON.parse(`{${normalizedString}}`);
- } catch (ex) {
- return {
- success: false,
- error: {
- ruleId: null,
- fatal: true,
- severity: 2,
- message: `Failed to parse JSON from '${normalizedString}': ${ex.message}`,
- line: location.start.line,
- column: location.start.column + 1
- }
- };
-
- }
-
- return {
- success: true,
- config: items
- };
-}
-
-/**
- * Parses a config of values separated by comma.
- * @param {string} string The string to parse.
- * @returns {Object} Result map of values and true values
- */
-function parseListConfig(string) {
- const items = {};
-
- // Collapse whitespace around ,
- string.replace(/\s*,\s*/g, ",").split(/,+/).forEach(name => {
- const trimmedName = name.trim();
-
- if (trimmedName) {
- items[trimmedName] = true;
- }
- });
- return items;
-}
-
-/**
* Ensures that variables representing built-in properties of the Global Object,
* and any globals declared by special block comments, are present in the global
* scope.
@@ -248,7 +138,7 @@ function addDeclaredGlobals(globalScope, configGlobals, commentDirectives) {
* @returns {DisableDirective[]} Directives from the comment
*/
function createDisableDirectives(type, loc, value) {
- const ruleIds = Object.keys(parseListConfig(value));
+ const ruleIds = Object.keys(commentParser.parseListConfig(value));
const directiveRules = ruleIds.length ? ruleIds : [null];
return directiveRules.map(ruleId => ({ type, line: loc.line, column: loc.column + 1, ruleId }));
@@ -301,12 +191,12 @@ function getDirectiveComments(filename, ast, ruleMapper) {
} else if (comment.type === "Block") {
switch (match[1]) {
case "exported":
- Object.assign(exportedVariables, parseBooleanConfig(directiveValue, comment));
+ Object.assign(exportedVariables, commentParser.parseBooleanConfig(directiveValue, comment));
break;
case "globals":
case "global":
- Object.assign(enabledGlobals, parseBooleanConfig(directiveValue, comment));
+ Object.assign(enabledGlobals, commentParser.parseBooleanConfig(directiveValue, comment));
break;
case "eslint-disable":
@@ -318,7 +208,7 @@ function getDirectiveComments(filename, ast, ruleMapper) {
break;
case "eslint": {
- const parseResult = parseJsonConfig(directiveValue, comment.loc);
+ const parseResult = commentParser.parseJsonConfig(directiveValue, comment.loc);
if (parseResult.success) {
Object.keys(parseResult.config).forEach(name => {
@@ -398,7 +288,7 @@ function findEslintEnv(text) {
eslintEnvPattern.lastIndex = 0;
while ((match = eslintEnvPattern.exec(text))) {
- retv = Object.assign(retv || {}, parseListConfig(match[1]));
+ retv = Object.assign(retv || {}, commentParser.parseListConfig(match[1]));
}
return retv;
@@ -1032,8 +922,6 @@ module.exports = class Linter {
* @param {(string|Object)} [filenameOrOptions] The optional filename of the file being checked.
* If this is not set, the filename will default to '<input>' in the rule context. If
* an object, then it has "filename", "saveState", and "allowInlineConfig" properties.
- * @param {boolean} [saveState] Indicates if the state from the last run should be saved.
- * Mostly useful for testing purposes.
* @param {boolean} [filenameOrOptions.allowInlineConfig] Allow/disallow inline comments' ability to change config once it is set. Defaults to true if not supplied.
* Useful if you want to validate JS without comments overriding rules.
* @param {function(string): string[]} [filenameOrOptions.preprocess] preprocessor for source text. If provided,
diff --git a/tools/node_modules/eslint/lib/rules/array-element-newline.js b/tools/node_modules/eslint/lib/rules/array-element-newline.js
index 440290917d..dadb26fdd2 100644
--- a/tools/node_modules/eslint/lib/rules/array-element-newline.js
+++ b/tools/node_modules/eslint/lib/rules/array-element-newline.js
@@ -173,7 +173,6 @@ module.exports = {
* Reports a given node if it violated this rule.
*
* @param {ASTNode} node - A node to check. This is an ObjectExpression node or an ObjectPattern node.
- * @param {{multiline: boolean, minItems: number}} options - An option object.
* @returns {void}
*/
function check(node) {
diff --git a/tools/node_modules/eslint/lib/rules/camelcase.js b/tools/node_modules/eslint/lib/rules/camelcase.js
index 8aeb4b5bd0..6fb8760f10 100644
--- a/tools/node_modules/eslint/lib/rules/camelcase.js
+++ b/tools/node_modules/eslint/lib/rules/camelcase.js
@@ -132,9 +132,10 @@ module.exports = {
/*
* Leading and trailing underscores are commonly used to flag
- * private/protected identifiers, strip them
+ * private/protected identifiers, strip them before checking if underscored
*/
- const name = node.name.replace(/^_+|_+$/g, ""),
+ const name = node.name,
+ nameIsUnderscored = isUnderscored(name.replace(/^_+|_+$/g, "")),
effectiveParent = (node.parent.type === "MemberExpression") ? node.parent.parent : node.parent;
// First, we ignore the node if it match the ignore list
@@ -151,11 +152,11 @@ module.exports = {
}
// Always report underscored object names
- if (node.parent.object.type === "Identifier" && node.parent.object.name === node.name && isUnderscored(name)) {
+ if (node.parent.object.type === "Identifier" && node.parent.object.name === node.name && nameIsUnderscored) {
report(node);
// Report AssignmentExpressions only if they are the left side of the assignment
- } else if (effectiveParent.type === "AssignmentExpression" && isUnderscored(name) && (effectiveParent.right.type !== "MemberExpression" || effectiveParent.left.type === "MemberExpression" && effectiveParent.left.property.name === node.name)) {
+ } else if (effectiveParent.type === "AssignmentExpression" && nameIsUnderscored && (effectiveParent.right.type !== "MemberExpression" || effectiveParent.left.type === "MemberExpression" && effectiveParent.left.property.name === node.name)) {
report(node);
}
@@ -167,7 +168,7 @@ module.exports = {
} else if (node.parent.type === "Property" || node.parent.type === "AssignmentPattern") {
if (node.parent.parent && node.parent.parent.type === "ObjectPattern") {
- if (node.parent.shorthand && node.parent.value.left && isUnderscored(name)) {
+ if (node.parent.shorthand && node.parent.value.left && nameIsUnderscored) {
report(node);
}
@@ -179,7 +180,7 @@ module.exports = {
return;
}
- const valueIsUnderscored = node.parent.value.name && isUnderscored(name);
+ const valueIsUnderscored = node.parent.value.name && nameIsUnderscored;
// ignore destructuring if the option is set, unless a new identifier is created
if (valueIsUnderscored && !(assignmentKeyEqualsValue && ignoreDestructuring)) {
@@ -193,7 +194,7 @@ module.exports = {
}
// don't check right hand side of AssignmentExpression to prevent duplicate warnings
- if (isUnderscored(name) && !ALLOWED_PARENT_TYPES.has(effectiveParent.type) && !(node.parent.right === node)) {
+ if (nameIsUnderscored && !ALLOWED_PARENT_TYPES.has(effectiveParent.type) && !(node.parent.right === node)) {
report(node);
}
@@ -201,12 +202,12 @@ module.exports = {
} else if (["ImportSpecifier", "ImportNamespaceSpecifier", "ImportDefaultSpecifier"].indexOf(node.parent.type) >= 0) {
// Report only if the local imported identifier is underscored
- if (node.parent.local && node.parent.local.name === node.name && isUnderscored(name)) {
+ if (node.parent.local && node.parent.local.name === node.name && nameIsUnderscored) {
report(node);
}
// Report anything that is underscored that isn't a CallExpression
- } else if (isUnderscored(name) && !ALLOWED_PARENT_TYPES.has(effectiveParent.type)) {
+ } else if (nameIsUnderscored && !ALLOWED_PARENT_TYPES.has(effectiveParent.type)) {
report(node);
}
}
diff --git a/tools/node_modules/eslint/lib/rules/comma-style.js b/tools/node_modules/eslint/lib/rules/comma-style.js
index 2586cf66e9..78438a858d 100644
--- a/tools/node_modules/eslint/lib/rules/comma-style.js
+++ b/tools/node_modules/eslint/lib/rules/comma-style.js
@@ -85,7 +85,7 @@ module.exports = {
function getReplacedText(styleType, text) {
switch (styleType) {
case "between":
- return `,${text.replace("\n", "")}`;
+ return `,${text.replace(astUtils.LINEBREAK_MATCHER, "")}`;
case "first":
return `${text},`;
@@ -138,6 +138,11 @@ module.exports = {
} else if (!astUtils.isTokenOnSameLine(commaToken, currentItemToken) &&
!astUtils.isTokenOnSameLine(previousItemToken, commaToken)) {
+ const comment = sourceCode.getCommentsAfter(commaToken)[0];
+ const styleType = comment && comment.type === "Block" && astUtils.isTokenOnSameLine(commaToken, comment)
+ ? style
+ : "between";
+
// lone comma
context.report({
node: reportItem,
@@ -146,7 +151,7 @@ module.exports = {
column: commaToken.loc.start.column
},
messageId: "unexpectedLineBeforeAndAfterComma",
- fix: getFixerFunction("between", previousItemToken, commaToken, currentItemToken)
+ fix: getFixerFunction(styleType, previousItemToken, commaToken, currentItemToken)
});
} else if (style === "first" && !astUtils.isTokenOnSameLine(commaToken, currentItemToken)) {
diff --git a/tools/node_modules/eslint/lib/rules/eqeqeq.js b/tools/node_modules/eslint/lib/rules/eqeqeq.js
index 715c5ce7c0..3e8a392cf6 100644
--- a/tools/node_modules/eslint/lib/rules/eqeqeq.js
+++ b/tools/node_modules/eslint/lib/rules/eqeqeq.js
@@ -119,7 +119,6 @@ module.exports = {
/**
* Gets the location (line and column) of the binary expression's operator
* @param {ASTNode} node The binary expression node to check
- * @param {string} operator The operator to find
* @returns {Object} { line, column } location of operator
* @private
*/
diff --git a/tools/node_modules/eslint/lib/rules/handle-callback-err.js b/tools/node_modules/eslint/lib/rules/handle-callback-err.js
index c62016d589..5845aff4bc 100644
--- a/tools/node_modules/eslint/lib/rules/handle-callback-err.js
+++ b/tools/node_modules/eslint/lib/rules/handle-callback-err.js
@@ -59,7 +59,7 @@ module.exports = {
/**
* Get the parameters of a given function scope.
* @param {Object} scope The function scope.
- * @returns {array} All parameters of the given scope.
+ * @returns {Array} All parameters of the given scope.
*/
function getParameters(scope) {
return scope.variables.filter(variable => variable.defs[0] && variable.defs[0].type === "Parameter");
diff --git a/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
index cd729f8ad9..a883b22647 100644
--- a/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
+++ b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
@@ -44,7 +44,6 @@ module.exports = {
/**
* Validates the location of an arrow function body
* @param {ASTNode} node The arrow function body
- * @param {string} keywordName The applicable keyword name for the arrow function body
* @returns {void}
*/
function validateExpression(node) {
diff --git a/tools/node_modules/eslint/lib/rules/indent-legacy.js b/tools/node_modules/eslint/lib/rules/indent-legacy.js
index 16687b521e..cfb807e34e 100644
--- a/tools/node_modules/eslint/lib/rules/indent-legacy.js
+++ b/tools/node_modules/eslint/lib/rules/indent-legacy.js
@@ -300,7 +300,6 @@ module.exports = {
* @param {int} gottenTabs Indentation tab count in the actual node/code
* @param {Object=} loc Error line and column location
* @param {boolean} isLastNodeCheck Is the error for last node check
- * @param {int} lastNodeCheckEndOffset Number of charecters to skip from the end
* @returns {void}
*/
function report(node, needed, gottenSpaces, gottenTabs, loc, isLastNodeCheck) {
@@ -365,7 +364,6 @@ module.exports = {
* Check indent for node
* @param {ASTNode} node Node to check
* @param {int} neededIndent needed indent
- * @param {boolean} [excludeCommas=false] skip comma on start of line
* @returns {void}
*/
function checkNodeIndent(node, neededIndent) {
@@ -413,7 +411,6 @@ module.exports = {
* Check indent for nodes list
* @param {ASTNode[]} nodes list of node objects
* @param {int} indent needed indent
- * @param {boolean} [excludeCommas=false] skip comma on start of line
* @returns {void}
*/
function checkNodesIndent(nodes, indent) {
diff --git a/tools/node_modules/eslint/lib/rules/indent.js b/tools/node_modules/eslint/lib/rules/indent.js
index dc9fbaf908..0b87412c8f 100644
--- a/tools/node_modules/eslint/lib/rules/indent.js
+++ b/tools/node_modules/eslint/lib/rules/indent.js
@@ -1229,9 +1229,13 @@ module.exports = {
}
const fromToken = sourceCode.getLastToken(node, token => token.type === "Identifier" && token.value === "from");
+ const sourceToken = sourceCode.getLastToken(node, token => token.type === "String");
+ const semiToken = sourceCode.getLastToken(node, token => token.type === "Punctuator" && token.value === ";");
if (fromToken) {
- offsets.setDesiredOffsets([fromToken.range[0], node.range[1]], sourceCode.getFirstToken(node), 1);
+ const end = semiToken && semiToken.range[1] === sourceToken.range[1] ? node.range[1] : sourceToken.range[1];
+
+ offsets.setDesiredOffsets([fromToken.range[0], end], sourceCode.getFirstToken(node), 1);
}
},
diff --git a/tools/node_modules/eslint/lib/rules/keyword-spacing.js b/tools/node_modules/eslint/lib/rules/keyword-spacing.js
index 66ce2cb34c..790d7b031d 100644
--- a/tools/node_modules/eslint/lib/rules/keyword-spacing.js
+++ b/tools/node_modules/eslint/lib/rules/keyword-spacing.js
@@ -453,6 +453,10 @@ module.exports = {
checkSpacingBefore(firstToken, PREV_TOKEN_M);
checkSpacingAfter(firstToken, NEXT_TOKEN_M);
+ if (node.type === "ExportDefaultDeclaration") {
+ checkSpacingAround(sourceCode.getTokenAfter(firstToken));
+ }
+
if (node.source) {
const fromToken = sourceCode.getTokenBefore(node.source);
@@ -554,7 +558,7 @@ module.exports = {
// Statements - Declarations
ClassDeclaration: checkSpacingForClass,
ExportNamedDeclaration: checkSpacingForModuleDeclaration,
- ExportDefaultDeclaration: checkSpacingAroundFirstToken,
+ ExportDefaultDeclaration: checkSpacingForModuleDeclaration,
ExportAllDeclaration: checkSpacingForModuleDeclaration,
FunctionDeclaration: checkSpacingForFunction,
ImportDeclaration: checkSpacingForModuleDeclaration,
diff --git a/tools/node_modules/eslint/lib/rules/newline-before-return.js b/tools/node_modules/eslint/lib/rules/newline-before-return.js
index 2743bf7a8b..6a0ec8d5eb 100644
--- a/tools/node_modules/eslint/lib/rules/newline-before-return.js
+++ b/tools/node_modules/eslint/lib/rules/newline-before-return.js
@@ -36,7 +36,7 @@ module.exports = {
/**
* Tests whether node is preceded by supplied tokens
* @param {ASTNode} node - node to check
- * @param {array} testTokens - array of tokens to test against
+ * @param {Array} testTokens - array of tokens to test against
* @returns {boolean} Whether or not the node is preceded by one of the supplied tokens
* @private
*/
diff --git a/tools/node_modules/eslint/lib/rules/no-constant-condition.js b/tools/node_modules/eslint/lib/rules/no-constant-condition.js
index 88984c36e7..8d7934d8a5 100644
--- a/tools/node_modules/eslint/lib/rules/no-constant-condition.js
+++ b/tools/node_modules/eslint/lib/rules/no-constant-condition.js
@@ -173,7 +173,6 @@ module.exports = {
/**
* Reports when the set still contains stored constant conditions
- * @param {ASTNode} node The AST node to check.
* @returns {void}
* @private
*/
diff --git a/tools/node_modules/eslint/lib/rules/no-else-return.js b/tools/node_modules/eslint/lib/rules/no-else-return.js
index eebdec76e0..5ba02de291 100644
--- a/tools/node_modules/eslint/lib/rules/no-else-return.js
+++ b/tools/node_modules/eslint/lib/rules/no-else-return.js
@@ -183,7 +183,6 @@ module.exports = {
* code paths.
*
* @param {Node} node The consequent or body node
- * @param {Node} alternate The alternate node
* @returns {boolean} `true` if it is a Return/If node that always returns.
*/
function checkForReturnOrIf(node) {
diff --git a/tools/node_modules/eslint/lib/rules/no-implied-eval.js b/tools/node_modules/eslint/lib/rules/no-implied-eval.js
index d31b5dfee8..afa24ab8ef 100644
--- a/tools/node_modules/eslint/lib/rules/no-implied-eval.js
+++ b/tools/node_modules/eslint/lib/rules/no-implied-eval.js
@@ -38,7 +38,7 @@ module.exports = {
/**
* Get the last element of an array, without modifying arr, like pop(), but non-destructive.
- * @param {array} arr What to inspect
+ * @param {Array} arr What to inspect
* @returns {*} The last element of arr
* @private
*/
diff --git a/tools/node_modules/eslint/lib/rules/no-restricted-imports.js b/tools/node_modules/eslint/lib/rules/no-restricted-imports.js
index b8fcca1aaf..b8917ee9c5 100644
--- a/tools/node_modules/eslint/lib/rules/no-restricted-imports.js
+++ b/tools/node_modules/eslint/lib/rules/no-restricted-imports.js
@@ -195,7 +195,7 @@ module.exports = {
/**
* Check if the given importNames are restricted given a list of restrictedImportNames.
* @param {Set.<string>} importNames - Set of import names that are being imported
- * @param {[string]} restrictedImportNames - array of import names that are restricted for this import
+ * @param {string[]} restrictedImportNames - array of import names that are restricted for this import
* @returns {boolean} whether the objectName is restricted
* @private
*/
diff --git a/tools/node_modules/eslint/lib/rules/no-this-before-super.js b/tools/node_modules/eslint/lib/rules/no-this-before-super.js
index 93fb094e9b..bca379bf97 100644
--- a/tools/node_modules/eslint/lib/rules/no-this-before-super.js
+++ b/tools/node_modules/eslint/lib/rules/no-this-before-super.js
@@ -171,7 +171,6 @@ module.exports = {
* invalid node.
*
* @param {CodePath} codePath - A code path which was ended.
- * @param {ASTNode} node - The current node.
* @returns {void}
*/
onCodePathEnd(codePath) {
diff --git a/tools/node_modules/eslint/lib/rules/object-curly-newline.js b/tools/node_modules/eslint/lib/rules/object-curly-newline.js
index c460ea56bc..d1a6bc20f6 100644
--- a/tools/node_modules/eslint/lib/rules/object-curly-newline.js
+++ b/tools/node_modules/eslint/lib/rules/object-curly-newline.js
@@ -172,7 +172,6 @@ module.exports = {
/**
* Reports a given node if it violated this rule.
* @param {ASTNode} node - A node to check. This is an ObjectExpression, ObjectPattern, ImportDeclaration or ExportNamedDeclaration node.
- * @param {{multiline: boolean, minProperties: number, consistent: boolean}} options - An option object.
* @returns {void}
*/
function check(node) {
diff --git a/tools/node_modules/eslint/lib/rules/one-var.js b/tools/node_modules/eslint/lib/rules/one-var.js
index 44f05fb700..0e9dff4165 100644
--- a/tools/node_modules/eslint/lib/rules/one-var.js
+++ b/tools/node_modules/eslint/lib/rules/one-var.js
@@ -310,7 +310,6 @@ module.exports = {
/**
* Fixer to split a VariableDeclaration into individual declarations
* @param {VariableDeclaration} declaration The `VariableDeclaration` to split
- * @param {?Function} filter Function to filter the declarations
* @returns {Function} The fixer function
*/
function splitDeclarations(declaration) {
diff --git a/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js b/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js
index 3e55a2516d..c999588544 100644
--- a/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js
+++ b/tools/node_modules/eslint/lib/rules/padding-line-between-statements.js
@@ -37,6 +37,36 @@ function newKeywordTester(keyword) {
}
/**
+ * Creates tester which check if a node starts with specific keyword and spans a single line.
+ *
+ * @param {string} keyword The keyword to test.
+ * @returns {Object} the created tester.
+ * @private
+ */
+function newSinglelineKeywordTester(keyword) {
+ return {
+ test: (node, sourceCode) =>
+ node.loc.start.line === node.loc.end.line &&
+ sourceCode.getFirstToken(node).value === keyword
+ };
+}
+
+/**
+ * Creates tester which check if a node starts with specific keyword and spans multiple lines.
+ *
+ * @param {string} keyword The keyword to test.
+ * @returns {Object} the created tester.
+ * @private
+ */
+function newMultilineKeywordTester(keyword) {
+ return {
+ test: (node, sourceCode) =>
+ node.loc.start.line !== node.loc.end.line &&
+ sourceCode.getFirstToken(node).value === keyword
+ };
+}
+
+/**
* Creates tester which check if a node is specific type.
*
* @param {string} type The node type to test.
@@ -368,6 +398,13 @@ const StatementTypes = {
!isDirectivePrologue(node, sourceCode)
},
+ "multiline-const": newMultilineKeywordTester("const"),
+ "multiline-let": newMultilineKeywordTester("let"),
+ "multiline-var": newMultilineKeywordTester("var"),
+ "singleline-const": newSinglelineKeywordTester("const"),
+ "singleline-let": newSinglelineKeywordTester("let"),
+ "singleline-var": newSinglelineKeywordTester("var"),
+
block: newNodeTypeTester("BlockStatement"),
empty: newNodeTypeTester("EmptyStatement"),
function: newNodeTypeTester("FunctionDeclaration"),
diff --git a/tools/node_modules/eslint/lib/rules/quotes.js b/tools/node_modules/eslint/lib/rules/quotes.js
index e0db17fcb7..c3c0778224 100644
--- a/tools/node_modules/eslint/lib/rules/quotes.js
+++ b/tools/node_modules/eslint/lib/rules/quotes.js
@@ -228,6 +228,34 @@ module.exports = {
}
}
+ /**
+ * Checks whether or not a given TemplateLiteral node is actually using any of the special features provided by template literal strings.
+ * @param {ASTNode} node - A TemplateLiteral node to check.
+ * @returns {boolean} Whether or not the TemplateLiteral node is using any of the special features provided by template literal strings.
+ * @private
+ */
+ function isUsingFeatureOfTemplateLiteral(node) {
+ const hasTag = node.parent.type === "TaggedTemplateExpression" && node === node.parent.quasi;
+
+ if (hasTag) {
+ return true;
+ }
+
+ const hasStringInterpolation = node.expressions.length > 0;
+
+ if (hasStringInterpolation) {
+ return true;
+ }
+
+ const isMultilineString = node.quasis.length >= 1 && UNESCAPED_LINEBREAK_PATTERN.test(node.quasis[0].value.raw);
+
+ if (isMultilineString) {
+ return true;
+ }
+
+ return false;
+ }
+
return {
Literal(node) {
@@ -260,39 +288,34 @@ module.exports = {
TemplateLiteral(node) {
- // If backticks are expected or it's a tagged template, then this shouldn't throw an errors
+ // Don't throw an error if backticks are expected or a template literal feature is in use.
if (
allowTemplateLiterals ||
quoteOption === "backtick" ||
- node.parent.type === "TaggedTemplateExpression" && node === node.parent.quasi
+ isUsingFeatureOfTemplateLiteral(node)
) {
return;
}
- // A warning should be produced if the template literal only has one TemplateElement, and has no unescaped newlines.
- const shouldWarn = node.quasis.length === 1 && !UNESCAPED_LINEBREAK_PATTERN.test(node.quasis[0].value.raw);
-
- if (shouldWarn) {
- context.report({
- node,
- message: "Strings must use {{description}}.",
- data: {
- description: settings.description
- },
- fix(fixer) {
- if (isPartOfDirectivePrologue(node)) {
-
- /*
- * TemplateLiterals in a directive prologue aren't actually directives, but if they're
- * in the directive prologue, then fixing them might turn them into directives and change
- * the behavior of the code.
- */
- return null;
- }
- return fixer.replaceText(node, settings.convert(sourceCode.getText(node)));
+ context.report({
+ node,
+ message: "Strings must use {{description}}.",
+ data: {
+ description: settings.description
+ },
+ fix(fixer) {
+ if (isPartOfDirectivePrologue(node)) {
+
+ /*
+ * TemplateLiterals in a directive prologue aren't actually directives, but if they're
+ * in the directive prologue, then fixing them might turn them into directives and change
+ * the behavior of the code.
+ */
+ return null;
}
- });
- }
+ return fixer.replaceText(node, settings.convert(sourceCode.getText(node)));
+ }
+ });
}
};
diff --git a/tools/node_modules/eslint/lib/rules/require-jsdoc.js b/tools/node_modules/eslint/lib/rules/require-jsdoc.js
index 949314993b..389bfb692b 100644
--- a/tools/node_modules/eslint/lib/rules/require-jsdoc.js
+++ b/tools/node_modules/eslint/lib/rules/require-jsdoc.js
@@ -43,7 +43,10 @@ module.exports = {
},
additionalProperties: false
}
- ]
+ ],
+
+ deprecated: true,
+ replacedBy: []
},
create(context) {
diff --git a/tools/node_modules/eslint/lib/rules/space-in-parens.js b/tools/node_modules/eslint/lib/rules/space-in-parens.js
index 88f4f0b50e..3068662632 100644
--- a/tools/node_modules/eslint/lib/rules/space-in-parens.js
+++ b/tools/node_modules/eslint/lib/rules/space-in-parens.js
@@ -61,7 +61,6 @@ module.exports = {
/**
* Produces an object with the opener and closer exception values
- * @param {Object} opts The exception options
* @returns {Object} `openers` and `closers` exception values
* @private
*/
diff --git a/tools/node_modules/eslint/lib/rules/space-infix-ops.js b/tools/node_modules/eslint/lib/rules/space-infix-ops.js
index 45b76795ea..254616d998 100644
--- a/tools/node_modules/eslint/lib/rules/space-infix-ops.js
+++ b/tools/node_modules/eslint/lib/rules/space-infix-ops.js
@@ -69,7 +69,10 @@ module.exports = {
context.report({
node: mainNode,
loc: culpritToken.loc.start,
- message: "Infix operators must be spaced.",
+ message: "Operator '{{operator}}' must be spaced.",
+ data: {
+ operator: culpritToken.value
+ },
fix(fixer) {
const previousToken = sourceCode.getTokenBefore(culpritToken);
const afterToken = sourceCode.getTokenAfter(culpritToken);
diff --git a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
index b434491bfa..b40a20f6b4 100644
--- a/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
+++ b/tools/node_modules/eslint/lib/rules/valid-jsdoc.js
@@ -64,7 +64,10 @@ module.exports = {
}
],
- fixable: "code"
+ fixable: "code",
+
+ deprecated: true,
+ replacedBy: []
},
create(context) {
diff --git a/tools/node_modules/eslint/lib/util/config-comment-parser.js b/tools/node_modules/eslint/lib/util/config-comment-parser.js
new file mode 100644
index 0000000000..88504caf1c
--- /dev/null
+++ b/tools/node_modules/eslint/lib/util/config-comment-parser.js
@@ -0,0 +1,144 @@
+/**
+ * @fileoverview Config Comment Parser
+ * @author Nicholas C. Zakas
+ */
+
+/* eslint-disable class-methods-use-this*/
+"use strict";
+
+//------------------------------------------------------------------------------
+// Requirements
+//------------------------------------------------------------------------------
+
+const levn = require("levn"),
+ ConfigOps = require("../config/config-ops");
+
+const debug = require("debug")("eslint:config-comment-parser");
+
+//------------------------------------------------------------------------------
+// Public Interface
+//------------------------------------------------------------------------------
+
+/**
+ * Object to parse ESLint configuration comments inside JavaScript files.
+ * @name ConfigCommentParser
+ */
+module.exports = class ConfigCommentParser {
+
+ /**
+ * Parses a list of "name:boolean_value" or/and "name" options divided by comma or
+ * whitespace. Used for "global" and "exported" comments.
+ * @param {string} string The string to parse.
+ * @param {Comment} comment The comment node which has the string.
+ * @returns {Object} Result map object of names and boolean values
+ */
+ parseBooleanConfig(string, comment) {
+ debug("Parsing Boolean config");
+
+ const items = {};
+
+ // Collapse whitespace around `:` and `,` to make parsing easier
+ const trimmedString = string.replace(/\s*([:,])\s*/g, "$1");
+
+ trimmedString.split(/\s|,+/).forEach(name => {
+ if (!name) {
+ return;
+ }
+
+ // value defaults to "false" (if not provided), e.g: "foo" => ["foo", "false"]
+ const [key, value = "false"] = name.split(":");
+
+ items[key] = {
+ value: value === "true",
+ comment
+ };
+ });
+ return items;
+ }
+
+ /**
+ * Parses a JSON-like config.
+ * @param {string} string The string to parse.
+ * @param {Object} location Start line and column of comments for potential error message.
+ * @returns {({success: true, config: Object}|{success: false, error: Problem})} Result map object
+ */
+ parseJsonConfig(string, location) {
+ debug("Parsing JSON config");
+
+ let items = {};
+
+ // Parses a JSON-like comment by the same way as parsing CLI option.
+ try {
+ items = levn.parse("Object", string) || {};
+
+ // Some tests say that it should ignore invalid comments such as `/*eslint no-alert:abc*/`.
+ // Also, commaless notations have invalid severity:
+ // "no-alert: 2 no-console: 2" --> {"no-alert": "2 no-console: 2"}
+ // Should ignore that case as well.
+ if (ConfigOps.isEverySeverityValid(items)) {
+ return {
+ success: true,
+ config: items
+ };
+ }
+ } catch (ex) {
+
+ debug("Levn parsing failed; falling back to manual parsing.");
+
+ // ignore to parse the string by a fallback.
+ }
+
+ /*
+ * Optionator cannot parse commaless notations.
+ * But we are supporting that. So this is a fallback for that.
+ */
+ items = {};
+ const normalizedString = string.replace(/([a-zA-Z0-9\-/]+):/g, "\"$1\":").replace(/(]|[0-9])\s+(?=")/, "$1,");
+
+ try {
+ items = JSON.parse(`{${normalizedString}}`);
+ } catch (ex) {
+ debug("Manual parsing failed.");
+
+ return {
+ success: false,
+ error: {
+ ruleId: null,
+ fatal: true,
+ severity: 2,
+ message: `Failed to parse JSON from '${normalizedString}': ${ex.message}`,
+ line: location.start.line,
+ column: location.start.column + 1
+ }
+ };
+
+ }
+
+ return {
+ success: true,
+ config: items
+ };
+ }
+
+ /**
+ * Parses a config of values separated by comma.
+ * @param {string} string The string to parse.
+ * @returns {Object} Result map of values and true values
+ */
+ parseListConfig(string) {
+ debug("Parsing list config");
+
+ const items = {};
+
+ // Collapse whitespace around commas
+ string.replace(/\s*,\s*/g, ",").split(/,+/).forEach(name => {
+ const trimmedName = name.trim();
+
+ if (trimmedName) {
+ items[trimmedName] = true;
+ }
+ });
+ return items;
+ }
+
+};
diff --git a/tools/node_modules/eslint/lib/util/glob-utils.js b/tools/node_modules/eslint/lib/util/glob-utils.js
index a2be0f0425..fd4cfa0085 100644
--- a/tools/node_modules/eslint/lib/util/glob-utils.js
+++ b/tools/node_modules/eslint/lib/util/glob-utils.js
@@ -14,7 +14,7 @@ const lodash = require("lodash"),
GlobSync = require("./glob"),
pathUtils = require("./path-utils"),
- IgnoredPaths = require("../ignored-paths");
+ IgnoredPaths = require("./ignored-paths");
const debug = require("debug")("eslint:glob-utils");
diff --git a/tools/node_modules/eslint/lib/ignored-paths.js b/tools/node_modules/eslint/lib/util/ignored-paths.js
index 8520090af5..de4a79cde3 100644
--- a/tools/node_modules/eslint/lib/ignored-paths.js
+++ b/tools/node_modules/eslint/lib/util/ignored-paths.js
@@ -12,7 +12,7 @@
const fs = require("fs"),
path = require("path"),
ignore = require("ignore"),
- pathUtils = require("./util/path-utils");
+ pathUtils = require("./path-utils");
const debug = require("debug")("eslint:ignored-paths");
@@ -296,7 +296,7 @@ class IgnoredPaths {
/**
* read ignore filepath
* @param {string} filePath, file to add to ig
- * @returns {array} raw ignore rules
+ * @returns {Array} raw ignore rules
*/
readIgnoreFile(filePath) {
if (typeof this.cache[filePath] === "undefined") {
@@ -307,8 +307,8 @@ class IgnoredPaths {
/**
* add ignore file to node-ignore instance
- * @param {Object} ig, instance of node-ignore
- * @param {string} filePath, file to add to ig
+ * @param {Object} ig instance of node-ignore
+ * @param {string} filePath file to add to ig
* @returns {void}
*/
addIgnoreFile(ig, filePath) {
diff --git a/tools/node_modules/eslint/lib/report-translator.js b/tools/node_modules/eslint/lib/util/report-translator.js
index f828305860..3dfdca0e49 100644
--- a/tools/node_modules/eslint/lib/report-translator.js
+++ b/tools/node_modules/eslint/lib/util/report-translator.js
@@ -10,8 +10,8 @@
//------------------------------------------------------------------------------
const assert = require("assert");
-const ruleFixer = require("./util/rule-fixer");
-const interpolate = require("./util/interpolate");
+const ruleFixer = require("./rule-fixer");
+const interpolate = require("./interpolate");
//------------------------------------------------------------------------------
// Typedefs
diff --git a/tools/node_modules/eslint/lib/util/source-code.js b/tools/node_modules/eslint/lib/util/source-code.js
index dd45f6112a..4e90ac1aa9 100644
--- a/tools/node_modules/eslint/lib/util/source-code.js
+++ b/tools/node_modules/eslint/lib/util/source-code.js
@@ -87,7 +87,7 @@ class SourceCode extends TokenStore {
* @param {string|Object} textOrConfig - The source code text or config object.
* @param {string} textOrConfig.text - The source code text.
* @param {ASTNode} textOrConfig.ast - The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped.
- * @param {Object|null} textOrConfig.parserServices - The parser srevices.
+ * @param {Object|null} textOrConfig.parserServices - The parser services.
* @param {ScopeManager|null} textOrConfig.scopeManager - The scope of this source code.
* @param {Object|null} textOrConfig.visitorKeys - The visitor keys to traverse AST.
* @param {ASTNode} [astIfNoConfig] - The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped.
@@ -316,6 +316,7 @@ class SourceCode extends TokenStore {
* @returns {Token|null} The Block comment token containing the JSDoc comment
* for the given node or null if not found.
* @public
+ * @deprecated
*/
getJSDocComment(node) {
diff --git a/tools/node_modules/eslint/messages/all-files-ignored.txt b/tools/node_modules/eslint/messages/all-files-ignored.txt
index 3b741a03e3..3f4c8ced4c 100644
--- a/tools/node_modules/eslint/messages/all-files-ignored.txt
+++ b/tools/node_modules/eslint/messages/all-files-ignored.txt
@@ -1,4 +1,4 @@
-All of the files matching the glob pattern "<%= pattern %>" are ignored.
+You are linting "<%= pattern %>", but all of the files matching the glob pattern "<%= pattern %>" are ignored.
If you don't want to lint these files, remove the pattern "<%= pattern %>" from the list of arguments passed to ESLint.
diff --git a/tools/node_modules/eslint/node_modules/acorn-jsx/index.js b/tools/node_modules/eslint/node_modules/acorn-jsx/index.js
index 292315f65b..460e793399 100644
--- a/tools/node_modules/eslint/node_modules/acorn-jsx/index.js
+++ b/tools/node_modules/eslint/node_modules/acorn-jsx/index.js
@@ -1,9 +1,18 @@
+'use strict';
+
const XHTMLEntities = require('./xhtml');
const hexNumber = /^[\da-fA-F]+$/;
const decimalNumber = /^\d+$/;
-const {tokTypes: tt, TokContext, tokContexts, TokenType, isNewLine, isIdentifierStart, isIdentifierChar} = require("acorn");
+const acorn = require("acorn");
+const tt = acorn.tokTypes;
+const TokContext = acorn.TokContext;
+const tokContexts = acorn.tokContexts;
+const TokenType = acorn.TokenType;
+const isNewLine = acorn.isNewLine;
+const isIdentifierStart = acorn.isIdentifierStart;
+const isIdentifierChar = acorn.isIdentifierChar;
const tc_oTag = new TokContext('<tag', false);
const tc_cTag = new TokContext('</tag', false);
@@ -48,15 +57,16 @@ function getQualifiedJSXName(object) {
getQualifiedJSXName(object.property);
}
-module.exports = function(options = {}) {
+module.exports = function(options) {
+ options = options || {};
return function(Parser) {
return plugin({
allowNamespaces: options.allowNamespaces !== false,
allowNamespacedObjects: !!options.allowNamespacedObjects
}, Parser);
}
-}
-module.exports.tokTypes = tok
+};
+module.exports.tokTypes = tok;
function plugin(options, Parser) {
return class extends Parser {
@@ -115,7 +125,7 @@ function plugin(options, Parser) {
}
return out;
- };
+ }
jsx_readString(quote) {
let out = '', chunkStart = ++this.pos;
@@ -428,4 +438,4 @@ function plugin(options, Parser) {
}
}
};
-};
+}
diff --git a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json
index d22757b6a8..89d06d6900 100644
--- a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json
+++ b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json
@@ -28,5 +28,5 @@
"scripts": {
"test": "node test/run.js"
},
- "version": "5.0.0"
+ "version": "5.0.1"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/ajv/README.md b/tools/node_modules/eslint/node_modules/ajv/README.md
index 97dc4da602..44b5081c3d 100644
--- a/tools/node_modules/eslint/node_modules/ajv/README.md
+++ b/tools/node_modules/eslint/node_modules/ajv/README.md
@@ -1029,6 +1029,7 @@ Defaults:
jsonPointers: false,
uniqueItems: true,
unicode: true,
+ nullable: false,
format: 'fast',
formats: {},
unknownFormats: true,
@@ -1075,6 +1076,7 @@ Defaults:
- _jsonPointers_: set `dataPath` property of errors using [JSON Pointers](https://tools.ietf.org/html/rfc6901) instead of JavaScript property access notation.
- _uniqueItems_: validate `uniqueItems` keyword (true by default).
- _unicode_: calculate correct length of strings with unicode pairs (true by default). Pass `false` to use `.length` of strings that is faster, but gives "incorrect" lengths of strings with unicode pairs - each unicode pair is counted as two characters.
+- _nullable_: support keyword "nullable" from [Open API 3 specification](https://swagger.io/docs/specification/data-models/data-types/).
- _format_: formats validation mode ('fast' by default). Pass 'full' for more correct and slow validation or `false` not to validate formats at all. E.g., 25:00:00 and 2015/14/33 will be invalid time and date in 'full' mode but it will be valid in 'fast' mode.
- _formats_: an object with custom formats. Keys and values will be passed to `addFormat` method.
- _unknownFormats_: handling of unknown formats. Option values:
diff --git a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js
index 0f292936b2..452fb46dce 100644
--- a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js
+++ b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.bundle.js
@@ -4260,6 +4260,14 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
var $errorKeyword;
var $typeSchema = it.schema.type,
$typeIsArray = Array.isArray($typeSchema);
+ if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {
+ if ($typeIsArray) {
+ if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null');
+ } else if ($typeSchema != 'null') {
+ $typeSchema = [$typeSchema, 'null'];
+ $typeIsArray = true;
+ }
+ }
if ($typeIsArray && $typeSchema.length == 1) {
$typeSchema = $typeSchema[0];
$typeIsArray = false;
@@ -5051,11 +5059,17 @@ module.exports = function (data, opts) {
'use strict';
var traverse = module.exports = function (schema, opts, cb) {
+ // Legacy support for v0.3.1 and earlier.
if (typeof opts == 'function') {
cb = opts;
opts = {};
}
- _traverse(opts, cb, schema, '', schema);
+
+ cb = opts.cb || cb;
+ var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};
+ var post = cb.post || function() {};
+
+ _traverse(opts, pre, post, schema, '', schema);
};
@@ -5083,6 +5097,7 @@ traverse.propsKeywords = {
};
traverse.skipKeywords = {
+ default: true,
enum: true,
const: true,
required: true,
@@ -5103,25 +5118,26 @@ traverse.skipKeywords = {
};
-function _traverse(opts, cb, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {
+function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {
if (schema && typeof schema == 'object' && !Array.isArray(schema)) {
- cb(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
+ pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
for (var key in schema) {
var sch = schema[key];
if (Array.isArray(sch)) {
if (key in traverse.arrayKeywords) {
for (var i=0; i<sch.length; i++)
- _traverse(opts, cb, sch[i], jsonPtr + '/' + key + '/' + i, rootSchema, jsonPtr, key, schema, i);
+ _traverse(opts, pre, post, sch[i], jsonPtr + '/' + key + '/' + i, rootSchema, jsonPtr, key, schema, i);
}
} else if (key in traverse.propsKeywords) {
if (sch && typeof sch == 'object') {
for (var prop in sch)
- _traverse(opts, cb, sch[prop], jsonPtr + '/' + key + '/' + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop);
+ _traverse(opts, pre, post, sch[prop], jsonPtr + '/' + key + '/' + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop);
}
} else if (key in traverse.keywords || (opts.allKeys && !(key in traverse.skipKeywords))) {
- _traverse(opts, cb, sch, jsonPtr + '/' + key, rootSchema, jsonPtr, key, schema);
+ _traverse(opts, pre, post, sch, jsonPtr + '/' + key, rootSchema, jsonPtr, key, schema);
}
}
+ post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
}
}
@@ -5838,39 +5854,39 @@ var punycode = {
'toUnicode': toUnicode
};
-/**
- * URI.js
- *
- * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.
- * @author <a href="mailto:gary.court@gmail.com">Gary Court</a>
- * @see http://github.com/garycourt/uri-js
+/**
+ * URI.js
+ *
+ * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.
+ * @author <a href="mailto:gary.court@gmail.com">Gary Court</a>
+ * @see http://github.com/garycourt/uri-js
*/
-/**
- * Copyright 2011 Gary Court. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification, are
- * permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this list of
- * conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice, this list
- * of conditions and the following disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are those of the
- * authors and should not be interpreted as representing official policies, either expressed
- * or implied, of Gary Court.
+/**
+ * Copyright 2011 Gary Court. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of Gary Court.
*/
var SCHEMES = {};
function pctEncChar(chr) {
@@ -6594,8 +6610,9 @@ function Ajv(opts) {
this._metaOpts = getMetaSchemaOptions(this);
if (opts.formats) addInitialFormats(this);
- addDraft6MetaSchema(this);
+ addDefaultMetaSchema(this);
if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta);
+ if (opts.nullable) this.addKeyword('nullable', {metaSchema: {const: true}});
addInitialSchemas(this);
}
@@ -6967,7 +6984,7 @@ function addFormat(name, format) {
}
-function addDraft6MetaSchema(self) {
+function addDefaultMetaSchema(self) {
var $dataSchema;
if (self._opts.$data) {
$dataSchema = require('./refs/data.json');
diff --git a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js
index 3fbafcc4a7..57e3eb0550 100644
--- a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js
+++ b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js
@@ -1,3 +1,3 @@
-/* ajv 6.5.5: Another JSON Schema Validator */
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Ajv=e()}}(function(){return function o(i,n,l){function c(r,e){if(!n[r]){if(!i[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(u)return u(r,!0);var a=new Error("Cannot find module '"+r+"'");throw a.code="MODULE_NOT_FOUND",a}var s=n[r]={exports:{}};i[r][0].call(s.exports,function(e){return c(i[r][1][e]||e)},s,s.exports,o,i,n,l)}return n[r].exports}for(var u="function"==typeof require&&require,e=0;e<l.length;e++)c(l[e]);return c}({1:[function(e,r,t){"use strict";var a=r.exports=function(){this._cache={}};a.prototype.put=function(e,r){this._cache[e]=r},a.prototype.get=function(e){return this._cache[e]},a.prototype.del=function(e){delete this._cache[e]},a.prototype.clear=function(){this._cache={}}},{}],2:[function(e,r,t){"use strict";var s=e("./error_classes").MissingRef;r.exports=function t(r,i,a){var n=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof i&&(a=i,i=void 0);var e=l(r).then(function(){var e=n._addSchema(r,void 0,i);return e.validate||function(o){try{return n._compile(o)}catch(e){if(e instanceof s)return function(e){var r=e.missingSchema;if(s(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var t=n._loadingSchemas[r];t||(t=n._loadingSchemas[r]=n._opts.loadSchema(r)).then(a,a);return t.then(function(e){if(!s(r))return l(e).then(function(){s(r)||n.addSchema(e,r,void 0,i)})}).then(function(){return c(o)});function a(){delete n._loadingSchemas[r]}function s(e){return n._refs[e]||n._schemas[e]}}(e);throw e}}(e)});a&&e.then(function(e){a(null,e)},a);return e;function l(e){var r=e.$schema;return r&&!n.getSchema(r)?t.call(n,{$ref:r},!0):Promise.resolve()}function c(o){try{return n._compile(o)}catch(e){if(e instanceof s)return function(e){var r=e.missingSchema;if(s(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var t=n._loadingSchemas[r];t||(t=n._loadingSchemas[r]=n._opts.loadSchema(r)).then(a,a);return t.then(function(e){if(!s(r))return l(e).then(function(){s(r)||n.addSchema(e,r,void 0,i)})}).then(function(){return c(o)});function a(){delete n._loadingSchemas[r]}function s(e){return n._refs[e]||n._schemas[e]}}(e);throw e}}}},{"./error_classes":3}],3:[function(e,r,t){"use strict";var a=e("./resolve");function s(e,r,t){this.message=t||s.message(e,r),this.missingRef=a.url(e,r),this.missingSchema=a.normalizeId(a.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e}r.exports={Validation:o(function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0}),MissingRef:o(s)},s.message=function(e,r){return"can't resolve reference "+r+" from id "+e}},{"./resolve":6}],4:[function(e,r,t){"use strict";var a=e("./util"),o=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31],n=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,s=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,l=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,c=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,f=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return a.copy(m[e="full"==e?"full":"fast"])}function v(e){var r=e.match(o);if(!r)return!1;var t,a=+r[2],s=+r[3];return 1<=a&&a<=12&&1<=s&&s<=(2!=a||((t=+r[1])%4!=0||t%100==0&&t%400!=0)?i[a]:29)}function g(e,r){var t=e.match(n);if(!t)return!1;var a=t[1],s=t[2],o=t[3];return(a<=23&&s<=59&&o<=59||23==a&&59==s&&60==o)&&(!r||t[5])}(r.exports=m).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p},m.full={date:v,time:g,"date-time":function(e){var r=e.split(y);return 2==r.length&&v(r[0])&&g(r[1],!0)},uri:function(e){return P.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&s.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p};var y=/t|\s/i;var P=/\/|:/;var E=/[^\\]\\Z/;function w(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},{"./util":10}],5:[function(e,r,t){"use strict";var $=e("./resolve"),D=e("./util"),j=e("./error_classes"),l=e("fast-json-stable-stringify"),O=e("../dotjs/validate"),I=D.ucs2length,A=e("fast-deep-equal"),C=j.Validation;function k(e,r,t){for(var a=0;a<this._compilations.length;a++){var s=this._compilations[a];if(s.schema==e&&s.root==r&&s.baseId==t)return a}return-1}function L(e,r){return"var pattern"+e+" = new RegExp("+D.toQuotedString(r[e])+");"}function z(e){return"var default"+e+" = defaults["+e+"];"}function T(e,r){return void 0===r[e]?"":"var refVal"+e+" = refVal["+e+"];"}function N(e){return"var customRule"+e+" = customRules["+e+"];"}function q(e,r){if(!e.length)return"";for(var t="",a=0;a<e.length;a++)t+=r(a,e);return t}r.exports=function c(e,u,h,r){var d=this,f=this._opts,p=[void 0],m={},v=[],t={},g=[],a={},y=[];u=u||{schema:e,refVal:p,refs:m};var s=function(e,r,t){var a=k.call(this,e,r,t);return 0<=a?{index:a,compiling:!0}:{index:a=this._compilations.length,compiling:(this._compilations[a]={schema:e,root:r,baseId:t},!1)}}.call(this,e,u,r);var o=this._compilations[s.index];if(s.compiling)return o.callValidate=function e(){var r=o.validate;var t=r.apply(this,arguments);e.errors=r.errors;return t};var P=this._formats;var E=this.RULES;try{var i=w(e,u,h,r);o.validate=i;var n=o.callValidate;return n&&(n.schema=i.schema,n.errors=null,n.refs=i.refs,n.refVal=i.refVal,n.root=i.root,n.$async=i.$async,f.sourceCode&&(n.source=i.source)),i}finally{(function(e,r,t){var a=k.call(this,e,r,t);0<=a&&this._compilations.splice(a,1)}).call(this,e,u,r)}function w(e,r,t,a){var s=!r||r&&r.schema==e;if(r.schema!=u.schema)return c.call(d,e,r,t,a);var o,i=!0===e.$async,n=O({isTop:!0,schema:e,isRoot:s,baseId:a,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:j.MissingRef,RULES:E,validate:O,util:D,resolve:$,resolveRef:S,usePattern:F,useDefault:x,useCustomRule:R,opts:f,formats:P,logger:d.logger,self:d});n=q(p,T)+q(v,L)+q(g,z)+q(y,N)+n,f.processCode&&(n=f.processCode(n));try{var l=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",n);o=l(d,E,P,u,p,g,y,A,I,C),p[0]=o}catch(e){throw d.logger.error("Error compiling schema, function code:",n),e}return o.schema=e,o.errors=null,o.refs=m,o.refVal=p,o.root=s?o:r,i&&(o.$async=!0),!0===f.sourceCode&&(o.source={code:n,patterns:v,defaults:g}),o}function S(e,r,t){r=$.url(e,r);var a,s,o=m[r];if(void 0!==o)return _(a=p[o],s="refVal["+o+"]");if(!t&&u.refs){var i=u.refs[r];if(void 0!==i)return s=b(r,a=u.refVal[i]),_(a,s)}s=b(r);var n=$.call(d,w,u,r);if(void 0===n){var l=h&&h[r];l&&(n=$.inlineRef(l,f.inlineRefs)?l:c.call(d,l,u,h,e))}if(void 0!==n)return p[m[r]]=n,_(n,s);delete m[r]}function b(e,r){var t=p.length;return p[t]=r,"refVal"+(m[e]=t)}function _(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function F(e){var r=t[e];return void 0===r&&(r=t[e]=v.length,v[r]=e),"pattern"+r}function x(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return D.toQuotedString(e);case"object":if(null===e)return"null";var r=l(e),t=a[r];return void 0===t&&(t=a[r]=g.length,g[t]=e),"default"+t}}function R(e,r,t,a){var s=e.definition.validateSchema;if(s&&!1!==d._opts.validateSchema){var o=s(r);if(!o){var i="keyword schema is invalid: "+d.errorsText(s.errors);if("log"!=d._opts.validateSchema)throw new Error(i);d.logger.error(i)}}var n,l=e.definition.compile,c=e.definition.inline,u=e.definition.macro;if(l)n=l.call(d,r,t,a);else if(u)n=u.call(d,r,t,a),!1!==f.validateSchema&&d.validateSchema(n,!0);else if(c)n=c.call(d,a,e.keyword,r,t);else if(!(n=e.definition.validate))return;if(void 0===n)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=y.length;return{code:"customRule"+h,validate:y[h]=n}}}},{"../dotjs/validate":37,"./error_classes":3,"./resolve":6,"./util":10,"fast-deep-equal":41,"fast-json-stable-stringify":42}],6:[function(e,r,t){"use strict";var m=e("uri-js"),v=e("fast-deep-equal"),g=e("./util"),l=e("./schema_obj"),a=e("json-schema-traverse");function c(e,r,t){var a=this._refs[t];if("string"==typeof a){if(!this._refs[a])return c.call(this,e,r,a);a=this._refs[a]}if((a=a||this._schemas[t])instanceof l)return d(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var s,o,i,n=u.call(this,r,t);return n&&(s=n.schema,r=n.root,i=n.baseId),s instanceof l?o=s.validate||e.call(this,s.schema,r,void 0,i):void 0!==s&&(o=d(s,this._opts.inlineRefs)?s:e.call(this,s,r,void 0,i)),o}function u(e,r){var t=m.parse(r),a=f(t),s=y(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==s){var o=P(a),i=this._refs[o];if("string"==typeof i)return function(e,r,t){var a=u.call(this,e,r);if(a){var s=a.schema,o=a.baseId;e=a.root;var i=this._getId(s);return i&&(o=p(o,i)),n.call(this,t,o,s,e)}}.call(this,e,i,t);if(i instanceof l)i.validate||this._compile(i),e=i;else{if(!((i=this._schemas[o])instanceof l))return;if(i.validate||this._compile(i),o==P(r))return{schema:i,root:e,baseId:s};e=i}if(!e.schema)return;s=y(this._getId(e.schema))}return n.call(this,t,s,e.schema,e)}(r.exports=c).normalizeId=P,c.fullPath=y,c.url=p,c.ids=function(e){var r=P(this._getId(e)),h={"":r},d={"":y(r,!1)},f={},p=this;return a(e,{allKeys:!0},function(e,r,t,a,s,o,i){if(""!==r){var n=p._getId(e),l=h[a],c=d[a]+"/"+s;if(void 0!==i&&(c+="/"+("number"==typeof i?i:g.escapeFragment(i))),"string"==typeof n){n=l=P(l?m.resolve(l,n):n);var u=p._refs[n];if("string"==typeof u&&(u=p._refs[u]),u&&u.schema){if(!v(e,u.schema))throw new Error('id "'+n+'" resolves to more than one schema')}else if(n!=P(c))if("#"==n[0]){if(f[n]&&!v(e,f[n]))throw new Error('id "'+n+'" resolves to more than one schema');f[n]=e}else p._refs[n]=c}h[r]=l,d[r]=c}}),f},c.inlineRef=d,c.schema=u;var h=g.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function n(e,r,t,a){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var s=e.fragment.split("/"),o=1;o<s.length;o++){var i=s[o];if(i){if(void 0===(t=t[i=g.unescapeFragment(i)]))break;var n;if(!h[i]&&((n=this._getId(t))&&(r=p(r,n)),t.$ref)){var l=p(r,t.$ref),c=u.call(this,a,l);c&&(t=c.schema,a=c.root,r=c.baseId)}}}return void 0!==t&&t!==a.schema?{schema:t,root:a,baseId:r}:void 0}}var i=g.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function d(e,r){return!1!==r&&(void 0===r||!0===r?function e(r){var t;if(Array.isArray(r)){for(var a=0;a<r.length;a++)if("object"==typeof(t=r[a])&&!e(t))return!1}else for(var s in r){if("$ref"==s)return!1;if("object"==typeof(t=r[s])&&!e(t))return!1}return!0}(e):r?function e(r){var t,a=0;if(Array.isArray(r)){for(var s=0;s<r.length;s++)if("object"==typeof(t=r[s])&&(a+=e(t)),a==1/0)return 1/0}else for(var o in r){if("$ref"==o)return 1/0;if(i[o])a++;else if("object"==typeof(t=r[o])&&(a+=e(t)+1),a==1/0)return 1/0}return a}(e)<=r:void 0)}function y(e,r){return!1!==r&&(e=P(e)),f(m.parse(e))}function f(e){return m.serialize(e).split("#")[0]+"#"}var s=/#\/?$/;function P(e){return e?e.replace(s,""):""}function p(e,r){return r=P(r),m.resolve(e,r)}},{"./schema_obj":8,"./util":10,"fast-deep-equal":41,"json-schema-traverse":43,"uri-js":44}],7:[function(e,r,t){"use strict";var o=e("../dotjs"),i=e("./util").toHash;r.exports=function(){var a=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],s=["type","$comment"];return a.all=i(s),a.types=i(["number","integer","string","array","object","boolean","null"]),a.forEach(function(e){e.rules=e.rules.map(function(e){var r;if("object"==typeof e){var t=Object.keys(e)[0];r=e[t],e=t,r.forEach(function(e){s.push(e),a.all[e]=!0})}return s.push(e),a.all[e]={keyword:e,code:o[e],implements:r}}),a.all.$comment={keyword:"$comment",code:o.$comment},e.type&&(a.types[e.type]=e)}),a.keywords=i(s.concat(["$schema","$id","id","$data","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),a.custom={},a}},{"../dotjs":26,"./util":10}],8:[function(e,r,t){"use strict";var a=e("./util");r.exports=function(e){a.copy(e,this)}},{"./util":10}],9:[function(e,r,t){"use strict";r.exports=function(e){for(var r,t=0,a=e.length,s=0;s<a;)t++,55296<=(r=e.charCodeAt(s++))&&r<=56319&&s<a&&56320==(64512&(r=e.charCodeAt(s)))&&s++;return t}},{}],10:[function(e,r,t){"use strict";function o(e,r,t){var a=t?" !== ":" === ",s=t?" || ":" && ",o=t?"!":"",i=t?"":"!";switch(e){case"null":return r+a+"null";case"array":return o+"Array.isArray("+r+")";case"object":return"("+o+r+s+"typeof "+r+a+'"object"'+s+i+"Array.isArray("+r+"))";case"integer":return"(typeof "+r+a+'"number"'+s+i+"("+r+" % 1)"+s+r+a+r+")";default:return"typeof "+r+a+'"'+e+'"'}}r.exports={copy:function(e,r){for(var t in r=r||{},e)r[t]=e[t];return r},checkDataType:o,checkDataTypes:function(e,r){switch(e.length){case 1:return o(e[0],r,!0);default:var t="",a=n(e);for(var s in a.array&&a.object&&(t=a.null?"(":"(!"+r+" || ",t+="typeof "+r+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer,a)t+=(t?" && ":"")+o(s,r,!0);return t}},coerceToTypes:function(e,r){if(Array.isArray(r)){for(var t=[],a=0;a<r.length;a++){var s=r[a];i[s]?t[t.length]=s:"array"===e&&"array"===s&&(t[t.length]=s)}if(t.length)return t}else{if(i[r])return[r];if("array"===e&&"array"===r)return["array"]}},toHash:n,getProperty:h,escapeQuotes:l,equal:e("fast-deep-equal"),ucs2length:e("./ucs2length"),varOccurences:function(e,r){var t=e.match(new RegExp(r+="[^0-9]","g"));return t?t.length:0},varReplace:function(e,r,t){return r+="([^0-9])",t=t.replace(/\$/g,"$$$$"),e.replace(new RegExp(r,"g"),t+"$1")},cleanUpCode:function(e){return e.replace(c,"").replace(u,"").replace(d,"if (!($1))")},finalCleanUpCode:function(e,r){var t=e.match(f);t&&2==t.length&&(e=r?e.replace(m,"").replace(y,P):e.replace(p,"").replace(v,g));return(t=e.match(E))&&3===t.length?e.replace(w,""):e},schemaHasRules:function(e,r){if("boolean"==typeof e)return!e;for(var t in e)if(r[t])return!0},schemaHasRulesExcept:function(e,r,t){if("boolean"==typeof e)return!e&&"not"!=t;for(var a in e)if(a!=t&&r[a])return!0},toQuotedString:S,getPathExpr:function(e,r,t,a){return F(e,t?"'/' + "+r+(a?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):a?"'[' + "+r+" + ']'":"'[\\'' + "+r+" + '\\']'")},getPath:function(e,r,t){var a=S(t?"/"+x(r):h(r));return F(e,a)},getData:function(e,r,t){var a,s,o,i;if(""===e)return"rootData";if("/"==e[0]){if(!b.test(e))throw new Error("Invalid JSON-pointer: "+e);s=e,o="rootData"}else{if(!(i=e.match(_)))throw new Error("Invalid JSON-pointer: "+e);if(a=+i[1],"#"==(s=i[2])){if(r<=a)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(r<a)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(o="data"+(r-a||""),!s)return o}for(var n=o,l=s.split("/"),c=0;c<l.length;c++){var u=l[c];u&&(o+=h(R(u)),n+=" && "+o)}return n},unescapeFragment:function(e){return R(decodeURIComponent(e))},unescapeJsonPointer:R,escapeFragment:function(e){return encodeURIComponent(x(e))},escapeJsonPointer:x};var i=n(["string","number","integer","boolean","null"]);function n(e){for(var r={},t=0;t<e.length;t++)r[e[t]]=!0;return r}var a=/^[a-z$_][a-z$_0-9]*$/i,s=/'|\\/g;function h(e){return"number"==typeof e?"["+e+"]":a.test(e)?"."+e:"['"+l(e)+"']"}function l(e){return e.replace(s,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var c=/else\s*{\s*}/g,u=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,d=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var f=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,m=/var errors = 0;|var vErrors = null;/g,v="return errors === 0;",g="validate.errors = null; return true;",y=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,P="return data;",E=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,w=/if \(rootData === undefined\) rootData = data;/;function S(e){return"'"+l(e)+"'"}var b=/^\/(?:[^~]|~0|~1)*$/,_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function F(e,r){return'""'==e?r:(e+" + "+r).replace(/' \+ '/g,"")}function x(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function R(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},{"./ucs2length":9,"fast-deep-equal":41}],11:[function(e,r,t){"use strict";var l=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];r.exports=function(e,r){for(var t=0;t<r.length;t++){e=JSON.parse(JSON.stringify(e));var a,s=r[t].split("/"),o=e;for(a=1;a<s.length;a++)o=o[s[a]];for(a=0;a<l.length;a++){var i=l[a],n=o[i];n&&(o[i]={anyOf:[n,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},{}],12:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;var f="maximum"==r,p=f?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[p],v=e.opts.$data&&m&&m.$data,g=f?"<":">",y=f?">":"<",P=void 0;if(v){var E=e.util.getData(m.$data,i,e.dataPathArr),w="exclusive"+o,S="exclType"+o,b="exclIsNumber"+o,_="' + "+(R="op"+o)+" + '";s+=" var schemaExcl"+o+" = "+E+"; ";var F;P=p;(F=F||[]).push(s+=" var "+w+"; var "+S+" = typeof "+(E="schemaExcl"+o)+"; if ("+S+" != 'boolean' && "+S+" != 'undefined' && "+S+" != 'number') { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ",!1!==e.opts.messages&&(s+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(s+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var x=s;s=F.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } else if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+S+" == 'number' ? ( ("+w+" = "+a+" === undefined || "+E+" "+g+"= "+a+") ? "+h+" "+y+"= "+E+" : "+h+" "+y+" "+a+" ) : ( ("+w+" = "+E+" === true) ? "+h+" "+y+"= "+a+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { var op"+o+" = "+w+" ? '"+g+"' : '"+g+"='; ",void 0===n&&(c=e.errSchemaPath+"/"+(P=p),a=E,d=v)}else{_=g;if((b="number"==typeof m)&&d){var R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" ( "+a+" === undefined || "+m+" "+g+"= "+a+" ? "+h+" "+y+"= "+m+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { "}else{b&&void 0===n?(w=!0,c=e.errSchemaPath+"/"+(P=p),a=m,y+="="):(b&&(a=Math[f?"min":"max"](m,n)),m===(!b||a)?(w=!0,c=e.errSchemaPath+"/"+(P=p),y+="="):(w=!1,_+="="));R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+h+" "+y+" "+a+" || "+h+" !== "+h+") { "}}P=P||r,(F=F||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { comparison: "+R+", limit: "+a+", exclusive: "+w+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be "+_+" ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";x=s;return s=F.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",u&&(s+=" else { "),s}},{}],13:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || ");var f=r,p=p||[];p.push(s+=" "+h+".length "+("maxItems"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxItems"==r?"more":"fewer",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" items' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],14:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=!1===e.opts.unicode?" "+h+".length ":" ucs2length("+h+") ";var f=r,p=p||[];p.push(s+=" "+("maxLength"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT be ",s+="maxLength"==r?"longer":"shorter",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" characters' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],15:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || ");var f=r,p=p||[];p.push(s+=" Object.keys("+h+").length "+("maxProperties"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxProperties"==r?"more":"fewer",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" properties' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],16:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.schema[r],o=e.schemaPath+e.util.getProperty(r),i=e.errSchemaPath+"/"+r,n=!e.opts.allErrors,l=e.util.copy(e),c="";l.level++;var u="valid"+l.level,h=l.baseId,d=!0,f=s;if(f)for(var p,m=-1,v=f.length-1;m<v;)p=f[m+=1],e.util.schemaHasRules(p,e.RULES.all)&&(d=!1,l.schema=p,l.schemaPath=o+"["+m+"]",l.errSchemaPath=i+"/"+m,a+=" "+e.validate(l)+" ",l.baseId=h,n&&(a+=" if ("+u+") { ",c+="}"));return n&&(a+=d?" if (true) { ":" "+c.slice(0,-1)+" "),a=e.util.cleanUpCode(a)}},{}],17:[function(e,r,t){"use strict";r.exports=function(r,e,t){var a=" ",s=r.level,o=r.dataLevel,i=r.schema[e],n=r.schemaPath+r.util.getProperty(e),l=r.errSchemaPath+"/"+e,c=!r.opts.allErrors,u="data"+(o||""),h="valid"+s,d="errs__"+s,f=r.util.copy(r),p="";f.level++;var m="valid"+f.level;if(i.every(function(e){return r.util.schemaHasRules(e,r.RULES.all)})){var v=f.baseId;a+=" var "+d+" = errors; var "+h+" = false; ";var g=r.compositeRule;r.compositeRule=f.compositeRule=!0;var y=i;if(y)for(var P,E=-1,w=y.length-1;E<w;)P=y[E+=1],f.schema=P,f.schemaPath=n+"["+E+"]",f.errSchemaPath=l+"/"+E,a+=" "+r.validate(f)+" ",f.baseId=v,a+=" "+h+" = "+h+" || "+m+"; if (!"+h+") { ",p+="}";r.compositeRule=f.compositeRule=g,a+=" "+p+" if (!"+h+") { var err = ",!1!==r.createErrors?(a+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+r.errorPath+" , schemaPath: "+r.util.toQuotedString(l)+" , params: {} ",!1!==r.opts.messages&&(a+=" , message: 'should match some schema in anyOf' "),r.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+r.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!r.compositeRule&&c&&(a+=r.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",r.opts.allErrors&&(a+=" } "),a=r.util.cleanUpCode(a)}else c&&(a+=" if (true) { ");return a}},{}],18:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.errSchemaPath+"/"+r,o=e.util.toQuotedString(e.schema[r]);return!0===e.opts.$comment?a+=" console.log("+o+");":"function"==typeof e.opts.$comment&&(a+=" self._opts.$comment("+o+", "+e.util.toQuotedString(s)+", validate.root.schema);"),a}},{}],19:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; "),d||(a+=" var schema"+s+" = validate.schema"+n+";");var f=f||[];f.push(a+="var "+h+" = equal("+u+", schema"+s+"); if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var p=a;return a=f.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",c&&(a+=" else { "),a}},{}],20:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m="i"+s,v=f.dataLevel=e.dataLevel+1,g="data"+v,y=e.baseId,P=e.util.schemaHasRules(i,e.RULES.all);if(a+="var "+d+" = errors;var "+h+";",P){var E=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+p+" = false; for (var "+m+" = 0; "+m+" < "+u+".length; "+m+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var w=u+"["+m+"]";f.dataPathArr[v]=m;var S=e.validate(f);f.baseId=y,e.util.varOccurences(S,g)<2?a+=" "+e.util.varReplace(S,g,w)+" ":a+=" var "+g+" = "+w+"; "+S+" ",a+=" if ("+p+") break; } ",e.compositeRule=f.compositeRule=E,a+=" if (!"+p+") {"}else a+=" if ("+u+".length == 0) {";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var _=a;return a=b.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",P&&(a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)}},{}],21:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.level,n=e.dataLevel,l=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,d="data"+(n||""),f="valid"+i,p="errs__"+i,m=e.opts.$data&&l&&l.$data;m?(o+=" var schema"+i+" = "+e.util.getData(l.$data,n,e.dataPathArr)+"; ",s="schema"+i):s=l;var v,g,y,P,E,w=this,S="definition"+i,b=w.definition,_="";if(m&&b.$data){var F=b.validateSchema;o+=" var "+S+" = RULES.custom['"+r+"'].definition; var "+(E="keywordValidate"+i)+" = "+S+".validate;"}else{if(!(P=e.useCustomRule(w,l,e.schema,e)))return;s="validate.schema"+c,E=P.code,v=b.compile,g=b.inline,y=b.macro}var x=E+".errors",R="i"+i,$="ruleErr"+i,D=b.async;if(D&&!e.async)throw new Error("async keyword in sync schema");if(g||y||(o+=x+" = null;"),o+="var "+p+" = errors;var "+f+";",m&&b.$data&&(_+="}",o+=" if ("+s+" === undefined) { "+f+" = true; } else { ",F&&(_+="}",o+=" "+f+" = "+S+".validateSchema("+s+"); if ("+f+") { ")),g)o+=b.statements?" "+P.validate+" ":" "+f+" = "+P.validate+"; ";else if(y){var j=e.util.copy(e);_="";j.level++;var O="valid"+j.level;j.schema=P.validate,j.schemaPath="";var I=e.compositeRule;e.compositeRule=j.compositeRule=!0;var A=e.validate(j).replace(/validate\.schema/g,E);e.compositeRule=j.compositeRule=I,o+=" "+A}else{(z=z||[]).push(o),o="",o+=" "+E+".call( ",o+=e.opts.passContext?"this":"self",o+=v||!1===b.schema?" , "+d+" ":" , "+s+" , "+d+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var C=n?"data"+(n-1||""):"parentData",k=n?e.dataPathArr[n]:"parentDataProperty",L=o+=" , "+C+" , "+k+" , rootData ) ";o=z.pop(),!1===b.errors?(o+=" "+f+" = ",D&&(o+="await "),o+=L+"; "):o+=D?" var "+(x="customErrors"+i)+" = null; try { "+f+" = await "+L+"; } catch (e) { "+f+" = false; if (e instanceof ValidationError) "+x+" = e.errors; else throw e; } ":" "+x+" = null; "+f+" = "+L+"; "}if(b.modifying&&(o+=" if ("+C+") "+d+" = "+C+"["+k+"];"),o+=""+_,b.valid)h&&(o+=" if (true) { ");else{var z;o+=" if ( ",void 0===b.valid?(o+=" !",o+=y?""+O:""+f):o+=" "+!b.valid+" ",a=w.keyword,(z=z||[]).push(o+=") { "),(z=z||[]).push(o=""),o="",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var T=o;o=z.pop();var N=o+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+T+"]); ":" validate.errors = ["+T+"]; return false; ":" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";o=z.pop(),g?b.errors?"full"!=b.errors&&(o+=" for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } "):!1===b.errors?o+=" "+N+" ":(o+=" if ("+p+" == errors) { "+N+" } else { for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+u+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } "):y?(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(o+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; ")):!1===b.errors?o+=" "+N+" ":(o+=" if (Array.isArray("+x+")) { if (vErrors === null) vErrors = "+x+"; else vErrors = vErrors.concat("+x+"); errors = vErrors.length; for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; "+$+'.schemaPath = "'+u+'"; ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } else { "+N+" } "),o+=" } ",h&&(o+=" else { ")}return o}},{}],22:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m={},v={},g=e.opts.ownProperties;for(w in i){var y=i[w],P=Array.isArray(y)?v:m;P[w]=y}a+="var "+h+" = errors;";var E=e.errorPath;for(var w in a+="var missing"+s+";",v)if((P=v[w]).length){if(a+=" if ( "+u+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),c){a+=" && ( ";var S=P;if(S)for(var b=-1,_=S.length-1;b<_;){j=S[b+=1],b&&(a+=" || "),a+=" ( ( "+(C=u+(A=e.util.getProperty(j)))+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(j)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?j:A)+") ) "}a+=")) { ";var F="missing"+s,x="' + "+F+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,F,!0):E+" + "+F);var R=R||[];R.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var $=a;a=R.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+$+"]); ":" validate.errors = ["+$+"]; return false; ":" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{a+=" ) { ";var D=P;if(D)for(var j,O=-1,I=D.length-1;O<I;){j=D[O+=1];var A=e.util.getProperty(j),C=(x=e.util.escapeQuotes(j),u+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,j,e.opts.jsonPointers)),a+=" if ( "+C+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(j)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}a+=" } ",c&&(f+="}",a+=" else { ")}e.errorPath=E;var k=d.baseId;for(var w in m){e.util.schemaHasRules(y=m[w],e.RULES.all)&&(a+=" "+p+" = true; if ( "+u+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),a+=") { ",d.schema=y,d.schemaPath=n+e.util.getProperty(w),d.errSchemaPath=l+"/"+e.util.escapeFragment(w),a+=" "+e.validate(d)+" ",d.baseId=k,a+=" } ",c&&(a+=" if ("+p+") { ",f+="}"))}return c&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],23:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="i"+s,p="schema"+s;d||(a+=" var "+p+" = validate.schema"+n+";"),a+="var "+h+";",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=h+" = false;for (var "+f+"=0; "+f+"<"+p+".length; "+f+"++) if (equal("+u+", "+p+"["+f+"])) { "+h+" = true; break; }",d&&(a+=" } ");var m=m||[];m.push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var v=a;return a=m.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+v+"]); ":" validate.errors = ["+v+"]; return false; ":" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",c&&(a+=" else { "),a}},{}],24:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||"");if(!1===e.opts.format)return c&&(a+=" if (true) { "),a;var h,d=e.opts.$data&&i&&i.$data;d?(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ",h="schema"+s):h=i;var f=e.opts.unknownFormats,p=Array.isArray(f);if(d){a+=" var "+(m="format"+s)+" = formats["+h+"]; var "+(v="isObject"+s)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(g="formatType"+s)+" = "+v+" && "+m+".type || 'string'; if ("+v+") { ",e.async&&(a+=" var async"+s+" = "+m+".async; "),a+=" "+m+" = "+m+".validate; } if ( ",d&&(a+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),a+=" (","ignore"!=f&&(a+=" ("+h+" && !"+m+" ",p&&(a+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),a+=") || "),a+=" ("+m+" && "+g+" == '"+t+"' && !(typeof "+m+" == 'function' ? ",a+=e.async?" (async"+s+" ? await "+m+"("+u+") : "+m+"("+u+")) ":" "+m+"("+u+") ",a+=" : "+m+".test("+u+"))))) {"}else{var m;if(!(m=e.formats[i])){if("ignore"==f)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),c&&(a+=" if (true) { "),a;if(p&&0<=f.indexOf(i))return c&&(a+=" if (true) { "),a;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,g=(v="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(v){var y=!0===m.async;m=m.validate}if(g!=t)return c&&(a+=" if (true) { "),a;if(y){if(!e.async)throw new Error("async format in sync schema");a+=" if (!(await "+(P="formats"+e.util.getProperty(i)+".validate")+"("+u+"))) { "}else{a+=" if (! ";var P="formats"+e.util.getProperty(i);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+u+") ":" "+P+".test("+u+") ",a+=") { "}}var E=E||[];E.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",a+=d?""+h:""+e.util.toQuotedString(i),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=d?"' + "+h+" + '":""+e.util.escapeQuotes(i),a+="\"' "),e.opts.verbose&&(a+=" , schema: ",a+=d?"validate.schema"+n:""+e.util.toQuotedString(i),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var w=a;return a=E.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+w+"]); ":" validate.errors = ["+w+"]; return false; ":" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",c&&(a+=" else { "),a}},{}],25:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m=e.schema.then,v=e.schema.else,g=void 0!==m&&e.util.schemaHasRules(m,e.RULES.all),y=void 0!==v&&e.util.schemaHasRules(v,e.RULES.all),P=f.baseId;if(g||y){var E;f.createErrors=!1,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+d+" = errors; var "+h+" = true; ";var w=e.compositeRule;e.compositeRule=f.compositeRule=!0,a+=" "+e.validate(f)+" ",f.baseId=P,f.createErrors=!0,a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=f.compositeRule=w,g?(a+=" if ("+p+") { ",f.schema=e.schema.then,f.schemaPath=e.schemaPath+".then",f.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'then'; ":E="'then'",a+=" } ",y&&(a+=" else { ")):a+=" if (!"+p+") { ",y&&(f.schema=e.schema.else,f.schemaPath=e.schemaPath+".else",f.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'else'; ":E="'else'",a+=" } "),a+=" if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+E+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match \"' + "+E+" + '\" schema' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } ",c&&(a+=" else { "),a=e.util.cleanUpCode(a)}else c&&(a+=" if (true) { ");return a}},{}],26:[function(e,r,t){"use strict";r.exports={$ref:e("./ref"),allOf:e("./allOf"),anyOf:e("./anyOf"),$comment:e("./comment"),const:e("./const"),contains:e("./contains"),dependencies:e("./dependencies"),enum:e("./enum"),format:e("./format"),if:e("./if"),items:e("./items"),maximum:e("./_limit"),minimum:e("./_limit"),maxItems:e("./_limitItems"),minItems:e("./_limitItems"),maxLength:e("./_limitLength"),minLength:e("./_limitLength"),maxProperties:e("./_limitProperties"),minProperties:e("./_limitProperties"),multipleOf:e("./multipleOf"),not:e("./not"),oneOf:e("./oneOf"),pattern:e("./pattern"),properties:e("./properties"),propertyNames:e("./propertyNames"),required:e("./required"),uniqueItems:e("./uniqueItems"),validate:e("./validate")}},{"./_limit":12,"./_limitItems":13,"./_limitLength":14,"./_limitProperties":15,"./allOf":16,"./anyOf":17,"./comment":18,"./const":19,"./contains":20,"./dependencies":22,"./enum":23,"./format":24,"./if":25,"./items":27,"./multipleOf":28,"./not":29,"./oneOf":30,"./pattern":31,"./properties":32,"./propertyNames":33,"./ref":34,"./required":35,"./uniqueItems":36,"./validate":37}],27:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v="i"+s,g=f.dataLevel=e.dataLevel+1,y="data"+g,P=e.baseId;if(a+="var "+d+" = errors;var "+h+";",Array.isArray(i)){var E=e.schema.additionalItems;if(!1===E){a+=" "+h+" = "+u+".length <= "+i.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems";var S=S||[];S.push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var b=a;a=S.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+b+"]); ":" validate.errors = ["+b+"]; return false; ":" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l=w,c&&(p+="}",a+=" else { ")}var _=i;if(_)for(var F,x=-1,R=_.length-1;x<R;)if(F=_[x+=1],e.util.schemaHasRules(F,e.RULES.all)){a+=" "+m+" = true; if ("+u+".length > "+x+") { ";var $=u+"["+x+"]";f.schema=F,f.schemaPath=n+"["+x+"]",f.errSchemaPath=l+"/"+x,f.errorPath=e.util.getPathExpr(e.errorPath,x,e.opts.jsonPointers,!0),f.dataPathArr[g]=x;var D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",a+=" } ",c&&(a+=" if ("+m+") { ",p+="}")}if("object"==typeof E&&e.util.schemaHasRules(E,e.RULES.all)){f.schema=E,f.schemaPath=e.schemaPath+".additionalItems",f.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+m+" = true; if ("+u+".length > "+i.length+") { for (var "+v+" = "+i.length+"; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=u+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",c&&(a+=" if (!"+m+") break; "),a+=" } } ",c&&(a+=" if ("+m+") { ",p+="}")}}else if(e.util.schemaHasRules(i,e.RULES.all)){f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" for (var "+v+" = 0; "+v+" < "+u+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=u+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",c&&(a+=" if (!"+m+") break; "),a+=" }"}return c&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],28:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="var division"+o+";if (",d&&(s+=" "+a+" !== undefined && ( typeof "+a+" != 'number' || "),s+=" (division"+o+" = "+h+" / "+a+", ",s+=e.opts.multipleOfPrecision?" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":" division"+o+" !== parseInt(division"+o+") ",s+=" ) ",d&&(s+=" ) ");var f=f||[];f.push(s+=" ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { multipleOf: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be multiple of ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var p=s;return s=f.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],29:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l,a+=" var "+h+" = errors; ";var p,m=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),a+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=m;var v=v||[];v.push(a+=" if ("+f+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var g=a;a=v.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(a+=" if (false) { ");return a}},{}],30:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v=f.baseId,g="prevValid"+s,y="passingSchemas"+s;a+="var "+d+" = errors , "+g+" = false , "+h+" = false , "+y+" = null; ";var P=e.compositeRule;e.compositeRule=f.compositeRule=!0;var E=i;if(E)for(var w,S=-1,b=E.length-1;S<b;)w=E[S+=1],e.util.schemaHasRules(w,e.RULES.all)?(f.schema=w,f.schemaPath=n+"["+S+"]",f.errSchemaPath=l+"/"+S,a+=" "+e.validate(f)+" ",f.baseId=v):a+=" var "+m+" = true; ",S&&(a+=" if ("+m+" && "+g+") { "+h+" = false; "+y+" = ["+y+", "+S+"]; } else { ",p+="}"),a+=" if ("+m+") { "+h+" = "+g+" = true; "+y+" = "+S+"; }";return e.compositeRule=f.compositeRule=P,a+=p+"if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a}},{}],31:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;var f=d?"(new RegExp("+a+"))":e.usePattern(n);s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'string') || ");var p=p||[];p.push(s+=" !"+f+".test("+h+") ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { pattern: ",s+=d?""+a:""+e.util.toQuotedString(n),s+=" } ",!1!==e.opts.messages&&(s+=" , message: 'should match pattern \"",s+=d?"' + "+a+" + '":""+e.util.escapeQuotes(n),s+="\"' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+e.util.toQuotedString(n),s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",u&&(s+=" else { "),s}},{}],32:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m="key"+s,v="idx"+s,g=d.dataLevel=e.dataLevel+1,y="data"+g,P="dataProperties"+s,E=Object.keys(i||{}),w=e.schema.patternProperties||{},S=Object.keys(w),b=e.schema.additionalProperties,_=E.length||S.length,F=!1===b,x="object"==typeof b&&Object.keys(b).length,R=e.opts.removeAdditional,$=F||x||R,D=e.opts.ownProperties,j=e.baseId,O=e.schema.required;if(O&&(!e.opts.$data||!O.$data)&&O.length<e.opts.loopRequired)var I=e.util.toHash(O);if(a+="var "+h+" = errors;var "+p+" = true;",D&&(a+=" var "+P+" = undefined;"),$){if(a+=D?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+u+") { ",_){if(a+=" var isAdditional"+s+" = !(false ",E.length)if(8<E.length)a+=" || validate.schema"+n+".hasOwnProperty("+m+") ";else{var A=E;if(A)for(var C=-1,k=A.length-1;C<k;)J=A[C+=1],a+=" || "+m+" == "+e.util.toQuotedString(J)+" "}if(S.length){var L=S;if(L)for(var z=-1,T=L.length-1;z<T;)ae=L[z+=1],a+=" || "+e.usePattern(ae)+".test("+m+") "}a+=" ); if (isAdditional"+s+") { "}if("all"==R)a+=" delete "+u+"["+m+"]; ";else{var N=e.errorPath,q="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),F)if(R)a+=" delete "+u+"["+m+"]; ";else{var U=l;l=e.errSchemaPath+"/additionalProperties",(ee=ee||[]).push(a+=" "+p+" = false; "),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is an invalid additional property":"should NOT have additional properties",a+="' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var Q=a;a=ee.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+Q+"]); ":" validate.errors = ["+Q+"]; return false; ":" var err = "+Q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=U,c&&(a+=" break; ")}else if(x)if("failing"==R){a+=" var "+h+" = errors; ";var V=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var H=u+"["+m+"]";d.dataPathArr[g]=m;var M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",a+=" if (!"+p+") { errors = "+h+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+u+"["+m+"]; } ",e.compositeRule=d.compositeRule=V}else{d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=u+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",c&&(a+=" if (!"+p+") break; ")}e.errorPath=N}_&&(a+=" } "),a+=" } ",c&&(a+=" if ("+p+") { ",f+="}")}var B=e.opts.useDefaults&&!e.compositeRule;if(E.length){var K=E;if(K)for(var J,Z=-1,G=K.length-1;Z<G;){if(J=K[Z+=1],e.util.schemaHasRules(ie=i[J],e.RULES.all)){var Y=e.util.getProperty(J),W=(H=u+Y,B&&void 0!==ie.default);d.schema=ie,d.schemaPath=n+Y,d.errSchemaPath=l+"/"+e.util.escapeFragment(J),d.errorPath=e.util.getPath(e.errorPath,J,e.opts.jsonPointers),d.dataPathArr[g]=e.util.toQuotedString(J);M=e.validate(d);if(d.baseId=j,e.util.varOccurences(M,y)<2){M=e.util.varReplace(M,y,H);var X=H}else{X=y;a+=" var "+y+" = "+H+"; "}if(W)a+=" "+M+" ";else{if(I&&I[J]){a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = false; ";N=e.errorPath,U=l;var ee,re=e.util.escapeQuotes(J);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(N,J,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(ee=ee||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+re+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";Q=a;a=ee.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+Q+"]); ":" validate.errors = ["+Q+"]; return false; ":" var err = "+Q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=U,e.errorPath=N,a+=" } else { "}else c?(a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = true; } else { "):(a+=" if ("+X+" !== undefined ",D&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),a+=" ) { ");a+=" "+M+" } "}}c&&(a+=" if ("+p+") { ",f+="}")}}if(S.length){var te=S;if(te)for(var ae,se=-1,oe=te.length-1;se<oe;){var ie;if(ae=te[se+=1],e.util.schemaHasRules(ie=w[ae],e.RULES.all)){d.schema=ie,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ae),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ae),a+=D?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+u+") { ",a+=" if ("+e.usePattern(ae)+".test("+m+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=u+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",c&&(a+=" if (!"+p+") break; "),a+=" } ",c&&(a+=" else "+p+" = true; "),a+=" } ",c&&(a+=" if ("+p+") { ",f+="}")}}}return c&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],33:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(a+="var "+h+" = errors;",e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l;var p="key"+s,m="idx"+s,v="i"+s,g="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),P="dataProperties"+s,E=e.opts.ownProperties,w=e.baseId;E&&(a+=" var "+P+" = undefined; "),a+=E?" "+P+" = "+P+" || Object.keys("+u+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+p+" = "+P+"["+m+"]; ":" for (var "+p+" in "+u+") { ",a+=" var startErrs"+s+" = errors; ";var S=p,b=e.compositeRule;e.compositeRule=d.compositeRule=!0;var _=e.validate(d);d.baseId=w,e.util.varOccurences(_,y)<2?a+=" "+e.util.varReplace(_,y,S)+" ":a+=" var "+y+" = "+S+"; "+_+" ",e.compositeRule=d.compositeRule=b,a+=" if (!"+f+") { for (var "+v+"=startErrs"+s+"; "+v+"<errors; "+v+"++) { vErrors["+v+"].propertyName = "+p+"; } var err = ",!1!==e.createErrors?(a+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+g+"' } ",!1!==e.opts.messages&&(a+=" , message: 'property name \\'"+g+"\\' is invalid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),c&&(a+=" break; "),a+=" } }"}return c&&(a+=" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],34:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.dataLevel,n=e.schema[r],l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(i||""),h="valid"+e.level;if("#"==n||"#/"==n)e.isRoot?(a=e.async,s="validate"):(a=!0===e.root.schema.$async,s="root.refVal[0]");else{var d=e.resolveRef(e.baseId,n,e.isRoot);if(void 0===d){var f=e.MissingRefError.message(e.baseId,n);if("fail"==e.opts.missingRefs){e.logger.error(f),(g=g||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { ref: '"+e.util.escapeQuotes(n)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(n)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(n)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),o+=" } "):o+=" {} ";var p=o;o=g.pop(),o+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,n,f);e.logger.warn(f),c&&(o+=" if (true) { ")}}else if(d.inline){var m=e.util.copy(e);m.level++;var v="valid"+m.level;m.schema=d.schema,m.schemaPath="",m.errSchemaPath=n,o+=" "+e.validate(m).replace(/validate\.schema/g,d.code)+" ",c&&(o+=" if ("+v+") { ")}else a=!0===d.$async||e.async&&!1!==d.$async,s=d.code}if(s){var g;(g=g||[]).push(o),o="",o+=e.opts.passContext?" "+s+".call(this, ":" "+s+"( ",o+=" "+u+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var y=o+=" , "+(i?"data"+(i-1||""):"parentData")+" , "+(i?e.dataPathArr[i]:"parentDataProperty")+", rootData) ";if(o=g.pop(),a){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(o+=" var "+h+"; "),o+=" try { await "+y+"; ",c&&(o+=" "+h+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(o+=" "+h+" = false; "),o+=" } ",c&&(o+=" if ("+h+") { ")}else o+=" if (!"+y+") { if (vErrors === null) vErrors = "+s+".errors; else vErrors = vErrors.concat("+s+".errors); errors = vErrors.length; } ",c&&(o+=" else { ")}return o}},{}],35:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="schema"+s;if(!d)if(i.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],m=i;if(m)for(var v,g=-1,y=m.length-1;g<y;){v=m[g+=1];var P=e.schema.properties[v];P&&e.util.schemaHasRules(P,e.RULES.all)||(p[p.length]=v)}}else p=i;if(d||p.length){var E=e.errorPath,w=d||e.opts.loopRequired<=p.length,S=e.opts.ownProperties;if(c)if(a+=" var missing"+s+"; ",w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,e.opts.jsonPointers)),a+=" var "+h+" = true; ",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { "+h+" = "+u+"["+f+"["+x+"]] !== undefined ",S&&(a+=" && Object.prototype.hasOwnProperty.call("+u+", "+f+"["+x+"]) "),a+="; if (!"+h+") break; } ",d&&(a+=" } "),($=$||[]).push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";var _=a;a=$.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var F=p;if(F)for(var x=-1,R=F.length-1;x<R;){O=F[x+=1],x&&(a+=" || "),a+=" ( ( "+(k=u+(C=e.util.getProperty(O)))+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(O)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?O:C)+") ) "}a+=") { ";var $;b="' + "+(D="missing"+s)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,D,!0):E+" + "+D),($=$||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ";_=a;a=$.pop(),a+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else if(w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var D;b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,e.opts.jsonPointers)),d&&(a+=" if ("+f+" && !Array.isArray("+f+")) { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+f+" !== undefined) { "),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { if ("+u+"["+f+"["+x+"]] === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", "+f+"["+x+"]) "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(a+=" } ")}else{var j=p;if(j)for(var O,I=-1,A=j.length-1;I<A;){O=j[I+=1];var C=e.util.getProperty(O),k=(b=e.util.escapeQuotes(O),u+C);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,O,e.opts.jsonPointers)),a+=" if ( "+k+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(O)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=E}else c&&(a+=" if (true) {");return a}},{}],36:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,h="data"+(i||""),d="valid"+o,f=e.opts.$data&&n&&n.$data;if(f?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,(n||f)&&!1!==e.opts.uniqueItems){f&&(s+=" var "+d+"; if ("+a+" === false || "+a+" === undefined) "+d+" = true; else if (typeof "+a+" != 'boolean') "+d+" = false; else { "),s+=" var i = "+h+".length , "+d+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,m=Array.isArray(p);if(!p||"object"==p||"array"==p||m&&(0<=p.indexOf("object")||0<=p.indexOf("array")))s+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else s+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ",s+=" if ("+e.util["checkDataType"+(m?"s":"")](p,"item",!0)+") continue; ",m&&(s+=" if (typeof item == 'string') item = '\"' + item; "),s+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } ";s+=" } ",f&&(s+=" } ");var v=v||[];v.push(s+=" if (!"+d+") { "),s="",!1!==e.createErrors?(s+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(s+=" , schema: ",s+=f?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var g=s;s=v.pop(),s+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",u&&(s+=" else { ")}else u&&(s+=" if (true) { ");return s}},{}],37:[function(e,r,t){"use strict";r.exports=function(a,e,r){var t="",s=!0===a.schema.$async,o=a.util.schemaHasRulesExcept(a.schema,a.RULES.all,"$ref"),i=a.self._getId(a.schema);if(a.isTop&&(t+=" var validate = ",s&&(a.async=!0,t+="async "),t+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",i&&(a.opts.sourceCode||a.opts.processCode)&&(t+=" /*# sourceURL="+i+" */ ")),"boolean"==typeof a.schema||!o&&!a.schema.$ref){var n=a.level,l=a.dataLevel,c=a.schema[e="false schema"],u=a.schemaPath+a.util.getProperty(e),h=a.errSchemaPath+"/"+e,d=!a.opts.allErrors,f="data"+(l||""),p="valid"+n;if(!1===a.schema){a.isTop?d=!0:t+=" var "+p+" = false; ",(K=K||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: {} ",!1!==a.opts.messages&&(t+=" , message: 'boolean schema is false' "),a.opts.verbose&&(t+=" , schema: false , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";var m=t;t=K.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else t+=a.isTop?s?" return data; ":" validate.errors = null; return true; ":" var "+p+" = true; ";return a.isTop&&(t+=" }; return validate; "),t}if(a.isTop){var v=a.isTop;n=a.level=0,l=a.dataLevel=0,f="data";a.rootId=a.resolve.fullPath(a.self._getId(a.root.schema)),a.baseId=a.baseId||a.rootId,delete a.isTop,a.dataPathArr=[void 0],t+=" var vErrors = null; ",t+=" var errors = 0; ",t+=" if (rootData === undefined) rootData = data; "}else{n=a.level,f="data"+((l=a.dataLevel)||"");if(i&&(a.baseId=a.resolve.url(a.baseId,i)),s&&!a.async)throw new Error("async schema in sync schema");t+=" var errs_"+n+" = errors;"}p="valid"+n,d=!a.opts.allErrors;var g="",y="",P=a.schema.type,E=Array.isArray(P);if(E&&1==P.length&&(P=P[0],E=!1),a.schema.$ref&&o){if("fail"==a.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+a.errSchemaPath+'" (see option extendRefs)');!0!==a.opts.extendRefs&&(o=!1,a.logger.warn('$ref: keywords ignored in schema at path "'+a.errSchemaPath+'"'))}if(a.schema.$comment&&a.opts.$comment&&(t+=" "+a.RULES.all.$comment.code(a,"$comment")),P){if(a.opts.coerceTypes)var w=a.util.coerceToTypes(a.opts.coerceTypes,P);var S=a.RULES.types[P];if(w||E||!0===S||S&&!J(S)){u=a.schemaPath+".type",h=a.errSchemaPath+"/type",u=a.schemaPath+".type",h=a.errSchemaPath+"/type";if(t+=" if ("+a.util[E?"checkDataTypes":"checkDataType"](P,f,!0)+") { ",w){var b="dataType"+n,_="coerced"+n;t+=" var "+b+" = typeof "+f+"; ","array"==a.opts.coerceTypes&&(t+=" if ("+b+" == 'object' && Array.isArray("+f+")) "+b+" = 'array'; "),t+=" var "+_+" = undefined; ";var F="",x=w;if(x)for(var R,$=-1,D=x.length-1;$<D;)R=x[$+=1],$&&(t+=" if ("+_+" === undefined) { ",F+="}"),"array"==a.opts.coerceTypes&&"array"!=R&&(t+=" if ("+b+" == 'array' && "+f+".length == 1) { "+_+" = "+f+" = "+f+"[0]; "+b+" = typeof "+f+"; } "),"string"==R?t+=" if ("+b+" == 'number' || "+b+" == 'boolean') "+_+" = '' + "+f+"; else if ("+f+" === null) "+_+" = ''; ":"number"==R||"integer"==R?(t+=" if ("+b+" == 'boolean' || "+f+" === null || ("+b+" == 'string' && "+f+" && "+f+" == +"+f+" ","integer"==R&&(t+=" && !("+f+" % 1)"),t+=")) "+_+" = +"+f+"; "):"boolean"==R?t+=" if ("+f+" === 'false' || "+f+" === 0 || "+f+" === null) "+_+" = false; else if ("+f+" === 'true' || "+f+" === 1) "+_+" = true; ":"null"==R?t+=" if ("+f+" === '' || "+f+" === 0 || "+f+" === false) "+_+" = null; ":"array"==a.opts.coerceTypes&&"array"==R&&(t+=" if ("+b+" == 'string' || "+b+" == 'number' || "+b+" == 'boolean' || "+f+" == null) "+_+" = ["+f+"]; ");(K=K||[]).push(t+=" "+F+" if ("+_+" === undefined) { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=K.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } else { ";var j=l?"data"+(l-1||""):"parentData";t+=" "+f+" = "+_+"; ",l||(t+="if ("+j+" !== undefined)"),t+=" "+j+"["+(l?a.dataPathArr[l]:"parentDataProperty")+"] = "+_+"; } "}else{(K=K||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=K.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}t+=" } "}}if(a.schema.$ref&&!o)t+=" "+a.RULES.all.$ref.code(a,"$ref")+" ",d&&(t+=" } if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}");else{var O=a.RULES;if(O)for(var I=-1,A=O.length-1;I<A;)if(J(S=O[I+=1])){if(S.type&&(t+=" if ("+a.util.checkDataType(S.type,f)+") { "),a.opts.useDefaults&&!a.compositeRule)if("object"==S.type&&a.schema.properties){c=a.schema.properties;var C=Object.keys(c);if(C)for(var k,L=-1,z=C.length-1;L<z;){if(void 0!==(N=c[k=C[L+=1]]).default)t+=" if ("+(U=f+a.util.getProperty(k))+" === undefined) "+U+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}else if("array"==S.type&&Array.isArray(a.schema.items)){var T=a.schema.items;if(T){$=-1;for(var N,q=T.length-1;$<q;){var U;if(void 0!==(N=T[$+=1]).default)t+=" if ("+(U=f+"["+$+"]")+" === undefined) "+U+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}}var Q=S.rules;if(Q)for(var V,H=-1,M=Q.length-1;H<M;)if(Z(V=Q[H+=1])){var B=V.code(a,V.keyword,S.type);B&&(t+=" "+B+" ",d&&(g+="}"))}if(d&&(t+=" "+g+" ",g=""),S.type&&(t+=" } ",P&&P===S.type&&!w)){var K;u=a.schemaPath+".type",h=a.errSchemaPath+"/type";(K=K||[]).push(t+=" else { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=K.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } "}d&&(t+=" if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}")}}function J(e){for(var r=e.rules,t=0;t<r.length;t++)if(Z(r[t]))return!0}function Z(e){return void 0!==a.schema[e.keyword]||e.implements&&function(e){for(var r=e.implements,t=0;t<r.length;t++)if(void 0!==a.schema[r[t]])return!0}(e)}return d&&(t+=" "+y+" "),v?(s?(t+=" if (errors === 0) return data; ",t+=" else throw new ValidationError(vErrors); "):(t+=" validate.errors = vErrors; ",t+=" return errors === 0; "),t+=" }; return validate;"):t+=" var "+p+" = errors === errs_"+n+";",t=a.util.cleanUpCode(t),v&&(t=a.util.finalCleanUpCode(t,s)),t}},{}],38:[function(e,r,t){"use strict";var u=/^[a-z_$][a-z0-9_$-]*$/i,h=e("./dotjs/custom");r.exports={add:function(e,r){var n=this.RULES;if(n.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!u.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(r){if(r.macro&&void 0!==r.valid)throw new Error('"valid" option cannot be used with macro keywords');var t=r.type;if(Array.isArray(t)){var a,s=t.length;for(a=0;a<s;a++)c(t[a]);for(a=0;a<s;a++)l(e,t[a],r)}else t&&c(t),l(e,t,r);var o=!0===r.$data&&this._opts.$data;if(o&&!r.validate)throw new Error('$data support: "validate" function is not defined');var i=r.metaSchema;i&&(o&&(i={anyOf:[i,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),r.validateSchema=this.compile(i,!0))}function l(e,r,t){for(var a,s=0;s<n.length;s++){var o=n[s];if(o.type==r){a=o;break}}a||n.push(a={type:r,rules:[]});var i={keyword:e,definition:t,custom:!0,code:h,implements:t.implements};a.rules.push(i),n.custom[e]=i}function c(e){if(!n.types[e])throw new Error("Unknown type "+e)}return n.keywords[e]=n.all[e]=!0,this},get:function(e){var r=this.RULES.custom[e];return r?r.definition:this.RULES.keywords[e]||!1},remove:function(e){var r=this.RULES;delete r.keywords[e],delete r.all[e],delete r.custom[e];for(var t=0;t<r.length;t++)for(var a=r[t].rules,s=0;s<a.length;s++)if(a[s].keyword==e){a.splice(s,1);break}return this}}},{"./dotjs/custom":21}],39:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}},{}],40:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}},{}],41:[function(e,r,t){"use strict";var f=Array.isArray,p=Object.keys,m=Object.prototype.hasOwnProperty;r.exports=function e(r,t){if(r===t)return!0;if(r&&t&&"object"==typeof r&&"object"==typeof t){var a,s,o,i=f(r),n=f(t);if(i&&n){if((s=r.length)!=t.length)return!1;for(a=s;0!=a--;)if(!e(r[a],t[a]))return!1;return!0}if(i!=n)return!1;var l=r instanceof Date,c=t instanceof Date;if(l!=c)return!1;if(l&&c)return r.getTime()==t.getTime();var u=r instanceof RegExp,h=t instanceof RegExp;if(u!=h)return!1;if(u&&h)return r.toString()==t.toString();var d=p(r);if((s=d.length)!==p(t).length)return!1;for(a=s;0!=a--;)if(!m.call(t,d[a]))return!1;for(a=s;0!=a--;)if(!e(r[o=d[a]],t[o]))return!1;return!0}return r!=r&&t!=t}},{}],42:[function(e,r,t){"use strict";r.exports=function(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});var a,l="boolean"==typeof r.cycles&&r.cycles,c=r.cmp&&(a=r.cmp,function(t){return function(e,r){return a({key:e,value:t[e]},{key:r,value:t[r]})}}),u=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0!==r){if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);var t,a;if(Array.isArray(r)){for(a="[",t=0;t<r.length;t++)t&&(a+=","),a+=e(r[t])||"null";return a+"]"}if(null===r)return"null";if(-1!==u.indexOf(r)){if(l)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var s=u.push(r)-1,o=Object.keys(r).sort(c&&c(r));for(a="",t=0;t<o.length;t++){var i=o[t],n=e(r[i]);n&&(a&&(a+=","),a+=JSON.stringify(i)+":"+n)}return u.splice(s,1),"{"+a+"}"}}(e)}},{}],43:[function(e,r,t){"use strict";var p=r.exports=function(e,r,t){"function"==typeof r&&(t=r,r={}),function e(r,t,a,s,o,i,n,l,c){if(a&&"object"==typeof a&&!Array.isArray(a))for(var u in t(a,s,o,i,n,l,c),a){var h=a[u];if(Array.isArray(h)){if(u in p.arrayKeywords)for(var d=0;d<h.length;d++)e(r,t,h[d],s+"/"+u+"/"+d,o,s,u,a,d)}else if(u in p.propsKeywords){if(h&&"object"==typeof h)for(var f in h)e(r,t,h[f],s+"/"+u+"/"+f.replace(/~/g,"~0").replace(/\//g,"~1"),o,s,u,a,f)}else(u in p.keywords||r.allKeys&&!(u in p.skipKeywords))&&e(r,t,h,s+"/"+u,o,s,u,a)}}(r,t,e,"",e)};p.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},p.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},p.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},p.skipKeywords={enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},{}],44:[function(e,r,t){var a;a=this,function(e){"use strict";function C(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];if(1<r.length){r[0]=r[0].slice(0,-1);for(var a=r.length-1,s=1;s<a;++s)r[s]=r[s].slice(1,-1);return r[a]=r[a].slice(1),r.join("")}return r[0]}function k(e){return"(?:"+e+")"}function a(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function p(e){return e.toUpperCase()}function r(e){var r="[A-Za-z]",t="[0-9]",a=C(t,"[A-Fa-f]"),s=k(k("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+k("%[89A-Fa-f]"+a+"%"+a+a)+"|"+k("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",i=C("[\\:\\/\\?\\#\\[\\]\\@]",o),n=e?"[\\uE000-\\uF8FF]":"[]",l=C(r,t,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),c=k(r+C(r,t,"[\\+\\-\\.]")+"*"),u=k(k(s+"|"+C(l,o,"[\\:]"))+"*"),h=(k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("[1-9]"+t)+"|"+t),k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("0?[1-9]"+t)+"|0?0?"+t)),d=k(h+"\\."+h+"\\."+h+"\\."+h),f=k(a+"{1,4}"),p=k(k(f+"\\:"+f)+"|"+d),m=k([k(k(f+"\\:")+"{6}"+p),k("\\:\\:"+k(f+"\\:")+"{5}"+p),k(k(f)+"?\\:\\:"+k(f+"\\:")+"{4}"+p),k(k(k(f+"\\:")+"{0,1}"+f)+"?\\:\\:"+k(f+"\\:")+"{3}"+p),k(k(k(f+"\\:")+"{0,2}"+f)+"?\\:\\:"+k(f+"\\:")+"{2}"+p),k(k(k(f+"\\:")+"{0,3}"+f)+"?\\:\\:"+f+"\\:"+p),k(k(k(f+"\\:")+"{0,4}"+f)+"?\\:\\:"+p),k(k(k(f+"\\:")+"{0,5}"+f)+"?\\:\\:"+f),k(k(k(f+"\\:")+"{0,6}"+f)+"?\\:\\:")].join("|")),v=k(k(l+"|"+s)+"+"),g=(k(m+"\\%25"+v),k("\\["+k(k(m+k("\\%25|\\%(?!"+a+"{2})")+v)+"|"+m+"|"+k("[vV]"+a+"+\\."+C(l,o,"[\\:]")+"+"))+"\\]")),y=k(k(s+"|"+C(l,o))+"*"),P=k(g+"|"+d+"(?!"+y+")|"+y),E=k(t+"*"),w=k(k(u+"@")+"?"+P+k("\\:"+E)+"?"),S=k(s+"|"+C(l,o,"[\\:\\@]")),b=k(S+"*"),_=k(S+"+"),F=k(k(s+"|"+C(l,o,"[\\@]"))+"+"),x=k(k("\\/"+b)+"*"),R=k("\\/"+k(_+x)+"?"),$=k(F+x),D=k(_+x),j="(?!"+S+")",O=(k(x+"|"+R+"|"+$+"|"+D+"|"+j),k(k(S+"|"+C("[\\/\\?]",n))+"*")),I=k(k(S+"|[\\/\\?]")+"*"),A=k(k("\\/\\/"+w+x)+"|"+R+"|"+D+"|"+j);k(k(c+"\\:"+A+k("\\?"+O)+"?"+k("\\#"+I)+"?")+"|"+k(k(k("\\/\\/"+w+x)+"|"+R+"|"+$+"|"+j)+k("\\?"+O)+"?"+k("\\#"+I)+"?")),k(c+"\\:"+A+k("\\?"+O)+"?"),k(k("\\/\\/("+k("("+u+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+u+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+$+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+u+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k("("+u+")@"),k("\\:("+E+")");return{NOT_SCHEME:new RegExp(C("[^]",r,t,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(C("[^\\%\\:]",l,o),"g"),NOT_HOST:new RegExp(C("[^\\%\\[\\]\\:]",l,o),"g"),NOT_PATH:new RegExp(C("[^\\%\\/\\:\\@]",l,o),"g"),NOT_PATH_NOSCHEME:new RegExp(C("[^\\%\\/\\@]",l,o),"g"),NOT_QUERY:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]",n),"g"),NOT_FRAGMENT:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(C("[^]",l,o),"g"),UNRESERVED:new RegExp(l,"g"),OTHER_CHARS:new RegExp(C("[^\\%]",l,i),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+d+")$"),IPV6ADDRESS:new RegExp("^\\[?("+m+")"+k(k("\\%25|\\%(?!"+a+"{2})")+"("+v+")")+"?\\]?$")}}var u=r(!1),h=r(!0),w=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],a=!0,s=!1,o=void 0;try{for(var i,n=e[Symbol.iterator]();!(a=(i=n.next()).done)&&(t.push(i.value),!r||t.length!==r);a=!0);}catch(e){s=!0,o=e}finally{try{!a&&n.return&&n.return()}finally{if(s)throw o}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")},A=2147483647,t=/^xn--/,s=/[^\0-\x7E]/,o=/[\x2E\u3002\uFF0E\uFF61]/g,i={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=Math.floor,z=String.fromCharCode;function T(e){throw new RangeError(i[e])}function n(e,r){var t=e.split("@"),a="";return 1<t.length&&(a=t[0]+"@",e=t[1]),a+function(e,r){for(var t=[],a=e.length;a--;)t[a]=r(e[a]);return t}((e=e.replace(o,".")).split("."),r).join(".")}function N(e){for(var r=[],t=0,a=e.length;t<a;){var s=e.charCodeAt(t++);if(55296<=s&&s<=56319&&t<a){var o=e.charCodeAt(t++);56320==(64512&o)?r.push(((1023&s)<<10)+(1023&o)+65536):(r.push(s),t--)}else r.push(s)}return r}var q=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},U=function(e,r,t){var a=0;for(e=t?L(e/700):e>>1,e+=L(e/r);455<e;a+=36)e=L(e/35);return L(a+36*e/(e+38))},l=function(e){var r,t=[],a=e.length,s=0,o=128,i=72,n=e.lastIndexOf("-");n<0&&(n=0);for(var l=0;l<n;++l)128<=e.charCodeAt(l)&&T("not-basic"),t.push(e.charCodeAt(l));for(var c=0<n?n+1:0;c<a;){for(var u=s,h=1,d=36;;d+=36){a<=c&&T("invalid-input");var f=(r=e.charCodeAt(c++))-48<10?r-22:r-65<26?r-65:r-97<26?r-97:36;(36<=f||f>L((A-s)/h))&&T("overflow"),s+=f*h;var p=d<=i?1:i+26<=d?26:d-i;if(f<p)break;var m=36-p;h>L(A/m)&&T("overflow"),h*=m}var v=t.length+1;i=U(s-u,v,0==u),L(s/v)>A-o&&T("overflow"),o+=L(s/v),s%=v,t.splice(s++,0,o)}return String.fromCodePoint.apply(String,t)},c=function(e){var r=[],t=(e=N(e)).length,a=128,s=0,o=72,i=!0,n=!1,l=void 0;try{for(var c,u=e[Symbol.iterator]();!(i=(c=u.next()).done);i=!0){var h=c.value;h<128&&r.push(z(h))}}catch(e){n=!0,l=e}finally{try{!i&&u.return&&u.return()}finally{if(n)throw l}}var d=r.length,f=d;for(d&&r.push("-");f<t;){var p=A,m=!0,v=!1,g=void 0;try{for(var y,P=e[Symbol.iterator]();!(m=(y=P.next()).done);m=!0){var E=y.value;a<=E&&E<p&&(p=E)}}catch(e){v=!0,g=e}finally{try{!m&&P.return&&P.return()}finally{if(v)throw g}}var w=f+1;p-a>L((A-s)/w)&&T("overflow"),s+=(p-a)*w,a=p;var S=!0,b=!1,_=void 0;try{for(var F,x=e[Symbol.iterator]();!(S=(F=x.next()).done);S=!0){var R=F.value;if(R<a&&++s>A&&T("overflow"),R==a){for(var $=s,D=36;;D+=36){var j=D<=o?1:o+26<=D?26:D-o;if($<j)break;var O=$-j,I=36-j;r.push(z(q(j+O%I,0))),$=L(O/I)}r.push(z(q($,0))),o=U(s,w,f==d),s=0,++f}}}catch(e){b=!0,_=e}finally{try{!S&&x.return&&x.return()}finally{if(b)throw _}}++s,++a}return r.join("")},v={version:"2.1.0",ucs2:{decode:N,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}(e))}},decode:l,encode:c,toASCII:function(e){return n(e,function(e){return s.test(e)?"xn--"+c(e):e})},toUnicode:function(e){return n(e,function(e){return t.test(e)?l(e.slice(4).toLowerCase()):e})}},d={};function m(e){var r=e.charCodeAt(0);return r<16?"%0"+r.toString(16).toUpperCase():r<128?"%"+r.toString(16).toUpperCase():r<2048?"%"+(r>>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function f(e){for(var r="",t=0,a=e.length;t<a;){var s=parseInt(e.substr(t+1,2),16);if(s<128)r+=String.fromCharCode(s),t+=3;else if(194<=s&&s<224){if(6<=a-t){var o=parseInt(e.substr(t+4,2),16);r+=String.fromCharCode((31&s)<<6|63&o)}else r+=e.substr(t,6);t+=6}else if(224<=s){if(9<=a-t){var i=parseInt(e.substr(t+4,2),16),n=parseInt(e.substr(t+7,2),16);r+=String.fromCharCode((15&s)<<12|(63&i)<<6|63&n)}else r+=e.substr(t,9);t+=9}else r+=e.substr(t,3),t+=3}return r}function g(e,t){function r(e){var r=f(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,m).replace(t.PCT_ENCODED,p)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,m).replace(t.PCT_ENCODED,p)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,m).replace(t.PCT_ENCODED,p)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,m).replace(t.PCT_ENCODED,p)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,m).replace(t.PCT_ENCODED,p)),e}function S(e){return e.replace(/^0*(.*)/,"$1")||"0"}function b(e,r){var t=e.match(r.IPV4ADDRESS)||[],a=w(t,2)[1];return a?a.split(".").map(S).join("."):e}function y(e,r){var t=e.match(r.IPV6ADDRESS)||[],a=w(t,3),s=a[1],o=a[2];if(s){for(var i=s.toLowerCase().split("::").reverse(),n=w(i,2),l=n[0],c=n[1],u=c?c.split(":").map(S):[],h=l.split(":").map(S),d=r.IPV4ADDRESS.test(h[h.length-1]),f=d?7:8,p=h.length-f,m=Array(f),v=0;v<f;++v)m[v]=u[v]||h[p+v]||"";d&&(m[f-1]=b(m[f-1],r));var g=m.reduce(function(e,r,t){if(!r||"0"===r){var a=e[e.length-1];a&&a.index+a.length===t?a.length++:e.push({index:t,length:1})}return e},[]).sort(function(e,r){return r.length-e.length})[0],y=void 0;if(g&&1<g.length){var P=m.slice(0,g.index),E=m.slice(g.index+g.length);y=P.join(":")+"::"+E.join(":")}else y=m.join(":");return o&&(y+="%"+o),y}return e}var P=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,E=void 0==="".match(/(){0}/)[1];function _(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t={},a=!1!==r.iri?h:u;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var s=e.match(P);if(s){E?(t.scheme=s[1],t.userinfo=s[3],t.host=s[4],t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=s[7],t.fragment=s[8],isNaN(t.port)&&(t.port=s[5])):(t.scheme=s[1]||void 0,t.userinfo=-1!==e.indexOf("@")?s[3]:void 0,t.host=-1!==e.indexOf("//")?s[4]:void 0,t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=-1!==e.indexOf("?")?s[7]:void 0,t.fragment=-1!==e.indexOf("#")?s[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?s[4]:void 0)),t.host&&(t.host=y(b(t.host,a),a)),t.reference=void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?"relative":void 0===t.fragment?"absolute":"uri":"same-document",r.reference&&"suffix"!==r.reference&&r.reference!==t.reference&&(t.error=t.error||"URI is not a "+r.reference+" reference.");var o=d[(r.scheme||t.scheme||"").toLowerCase()];if(r.unicodeSupport||o&&o.unicodeSupport)g(t,a);else{if(t.host&&(r.domainHost||o&&o.domainHost))try{t.host=v.toASCII(t.host.replace(a.PCT_ENCODED,f).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}g(t,u)}o&&o.parse&&o.parse(t,r)}else t.error=t.error||"URI can not be parsed.";return t}var F=/^\.\.?\//,x=/^\/\.(\/|$)/,R=/^\/\.\.(\/|$)/,$=/^\/?(?:.|\n)*?(?=\/|$)/;function D(e){for(var r=[];e.length;)if(e.match(F))e=e.replace(F,"");else if(e.match(x))e=e.replace(x,"/");else if(e.match(R))e=e.replace(R,"/"),r.pop();else if("."===e||".."===e)e="";else{var t=e.match($);if(!t)throw new Error("Unexpected dot segment condition");var a=t[0];e=e.slice(a.length),r.push(a)}return r.join("")}function j(r){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=t.iri?h:u,a=[],s=d[(t.scheme||r.scheme||"").toLowerCase()];if(s&&s.serialize&&s.serialize(r,t),r.host)if(e.IPV6ADDRESS.test(r.host));else if(t.domainHost||s&&s.domainHost)try{r.host=t.iri?v.toUnicode(r.host):v.toASCII(r.host.replace(e.PCT_ENCODED,f).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}g(r,e),"suffix"!==t.reference&&r.scheme&&(a.push(r.scheme),a.push(":"));var o,i,n,l=(i=!1!==t.iri?h:u,n=[],void 0!==(o=r).userinfo&&(n.push(o.userinfo),n.push("@")),void 0!==o.host&&n.push(y(b(String(o.host),i),i).replace(i.IPV6ADDRESS,function(e,r,t){return"["+r+(t?"%25"+t:"")+"]"})),"number"==typeof o.port&&(n.push(":"),n.push(o.port.toString(10))),n.length?n.join(""):void 0);if(void 0!==l&&("suffix"!==t.reference&&a.push("//"),a.push(l),r.path&&"/"!==r.path.charAt(0)&&a.push("/")),void 0!==r.path){var c=r.path;t.absolutePath||s&&s.absolutePath||(c=D(c)),void 0===l&&(c=c.replace(/^\/\//,"/%2F")),a.push(c)}return void 0!==r.query&&(a.push("?"),a.push(r.query)),void 0!==r.fragment&&(a.push("#"),a.push(r.fragment)),a.join("")}function O(e,r){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},a={};return arguments[3]||(e=_(j(e,t),t),r=_(j(r,t),t)),!(t=t||{}).tolerant&&r.scheme?(a.scheme=r.scheme,a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(void 0!==r.userinfo||void 0!==r.host||void 0!==r.port?(a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(r.path?("/"===r.path.charAt(0)?a.path=D(r.path):(a.path=void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:r.path:"/"+r.path,a.path=D(a.path)),a.query=r.query):(a.path=e.path,a.query=void 0!==r.query?r.query:e.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=r.fragment,a}function I(e,r){return e&&e.toString().replace(r&&r.iri?h.PCT_ENCODED:u.PCT_ENCODED,f)}var Q={scheme:"http",domainHost:!0,parse:function(e,r){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,r){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},V={scheme:"https",domainHost:Q.domainHost,parse:Q.parse,serialize:Q.serialize},H={},M="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",B="[0-9A-Fa-f]",K=k(k("%[EFef]"+B+"%"+B+B+"%"+B+B)+"|"+k("%[89A-Fa-f]"+B+"%"+B+B)+"|"+k("%"+B+B)),J=C("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Z=new RegExp(M,"g"),G=new RegExp(K,"g"),Y=new RegExp(C("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',J),"g"),W=new RegExp(C("[^]",M,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),X=W;function ee(e){var r=f(e);return r.match(Z)?r:e}var re={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var s=!1,o={},i=t.query.split("&"),n=0,l=i.length;n<l;++n){var c=i[n].split("=");switch(c[0]){case"to":for(var u=c[1].split(","),h=0,d=u.length;h<d;++h)a.push(u[h]);break;case"subject":t.subject=I(c[1],r);break;case"body":t.body=I(c[1],r);break;default:s=!0,o[I(c[0],r)]=I(c[1],r)}}s&&(t.headers=o)}t.query=void 0;for(var f=0,p=a.length;f<p;++f){var m=a[f].split("@");if(m[0]=I(m[0]),r.unicodeSupport)m[1]=I(m[1],r).toLowerCase();else try{m[1]=v.toASCII(I(m[1],r).toLowerCase())}catch(e){t.error=t.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}a[f]=m.join("@")}return t},serialize:function(e,r){var t,a=e,s=null!=(t=e.to)?t instanceof Array?t:"number"!=typeof t.length||t.split||t.setInterval||t.call?[t]:Array.prototype.slice.call(t):[];if(s){for(var o=0,i=s.length;o<i;++o){var n=String(s[o]),l=n.lastIndexOf("@"),c=n.slice(0,l).replace(G,ee).replace(G,p).replace(Y,m),u=n.slice(l+1);try{u=r.iri?v.toUnicode(u):v.toASCII(I(u,r).toLowerCase())}catch(e){a.error=a.error||"Email address's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+e}s[o]=c+"@"+u}a.path=s.join(",")}var h=e.headers=e.headers||{};e.subject&&(h.subject=e.subject),e.body&&(h.body=e.body);var d=[];for(var f in h)h[f]!==H[f]&&d.push(f.replace(G,ee).replace(G,p).replace(W,m)+"="+h[f].replace(G,ee).replace(G,p).replace(X,m));return d.length&&(a.query=d.join("&")),a}},te=/^([^\:]+)\:(.*)/,ae={scheme:"urn",parse:function(e,r){var t=e.path&&e.path.match(te),a=e;if(t){var s=r.scheme||a.scheme||"urn",o=t[1].toLowerCase(),i=t[2],n=d[s+":"+(r.nid||o)];a.nid=o,a.nss=i,a.path=void 0,n&&(a=n.parse(a,r))}else a.error=a.error||"URN can not be parsed.";return a},serialize:function(e,r){var t=e.nid,a=d[(r.scheme||e.scheme||"urn")+":"+(r.nid||t)];a&&(e=a.serialize(e,r));var s=e;return s.path=(t||r.nid)+":"+e.nss,s}},se=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,oe={scheme:"urn:uuid",parse:function(e,r){var t=e;return t.uuid=t.nss,t.nss=void 0,r.tolerant||t.uuid&&t.uuid.match(se)||(t.error=t.error||"UUID is not valid."),t},serialize:function(e,r){var t=e;return t.nss=(e.uuid||"").toLowerCase(),t}};d[Q.scheme]=Q,d[V.scheme]=V,d[re.scheme]=re,d[ae.scheme]=ae,d[oe.scheme]=oe,e.SCHEMES=d,e.pctEncChar=m,e.pctDecChars=f,e.parse=_,e.removeDotSegments=D,e.serialize=j,e.resolveComponents=O,e.resolve=function(e,r,t){var a=function(e,r){var t=e;if(r)for(var a in r)t[a]=r[a];return t}({scheme:"null"},t);return j(O(_(e,a),_(r,a),a,!0),a)},e.normalize=function(e,r){return"string"==typeof e?e=j(_(e,r),r):"object"===a(e)&&(e=_(j(e,r),r)),e},e.equal=function(e,r,t){return"string"==typeof e?e=j(_(e,t),t):"object"===a(e)&&(e=j(e,t)),"string"==typeof r?r=j(_(r,t),t):"object"===a(r)&&(r=j(r,t)),e===r},e.escapeComponent=function(e,r){return e&&e.toString().replace(r&&r.iri?h.ESCAPE:u.ESCAPE,m)},e.unescapeComponent=I,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof t&&void 0!==r?t:a.URI=a.URI||{})},{}],ajv:[function(a,e,r){"use strict";var n=a("./compile"),d=a("./compile/resolve"),t=a("./cache"),f=a("./compile/schema_obj"),s=a("fast-json-stable-stringify"),o=a("./compile/formats"),i=a("./compile/rules"),l=a("./data"),c=a("./compile/util");(e.exports=g).prototype.validate=function(e,r){var t;if("string"==typeof e){if(!(t=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var a=this._addSchema(e);t=a.validate||this._compile(a)}var s=t(r);!0!==t.$async&&(this.errors=t.errors);return s},g.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},g.prototype.addSchema=function(e,r,t,a){if(Array.isArray(e)){for(var s=0;s<e.length;s++)this.addSchema(e[s],void 0,t,a);return this}var o=this._getId(e);if(void 0!==o&&"string"!=typeof o)throw new Error("schema id must be string");return b(this,r=d.normalizeId(r||o)),this._schemas[r]=this._addSchema(e,t,a,!0),this},g.prototype.addMetaSchema=function(e,r,t){return this.addSchema(e,r,t,!0),this},g.prototype.validateSchema=function(e,r){var t=e.$schema;if(void 0!==t&&"string"!=typeof t)throw new Error("$schema must be a string");if(!(t=t||this._opts.defaultMeta||(a=this,s=a._opts.meta,a._opts.defaultMeta="object"==typeof s?a._getId(s)||s:a.getSchema(p)?p:void 0,a._opts.defaultMeta)))return this.logger.warn("meta-schema not available"),!(this.errors=null);var a,s;var o,i=this._formats.uri;this._formats.uri="function"==typeof i?this._schemaUriFormatFunc:this._schemaUriFormat;try{o=this.validate(t,e)}finally{this._formats.uri=i}if(!o&&r){var n="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(n);this.logger.error(n)}return o},g.prototype.getSchema=function(e){var r=y(this,e);switch(typeof r){case"object":return r.validate||this._compile(r);case"string":return this.getSchema(r);case"undefined":return function(e,r){var t=d.schema.call(e,{schema:{}},r);if(t){var a=t.schema,s=t.root,o=t.baseId,i=n.call(e,a,s,void 0,o);return e._fragments[r]=new f({ref:r,fragment:!0,schema:a,root:s,baseId:o,validate:i}),i}}(this,e)}},g.prototype.removeSchema=function(e){if(e instanceof RegExp)return P(this,this._schemas,e),P(this,this._refs,e),this;switch(typeof e){case"undefined":return P(this,this._schemas),P(this,this._refs),this._cache.clear(),this;case"string":var r=y(this,e);return r&&this._cache.del(r.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var t=this._opts.serialize,a=t?t(e):e;this._cache.del(a);var s=this._getId(e);s&&(s=d.normalizeId(s),delete this._schemas[s],delete this._refs[s])}return this},g.prototype.addFormat=function(e,r){"string"==typeof r&&(r=new RegExp(r));return this._formats[e]=r,this},g.prototype.errorsText=function(e,r){if(!(e=e||this.errors))return"No errors";for(var t=void 0===(r=r||{}).separator?", ":r.separator,a=void 0===r.dataVar?"data":r.dataVar,s="",o=0;o<e.length;o++){var i=e[o];i&&(s+=a+i.dataPath+" "+i.message+t)}return s.slice(0,-t.length)},g.prototype._addSchema=function(e,r,t,a){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var s=this._opts.serialize,o=s?s(e):e,i=this._cache.get(o);if(i)return i;a=a||!1!==this._opts.addUsedSchema;var n=d.normalizeId(this._getId(e));n&&a&&b(this,n);var l,c=!1!==this._opts.validateSchema&&!r;c&&!(l=n&&n==d.normalizeId(e.$schema))&&this.validateSchema(e,!0);var u=d.ids.call(this,e),h=new f({id:n,schema:e,localRefs:u,cacheKey:o,meta:t});"#"!=n[0]&&a&&(this._refs[n]=h);this._cache.put(o,h),c&&l&&this.validateSchema(e,!0);return h},g.prototype._compile=function(t,e){if(t.compiling)return(t.validate=s).schema=t.schema,s.errors=null,s.root=e||s,!0===t.schema.$async&&(s.$async=!0),s;var r,a;t.compiling=!0,t.meta&&(r=this._opts,this._opts=this._metaOpts);try{a=n.call(this,t.schema,e,t.localRefs)}catch(e){throw delete t.validate,e}finally{t.compiling=!1,t.meta&&(this._opts=r)}return t.validate=a,t.refs=a.refs,t.refVal=a.refVal,t.root=a.root,a;function s(){var e=t.validate,r=e.apply(this,arguments);return s.errors=e.errors,r}},g.prototype.compileAsync=a("./compile/async");var u=a("./keyword");g.prototype.addKeyword=u.add,g.prototype.getKeyword=u.get,g.prototype.removeKeyword=u.remove;var h=a("./compile/error_classes");g.ValidationError=h.Validation,g.MissingRefError=h.MissingRef,g.$dataMetaSchema=l;var p="http://json-schema.org/draft-07/schema",m=["removeAdditional","useDefaults","coerceTypes"],v=["/properties"];function g(e){if(!(this instanceof g))return new g(e);e=this._opts=c.copy(e)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:_,warn:_,error:_};else{if(void 0===r&&(r=console),!("object"==typeof r&&r.log&&r.warn&&r.error))throw new Error("logger must implement log, warn and error methods");e.logger=r}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=o(e.format);var r=this._schemaUriFormat=this._formats["uri-reference"];this._schemaUriFormatFunc=function(e){return r.test(e)},this._cache=e.cache||new t,this._loadingSchemas={},this._compilations=[],this.RULES=i(),this._getId=function(e){switch(e.schemaId){case"auto":return S;case"id":return E;default:return w}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=s),this._metaOpts=function(e){for(var r=c.copy(e._opts),t=0;t<m.length;t++)delete r[m[t]];return r}(this),e.formats&&function(e){for(var r in e._opts.formats){var t=e._opts.formats[r];e.addFormat(r,t)}}(this),function(e){var r;e._opts.$data&&(r=a("./refs/data.json"),e.addMetaSchema(r,r.$id,!0));if(!1===e._opts.meta)return;var t=a("./refs/json-schema-draft-07.json");e._opts.$data&&(t=l(t,v));e.addMetaSchema(t,p,!0),e._refs["http://json-schema.org/schema"]=p}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),function(e){var r=e._opts.schemas;if(!r)return;if(Array.isArray(r))e.addSchema(r);else for(var t in r)e.addSchema(r[t],t)}(this)}function y(e,r){return r=d.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function P(e,r,t){for(var a in r){var s=r[a];s.meta||t&&!t.test(a)||(e._cache.del(s.cacheKey),delete r[a])}}function E(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function w(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function S(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function b(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function _(){}},{"./cache":1,"./compile":5,"./compile/async":2,"./compile/error_classes":3,"./compile/formats":4,"./compile/resolve":6,"./compile/rules":7,"./compile/schema_obj":8,"./compile/util":10,"./data":11,"./keyword":38,"./refs/data.json":39,"./refs/json-schema-draft-07.json":40,"fast-json-stable-stringify":42}]},{},[])("ajv")});
+/* ajv 6.6.1: Another JSON Schema Validator */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Ajv=e()}}(function(){return function o(i,n,l){function u(r,e){if(!n[r]){if(!i[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(c)return c(r,!0);var a=new Error("Cannot find module '"+r+"'");throw a.code="MODULE_NOT_FOUND",a}var s=n[r]={exports:{}};i[r][0].call(s.exports,function(e){return u(i[r][1][e]||e)},s,s.exports,o,i,n,l)}return n[r].exports}for(var c="function"==typeof require&&require,e=0;e<l.length;e++)u(l[e]);return u}({1:[function(e,r,t){"use strict";var a=r.exports=function(){this._cache={}};a.prototype.put=function(e,r){this._cache[e]=r},a.prototype.get=function(e){return this._cache[e]},a.prototype.del=function(e){delete this._cache[e]},a.prototype.clear=function(){this._cache={}}},{}],2:[function(e,r,t){"use strict";var s=e("./error_classes").MissingRef;r.exports=function t(r,i,a){var n=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof i&&(a=i,i=void 0);var e=l(r).then(function(){var e=n._addSchema(r,void 0,i);return e.validate||function(o){try{return n._compile(o)}catch(e){if(e instanceof s)return function(e){var r=e.missingSchema;if(s(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var t=n._loadingSchemas[r];t||(t=n._loadingSchemas[r]=n._opts.loadSchema(r)).then(a,a);return t.then(function(e){if(!s(r))return l(e).then(function(){s(r)||n.addSchema(e,r,void 0,i)})}).then(function(){return u(o)});function a(){delete n._loadingSchemas[r]}function s(e){return n._refs[e]||n._schemas[e]}}(e);throw e}}(e)});a&&e.then(function(e){a(null,e)},a);return e;function l(e){var r=e.$schema;return r&&!n.getSchema(r)?t.call(n,{$ref:r},!0):Promise.resolve()}function u(o){try{return n._compile(o)}catch(e){if(e instanceof s)return function(e){var r=e.missingSchema;if(s(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var t=n._loadingSchemas[r];t||(t=n._loadingSchemas[r]=n._opts.loadSchema(r)).then(a,a);return t.then(function(e){if(!s(r))return l(e).then(function(){s(r)||n.addSchema(e,r,void 0,i)})}).then(function(){return u(o)});function a(){delete n._loadingSchemas[r]}function s(e){return n._refs[e]||n._schemas[e]}}(e);throw e}}}},{"./error_classes":3}],3:[function(e,r,t){"use strict";var a=e("./resolve");function s(e,r,t){this.message=t||s.message(e,r),this.missingRef=a.url(e,r),this.missingSchema=a.normalizeId(a.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e}r.exports={Validation:o(function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0}),MissingRef:o(s)},s.message=function(e,r){return"can't resolve reference "+r+" from id "+e}},{"./resolve":6}],4:[function(e,r,t){"use strict";var a=e("./util"),o=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31],n=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,s=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,l=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,u=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,f=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return a.copy(m[e="full"==e?"full":"fast"])}function v(e){var r=e.match(o);if(!r)return!1;var t,a=+r[2],s=+r[3];return 1<=a&&a<=12&&1<=s&&s<=(2!=a||((t=+r[1])%4!=0||t%100==0&&t%400!=0)?i[a]:29)}function g(e,r){var t=e.match(n);if(!t)return!1;var a=t[1],s=t[2],o=t[3];return(a<=23&&s<=59&&o<=59||23==a&&59==s&&60==o)&&(!r||t[5])}(r.exports=m).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p},m.full={date:v,time:g,"date-time":function(e){var r=e.split(y);return 2==r.length&&v(r[0])&&g(r[1],!0)},uri:function(e){return P.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&s.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":f,"relative-json-pointer":p};var y=/t|\s/i;var P=/\/|:/;var E=/[^\\]\\Z/;function w(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},{"./util":10}],5:[function(e,r,t){"use strict";var $=e("./resolve"),D=e("./util"),j=e("./error_classes"),l=e("fast-json-stable-stringify"),O=e("../dotjs/validate"),I=D.ucs2length,A=e("fast-deep-equal"),C=j.Validation;function k(e,r,t){for(var a=0;a<this._compilations.length;a++){var s=this._compilations[a];if(s.schema==e&&s.root==r&&s.baseId==t)return a}return-1}function L(e,r){return"var pattern"+e+" = new RegExp("+D.toQuotedString(r[e])+");"}function z(e){return"var default"+e+" = defaults["+e+"];"}function T(e,r){return void 0===r[e]?"":"var refVal"+e+" = refVal["+e+"];"}function N(e){return"var customRule"+e+" = customRules["+e+"];"}function q(e,r){if(!e.length)return"";for(var t="",a=0;a<e.length;a++)t+=r(a,e);return t}r.exports=function u(e,c,h,r){var d=this,f=this._opts,p=[void 0],m={},v=[],t={},g=[],a={},y=[];c=c||{schema:e,refVal:p,refs:m};var s=function(e,r,t){var a=k.call(this,e,r,t);return 0<=a?{index:a,compiling:!0}:{index:a=this._compilations.length,compiling:(this._compilations[a]={schema:e,root:r,baseId:t},!1)}}.call(this,e,c,r);var o=this._compilations[s.index];if(s.compiling)return o.callValidate=function e(){var r=o.validate;var t=r.apply(this,arguments);e.errors=r.errors;return t};var P=this._formats;var E=this.RULES;try{var i=w(e,c,h,r);o.validate=i;var n=o.callValidate;return n&&(n.schema=i.schema,n.errors=null,n.refs=i.refs,n.refVal=i.refVal,n.root=i.root,n.$async=i.$async,f.sourceCode&&(n.source=i.source)),i}finally{(function(e,r,t){var a=k.call(this,e,r,t);0<=a&&this._compilations.splice(a,1)}).call(this,e,c,r)}function w(e,r,t,a){var s=!r||r&&r.schema==e;if(r.schema!=c.schema)return u.call(d,e,r,t,a);var o,i=!0===e.$async,n=O({isTop:!0,schema:e,isRoot:s,baseId:a,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:j.MissingRef,RULES:E,validate:O,util:D,resolve:$,resolveRef:S,usePattern:F,useDefault:x,useCustomRule:R,opts:f,formats:P,logger:d.logger,self:d});n=q(p,T)+q(v,L)+q(g,z)+q(y,N)+n,f.processCode&&(n=f.processCode(n));try{var l=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",n);o=l(d,E,P,c,p,g,y,A,I,C),p[0]=o}catch(e){throw d.logger.error("Error compiling schema, function code:",n),e}return o.schema=e,o.errors=null,o.refs=m,o.refVal=p,o.root=s?o:r,i&&(o.$async=!0),!0===f.sourceCode&&(o.source={code:n,patterns:v,defaults:g}),o}function S(e,r,t){r=$.url(e,r);var a,s,o=m[r];if(void 0!==o)return _(a=p[o],s="refVal["+o+"]");if(!t&&c.refs){var i=c.refs[r];if(void 0!==i)return s=b(r,a=c.refVal[i]),_(a,s)}s=b(r);var n=$.call(d,w,c,r);if(void 0===n){var l=h&&h[r];l&&(n=$.inlineRef(l,f.inlineRefs)?l:u.call(d,l,c,h,e))}if(void 0!==n)return p[m[r]]=n,_(n,s);delete m[r]}function b(e,r){var t=p.length;return p[t]=r,"refVal"+(m[e]=t)}function _(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function F(e){var r=t[e];return void 0===r&&(r=t[e]=v.length,v[r]=e),"pattern"+r}function x(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return D.toQuotedString(e);case"object":if(null===e)return"null";var r=l(e),t=a[r];return void 0===t&&(t=a[r]=g.length,g[t]=e),"default"+t}}function R(e,r,t,a){var s=e.definition.validateSchema;if(s&&!1!==d._opts.validateSchema){var o=s(r);if(!o){var i="keyword schema is invalid: "+d.errorsText(s.errors);if("log"!=d._opts.validateSchema)throw new Error(i);d.logger.error(i)}}var n,l=e.definition.compile,u=e.definition.inline,c=e.definition.macro;if(l)n=l.call(d,r,t,a);else if(c)n=c.call(d,r,t,a),!1!==f.validateSchema&&d.validateSchema(n,!0);else if(u)n=u.call(d,a,e.keyword,r,t);else if(!(n=e.definition.validate))return;if(void 0===n)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=y.length;return{code:"customRule"+h,validate:y[h]=n}}}},{"../dotjs/validate":37,"./error_classes":3,"./resolve":6,"./util":10,"fast-deep-equal":41,"fast-json-stable-stringify":42}],6:[function(e,r,t){"use strict";var m=e("uri-js"),v=e("fast-deep-equal"),g=e("./util"),l=e("./schema_obj"),a=e("json-schema-traverse");function u(e,r,t){var a=this._refs[t];if("string"==typeof a){if(!this._refs[a])return u.call(this,e,r,a);a=this._refs[a]}if((a=a||this._schemas[t])instanceof l)return d(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var s,o,i,n=c.call(this,r,t);return n&&(s=n.schema,r=n.root,i=n.baseId),s instanceof l?o=s.validate||e.call(this,s.schema,r,void 0,i):void 0!==s&&(o=d(s,this._opts.inlineRefs)?s:e.call(this,s,r,void 0,i)),o}function c(e,r){var t=m.parse(r),a=f(t),s=y(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==s){var o=P(a),i=this._refs[o];if("string"==typeof i)return function(e,r,t){var a=c.call(this,e,r);if(a){var s=a.schema,o=a.baseId;e=a.root;var i=this._getId(s);return i&&(o=p(o,i)),n.call(this,t,o,s,e)}}.call(this,e,i,t);if(i instanceof l)i.validate||this._compile(i),e=i;else{if(!((i=this._schemas[o])instanceof l))return;if(i.validate||this._compile(i),o==P(r))return{schema:i,root:e,baseId:s};e=i}if(!e.schema)return;s=y(this._getId(e.schema))}return n.call(this,t,s,e.schema,e)}(r.exports=u).normalizeId=P,u.fullPath=y,u.url=p,u.ids=function(e){var r=P(this._getId(e)),h={"":r},d={"":y(r,!1)},f={},p=this;return a(e,{allKeys:!0},function(e,r,t,a,s,o,i){if(""!==r){var n=p._getId(e),l=h[a],u=d[a]+"/"+s;if(void 0!==i&&(u+="/"+("number"==typeof i?i:g.escapeFragment(i))),"string"==typeof n){n=l=P(l?m.resolve(l,n):n);var c=p._refs[n];if("string"==typeof c&&(c=p._refs[c]),c&&c.schema){if(!v(e,c.schema))throw new Error('id "'+n+'" resolves to more than one schema')}else if(n!=P(u))if("#"==n[0]){if(f[n]&&!v(e,f[n]))throw new Error('id "'+n+'" resolves to more than one schema');f[n]=e}else p._refs[n]=u}h[r]=l,d[r]=u}}),f},u.inlineRef=d,u.schema=c;var h=g.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function n(e,r,t,a){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var s=e.fragment.split("/"),o=1;o<s.length;o++){var i=s[o];if(i){if(void 0===(t=t[i=g.unescapeFragment(i)]))break;var n;if(!h[i]&&((n=this._getId(t))&&(r=p(r,n)),t.$ref)){var l=p(r,t.$ref),u=c.call(this,a,l);u&&(t=u.schema,a=u.root,r=u.baseId)}}}return void 0!==t&&t!==a.schema?{schema:t,root:a,baseId:r}:void 0}}var i=g.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function d(e,r){return!1!==r&&(void 0===r||!0===r?function e(r){var t;if(Array.isArray(r)){for(var a=0;a<r.length;a++)if("object"==typeof(t=r[a])&&!e(t))return!1}else for(var s in r){if("$ref"==s)return!1;if("object"==typeof(t=r[s])&&!e(t))return!1}return!0}(e):r?function e(r){var t,a=0;if(Array.isArray(r)){for(var s=0;s<r.length;s++)if("object"==typeof(t=r[s])&&(a+=e(t)),a==1/0)return 1/0}else for(var o in r){if("$ref"==o)return 1/0;if(i[o])a++;else if("object"==typeof(t=r[o])&&(a+=e(t)+1),a==1/0)return 1/0}return a}(e)<=r:void 0)}function y(e,r){return!1!==r&&(e=P(e)),f(m.parse(e))}function f(e){return m.serialize(e).split("#")[0]+"#"}var s=/#\/?$/;function P(e){return e?e.replace(s,""):""}function p(e,r){return r=P(r),m.resolve(e,r)}},{"./schema_obj":8,"./util":10,"fast-deep-equal":41,"json-schema-traverse":43,"uri-js":44}],7:[function(e,r,t){"use strict";var o=e("../dotjs"),i=e("./util").toHash;r.exports=function(){var a=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],s=["type","$comment"];return a.all=i(s),a.types=i(["number","integer","string","array","object","boolean","null"]),a.forEach(function(e){e.rules=e.rules.map(function(e){var r;if("object"==typeof e){var t=Object.keys(e)[0];r=e[t],e=t,r.forEach(function(e){s.push(e),a.all[e]=!0})}return s.push(e),a.all[e]={keyword:e,code:o[e],implements:r}}),a.all.$comment={keyword:"$comment",code:o.$comment},e.type&&(a.types[e.type]=e)}),a.keywords=i(s.concat(["$schema","$id","id","$data","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),a.custom={},a}},{"../dotjs":26,"./util":10}],8:[function(e,r,t){"use strict";var a=e("./util");r.exports=function(e){a.copy(e,this)}},{"./util":10}],9:[function(e,r,t){"use strict";r.exports=function(e){for(var r,t=0,a=e.length,s=0;s<a;)t++,55296<=(r=e.charCodeAt(s++))&&r<=56319&&s<a&&56320==(64512&(r=e.charCodeAt(s)))&&s++;return t}},{}],10:[function(e,r,t){"use strict";function o(e,r,t){var a=t?" !== ":" === ",s=t?" || ":" && ",o=t?"!":"",i=t?"":"!";switch(e){case"null":return r+a+"null";case"array":return o+"Array.isArray("+r+")";case"object":return"("+o+r+s+"typeof "+r+a+'"object"'+s+i+"Array.isArray("+r+"))";case"integer":return"(typeof "+r+a+'"number"'+s+i+"("+r+" % 1)"+s+r+a+r+")";default:return"typeof "+r+a+'"'+e+'"'}}r.exports={copy:function(e,r){for(var t in r=r||{},e)r[t]=e[t];return r},checkDataType:o,checkDataTypes:function(e,r){switch(e.length){case 1:return o(e[0],r,!0);default:var t="",a=n(e);for(var s in a.array&&a.object&&(t=a.null?"(":"(!"+r+" || ",t+="typeof "+r+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer,a)t+=(t?" && ":"")+o(s,r,!0);return t}},coerceToTypes:function(e,r){if(Array.isArray(r)){for(var t=[],a=0;a<r.length;a++){var s=r[a];i[s]?t[t.length]=s:"array"===e&&"array"===s&&(t[t.length]=s)}if(t.length)return t}else{if(i[r])return[r];if("array"===e&&"array"===r)return["array"]}},toHash:n,getProperty:h,escapeQuotes:l,equal:e("fast-deep-equal"),ucs2length:e("./ucs2length"),varOccurences:function(e,r){var t=e.match(new RegExp(r+="[^0-9]","g"));return t?t.length:0},varReplace:function(e,r,t){return r+="([^0-9])",t=t.replace(/\$/g,"$$$$"),e.replace(new RegExp(r,"g"),t+"$1")},cleanUpCode:function(e){return e.replace(u,"").replace(c,"").replace(d,"if (!($1))")},finalCleanUpCode:function(e,r){var t=e.match(f);t&&2==t.length&&(e=r?e.replace(m,"").replace(y,P):e.replace(p,"").replace(v,g));return(t=e.match(E))&&3===t.length?e.replace(w,""):e},schemaHasRules:function(e,r){if("boolean"==typeof e)return!e;for(var t in e)if(r[t])return!0},schemaHasRulesExcept:function(e,r,t){if("boolean"==typeof e)return!e&&"not"!=t;for(var a in e)if(a!=t&&r[a])return!0},toQuotedString:S,getPathExpr:function(e,r,t,a){return F(e,t?"'/' + "+r+(a?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):a?"'[' + "+r+" + ']'":"'[\\'' + "+r+" + '\\']'")},getPath:function(e,r,t){var a=S(t?"/"+x(r):h(r));return F(e,a)},getData:function(e,r,t){var a,s,o,i;if(""===e)return"rootData";if("/"==e[0]){if(!b.test(e))throw new Error("Invalid JSON-pointer: "+e);s=e,o="rootData"}else{if(!(i=e.match(_)))throw new Error("Invalid JSON-pointer: "+e);if(a=+i[1],"#"==(s=i[2])){if(r<=a)throw new Error("Cannot access property/index "+a+" levels up, current level is "+r);return t[r-a]}if(r<a)throw new Error("Cannot access data "+a+" levels up, current level is "+r);if(o="data"+(r-a||""),!s)return o}for(var n=o,l=s.split("/"),u=0;u<l.length;u++){var c=l[u];c&&(o+=h(R(c)),n+=" && "+o)}return n},unescapeFragment:function(e){return R(decodeURIComponent(e))},unescapeJsonPointer:R,escapeFragment:function(e){return encodeURIComponent(x(e))},escapeJsonPointer:x};var i=n(["string","number","integer","boolean","null"]);function n(e){for(var r={},t=0;t<e.length;t++)r[e[t]]=!0;return r}var a=/^[a-z$_][a-z$_0-9]*$/i,s=/'|\\/g;function h(e){return"number"==typeof e?"["+e+"]":a.test(e)?"."+e:"['"+l(e)+"']"}function l(e){return e.replace(s,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var u=/else\s*{\s*}/g,c=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,d=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var f=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,m=/var errors = 0;|var vErrors = null;/g,v="return errors === 0;",g="validate.errors = null; return true;",y=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,P="return data;",E=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,w=/if \(rootData === undefined\) rootData = data;/;function S(e){return"'"+l(e)+"'"}var b=/^\/(?:[^~]|~0|~1)*$/,_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function F(e,r){return'""'==e?r:(e+" + "+r).replace(/' \+ '/g,"")}function x(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function R(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},{"./ucs2length":9,"fast-deep-equal":41}],11:[function(e,r,t){"use strict";var l=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];r.exports=function(e,r){for(var t=0;t<r.length;t++){e=JSON.parse(JSON.stringify(e));var a,s=r[t].split("/"),o=e;for(a=1;a<s.length;a++)o=o[s[a]];for(a=0;a<l.length;a++){var i=l[a],n=o[i];n&&(o[i]={anyOf:[n,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},{}],12:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;var f="maximum"==r,p=f?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[p],v=e.opts.$data&&m&&m.$data,g=f?"<":">",y=f?">":"<",P=void 0;if(v){var E=e.util.getData(m.$data,i,e.dataPathArr),w="exclusive"+o,S="exclType"+o,b="exclIsNumber"+o,_="' + "+(R="op"+o)+" + '";s+=" var schemaExcl"+o+" = "+E+"; ";var F;P=p;(F=F||[]).push(s+=" var "+w+"; var "+S+" = typeof "+(E="schemaExcl"+o)+"; if ("+S+" != 'boolean' && "+S+" != 'undefined' && "+S+" != 'number') { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(s+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(s+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var x=s;s=F.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } else if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+S+" == 'number' ? ( ("+w+" = "+a+" === undefined || "+E+" "+g+"= "+a+") ? "+h+" "+y+"= "+E+" : "+h+" "+y+" "+a+" ) : ( ("+w+" = "+E+" === true) ? "+h+" "+y+"= "+a+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { var op"+o+" = "+w+" ? '"+g+"' : '"+g+"='; ",void 0===n&&(u=e.errSchemaPath+"/"+(P=p),a=E,d=v)}else{_=g;if((b="number"==typeof m)&&d){var R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" ( "+a+" === undefined || "+m+" "+g+"= "+a+" ? "+h+" "+y+"= "+m+" : "+h+" "+y+" "+a+" ) || "+h+" !== "+h+") { "}else{b&&void 0===n?(w=!0,u=e.errSchemaPath+"/"+(P=p),a=m,y+="="):(b&&(a=Math[f?"min":"max"](m,n)),m===(!b||a)?(w=!0,u=e.errSchemaPath+"/"+(P=p),y+="="):(w=!1,_+="="));R="'"+_+"'";s+=" if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=" "+h+" "+y+" "+a+" || "+h+" !== "+h+") { "}}P=P||r,(F=F||[]).push(s),s="",!1!==e.createErrors?(s+=" { keyword: '"+(P||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+R+", limit: "+a+", exclusive: "+w+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be "+_+" ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";x=s;return s=F.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",c&&(s+=" else { "),s}},{}],13:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || ");var f=r,p=p||[];p.push(s+=" "+h+".length "+("maxItems"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxItems"==r?"more":"fewer",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" items' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",c&&(s+=" else { "),s}},{}],14:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || "),s+=!1===e.opts.unicode?" "+h+".length ":" ucs2length("+h+") ";var f=r,p=p||[];p.push(s+=" "+("maxLength"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT be ",s+="maxLength"==r?"longer":"shorter",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" characters' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",c&&(s+=" else { "),s}},{}],15:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'number') || ");var f=r,p=p||[];p.push(s+=" Object.keys("+h+").length "+("maxProperties"==r?">":"<")+" "+a+") { "),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have ",s+="maxProperties"==r?"more":"fewer",s+=" than ",s+=d?"' + "+a+" + '":""+n,s+=" properties' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",c&&(s+=" else { "),s}},{}],16:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.schema[r],o=e.schemaPath+e.util.getProperty(r),i=e.errSchemaPath+"/"+r,n=!e.opts.allErrors,l=e.util.copy(e),u="";l.level++;var c="valid"+l.level,h=l.baseId,d=!0,f=s;if(f)for(var p,m=-1,v=f.length-1;m<v;)p=f[m+=1],e.util.schemaHasRules(p,e.RULES.all)&&(d=!1,l.schema=p,l.schemaPath=o+"["+m+"]",l.errSchemaPath=i+"/"+m,a+=" "+e.validate(l)+" ",l.baseId=h,n&&(a+=" if ("+c+") { ",u+="}"));return n&&(a+=d?" if (true) { ":" "+u.slice(0,-1)+" "),a=e.util.cleanUpCode(a)}},{}],17:[function(e,r,t){"use strict";r.exports=function(r,e,t){var a=" ",s=r.level,o=r.dataLevel,i=r.schema[e],n=r.schemaPath+r.util.getProperty(e),l=r.errSchemaPath+"/"+e,u=!r.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=r.util.copy(r),p="";f.level++;var m="valid"+f.level;if(i.every(function(e){return r.util.schemaHasRules(e,r.RULES.all)})){var v=f.baseId;a+=" var "+d+" = errors; var "+h+" = false; ";var g=r.compositeRule;r.compositeRule=f.compositeRule=!0;var y=i;if(y)for(var P,E=-1,w=y.length-1;E<w;)P=y[E+=1],f.schema=P,f.schemaPath=n+"["+E+"]",f.errSchemaPath=l+"/"+E,a+=" "+r.validate(f)+" ",f.baseId=v,a+=" "+h+" = "+h+" || "+m+"; if (!"+h+") { ",p+="}";r.compositeRule=f.compositeRule=g,a+=" "+p+" if (!"+h+") { var err = ",!1!==r.createErrors?(a+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+r.errorPath+" , schemaPath: "+r.util.toQuotedString(l)+" , params: {} ",!1!==r.opts.messages&&(a+=" , message: 'should match some schema in anyOf' "),r.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+r.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!r.compositeRule&&u&&(a+=r.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",r.opts.allErrors&&(a+=" } "),a=r.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a}},{}],18:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.errSchemaPath+"/"+r,o=e.util.toQuotedString(e.schema[r]);return!0===e.opts.$comment?a+=" console.log("+o+");":"function"==typeof e.opts.$comment&&(a+=" self._opts.$comment("+o+", "+e.util.toQuotedString(s)+", validate.root.schema);"),a}},{}],19:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; "),d||(a+=" var schema"+s+" = validate.schema"+n+";");var f=f||[];f.push(a+="var "+h+" = equal("+c+", schema"+s+"); if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var p=a;return a=f.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",u&&(a+=" else { "),a}},{}],20:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m="i"+s,v=f.dataLevel=e.dataLevel+1,g="data"+v,y=e.baseId,P=e.util.schemaHasRules(i,e.RULES.all);if(a+="var "+d+" = errors;var "+h+";",P){var E=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+p+" = false; for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var w=c+"["+m+"]";f.dataPathArr[v]=m;var S=e.validate(f);f.baseId=y,e.util.varOccurences(S,g)<2?a+=" "+e.util.varReplace(S,g,w)+" ":a+=" var "+g+" = "+w+"; "+S+" ",a+=" if ("+p+") break; } ",e.compositeRule=f.compositeRule=E,a+=" if (!"+p+") {"}else a+=" if ("+c+".length == 0) {";var b=b||[];b.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var _=a;return a=b.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",P&&(a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a=e.util.cleanUpCode(a)}},{}],21:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.level,n=e.dataLevel,l=e.schema[r],u=e.schemaPath+e.util.getProperty(r),c=e.errSchemaPath+"/"+r,h=!e.opts.allErrors,d="data"+(n||""),f="valid"+i,p="errs__"+i,m=e.opts.$data&&l&&l.$data;m?(o+=" var schema"+i+" = "+e.util.getData(l.$data,n,e.dataPathArr)+"; ",s="schema"+i):s=l;var v,g,y,P,E,w=this,S="definition"+i,b=w.definition,_="";if(m&&b.$data){var F=b.validateSchema;o+=" var "+S+" = RULES.custom['"+r+"'].definition; var "+(E="keywordValidate"+i)+" = "+S+".validate;"}else{if(!(P=e.useCustomRule(w,l,e.schema,e)))return;s="validate.schema"+u,E=P.code,v=b.compile,g=b.inline,y=b.macro}var x=E+".errors",R="i"+i,$="ruleErr"+i,D=b.async;if(D&&!e.async)throw new Error("async keyword in sync schema");if(g||y||(o+=x+" = null;"),o+="var "+p+" = errors;var "+f+";",m&&b.$data&&(_+="}",o+=" if ("+s+" === undefined) { "+f+" = true; } else { ",F&&(_+="}",o+=" "+f+" = "+S+".validateSchema("+s+"); if ("+f+") { ")),g)o+=b.statements?" "+P.validate+" ":" "+f+" = "+P.validate+"; ";else if(y){var j=e.util.copy(e);_="";j.level++;var O="valid"+j.level;j.schema=P.validate,j.schemaPath="";var I=e.compositeRule;e.compositeRule=j.compositeRule=!0;var A=e.validate(j).replace(/validate\.schema/g,E);e.compositeRule=j.compositeRule=I,o+=" "+A}else{(z=z||[]).push(o),o="",o+=" "+E+".call( ",o+=e.opts.passContext?"this":"self",o+=v||!1===b.schema?" , "+d+" ":" , "+s+" , "+d+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var C=n?"data"+(n-1||""):"parentData",k=n?e.dataPathArr[n]:"parentDataProperty",L=o+=" , "+C+" , "+k+" , rootData ) ";o=z.pop(),!1===b.errors?(o+=" "+f+" = ",D&&(o+="await "),o+=L+"; "):o+=D?" var "+(x="customErrors"+i)+" = null; try { "+f+" = await "+L+"; } catch (e) { "+f+" = false; if (e instanceof ValidationError) "+x+" = e.errors; else throw e; } ":" "+x+" = null; "+f+" = "+L+"; "}if(b.modifying&&(o+=" if ("+C+") "+d+" = "+C+"["+k+"];"),o+=""+_,b.valid)h&&(o+=" if (true) { ");else{var z;o+=" if ( ",void 0===b.valid?(o+=" !",o+=y?""+O:""+f):o+=" "+!b.valid+" ",a=w.keyword,(z=z||[]).push(o+=") { "),(z=z||[]).push(o=""),o="",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var T=o;o=z.pop();var N=o+=!e.compositeRule&&h?e.async?" throw new ValidationError(["+T+"]); ":" validate.errors = ["+T+"]; return false; ":" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";o=z.pop(),g?b.errors?"full"!=b.errors&&(o+=" for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } "):!1===b.errors?o+=" "+N+" ":(o+=" if ("+p+" == errors) { "+N+" } else { for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+$+".schemaPath === undefined) { "+$+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } "):y?(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: '"+(a||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(o+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; ")):!1===b.errors?o+=" "+N+" ":(o+=" if (Array.isArray("+x+")) { if (vErrors === null) vErrors = "+x+"; else vErrors = vErrors.concat("+x+"); errors = vErrors.length; for (var "+R+"="+p+"; "+R+"<errors; "+R+"++) { var "+$+" = vErrors["+R+"]; if ("+$+".dataPath === undefined) "+$+".dataPath = (dataPath || '') + "+e.errorPath+"; "+$+'.schemaPath = "'+c+'"; ',e.opts.verbose&&(o+=" "+$+".schema = "+s+"; "+$+".data = "+d+"; "),o+=" } } else { "+N+" } "),o+=" } ",h&&(o+=" else { ")}return o}},{}],22:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m={},v={},g=e.opts.ownProperties;for(w in i){var y=i[w],P=Array.isArray(y)?v:m;P[w]=y}a+="var "+h+" = errors;";var E=e.errorPath;for(var w in a+="var missing"+s+";",v)if((P=v[w]).length){if(a+=" if ( "+c+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(w)+"') "),u){a+=" && ( ";var S=P;if(S)for(var b=-1,_=S.length-1;b<_;){j=S[b+=1],b&&(a+=" || "),a+=" ( ( "+(C=c+(A=e.util.getProperty(j)))+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(j)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?j:A)+") ) "}a+=")) { ";var F="missing"+s,x="' + "+F+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,F,!0):E+" + "+F);var R=R||[];R.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var $=a;a=R.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+$+"]); ":" validate.errors = ["+$+"]; return false; ":" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{a+=" ) { ";var D=P;if(D)for(var j,O=-1,I=D.length-1;O<I;){j=D[O+=1];var A=e.util.getProperty(j),C=(x=e.util.escapeQuotes(j),c+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,j,e.opts.jsonPointers)),a+=" if ( "+C+" === undefined ",g&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(j)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(w)+"', missingProperty: '"+x+"', depsCount: "+P.length+", deps: '"+e.util.escapeQuotes(1==P.length?P[0]:P.join(", "))+"' } ",!1!==e.opts.messages&&(a+=" , message: 'should have ",a+=1==P.length?"property "+e.util.escapeQuotes(P[0]):"properties "+e.util.escapeQuotes(P.join(", ")),a+=" when property "+e.util.escapeQuotes(w)+" is present' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}a+=" } ",u&&(f+="}",a+=" else { ")}e.errorPath=E;var k=d.baseId;for(var w in m){e.util.schemaHasRules(y=m[w],e.RULES.all)&&(a+=" "+p+" = true; if ( "+c+e.util.getProperty(w)+" !== undefined ",g&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(w)+"') "),a+=") { ",d.schema=y,d.schemaPath=n+e.util.getProperty(w),d.errSchemaPath=l+"/"+e.util.escapeFragment(w),a+=" "+e.validate(d)+" ",d.baseId=k,a+=" } ",u&&(a+=" if ("+p+") { ",f+="}"))}return u&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],23:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="i"+s,p="schema"+s;d||(a+=" var "+p+" = validate.schema"+n+";"),a+="var "+h+";",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=h+" = false;for (var "+f+"=0; "+f+"<"+p+".length; "+f+"++) if (equal("+c+", "+p+"["+f+"])) { "+h+" = true; break; }",d&&(a+=" } ");var m=m||[];m.push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+s+" } ",!1!==e.opts.messages&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var v=a;return a=m.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+v+"]); ":" validate.errors = ["+v+"]; return false; ":" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",u&&(a+=" else { "),a}},{}],24:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||"");if(!1===e.opts.format)return u&&(a+=" if (true) { "),a;var h,d=e.opts.$data&&i&&i.$data;d?(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ",h="schema"+s):h=i;var f=e.opts.unknownFormats,p=Array.isArray(f);if(d){a+=" var "+(m="format"+s)+" = formats["+h+"]; var "+(v="isObject"+s)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(g="formatType"+s)+" = "+v+" && "+m+".type || 'string'; if ("+v+") { ",e.async&&(a+=" var async"+s+" = "+m+".async; "),a+=" "+m+" = "+m+".validate; } if ( ",d&&(a+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),a+=" (","ignore"!=f&&(a+=" ("+h+" && !"+m+" ",p&&(a+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),a+=") || "),a+=" ("+m+" && "+g+" == '"+t+"' && !(typeof "+m+" == 'function' ? ",a+=e.async?" (async"+s+" ? await "+m+"("+c+") : "+m+"("+c+")) ":" "+m+"("+c+") ",a+=" : "+m+".test("+c+"))))) {"}else{var m;if(!(m=e.formats[i])){if("ignore"==f)return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(a+=" if (true) { "),a;if(p&&0<=f.indexOf(i))return u&&(a+=" if (true) { "),a;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var v,g=(v="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(v){var y=!0===m.async;m=m.validate}if(g!=t)return u&&(a+=" if (true) { "),a;if(y){if(!e.async)throw new Error("async format in sync schema");a+=" if (!(await "+(P="formats"+e.util.getProperty(i)+".validate")+"("+c+"))) { "}else{a+=" if (! ";var P="formats"+e.util.getProperty(i);v&&(P+=".validate"),a+="function"==typeof m?" "+P+"("+c+") ":" "+P+".test("+c+") ",a+=") { "}}var E=E||[];E.push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",a+=d?""+h:""+e.util.toQuotedString(i),a+=" } ",!1!==e.opts.messages&&(a+=" , message: 'should match format \"",a+=d?"' + "+h+" + '":""+e.util.escapeQuotes(i),a+="\"' "),e.opts.verbose&&(a+=" , schema: ",a+=d?"validate.schema"+n:""+e.util.toQuotedString(i),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var w=a;return a=E.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+w+"]); ":" validate.errors = ["+w+"]; return false; ":" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",u&&(a+=" else { "),a}},{}],25:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e);f.level++;var p="valid"+f.level,m=e.schema.then,v=e.schema.else,g=void 0!==m&&e.util.schemaHasRules(m,e.RULES.all),y=void 0!==v&&e.util.schemaHasRules(v,e.RULES.all),P=f.baseId;if(g||y){var E;f.createErrors=!1,f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" var "+d+" = errors; var "+h+" = true; ";var w=e.compositeRule;e.compositeRule=f.compositeRule=!0,a+=" "+e.validate(f)+" ",f.baseId=P,f.createErrors=!0,a+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=f.compositeRule=w,g?(a+=" if ("+p+") { ",f.schema=e.schema.then,f.schemaPath=e.schemaPath+".then",f.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'then'; ":E="'then'",a+=" } ",y&&(a+=" else { ")):a+=" if (!"+p+") { ",y&&(f.schema=e.schema.else,f.schemaPath=e.schemaPath+".else",f.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(f)+" ",f.baseId=P,a+=" "+h+" = "+p+"; ",g&&y?a+=" var "+(E="ifClause"+s)+" = 'else'; ":E="'else'",a+=" } "),a+=" if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+E+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match \"' + "+E+" + '\" schema' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+=" } ",u&&(a+=" else { "),a=e.util.cleanUpCode(a)}else u&&(a+=" if (true) { ");return a}},{}],26:[function(e,r,t){"use strict";r.exports={$ref:e("./ref"),allOf:e("./allOf"),anyOf:e("./anyOf"),$comment:e("./comment"),const:e("./const"),contains:e("./contains"),dependencies:e("./dependencies"),enum:e("./enum"),format:e("./format"),if:e("./if"),items:e("./items"),maximum:e("./_limit"),minimum:e("./_limit"),maxItems:e("./_limitItems"),minItems:e("./_limitItems"),maxLength:e("./_limitLength"),minLength:e("./_limitLength"),maxProperties:e("./_limitProperties"),minProperties:e("./_limitProperties"),multipleOf:e("./multipleOf"),not:e("./not"),oneOf:e("./oneOf"),pattern:e("./pattern"),properties:e("./properties"),propertyNames:e("./propertyNames"),required:e("./required"),uniqueItems:e("./uniqueItems"),validate:e("./validate")}},{"./_limit":12,"./_limitItems":13,"./_limitLength":14,"./_limitProperties":15,"./allOf":16,"./anyOf":17,"./comment":18,"./const":19,"./contains":20,"./dependencies":22,"./enum":23,"./format":24,"./if":25,"./items":27,"./multipleOf":28,"./not":29,"./oneOf":30,"./pattern":31,"./properties":32,"./propertyNames":33,"./ref":34,"./required":35,"./uniqueItems":36,"./validate":37}],27:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v="i"+s,g=f.dataLevel=e.dataLevel+1,y="data"+g,P=e.baseId;if(a+="var "+d+" = errors;var "+h+";",Array.isArray(i)){var E=e.schema.additionalItems;if(!1===E){a+=" "+h+" = "+c+".length <= "+i.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems";var S=S||[];S.push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+i.length+" } ",!1!==e.opts.messages&&(a+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var b=a;a=S.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+b+"]); ":" validate.errors = ["+b+"]; return false; ":" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l=w,u&&(p+="}",a+=" else { ")}var _=i;if(_)for(var F,x=-1,R=_.length-1;x<R;)if(F=_[x+=1],e.util.schemaHasRules(F,e.RULES.all)){a+=" "+m+" = true; if ("+c+".length > "+x+") { ";var $=c+"["+x+"]";f.schema=F,f.schemaPath=n+"["+x+"]",f.errSchemaPath=l+"/"+x,f.errorPath=e.util.getPathExpr(e.errorPath,x,e.opts.jsonPointers,!0),f.dataPathArr[g]=x;var D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",a+=" } ",u&&(a+=" if ("+m+") { ",p+="}")}if("object"==typeof E&&e.util.schemaHasRules(E,e.RULES.all)){f.schema=E,f.schemaPath=e.schemaPath+".additionalItems",f.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+m+" = true; if ("+c+".length > "+i.length+") { for (var "+v+" = "+i.length+"; "+v+" < "+c+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=c+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",u&&(a+=" if (!"+m+") break; "),a+=" } } ",u&&(a+=" if ("+m+") { ",p+="}")}}else if(e.util.schemaHasRules(i,e.RULES.all)){f.schema=i,f.schemaPath=n,f.errSchemaPath=l,a+=" for (var "+v+" = 0; "+v+" < "+c+".length; "+v+"++) { ",f.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);$=c+"["+v+"]";f.dataPathArr[g]=v;D=e.validate(f);f.baseId=P,e.util.varOccurences(D,y)<2?a+=" "+e.util.varReplace(D,y,$)+" ":a+=" var "+y+" = "+$+"; "+D+" ",u&&(a+=" if (!"+m+") break; "),a+=" }"}return u&&(a+=" "+p+" if ("+d+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],28:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,s+="var division"+o+";if (",d&&(s+=" "+a+" !== undefined && ( typeof "+a+" != 'number' || "),s+=" (division"+o+" = "+h+" / "+a+", ",s+=e.opts.multipleOfPrecision?" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":" division"+o+" !== parseInt(division"+o+") ",s+=" ) ",d&&(s+=" ) ");var f=f||[];f.push(s+=" ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+a+" } ",!1!==e.opts.messages&&(s+=" , message: 'should be multiple of ",s+=d?"' + "+a:a+"'"),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var p=s;return s=f.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",c&&(s+=" else { "),s}},{}],29:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l,a+=" var "+h+" = errors; ";var p,m=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),a+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=m;var v=v||[];v.push(a+=" if ("+f+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var g=a;a=v.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",!1!==e.createErrors?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ");return a}},{}],30:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d="errs__"+s,f=e.util.copy(e),p="";f.level++;var m="valid"+f.level,v=f.baseId,g="prevValid"+s,y="passingSchemas"+s;a+="var "+d+" = errors , "+g+" = false , "+h+" = false , "+y+" = null; ";var P=e.compositeRule;e.compositeRule=f.compositeRule=!0;var E=i;if(E)for(var w,S=-1,b=E.length-1;S<b;)w=E[S+=1],e.util.schemaHasRules(w,e.RULES.all)?(f.schema=w,f.schemaPath=n+"["+S+"]",f.errSchemaPath=l+"/"+S,a+=" "+e.validate(f)+" ",f.baseId=v):a+=" var "+m+" = true; ",S&&(a+=" if ("+m+" && "+g+") { "+h+" = false; "+y+" = ["+y+", "+S+"]; } else { ",p+="}"),a+=" if ("+m+") { "+h+" = "+g+" = true; "+y+" = "+S+"; }";return e.compositeRule=f.compositeRule=P,a+=p+"if (!"+h+") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),a+="} else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a}},{}],31:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d=e.opts.$data&&n&&n.$data;d?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n;var f=d?"(new RegExp("+a+"))":e.usePattern(n);s+="if ( ",d&&(s+=" ("+a+" !== undefined && typeof "+a+" != 'string') || ");var p=p||[];p.push(s+=" !"+f+".test("+h+") ) { "),s="",!1!==e.createErrors?(s+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",s+=d?""+a:""+e.util.toQuotedString(n),s+=" } ",!1!==e.opts.messages&&(s+=" , message: 'should match pattern \"",s+=d?"' + "+a+" + '":""+e.util.escapeQuotes(n),s+="\"' "),e.opts.verbose&&(s+=" , schema: ",s+=d?"validate.schema"+l:""+e.util.toQuotedString(n),s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var m=s;return s=p.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+="} ",c&&(s+=" else { "),s}},{}],32:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e),f="";d.level++;var p="valid"+d.level,m="key"+s,v="idx"+s,g=d.dataLevel=e.dataLevel+1,y="data"+g,P="dataProperties"+s,E=Object.keys(i||{}),w=e.schema.patternProperties||{},S=Object.keys(w),b=e.schema.additionalProperties,_=E.length||S.length,F=!1===b,x="object"==typeof b&&Object.keys(b).length,R=e.opts.removeAdditional,$=F||x||R,D=e.opts.ownProperties,j=e.baseId,O=e.schema.required;if(O&&(!e.opts.$data||!O.$data)&&O.length<e.opts.loopRequired)var I=e.util.toHash(O);if(a+="var "+h+" = errors;var "+p+" = true;",D&&(a+=" var "+P+" = undefined;"),$){if(a+=D?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+c+") { ",_){if(a+=" var isAdditional"+s+" = !(false ",E.length)if(8<E.length)a+=" || validate.schema"+n+".hasOwnProperty("+m+") ";else{var A=E;if(A)for(var C=-1,k=A.length-1;C<k;)J=A[C+=1],a+=" || "+m+" == "+e.util.toQuotedString(J)+" "}if(S.length){var L=S;if(L)for(var z=-1,T=L.length-1;z<T;)ae=L[z+=1],a+=" || "+e.usePattern(ae)+".test("+m+") "}a+=" ); if (isAdditional"+s+") { "}if("all"==R)a+=" delete "+c+"["+m+"]; ";else{var N=e.errorPath,q="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),F)if(R)a+=" delete "+c+"["+m+"]; ";else{var U=l;l=e.errSchemaPath+"/additionalProperties",(ee=ee||[]).push(a+=" "+p+" = false; "),a="",!1!==e.createErrors?(a+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+q+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is an invalid additional property":"should NOT have additional properties",a+="' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var Q=a;a=ee.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+Q+"]); ":" validate.errors = ["+Q+"]; return false; ":" var err = "+Q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=U,u&&(a+=" break; ")}else if(x)if("failing"==R){a+=" var "+h+" = errors; ";var V=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var H=c+"["+m+"]";d.dataPathArr[g]=m;var M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",a+=" if (!"+p+") { errors = "+h+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+m+"]; } ",e.compositeRule=d.compositeRule=V}else{d.schema=b,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=c+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",u&&(a+=" if (!"+p+") break; ")}e.errorPath=N}_&&(a+=" } "),a+=" } ",u&&(a+=" if ("+p+") { ",f+="}")}var K=e.opts.useDefaults&&!e.compositeRule;if(E.length){var B=E;if(B)for(var J,Z=-1,G=B.length-1;Z<G;){if(J=B[Z+=1],e.util.schemaHasRules(ie=i[J],e.RULES.all)){var Y=e.util.getProperty(J),W=(H=c+Y,K&&void 0!==ie.default);d.schema=ie,d.schemaPath=n+Y,d.errSchemaPath=l+"/"+e.util.escapeFragment(J),d.errorPath=e.util.getPath(e.errorPath,J,e.opts.jsonPointers),d.dataPathArr[g]=e.util.toQuotedString(J);M=e.validate(d);if(d.baseId=j,e.util.varOccurences(M,y)<2){M=e.util.varReplace(M,y,H);var X=H}else{X=y;a+=" var "+y+" = "+H+"; "}if(W)a+=" "+M+" ";else{if(I&&I[J]){a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = false; ";N=e.errorPath,U=l;var ee,re=e.util.escapeQuotes(J);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(N,J,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(ee=ee||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+re+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";Q=a;a=ee.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+Q+"]); ":" validate.errors = ["+Q+"]; return false; ":" var err = "+Q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=U,e.errorPath=N,a+=" } else { "}else u?(a+=" if ( "+X+" === undefined ",D&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=") { "+p+" = true; } else { "):(a+=" if ("+X+" !== undefined ",D&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(J)+"') "),a+=" ) { ");a+=" "+M+" } "}}u&&(a+=" if ("+p+") { ",f+="}")}}if(S.length){var te=S;if(te)for(var ae,se=-1,oe=te.length-1;se<oe;){var ie;if(ae=te[se+=1],e.util.schemaHasRules(ie=w[ae],e.RULES.all)){d.schema=ie,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ae),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ae),a+=D?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+v+"=0; "+v+"<"+P+".length; "+v+"++) { var "+m+" = "+P+"["+v+"]; ":" for (var "+m+" in "+c+") { ",a+=" if ("+e.usePattern(ae)+".test("+m+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);H=c+"["+m+"]";d.dataPathArr[g]=m;M=e.validate(d);d.baseId=j,e.util.varOccurences(M,y)<2?a+=" "+e.util.varReplace(M,y,H)+" ":a+=" var "+y+" = "+H+"; "+M+" ",u&&(a+=" if (!"+p+") break; "),a+=" } ",u&&(a+=" else "+p+" = true; "),a+=" } ",u&&(a+=" if ("+p+") { ",f+="}")}}}return u&&(a+=" "+f+" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],33:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="errs__"+s,d=e.util.copy(e);d.level++;var f="valid"+d.level;if(a+="var "+h+" = errors;",e.util.schemaHasRules(i,e.RULES.all)){d.schema=i,d.schemaPath=n,d.errSchemaPath=l;var p="key"+s,m="idx"+s,v="i"+s,g="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),P="dataProperties"+s,E=e.opts.ownProperties,w=e.baseId;E&&(a+=" var "+P+" = undefined; "),a+=E?" "+P+" = "+P+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+P+".length; "+m+"++) { var "+p+" = "+P+"["+m+"]; ":" for (var "+p+" in "+c+") { ",a+=" var startErrs"+s+" = errors; ";var S=p,b=e.compositeRule;e.compositeRule=d.compositeRule=!0;var _=e.validate(d);d.baseId=w,e.util.varOccurences(_,y)<2?a+=" "+e.util.varReplace(_,y,S)+" ":a+=" var "+y+" = "+S+"; "+_+" ",e.compositeRule=d.compositeRule=b,a+=" if (!"+f+") { for (var "+v+"=startErrs"+s+"; "+v+"<errors; "+v+"++) { vErrors["+v+"].propertyName = "+p+"; } var err = ",!1!==e.createErrors?(a+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+g+"' } ",!1!==e.opts.messages&&(a+=" , message: 'property name \\'"+g+"\\' is invalid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(a+=e.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),u&&(a+=" break; "),a+=" } }"}return u&&(a+=" if ("+h+" == errors) {"),a=e.util.cleanUpCode(a)}},{}],34:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s,o=" ",i=e.dataLevel,n=e.schema[r],l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(i||""),h="valid"+e.level;if("#"==n||"#/"==n)e.isRoot?(a=e.async,s="validate"):(a=!0===e.root.schema.$async,s="root.refVal[0]");else{var d=e.resolveRef(e.baseId,n,e.isRoot);if(void 0===d){var f=e.MissingRefError.message(e.baseId,n);if("fail"==e.opts.missingRefs){e.logger.error(f),(g=g||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { ref: '"+e.util.escapeQuotes(n)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(n)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(n)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),o+=" } "):o+=" {} ";var p=o;o=g.pop(),o+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,n,f);e.logger.warn(f),u&&(o+=" if (true) { ")}}else if(d.inline){var m=e.util.copy(e);m.level++;var v="valid"+m.level;m.schema=d.schema,m.schemaPath="",m.errSchemaPath=n,o+=" "+e.validate(m).replace(/validate\.schema/g,d.code)+" ",u&&(o+=" if ("+v+") { ")}else a=!0===d.$async||e.async&&!1!==d.$async,s=d.code}if(s){var g;(g=g||[]).push(o),o="",o+=e.opts.passContext?" "+s+".call(this, ":" "+s+"( ",o+=" "+c+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var y=o+=" , "+(i?"data"+(i-1||""):"parentData")+" , "+(i?e.dataPathArr[i]:"parentDataProperty")+", rootData) ";if(o=g.pop(),a){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(o+=" var "+h+"; "),o+=" try { await "+y+"; ",u&&(o+=" "+h+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(o+=" "+h+" = false; "),o+=" } ",u&&(o+=" if ("+h+") { ")}else o+=" if (!"+y+") { if (vErrors === null) vErrors = "+s+".errors; else vErrors = vErrors.concat("+s+".errors); errors = vErrors.length; } ",u&&(o+=" else { ")}return o}},{}],35:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a=" ",s=e.level,o=e.dataLevel,i=e.schema[r],n=e.schemaPath+e.util.getProperty(r),l=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,c="data"+(o||""),h="valid"+s,d=e.opts.$data&&i&&i.$data;d&&(a+=" var schema"+s+" = "+e.util.getData(i.$data,o,e.dataPathArr)+"; ");var f="schema"+s;if(!d)if(i.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],m=i;if(m)for(var v,g=-1,y=m.length-1;g<y;){v=m[g+=1];var P=e.schema.properties[v];P&&e.util.schemaHasRules(P,e.RULES.all)||(p[p.length]=v)}}else p=i;if(d||p.length){var E=e.errorPath,w=d||e.opts.loopRequired<=p.length,S=e.opts.ownProperties;if(u)if(a+=" var missing"+s+"; ",w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,e.opts.jsonPointers)),a+=" var "+h+" = true; ",d&&(a+=" if (schema"+s+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+s+")) "+h+" = false; else {"),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { "+h+" = "+c+"["+f+"["+x+"]] !== undefined ",S&&(a+=" && Object.prototype.hasOwnProperty.call("+c+", "+f+"["+x+"]) "),a+="; if (!"+h+") break; } ",d&&(a+=" } "),($=$||[]).push(a+=" if (!"+h+") { "),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";var _=a;a=$.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var F=p;if(F)for(var x=-1,R=F.length-1;x<R;){O=F[x+=1],x&&(a+=" || "),a+=" ( ( "+(k=c+(C=e.util.getProperty(O)))+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),a+=") && (missing"+s+" = "+e.util.toQuotedString(e.opts.jsonPointers?O:C)+") ) "}a+=") { ";var $;b="' + "+(D="missing"+s)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(E,D,!0):E+" + "+D),($=$||[]).push(a),a="",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ";_=a;a=$.pop(),a+=!e.compositeRule&&u?e.async?" throw new ValidationError(["+_+"]); ":" validate.errors = ["+_+"]; return false; ":" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else if(w){d||(a+=" var "+f+" = validate.schema"+n+"; ");var D;b="' + "+(D="schema"+s+"["+(x="i"+s)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(E,D,e.opts.jsonPointers)),d&&(a+=" if ("+f+" && !Array.isArray("+f+")) { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+f+" !== undefined) { "),a+=" for (var "+x+" = 0; "+x+" < "+f+".length; "+x+"++) { if ("+c+"["+f+"["+x+"]] === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+f+"["+x+"]) "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(a+=" } ")}else{var j=p;if(j)for(var O,I=-1,A=j.length-1;I<A;){O=j[I+=1];var C=e.util.getProperty(O),k=(b=e.util.escapeQuotes(O),c+C);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,O,e.opts.jsonPointers)),a+=" if ( "+k+" === undefined ",S&&(a+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),a+=") { var err = ",!1!==e.createErrors?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+b+"' } ",!1!==e.opts.messages&&(a+=" , message: '",a+=e.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+b+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+n+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=E}else u&&(a+=" if (true) {");return a}},{}],36:[function(e,r,t){"use strict";r.exports=function(e,r,t){var a,s=" ",o=e.level,i=e.dataLevel,n=e.schema[r],l=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,h="data"+(i||""),d="valid"+o,f=e.opts.$data&&n&&n.$data;if(f?(s+=" var schema"+o+" = "+e.util.getData(n.$data,i,e.dataPathArr)+"; ",a="schema"+o):a=n,(n||f)&&!1!==e.opts.uniqueItems){f&&(s+=" var "+d+"; if ("+a+" === false || "+a+" === undefined) "+d+" = true; else if (typeof "+a+" != 'boolean') "+d+" = false; else { "),s+=" var i = "+h+".length , "+d+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,m=Array.isArray(p);if(!p||"object"==p||"array"==p||m&&(0<=p.indexOf("object")||0<=p.indexOf("array")))s+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else s+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ",s+=" if ("+e.util["checkDataType"+(m?"s":"")](p,"item",!0)+") continue; ",m&&(s+=" if (typeof item == 'string') item = '\"' + item; "),s+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } ";s+=" } ",f&&(s+=" } ");var v=v||[];v.push(s+=" if (!"+d+") { "),s="",!1!==e.createErrors?(s+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(s+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(s+=" , schema: ",s+=f?"validate.schema"+l:""+n,s+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),s+=" } "):s+=" {} ";var g=s;s=v.pop(),s+=!e.compositeRule&&c?e.async?" throw new ValidationError(["+g+"]); ":" validate.errors = ["+g+"]; return false; ":" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",s+=" } ",c&&(s+=" else { ")}else c&&(s+=" if (true) { ");return s}},{}],37:[function(e,r,t){"use strict";r.exports=function(a,e,r){var t="",s=!0===a.schema.$async,o=a.util.schemaHasRulesExcept(a.schema,a.RULES.all,"$ref"),i=a.self._getId(a.schema);if(a.isTop&&(t+=" var validate = ",s&&(a.async=!0,t+="async "),t+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",i&&(a.opts.sourceCode||a.opts.processCode)&&(t+=" /*# sourceURL="+i+" */ ")),"boolean"==typeof a.schema||!o&&!a.schema.$ref){var n=a.level,l=a.dataLevel,u=a.schema[e="false schema"],c=a.schemaPath+a.util.getProperty(e),h=a.errSchemaPath+"/"+e,d=!a.opts.allErrors,f="data"+(l||""),p="valid"+n;if(!1===a.schema){a.isTop?d=!0:t+=" var "+p+" = false; ",(B=B||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: {} ",!1!==a.opts.messages&&(t+=" , message: 'boolean schema is false' "),a.opts.verbose&&(t+=" , schema: false , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";var m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else t+=a.isTop?s?" return data; ":" validate.errors = null; return true; ":" var "+p+" = true; ";return a.isTop&&(t+=" }; return validate; "),t}if(a.isTop){var v=a.isTop;n=a.level=0,l=a.dataLevel=0,f="data";a.rootId=a.resolve.fullPath(a.self._getId(a.root.schema)),a.baseId=a.baseId||a.rootId,delete a.isTop,a.dataPathArr=[void 0],t+=" var vErrors = null; ",t+=" var errors = 0; ",t+=" if (rootData === undefined) rootData = data; "}else{n=a.level,f="data"+((l=a.dataLevel)||"");if(i&&(a.baseId=a.resolve.url(a.baseId,i)),s&&!a.async)throw new Error("async schema in sync schema");t+=" var errs_"+n+" = errors;"}p="valid"+n,d=!a.opts.allErrors;var g="",y="",P=a.schema.type,E=Array.isArray(P);if(P&&a.opts.nullable&&!0===a.schema.nullable&&(E?-1==P.indexOf("null")&&(P=P.concat("null")):"null"!=P&&(P=[P,"null"],E=!0)),E&&1==P.length&&(P=P[0],E=!1),a.schema.$ref&&o){if("fail"==a.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+a.errSchemaPath+'" (see option extendRefs)');!0!==a.opts.extendRefs&&(o=!1,a.logger.warn('$ref: keywords ignored in schema at path "'+a.errSchemaPath+'"'))}if(a.schema.$comment&&a.opts.$comment&&(t+=" "+a.RULES.all.$comment.code(a,"$comment")),P){if(a.opts.coerceTypes)var w=a.util.coerceToTypes(a.opts.coerceTypes,P);var S=a.RULES.types[P];if(w||E||!0===S||S&&!J(S)){c=a.schemaPath+".type",h=a.errSchemaPath+"/type",c=a.schemaPath+".type",h=a.errSchemaPath+"/type";if(t+=" if ("+a.util[E?"checkDataTypes":"checkDataType"](P,f,!0)+") { ",w){var b="dataType"+n,_="coerced"+n;t+=" var "+b+" = typeof "+f+"; ","array"==a.opts.coerceTypes&&(t+=" if ("+b+" == 'object' && Array.isArray("+f+")) "+b+" = 'array'; "),t+=" var "+_+" = undefined; ";var F="",x=w;if(x)for(var R,$=-1,D=x.length-1;$<D;)R=x[$+=1],$&&(t+=" if ("+_+" === undefined) { ",F+="}"),"array"==a.opts.coerceTypes&&"array"!=R&&(t+=" if ("+b+" == 'array' && "+f+".length == 1) { "+_+" = "+f+" = "+f+"[0]; "+b+" = typeof "+f+"; } "),"string"==R?t+=" if ("+b+" == 'number' || "+b+" == 'boolean') "+_+" = '' + "+f+"; else if ("+f+" === null) "+_+" = ''; ":"number"==R||"integer"==R?(t+=" if ("+b+" == 'boolean' || "+f+" === null || ("+b+" == 'string' && "+f+" && "+f+" == +"+f+" ","integer"==R&&(t+=" && !("+f+" % 1)"),t+=")) "+_+" = +"+f+"; "):"boolean"==R?t+=" if ("+f+" === 'false' || "+f+" === 0 || "+f+" === null) "+_+" = false; else if ("+f+" === 'true' || "+f+" === 1) "+_+" = true; ":"null"==R?t+=" if ("+f+" === '' || "+f+" === 0 || "+f+" === false) "+_+" = null; ":"array"==a.opts.coerceTypes&&"array"==R&&(t+=" if ("+b+" == 'string' || "+b+" == 'number' || "+b+" == 'boolean' || "+f+" == null) "+_+" = ["+f+"]; ");(B=B||[]).push(t+=" "+F+" if ("+_+" === undefined) { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } else { ";var j=l?"data"+(l-1||""):"parentData";t+=" "+f+" = "+_+"; ",l||(t+="if ("+j+" !== undefined)"),t+=" "+j+"["+(l?a.dataPathArr[l]:"parentDataProperty")+"] = "+_+"; } "}else{(B=B||[]).push(t),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}t+=" } "}}if(a.schema.$ref&&!o)t+=" "+a.RULES.all.$ref.code(a,"$ref")+" ",d&&(t+=" } if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}");else{var O=a.RULES;if(O)for(var I=-1,A=O.length-1;I<A;)if(J(S=O[I+=1])){if(S.type&&(t+=" if ("+a.util.checkDataType(S.type,f)+") { "),a.opts.useDefaults&&!a.compositeRule)if("object"==S.type&&a.schema.properties){u=a.schema.properties;var C=Object.keys(u);if(C)for(var k,L=-1,z=C.length-1;L<z;){if(void 0!==(N=u[k=C[L+=1]]).default)t+=" if ("+(U=f+a.util.getProperty(k))+" === undefined) "+U+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}else if("array"==S.type&&Array.isArray(a.schema.items)){var T=a.schema.items;if(T){$=-1;for(var N,q=T.length-1;$<q;){var U;if(void 0!==(N=T[$+=1]).default)t+=" if ("+(U=f+"["+$+"]")+" === undefined) "+U+" = ",t+="shared"==a.opts.useDefaults?" "+a.useDefault(N.default)+" ":" "+JSON.stringify(N.default)+" ",t+="; "}}}var Q=S.rules;if(Q)for(var V,H=-1,M=Q.length-1;H<M;)if(Z(V=Q[H+=1])){var K=V.code(a,V.keyword,S.type);K&&(t+=" "+K+" ",d&&(g+="}"))}if(d&&(t+=" "+g+" ",g=""),S.type&&(t+=" } ",P&&P===S.type&&!w)){var B;c=a.schemaPath+".type",h=a.errSchemaPath+"/type";(B=B||[]).push(t+=" else { "),t="",!1!==a.createErrors?(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(h)+" , params: { type: '",t+=E?""+P.join(","):""+P,t+="' } ",!1!==a.opts.messages&&(t+=" , message: 'should be ",t+=E?""+P.join(","):""+P,t+="' "),a.opts.verbose&&(t+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),t+=" } "):t+=" {} ";m=t;t=B.pop(),t+=!a.compositeRule&&d?a.async?" throw new ValidationError(["+m+"]); ":" validate.errors = ["+m+"]; return false; ":" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } "}d&&(t+=" if (errors === ",t+=v?"0":"errs_"+n,t+=") { ",y+="}")}}function J(e){for(var r=e.rules,t=0;t<r.length;t++)if(Z(r[t]))return!0}function Z(e){return void 0!==a.schema[e.keyword]||e.implements&&function(e){for(var r=e.implements,t=0;t<r.length;t++)if(void 0!==a.schema[r[t]])return!0}(e)}return d&&(t+=" "+y+" "),v?(s?(t+=" if (errors === 0) return data; ",t+=" else throw new ValidationError(vErrors); "):(t+=" validate.errors = vErrors; ",t+=" return errors === 0; "),t+=" }; return validate;"):t+=" var "+p+" = errors === errs_"+n+";",t=a.util.cleanUpCode(t),v&&(t=a.util.finalCleanUpCode(t,s)),t}},{}],38:[function(e,r,t){"use strict";var c=/^[a-z_$][a-z0-9_$-]*$/i,h=e("./dotjs/custom");r.exports={add:function(e,r){var n=this.RULES;if(n.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!c.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(r){if(r.macro&&void 0!==r.valid)throw new Error('"valid" option cannot be used with macro keywords');var t=r.type;if(Array.isArray(t)){var a,s=t.length;for(a=0;a<s;a++)u(t[a]);for(a=0;a<s;a++)l(e,t[a],r)}else t&&u(t),l(e,t,r);var o=!0===r.$data&&this._opts.$data;if(o&&!r.validate)throw new Error('$data support: "validate" function is not defined');var i=r.metaSchema;i&&(o&&(i={anyOf:[i,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),r.validateSchema=this.compile(i,!0))}function l(e,r,t){for(var a,s=0;s<n.length;s++){var o=n[s];if(o.type==r){a=o;break}}a||n.push(a={type:r,rules:[]});var i={keyword:e,definition:t,custom:!0,code:h,implements:t.implements};a.rules.push(i),n.custom[e]=i}function u(e){if(!n.types[e])throw new Error("Unknown type "+e)}return n.keywords[e]=n.all[e]=!0,this},get:function(e){var r=this.RULES.custom[e];return r?r.definition:this.RULES.keywords[e]||!1},remove:function(e){var r=this.RULES;delete r.keywords[e],delete r.all[e],delete r.custom[e];for(var t=0;t<r.length;t++)for(var a=r[t].rules,s=0;s<a.length;s++)if(a[s].keyword==e){a.splice(s,1);break}return this}}},{"./dotjs/custom":21}],39:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}},{}],40:[function(e,r,t){r.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}},{}],41:[function(e,r,t){"use strict";var f=Array.isArray,p=Object.keys,m=Object.prototype.hasOwnProperty;r.exports=function e(r,t){if(r===t)return!0;if(r&&t&&"object"==typeof r&&"object"==typeof t){var a,s,o,i=f(r),n=f(t);if(i&&n){if((s=r.length)!=t.length)return!1;for(a=s;0!=a--;)if(!e(r[a],t[a]))return!1;return!0}if(i!=n)return!1;var l=r instanceof Date,u=t instanceof Date;if(l!=u)return!1;if(l&&u)return r.getTime()==t.getTime();var c=r instanceof RegExp,h=t instanceof RegExp;if(c!=h)return!1;if(c&&h)return r.toString()==t.toString();var d=p(r);if((s=d.length)!==p(t).length)return!1;for(a=s;0!=a--;)if(!m.call(t,d[a]))return!1;for(a=s;0!=a--;)if(!e(r[o=d[a]],t[o]))return!1;return!0}return r!=r&&t!=t}},{}],42:[function(e,r,t){"use strict";r.exports=function(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});var a,l="boolean"==typeof r.cycles&&r.cycles,u=r.cmp&&(a=r.cmp,function(t){return function(e,r){return a({key:e,value:t[e]},{key:r,value:t[r]})}}),c=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0!==r){if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);var t,a;if(Array.isArray(r)){for(a="[",t=0;t<r.length;t++)t&&(a+=","),a+=e(r[t])||"null";return a+"]"}if(null===r)return"null";if(-1!==c.indexOf(r)){if(l)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var s=c.push(r)-1,o=Object.keys(r).sort(u&&u(r));for(a="",t=0;t<o.length;t++){var i=o[t],n=e(r[i]);n&&(a&&(a+=","),a+=JSON.stringify(i)+":"+n)}return c.splice(s,1),"{"+a+"}"}}(e)}},{}],43:[function(e,r,t){"use strict";var m=r.exports=function(e,r,t){"function"==typeof r&&(t=r,r={}),function e(r,t,a,s,o,i,n,l,u,c){if(s&&"object"==typeof s&&!Array.isArray(s)){for(var h in t(s,o,i,n,l,u,c),s){var d=s[h];if(Array.isArray(d)){if(h in m.arrayKeywords)for(var f=0;f<d.length;f++)e(r,t,a,d[f],o+"/"+h+"/"+f,i,o,h,s,f)}else if(h in m.propsKeywords){if(d&&"object"==typeof d)for(var p in d)e(r,t,a,d[p],o+"/"+h+"/"+p.replace(/~/g,"~0").replace(/\//g,"~1"),i,o,h,s,p)}else(h in m.keywords||r.allKeys&&!(h in m.skipKeywords))&&e(r,t,a,d,o+"/"+h,i,o,h,s)}a(s,o,i,n,l,u,c)}}(r,"function"==typeof(t=r.cb||t)?t:t.pre||function(){},t.post||function(){},e,"",e)};m.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},m.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},m.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},m.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},{}],44:[function(e,r,t){var a;a=this,function(e){"use strict";function C(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];if(1<r.length){r[0]=r[0].slice(0,-1);for(var a=r.length-1,s=1;s<a;++s)r[s]=r[s].slice(1,-1);return r[a]=r[a].slice(1),r.join("")}return r[0]}function k(e){return"(?:"+e+")"}function a(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function p(e){return e.toUpperCase()}function r(e){var r="[A-Za-z]",t="[0-9]",a=C(t,"[A-Fa-f]"),s=k(k("%[EFef]"+a+"%"+a+a+"%"+a+a)+"|"+k("%[89A-Fa-f]"+a+"%"+a+a)+"|"+k("%"+a+a)),o="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",i=C("[\\:\\/\\?\\#\\[\\]\\@]",o),n=e?"[\\uE000-\\uF8FF]":"[]",l=C(r,t,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),u=k(r+C(r,t,"[\\+\\-\\.]")+"*"),c=k(k(s+"|"+C(l,o,"[\\:]"))+"*"),h=(k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("[1-9]"+t)+"|"+t),k(k("25[0-5]")+"|"+k("2[0-4]"+t)+"|"+k("1"+t+t)+"|"+k("0?[1-9]"+t)+"|0?0?"+t)),d=k(h+"\\."+h+"\\."+h+"\\."+h),f=k(a+"{1,4}"),p=k(k(f+"\\:"+f)+"|"+d),m=k([k(k(f+"\\:")+"{6}"+p),k("\\:\\:"+k(f+"\\:")+"{5}"+p),k(k(f)+"?\\:\\:"+k(f+"\\:")+"{4}"+p),k(k(k(f+"\\:")+"{0,1}"+f)+"?\\:\\:"+k(f+"\\:")+"{3}"+p),k(k(k(f+"\\:")+"{0,2}"+f)+"?\\:\\:"+k(f+"\\:")+"{2}"+p),k(k(k(f+"\\:")+"{0,3}"+f)+"?\\:\\:"+f+"\\:"+p),k(k(k(f+"\\:")+"{0,4}"+f)+"?\\:\\:"+p),k(k(k(f+"\\:")+"{0,5}"+f)+"?\\:\\:"+f),k(k(k(f+"\\:")+"{0,6}"+f)+"?\\:\\:")].join("|")),v=k(k(l+"|"+s)+"+"),g=(k(m+"\\%25"+v),k("\\["+k(k(m+k("\\%25|\\%(?!"+a+"{2})")+v)+"|"+m+"|"+k("[vV]"+a+"+\\."+C(l,o,"[\\:]")+"+"))+"\\]")),y=k(k(s+"|"+C(l,o))+"*"),P=k(g+"|"+d+"(?!"+y+")|"+y),E=k(t+"*"),w=k(k(c+"@")+"?"+P+k("\\:"+E)+"?"),S=k(s+"|"+C(l,o,"[\\:\\@]")),b=k(S+"*"),_=k(S+"+"),F=k(k(s+"|"+C(l,o,"[\\@]"))+"+"),x=k(k("\\/"+b)+"*"),R=k("\\/"+k(_+x)+"?"),$=k(F+x),D=k(_+x),j="(?!"+S+")",O=(k(x+"|"+R+"|"+$+"|"+D+"|"+j),k(k(S+"|"+C("[\\/\\?]",n))+"*")),I=k(k(S+"|[\\/\\?]")+"*"),A=k(k("\\/\\/"+w+x)+"|"+R+"|"+D+"|"+j);k(k(u+"\\:"+A+k("\\?"+O)+"?"+k("\\#"+I)+"?")+"|"+k(k(k("\\/\\/"+w+x)+"|"+R+"|"+$+"|"+j)+k("\\?"+O)+"?"+k("\\#"+I)+"?")),k(u+"\\:"+A+k("\\?"+O)+"?"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+$+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k(k("\\/\\/("+k("("+c+")@")+"?("+P+")"+k("\\:("+E+")")+"?)")+"?("+x+"|"+R+"|"+D+"|"+j+")"),k("\\?("+O+")"),k("\\#("+I+")"),k("("+c+")@"),k("\\:("+E+")");return{NOT_SCHEME:new RegExp(C("[^]",r,t,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(C("[^\\%\\:]",l,o),"g"),NOT_HOST:new RegExp(C("[^\\%\\[\\]\\:]",l,o),"g"),NOT_PATH:new RegExp(C("[^\\%\\/\\:\\@]",l,o),"g"),NOT_PATH_NOSCHEME:new RegExp(C("[^\\%\\/\\@]",l,o),"g"),NOT_QUERY:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]",n),"g"),NOT_FRAGMENT:new RegExp(C("[^\\%]",l,o,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(C("[^]",l,o),"g"),UNRESERVED:new RegExp(l,"g"),OTHER_CHARS:new RegExp(C("[^\\%]",l,i),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+d+")$"),IPV6ADDRESS:new RegExp("^\\[?("+m+")"+k(k("\\%25|\\%(?!"+a+"{2})")+"("+v+")")+"?\\]?$")}}var c=r(!1),h=r(!0),w=function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,r){var t=[],a=!0,s=!1,o=void 0;try{for(var i,n=e[Symbol.iterator]();!(a=(i=n.next()).done)&&(t.push(i.value),!r||t.length!==r);a=!0);}catch(e){s=!0,o=e}finally{try{!a&&n.return&&n.return()}finally{if(s)throw o}}return t}(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")},A=2147483647,t=/^xn--/,s=/[^\0-\x7E]/,o=/[\x2E\u3002\uFF0E\uFF61]/g,i={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=Math.floor,z=String.fromCharCode;function T(e){throw new RangeError(i[e])}function n(e,r){var t=e.split("@"),a="";return 1<t.length&&(a=t[0]+"@",e=t[1]),a+function(e,r){for(var t=[],a=e.length;a--;)t[a]=r(e[a]);return t}((e=e.replace(o,".")).split("."),r).join(".")}function N(e){for(var r=[],t=0,a=e.length;t<a;){var s=e.charCodeAt(t++);if(55296<=s&&s<=56319&&t<a){var o=e.charCodeAt(t++);56320==(64512&o)?r.push(((1023&s)<<10)+(1023&o)+65536):(r.push(s),t--)}else r.push(s)}return r}var q=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},U=function(e,r,t){var a=0;for(e=t?L(e/700):e>>1,e+=L(e/r);455<e;a+=36)e=L(e/35);return L(a+36*e/(e+38))},l=function(e){var r,t=[],a=e.length,s=0,o=128,i=72,n=e.lastIndexOf("-");n<0&&(n=0);for(var l=0;l<n;++l)128<=e.charCodeAt(l)&&T("not-basic"),t.push(e.charCodeAt(l));for(var u=0<n?n+1:0;u<a;){for(var c=s,h=1,d=36;;d+=36){a<=u&&T("invalid-input");var f=(r=e.charCodeAt(u++))-48<10?r-22:r-65<26?r-65:r-97<26?r-97:36;(36<=f||f>L((A-s)/h))&&T("overflow"),s+=f*h;var p=d<=i?1:i+26<=d?26:d-i;if(f<p)break;var m=36-p;h>L(A/m)&&T("overflow"),h*=m}var v=t.length+1;i=U(s-c,v,0==c),L(s/v)>A-o&&T("overflow"),o+=L(s/v),s%=v,t.splice(s++,0,o)}return String.fromCodePoint.apply(String,t)},u=function(e){var r=[],t=(e=N(e)).length,a=128,s=0,o=72,i=!0,n=!1,l=void 0;try{for(var u,c=e[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var h=u.value;h<128&&r.push(z(h))}}catch(e){n=!0,l=e}finally{try{!i&&c.return&&c.return()}finally{if(n)throw l}}var d=r.length,f=d;for(d&&r.push("-");f<t;){var p=A,m=!0,v=!1,g=void 0;try{for(var y,P=e[Symbol.iterator]();!(m=(y=P.next()).done);m=!0){var E=y.value;a<=E&&E<p&&(p=E)}}catch(e){v=!0,g=e}finally{try{!m&&P.return&&P.return()}finally{if(v)throw g}}var w=f+1;p-a>L((A-s)/w)&&T("overflow"),s+=(p-a)*w,a=p;var S=!0,b=!1,_=void 0;try{for(var F,x=e[Symbol.iterator]();!(S=(F=x.next()).done);S=!0){var R=F.value;if(R<a&&++s>A&&T("overflow"),R==a){for(var $=s,D=36;;D+=36){var j=D<=o?1:o+26<=D?26:D-o;if($<j)break;var O=$-j,I=36-j;r.push(z(q(j+O%I,0))),$=L(O/I)}r.push(z(q($,0))),o=U(s,w,f==d),s=0,++f}}}catch(e){b=!0,_=e}finally{try{!S&&x.return&&x.return()}finally{if(b)throw _}}++s,++a}return r.join("")},v={version:"2.1.0",ucs2:{decode:N,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}(e))}},decode:l,encode:u,toASCII:function(e){return n(e,function(e){return s.test(e)?"xn--"+u(e):e})},toUnicode:function(e){return n(e,function(e){return t.test(e)?l(e.slice(4).toLowerCase()):e})}},d={};function m(e){var r=e.charCodeAt(0);return r<16?"%0"+r.toString(16).toUpperCase():r<128?"%"+r.toString(16).toUpperCase():r<2048?"%"+(r>>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function f(e){for(var r="",t=0,a=e.length;t<a;){var s=parseInt(e.substr(t+1,2),16);if(s<128)r+=String.fromCharCode(s),t+=3;else if(194<=s&&s<224){if(6<=a-t){var o=parseInt(e.substr(t+4,2),16);r+=String.fromCharCode((31&s)<<6|63&o)}else r+=e.substr(t,6);t+=6}else if(224<=s){if(9<=a-t){var i=parseInt(e.substr(t+4,2),16),n=parseInt(e.substr(t+7,2),16);r+=String.fromCharCode((15&s)<<12|(63&i)<<6|63&n)}else r+=e.substr(t,9);t+=9}else r+=e.substr(t,3),t+=3}return r}function g(e,t){function r(e){var r=f(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,m).replace(t.PCT_ENCODED,p)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,m).replace(t.PCT_ENCODED,p)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,m).replace(t.PCT_ENCODED,p)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,m).replace(t.PCT_ENCODED,p)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,m).replace(t.PCT_ENCODED,p)),e}function S(e){return e.replace(/^0*(.*)/,"$1")||"0"}function b(e,r){var t=e.match(r.IPV4ADDRESS)||[],a=w(t,2)[1];return a?a.split(".").map(S).join("."):e}function y(e,r){var t=e.match(r.IPV6ADDRESS)||[],a=w(t,3),s=a[1],o=a[2];if(s){for(var i=s.toLowerCase().split("::").reverse(),n=w(i,2),l=n[0],u=n[1],c=u?u.split(":").map(S):[],h=l.split(":").map(S),d=r.IPV4ADDRESS.test(h[h.length-1]),f=d?7:8,p=h.length-f,m=Array(f),v=0;v<f;++v)m[v]=c[v]||h[p+v]||"";d&&(m[f-1]=b(m[f-1],r));var g=m.reduce(function(e,r,t){if(!r||"0"===r){var a=e[e.length-1];a&&a.index+a.length===t?a.length++:e.push({index:t,length:1})}return e},[]).sort(function(e,r){return r.length-e.length})[0],y=void 0;if(g&&1<g.length){var P=m.slice(0,g.index),E=m.slice(g.index+g.length);y=P.join(":")+"::"+E.join(":")}else y=m.join(":");return o&&(y+="%"+o),y}return e}var P=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,E=void 0==="".match(/(){0}/)[1];function _(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t={},a=!1!==r.iri?h:c;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var s=e.match(P);if(s){E?(t.scheme=s[1],t.userinfo=s[3],t.host=s[4],t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=s[7],t.fragment=s[8],isNaN(t.port)&&(t.port=s[5])):(t.scheme=s[1]||void 0,t.userinfo=-1!==e.indexOf("@")?s[3]:void 0,t.host=-1!==e.indexOf("//")?s[4]:void 0,t.port=parseInt(s[5],10),t.path=s[6]||"",t.query=-1!==e.indexOf("?")?s[7]:void 0,t.fragment=-1!==e.indexOf("#")?s[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?s[4]:void 0)),t.host&&(t.host=y(b(t.host,a),a)),t.reference=void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?"relative":void 0===t.fragment?"absolute":"uri":"same-document",r.reference&&"suffix"!==r.reference&&r.reference!==t.reference&&(t.error=t.error||"URI is not a "+r.reference+" reference.");var o=d[(r.scheme||t.scheme||"").toLowerCase()];if(r.unicodeSupport||o&&o.unicodeSupport)g(t,a);else{if(t.host&&(r.domainHost||o&&o.domainHost))try{t.host=v.toASCII(t.host.replace(a.PCT_ENCODED,f).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}g(t,c)}o&&o.parse&&o.parse(t,r)}else t.error=t.error||"URI can not be parsed.";return t}var F=/^\.\.?\//,x=/^\/\.(\/|$)/,R=/^\/\.\.(\/|$)/,$=/^\/?(?:.|\n)*?(?=\/|$)/;function D(e){for(var r=[];e.length;)if(e.match(F))e=e.replace(F,"");else if(e.match(x))e=e.replace(x,"/");else if(e.match(R))e=e.replace(R,"/"),r.pop();else if("."===e||".."===e)e="";else{var t=e.match($);if(!t)throw new Error("Unexpected dot segment condition");var a=t[0];e=e.slice(a.length),r.push(a)}return r.join("")}function j(r){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=t.iri?h:c,a=[],s=d[(t.scheme||r.scheme||"").toLowerCase()];if(s&&s.serialize&&s.serialize(r,t),r.host)if(e.IPV6ADDRESS.test(r.host));else if(t.domainHost||s&&s.domainHost)try{r.host=t.iri?v.toUnicode(r.host):v.toASCII(r.host.replace(e.PCT_ENCODED,f).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}g(r,e),"suffix"!==t.reference&&r.scheme&&(a.push(r.scheme),a.push(":"));var o,i,n,l=(i=!1!==t.iri?h:c,n=[],void 0!==(o=r).userinfo&&(n.push(o.userinfo),n.push("@")),void 0!==o.host&&n.push(y(b(String(o.host),i),i).replace(i.IPV6ADDRESS,function(e,r,t){return"["+r+(t?"%25"+t:"")+"]"})),"number"==typeof o.port&&(n.push(":"),n.push(o.port.toString(10))),n.length?n.join(""):void 0);if(void 0!==l&&("suffix"!==t.reference&&a.push("//"),a.push(l),r.path&&"/"!==r.path.charAt(0)&&a.push("/")),void 0!==r.path){var u=r.path;t.absolutePath||s&&s.absolutePath||(u=D(u)),void 0===l&&(u=u.replace(/^\/\//,"/%2F")),a.push(u)}return void 0!==r.query&&(a.push("?"),a.push(r.query)),void 0!==r.fragment&&(a.push("#"),a.push(r.fragment)),a.join("")}function O(e,r){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},a={};return arguments[3]||(e=_(j(e,t),t),r=_(j(r,t),t)),!(t=t||{}).tolerant&&r.scheme?(a.scheme=r.scheme,a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(void 0!==r.userinfo||void 0!==r.host||void 0!==r.port?(a.userinfo=r.userinfo,a.host=r.host,a.port=r.port,a.path=D(r.path||""),a.query=r.query):(r.path?("/"===r.path.charAt(0)?a.path=D(r.path):(a.path=void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:r.path:"/"+r.path,a.path=D(a.path)),a.query=r.query):(a.path=e.path,a.query=void 0!==r.query?r.query:e.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=r.fragment,a}function I(e,r){return e&&e.toString().replace(r&&r.iri?h.PCT_ENCODED:c.PCT_ENCODED,f)}var Q={scheme:"http",domainHost:!0,parse:function(e,r){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,r){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},V={scheme:"https",domainHost:Q.domainHost,parse:Q.parse,serialize:Q.serialize},H={},M="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",B=k(k("%[EFef]"+K+"%"+K+K+"%"+K+K)+"|"+k("%[89A-Fa-f]"+K+"%"+K+K)+"|"+k("%"+K+K)),J=C("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Z=new RegExp(M,"g"),G=new RegExp(B,"g"),Y=new RegExp(C("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',J),"g"),W=new RegExp(C("[^]",M,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),X=W;function ee(e){var r=f(e);return r.match(Z)?r:e}var re={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var s=!1,o={},i=t.query.split("&"),n=0,l=i.length;n<l;++n){var u=i[n].split("=");switch(u[0]){case"to":for(var c=u[1].split(","),h=0,d=c.length;h<d;++h)a.push(c[h]);break;case"subject":t.subject=I(u[1],r);break;case"body":t.body=I(u[1],r);break;default:s=!0,o[I(u[0],r)]=I(u[1],r)}}s&&(t.headers=o)}t.query=void 0;for(var f=0,p=a.length;f<p;++f){var m=a[f].split("@");if(m[0]=I(m[0]),r.unicodeSupport)m[1]=I(m[1],r).toLowerCase();else try{m[1]=v.toASCII(I(m[1],r).toLowerCase())}catch(e){t.error=t.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}a[f]=m.join("@")}return t},serialize:function(e,r){var t,a=e,s=null!=(t=e.to)?t instanceof Array?t:"number"!=typeof t.length||t.split||t.setInterval||t.call?[t]:Array.prototype.slice.call(t):[];if(s){for(var o=0,i=s.length;o<i;++o){var n=String(s[o]),l=n.lastIndexOf("@"),u=n.slice(0,l).replace(G,ee).replace(G,p).replace(Y,m),c=n.slice(l+1);try{c=r.iri?v.toUnicode(c):v.toASCII(I(c,r).toLowerCase())}catch(e){a.error=a.error||"Email address's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+e}s[o]=u+"@"+c}a.path=s.join(",")}var h=e.headers=e.headers||{};e.subject&&(h.subject=e.subject),e.body&&(h.body=e.body);var d=[];for(var f in h)h[f]!==H[f]&&d.push(f.replace(G,ee).replace(G,p).replace(W,m)+"="+h[f].replace(G,ee).replace(G,p).replace(X,m));return d.length&&(a.query=d.join("&")),a}},te=/^([^\:]+)\:(.*)/,ae={scheme:"urn",parse:function(e,r){var t=e.path&&e.path.match(te),a=e;if(t){var s=r.scheme||a.scheme||"urn",o=t[1].toLowerCase(),i=t[2],n=d[s+":"+(r.nid||o)];a.nid=o,a.nss=i,a.path=void 0,n&&(a=n.parse(a,r))}else a.error=a.error||"URN can not be parsed.";return a},serialize:function(e,r){var t=e.nid,a=d[(r.scheme||e.scheme||"urn")+":"+(r.nid||t)];a&&(e=a.serialize(e,r));var s=e;return s.path=(t||r.nid)+":"+e.nss,s}},se=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,oe={scheme:"urn:uuid",parse:function(e,r){var t=e;return t.uuid=t.nss,t.nss=void 0,r.tolerant||t.uuid&&t.uuid.match(se)||(t.error=t.error||"UUID is not valid."),t},serialize:function(e,r){var t=e;return t.nss=(e.uuid||"").toLowerCase(),t}};d[Q.scheme]=Q,d[V.scheme]=V,d[re.scheme]=re,d[ae.scheme]=ae,d[oe.scheme]=oe,e.SCHEMES=d,e.pctEncChar=m,e.pctDecChars=f,e.parse=_,e.removeDotSegments=D,e.serialize=j,e.resolveComponents=O,e.resolve=function(e,r,t){var a=function(e,r){var t=e;if(r)for(var a in r)t[a]=r[a];return t}({scheme:"null"},t);return j(O(_(e,a),_(r,a),a,!0),a)},e.normalize=function(e,r){return"string"==typeof e?e=j(_(e,r),r):"object"===a(e)&&(e=_(j(e,r),r)),e},e.equal=function(e,r,t){return"string"==typeof e?e=j(_(e,t),t):"object"===a(e)&&(e=j(e,t)),"string"==typeof r?r=j(_(r,t),t):"object"===a(r)&&(r=j(r,t)),e===r},e.escapeComponent=function(e,r){return e&&e.toString().replace(r&&r.iri?h.ESCAPE:c.ESCAPE,m)},e.unescapeComponent=I,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof t&&void 0!==r?t:a.URI=a.URI||{})},{}],ajv:[function(a,e,r){"use strict";var n=a("./compile"),d=a("./compile/resolve"),t=a("./cache"),f=a("./compile/schema_obj"),s=a("fast-json-stable-stringify"),o=a("./compile/formats"),i=a("./compile/rules"),l=a("./data"),u=a("./compile/util");(e.exports=g).prototype.validate=function(e,r){var t;if("string"==typeof e){if(!(t=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var a=this._addSchema(e);t=a.validate||this._compile(a)}var s=t(r);!0!==t.$async&&(this.errors=t.errors);return s},g.prototype.compile=function(e,r){var t=this._addSchema(e,void 0,r);return t.validate||this._compile(t)},g.prototype.addSchema=function(e,r,t,a){if(Array.isArray(e)){for(var s=0;s<e.length;s++)this.addSchema(e[s],void 0,t,a);return this}var o=this._getId(e);if(void 0!==o&&"string"!=typeof o)throw new Error("schema id must be string");return b(this,r=d.normalizeId(r||o)),this._schemas[r]=this._addSchema(e,t,a,!0),this},g.prototype.addMetaSchema=function(e,r,t){return this.addSchema(e,r,t,!0),this},g.prototype.validateSchema=function(e,r){var t=e.$schema;if(void 0!==t&&"string"!=typeof t)throw new Error("$schema must be a string");if(!(t=t||this._opts.defaultMeta||(a=this,s=a._opts.meta,a._opts.defaultMeta="object"==typeof s?a._getId(s)||s:a.getSchema(p)?p:void 0,a._opts.defaultMeta)))return this.logger.warn("meta-schema not available"),!(this.errors=null);var a,s;var o,i=this._formats.uri;this._formats.uri="function"==typeof i?this._schemaUriFormatFunc:this._schemaUriFormat;try{o=this.validate(t,e)}finally{this._formats.uri=i}if(!o&&r){var n="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(n);this.logger.error(n)}return o},g.prototype.getSchema=function(e){var r=y(this,e);switch(typeof r){case"object":return r.validate||this._compile(r);case"string":return this.getSchema(r);case"undefined":return function(e,r){var t=d.schema.call(e,{schema:{}},r);if(t){var a=t.schema,s=t.root,o=t.baseId,i=n.call(e,a,s,void 0,o);return e._fragments[r]=new f({ref:r,fragment:!0,schema:a,root:s,baseId:o,validate:i}),i}}(this,e)}},g.prototype.removeSchema=function(e){if(e instanceof RegExp)return P(this,this._schemas,e),P(this,this._refs,e),this;switch(typeof e){case"undefined":return P(this,this._schemas),P(this,this._refs),this._cache.clear(),this;case"string":var r=y(this,e);return r&&this._cache.del(r.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var t=this._opts.serialize,a=t?t(e):e;this._cache.del(a);var s=this._getId(e);s&&(s=d.normalizeId(s),delete this._schemas[s],delete this._refs[s])}return this},g.prototype.addFormat=function(e,r){"string"==typeof r&&(r=new RegExp(r));return this._formats[e]=r,this},g.prototype.errorsText=function(e,r){if(!(e=e||this.errors))return"No errors";for(var t=void 0===(r=r||{}).separator?", ":r.separator,a=void 0===r.dataVar?"data":r.dataVar,s="",o=0;o<e.length;o++){var i=e[o];i&&(s+=a+i.dataPath+" "+i.message+t)}return s.slice(0,-t.length)},g.prototype._addSchema=function(e,r,t,a){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var s=this._opts.serialize,o=s?s(e):e,i=this._cache.get(o);if(i)return i;a=a||!1!==this._opts.addUsedSchema;var n=d.normalizeId(this._getId(e));n&&a&&b(this,n);var l,u=!1!==this._opts.validateSchema&&!r;u&&!(l=n&&n==d.normalizeId(e.$schema))&&this.validateSchema(e,!0);var c=d.ids.call(this,e),h=new f({id:n,schema:e,localRefs:c,cacheKey:o,meta:t});"#"!=n[0]&&a&&(this._refs[n]=h);this._cache.put(o,h),u&&l&&this.validateSchema(e,!0);return h},g.prototype._compile=function(t,e){if(t.compiling)return(t.validate=s).schema=t.schema,s.errors=null,s.root=e||s,!0===t.schema.$async&&(s.$async=!0),s;var r,a;t.compiling=!0,t.meta&&(r=this._opts,this._opts=this._metaOpts);try{a=n.call(this,t.schema,e,t.localRefs)}catch(e){throw delete t.validate,e}finally{t.compiling=!1,t.meta&&(this._opts=r)}return t.validate=a,t.refs=a.refs,t.refVal=a.refVal,t.root=a.root,a;function s(){var e=t.validate,r=e.apply(this,arguments);return s.errors=e.errors,r}},g.prototype.compileAsync=a("./compile/async");var c=a("./keyword");g.prototype.addKeyword=c.add,g.prototype.getKeyword=c.get,g.prototype.removeKeyword=c.remove;var h=a("./compile/error_classes");g.ValidationError=h.Validation,g.MissingRefError=h.MissingRef,g.$dataMetaSchema=l;var p="http://json-schema.org/draft-07/schema",m=["removeAdditional","useDefaults","coerceTypes"],v=["/properties"];function g(e){if(!(this instanceof g))return new g(e);e=this._opts=u.copy(e)||{},function(e){var r=e._opts.logger;if(!1===r)e.logger={log:_,warn:_,error:_};else{if(void 0===r&&(r=console),!("object"==typeof r&&r.log&&r.warn&&r.error))throw new Error("logger must implement log, warn and error methods");e.logger=r}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=o(e.format);var r=this._schemaUriFormat=this._formats["uri-reference"];this._schemaUriFormatFunc=function(e){return r.test(e)},this._cache=e.cache||new t,this._loadingSchemas={},this._compilations=[],this.RULES=i(),this._getId=function(e){switch(e.schemaId){case"auto":return S;case"id":return E;default:return w}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=s),this._metaOpts=function(e){for(var r=u.copy(e._opts),t=0;t<m.length;t++)delete r[m[t]];return r}(this),e.formats&&function(e){for(var r in e._opts.formats){var t=e._opts.formats[r];e.addFormat(r,t)}}(this),function(e){var r;e._opts.$data&&(r=a("./refs/data.json"),e.addMetaSchema(r,r.$id,!0));if(!1===e._opts.meta)return;var t=a("./refs/json-schema-draft-07.json");e._opts.$data&&(t=l(t,v));e.addMetaSchema(t,p,!0),e._refs["http://json-schema.org/schema"]=p}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{const:!0}}),function(e){var r=e._opts.schemas;if(!r)return;if(Array.isArray(r))e.addSchema(r);else for(var t in r)e.addSchema(r[t],t)}(this)}function y(e,r){return r=d.normalizeId(r),e._schemas[r]||e._refs[r]||e._fragments[r]}function P(e,r,t){for(var a in r){var s=r[a];s.meta||t&&!t.test(a)||(e._cache.del(s.cacheKey),delete r[a])}}function E(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function w(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function S(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function b(e,r){if(e._schemas[r]||e._refs[r])throw new Error('schema with key or id "'+r+'" already exists')}function _(){}},{"./cache":1,"./compile":5,"./compile/async":2,"./compile/error_classes":3,"./compile/formats":4,"./compile/resolve":6,"./compile/rules":7,"./compile/schema_obj":8,"./compile/util":10,"./data":11,"./keyword":38,"./refs/data.json":39,"./refs/json-schema-draft-07.json":40,"fast-json-stable-stringify":42}]},{},[])("ajv")});
//# sourceMappingURL=ajv.min.js.map \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map
index 28b3ff644b..21102b9be0 100644
--- a/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map
+++ b/tools/node_modules/eslint/node_modules/ajv/dist/ajv.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["0"],"names":["f","exports","module","define","amd","window","global","self","this","Ajv","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","Cache","_cache","prototype","put","key","value","get","del","clear","2","MissingRefError","MissingRef","compileAsync","schema","meta","callback","_opts","loadSchema","undefined","loadMetaSchemaOf","then","schemaObj","_addSchema","validate","_compile","ref","missingSchema","added","missingRef","schemaPromise","_loadingSchemas","removePromise","sch","addSchema","_compileAsync","_refs","_schemas","loadMissingSchema","v","$schema","getSchema","$ref","Promise","resolve","./error_classes","3","baseId","message","url","normalizeId","fullPath","errorSubclass","Subclass","Object","create","constructor","Validation","errors","ajv","validation","./resolve","4","util","DATE","DAYS","TIME","HOSTNAME","URI","URITEMPLATE","URL","UUID","JSON_POINTER","JSON_POINTER_URI_FRAGMENT","RELATIVE_JSON_POINTER","formats","mode","copy","date","str","matches","match","year","month","day","time","full","hour","minute","second","fast","date-time","uri","uri-reference","uri-template","email","hostname","ipv4","ipv6","regex","uuid","json-pointer","json-pointer-uri-fragment","relative-json-pointer","dateTime","split","DATE_TIME_SEPARATOR","NOT_URI_FRAGMENT","test","Z_ANCHOR","RegExp","./util","5","errorClasses","stableStringify","validateGenerator","ucs2length","equal","ValidationError","compIndex","root","_compilations","patternCode","patterns","toQuotedString","defaultCode","refValCode","refVal","customRuleCode","vars","arr","statement","compile","localRefs","opts","refs","patternsHash","defaults","defaultsHash","customRules","index","compiling","compilation","callValidate","result","apply","arguments","_formats","RULES","localCompile","cv","$async","sourceCode","source","splice","_schema","_root","isRoot","isTop","schemaPath","errSchemaPath","errorPath","resolveRef","usePattern","useDefault","useCustomRule","logger","processCode","makeValidate","Function","error","_refVal","refCode","refIndex","resolvedRef","rootRefId","addLocalRef","localSchema","inlineRef","inlineRefs","refId","inline","regexStr","valueStr","rule","parentSchema","it","validateSchema","definition","valid","errorsText","macro","keyword","../dotjs/validate","fast-deep-equal","fast-json-stable-stringify","6","SchemaObject","traverse","res","resolveSchema","parse","refPath","_getFullPath","getFullPath","_getId","keys","id","parsedRef","resolveUrl","getJsonPointer","ids","schemaId","baseIds","","fullPaths","allKeys","jsonPtr","rootSchema","parentJsonPtr","parentKeyword","keyIndex","escapeFragment","PREVENT_SCOPE_CHANGE","toHash","fragment","slice","parts","part","unescapeFragment","SIMPLE_INLINED","limit","checkNoRef","item","Array","isArray","countKeys","count","Infinity","normalize","serialize","TRAILING_SLASH_HASH","replace","./schema_obj","json-schema-traverse","uri-js","7","ruleModules","type","rules","maximum","minimum","properties","ALL","all","types","forEach","group","map","implKeywords","k","push","implements","$comment","keywords","concat","custom","../dotjs","8","obj","9","len","pos","charCodeAt","10","checkDataType","dataType","data","negate","EQUAL","AND","OK","NOT","to","checkDataTypes","dataTypes","array","object","null","number","integer","coerceToTypes","optionCoerceTypes","COERCE_TO_TYPES","getProperty","escapeQuotes","varOccurences","dataVar","varReplace","expr","cleanUpCode","out","EMPTY_ELSE","EMPTY_IF_NO_ELSE","EMPTY_IF_WITH_ELSE","finalCleanUpCode","async","ERRORS_REGEXP","REMOVE_ERRORS_ASYNC","RETURN_ASYNC","RETURN_DATA_ASYNC","REMOVE_ERRORS","RETURN_VALID","RETURN_TRUE","ROOTDATA_REGEXP","REMOVE_ROOTDATA","schemaHasRules","schemaHasRulesExcept","exceptKeyword","getPathExpr","currentPath","jsonPointers","isNumber","joinPaths","getPath","prop","path","escapeJsonPointer","getData","$data","lvl","paths","up","jsonPointer","segments","segment","unescapeJsonPointer","decodeURIComponent","encodeURIComponent","hash","IDENTIFIER","SINGLE_QUOTE","b","./ucs2length","11","KEYWORDS","metaSchema","keywordsJsonPointers","JSON","stringify","j","anyOf","12","$keyword","$ruleType","$schemaValue","$lvl","level","$dataLvl","dataLevel","$schemaPath","$errSchemaPath","$breakOnError","allErrors","$isData","dataPathArr","$isMax","$exclusiveKeyword","$schemaExcl","$isDataExcl","$op","$notOp","$errorKeyword","$schemaValueExcl","$exclusive","$exclType","$exclIsNumber","$opStr","$opExpr","$$outStack","createErrors","messages","verbose","__err","pop","compositeRule","Math","13","14","unicode","15","16","$it","$closingBraces","$nextValid","$currentBaseId","$allSchemasEmpty","arr1","$sch","$i","l1","17","$valid","$errs","every","$wasComposite","18","19","20","$idx","$dataNxt","$nextData","$nonEmptySchema","$passData","$code","21","$compile","$inline","$macro","$ruleValidate","$validateCode","$rule","$definition","$rDef","$validateSchema","$ruleErrs","$ruleErr","$asyncKeyword","statements","passContext","$parentData","$parentDataProperty","def_callRuleValidate","modifying","def_customError","22","$schemaDeps","$propertyDeps","$ownProperties","ownProperties","$property","$deps","$currentErrorPath","$propertyKey","$useData","$prop","$propertyPath","$missingProperty","_errorDataPathProperty","join","arr2","i2","l2","23","$vSchema","24","format","$unknownFormats","unknownFormats","$allowUnknown","$format","$isObject","$formatType","warn","indexOf","$formatRef","25","$thenSch","$elseSch","$thenPresent","$elsePresent","$ifClause","26","allOf","const","contains","dependencies","enum","if","items","maxItems","minItems","maxLength","minLength","maxProperties","minProperties","multipleOf","not","oneOf","pattern","propertyNames","required","uniqueItems","./_limit","./_limitItems","./_limitLength","./_limitProperties","./allOf","./anyOf","./comment","./const","./contains","./dependencies","./enum","./format","./if","./items","./multipleOf","./not","./oneOf","./pattern","./properties","./propertyNames","./ref","./required","./uniqueItems","./validate","27","$additionalItems","additionalItems","$currErrSchemaPath","28","multipleOfPrecision","29","$allErrorsOption","30","$prevValid","$passingSchemas","31","$regexp","32","$key","$dataProperties","$schemaKeys","$pProperties","patternProperties","$pPropertyKeys","$aProperties","additionalProperties","$someProperties","$noAdditional","$additionalIsSchema","$removeAdditional","removeAdditional","$checkAdditional","$required","loopRequired","$requiredHash","i1","$pProperty","$additionalProperty","$useDefaults","useDefaults","arr3","i3","l3","$hasDefault","default","arr4","i4","l4","33","$invalidName","34","$refCode","$refVal","$message","missingRefs","__callValidate","35","$propertySch","$loopRequired","36","$itemType","$typeIsArray","37","$refKeywords","$id","$top","rootId","$closingBraces1","$closingBraces2","$typeSchema","extendRefs","coerceTypes","$coerceToTypes","$rulesGroup","$shouldUseGroup","$dataType","$coerced","$bracesCoercion","$type","arr5","i5","l5","$shouldUseRule","impl","$ruleImplementsSomeKeyword","38","add","_addRule","ruleGroup","rg","remove","./dotjs/custom","39","description","40","title","definitions","schemaArray","nonNegativeInteger","nonNegativeIntegerDefault0","simpleTypes","stringArray","readOnly","examples","exclusiveMinimum","exclusiveMaximum","contentMediaType","contentEncoding","else","41","keyList","hasProp","hasOwnProperty","arrA","arrB","dateA","Date","dateB","getTime","regexpA","regexpB","toString","42","cmp","cycles","node","seen","toJSON","isFinite","TypeError","seenIndex","sort","43","cb","_traverse","arrayKeywords","propsKeywords","skipKeywords","44","merge","_len","sets","_key","xl","x","subexp","typeOf","shift","toLowerCase","toUpperCase","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","SUB_DELIMS$$","RESERVED$$","IPRIVATE$$","UNRESERVED$$","SCHEME$","USERINFO$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS$","ZONEID$","IP_LITERAL$","REG_NAME$","HOST$","PORT$","AUTHORITY$","PCHAR$","SEGMENT$","SEGMENT_NZ$","SEGMENT_NZ_NC$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_NOSCHEME$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","FRAGMENT$","HIER_PART$","NOT_SCHEME","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","sliceIterator","maxInt","regexPunycode","regexNonASCII","regexSeparators","overflow","not-basic","invalid-input","floor","stringFromCharCode","String","fromCharCode","error$1","RangeError","mapDomain","string","fn","ucs2decode","output","counter","extra","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","baseMinusTMin","base","decode","input","codePoint","inputLength","bias","basic","lastIndexOf","oldi","w","baseMinusT","fromCodePoint","encode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","m","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","q","qMinusT","punycode","version","ucs2","from","toConsumableArray","toASCII","toUnicode","SCHEMES","pctEncChar","chr","pctDecChars","newStr","il","parseInt","substr","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","scheme","userinfo","host","query","_stripLeadingZeros","_normalizeIPv4","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","last","first","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","longestZeroFields","reduce","acc","field","lastLongest","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","uriString","options","iri","reference","port","isNaN","schemeHandler","unicodeSupport","domainHost","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","s","uriTokens","authority","_","$1","$2","charAt","absolutePath","resolveComponents","relative","target","tolerant","unescapeComponent","handler","handler$1","O","VCHAR$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$2","mailtoComponents","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","setInterval","toAddr","atIdx","localPart","domain","name","URN_PARSE","handler$3","urnComponents","nid","nss","uriComponents","handler$4","uuidComponents","baseURI","relativeURI","schemelessOptions","assign","uriA","uriB","escapeComponent","defineProperty","factory","compileSchema","$dataMetaSchema","schemaKeyRef","_meta","_skipValidation","checkUnique","addMetaSchema","skipValidation","throwOrLogError","defaultMeta","META_SCHEMA_ID","currentUriFormat","_schemaUriFormatFunc","_schemaUriFormat","keyRef","_getSchemaObj","_fragments","_getSchemaFragment","removeSchema","_removeAllSchemas","cacheKey","addFormat","separator","text","dataPath","shouldAddSchema","cached","addUsedSchema","recursiveMeta","willValidate","currentOpts","_metaOpts","_validate","customKeyword","addKeyword","getKeyword","removeKeyword","META_IGNORE_OPTIONS","META_SUPPORT_DATA","log","noop","console","setLogger","schemaUriFormat","cache","_get$IdOrId","_get$Id","chooseGetId","errorDataPath","metaOpts","getMetaSchemaOptions","addInitialFormats","$dataSchema","addDraft6MetaSchema","optsSchemas","schemas","addInitialSchemas","./cache","./compile","./compile/async","./compile/error_classes","./compile/formats","./compile/resolve","./compile/rules","./compile/schema_obj","./compile/util","./data","./keyword","./refs/data.json","./refs/json-schema-draft-07.json"],"mappings":"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","file":"ajv.min.js"} \ No newline at end of file
+{"version":3,"sources":["0"],"names":["f","exports","module","define","amd","window","global","self","this","Ajv","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","Cache","_cache","prototype","put","key","value","get","del","clear","2","MissingRefError","MissingRef","compileAsync","schema","meta","callback","_opts","loadSchema","undefined","loadMetaSchemaOf","then","schemaObj","_addSchema","validate","_compile","ref","missingSchema","added","missingRef","schemaPromise","_loadingSchemas","removePromise","sch","addSchema","_compileAsync","_refs","_schemas","loadMissingSchema","v","$schema","getSchema","$ref","Promise","resolve","./error_classes","3","baseId","message","url","normalizeId","fullPath","errorSubclass","Subclass","Object","create","constructor","Validation","errors","ajv","validation","./resolve","4","util","DATE","DAYS","TIME","HOSTNAME","URI","URITEMPLATE","URL","UUID","JSON_POINTER","JSON_POINTER_URI_FRAGMENT","RELATIVE_JSON_POINTER","formats","mode","copy","date","str","matches","match","year","month","day","time","full","hour","minute","second","fast","date-time","uri","uri-reference","uri-template","email","hostname","ipv4","ipv6","regex","uuid","json-pointer","json-pointer-uri-fragment","relative-json-pointer","dateTime","split","DATE_TIME_SEPARATOR","NOT_URI_FRAGMENT","test","Z_ANCHOR","RegExp","./util","5","errorClasses","stableStringify","validateGenerator","ucs2length","equal","ValidationError","compIndex","root","_compilations","patternCode","patterns","toQuotedString","defaultCode","refValCode","refVal","customRuleCode","vars","arr","statement","compile","localRefs","opts","refs","patternsHash","defaults","defaultsHash","customRules","index","compiling","compilation","callValidate","result","apply","arguments","_formats","RULES","localCompile","cv","$async","sourceCode","source","splice","_schema","_root","isRoot","isTop","schemaPath","errSchemaPath","errorPath","resolveRef","usePattern","useDefault","useCustomRule","logger","processCode","makeValidate","Function","error","_refVal","refCode","refIndex","resolvedRef","rootRefId","addLocalRef","localSchema","inlineRef","inlineRefs","refId","inline","regexStr","valueStr","rule","parentSchema","it","validateSchema","definition","valid","errorsText","macro","keyword","../dotjs/validate","fast-deep-equal","fast-json-stable-stringify","6","SchemaObject","traverse","res","resolveSchema","parse","refPath","_getFullPath","getFullPath","_getId","keys","id","parsedRef","resolveUrl","getJsonPointer","ids","schemaId","baseIds","","fullPaths","allKeys","jsonPtr","rootSchema","parentJsonPtr","parentKeyword","keyIndex","escapeFragment","PREVENT_SCOPE_CHANGE","toHash","fragment","slice","parts","part","unescapeFragment","SIMPLE_INLINED","limit","checkNoRef","item","Array","isArray","countKeys","count","Infinity","normalize","serialize","TRAILING_SLASH_HASH","replace","./schema_obj","json-schema-traverse","uri-js","7","ruleModules","type","rules","maximum","minimum","properties","ALL","all","types","forEach","group","map","implKeywords","k","push","implements","$comment","keywords","concat","custom","../dotjs","8","obj","9","len","pos","charCodeAt","10","checkDataType","dataType","data","negate","EQUAL","AND","OK","NOT","to","checkDataTypes","dataTypes","array","object","null","number","integer","coerceToTypes","optionCoerceTypes","COERCE_TO_TYPES","getProperty","escapeQuotes","varOccurences","dataVar","varReplace","expr","cleanUpCode","out","EMPTY_ELSE","EMPTY_IF_NO_ELSE","EMPTY_IF_WITH_ELSE","finalCleanUpCode","async","ERRORS_REGEXP","REMOVE_ERRORS_ASYNC","RETURN_ASYNC","RETURN_DATA_ASYNC","REMOVE_ERRORS","RETURN_VALID","RETURN_TRUE","ROOTDATA_REGEXP","REMOVE_ROOTDATA","schemaHasRules","schemaHasRulesExcept","exceptKeyword","getPathExpr","currentPath","jsonPointers","isNumber","joinPaths","getPath","prop","path","escapeJsonPointer","getData","$data","lvl","paths","up","jsonPointer","segments","segment","unescapeJsonPointer","decodeURIComponent","encodeURIComponent","hash","IDENTIFIER","SINGLE_QUOTE","b","./ucs2length","11","KEYWORDS","metaSchema","keywordsJsonPointers","JSON","stringify","j","anyOf","12","$keyword","$ruleType","$schemaValue","$lvl","level","$dataLvl","dataLevel","$schemaPath","$errSchemaPath","$breakOnError","allErrors","$isData","dataPathArr","$isMax","$exclusiveKeyword","$schemaExcl","$isDataExcl","$op","$notOp","$errorKeyword","$schemaValueExcl","$exclusive","$exclType","$exclIsNumber","$opStr","$opExpr","$$outStack","createErrors","messages","verbose","__err","pop","compositeRule","Math","13","14","unicode","15","16","$it","$closingBraces","$nextValid","$currentBaseId","$allSchemasEmpty","arr1","$sch","$i","l1","17","$valid","$errs","every","$wasComposite","18","19","20","$idx","$dataNxt","$nextData","$nonEmptySchema","$passData","$code","21","$compile","$inline","$macro","$ruleValidate","$validateCode","$rule","$definition","$rDef","$validateSchema","$ruleErrs","$ruleErr","$asyncKeyword","statements","passContext","$parentData","$parentDataProperty","def_callRuleValidate","modifying","def_customError","22","$schemaDeps","$propertyDeps","$ownProperties","ownProperties","$property","$deps","$currentErrorPath","$propertyKey","$useData","$prop","$propertyPath","$missingProperty","_errorDataPathProperty","join","arr2","i2","l2","23","$vSchema","24","format","$unknownFormats","unknownFormats","$allowUnknown","$format","$isObject","$formatType","warn","indexOf","$formatRef","25","$thenSch","$elseSch","$thenPresent","$elsePresent","$ifClause","26","allOf","const","contains","dependencies","enum","if","items","maxItems","minItems","maxLength","minLength","maxProperties","minProperties","multipleOf","not","oneOf","pattern","propertyNames","required","uniqueItems","./_limit","./_limitItems","./_limitLength","./_limitProperties","./allOf","./anyOf","./comment","./const","./contains","./dependencies","./enum","./format","./if","./items","./multipleOf","./not","./oneOf","./pattern","./properties","./propertyNames","./ref","./required","./uniqueItems","./validate","27","$additionalItems","additionalItems","$currErrSchemaPath","28","multipleOfPrecision","29","$allErrorsOption","30","$prevValid","$passingSchemas","31","$regexp","32","$key","$dataProperties","$schemaKeys","$pProperties","patternProperties","$pPropertyKeys","$aProperties","additionalProperties","$someProperties","$noAdditional","$additionalIsSchema","$removeAdditional","removeAdditional","$checkAdditional","$required","loopRequired","$requiredHash","i1","$pProperty","$additionalProperty","$useDefaults","useDefaults","arr3","i3","l3","$hasDefault","default","arr4","i4","l4","33","$invalidName","34","$refCode","$refVal","$message","missingRefs","__callValidate","35","$propertySch","$loopRequired","36","$itemType","$typeIsArray","37","$refKeywords","$id","$top","rootId","$closingBraces1","$closingBraces2","$typeSchema","nullable","extendRefs","coerceTypes","$coerceToTypes","$rulesGroup","$shouldUseGroup","$dataType","$coerced","$bracesCoercion","$type","arr5","i5","l5","$shouldUseRule","impl","$ruleImplementsSomeKeyword","38","add","_addRule","ruleGroup","rg","remove","./dotjs/custom","39","description","40","title","definitions","schemaArray","nonNegativeInteger","nonNegativeIntegerDefault0","simpleTypes","stringArray","readOnly","examples","exclusiveMinimum","exclusiveMaximum","contentMediaType","contentEncoding","else","41","keyList","hasProp","hasOwnProperty","arrA","arrB","dateA","Date","dateB","getTime","regexpA","regexpB","toString","42","cmp","cycles","node","seen","toJSON","isFinite","TypeError","seenIndex","sort","43","cb","_traverse","pre","post","arrayKeywords","propsKeywords","skipKeywords","44","merge","_len","sets","_key","xl","x","subexp","typeOf","shift","toLowerCase","toUpperCase","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","SUB_DELIMS$$","RESERVED$$","IPRIVATE$$","UNRESERVED$$","SCHEME$","USERINFO$","DEC_OCTET_RELAXED$","IPV4ADDRESS$","H16$","LS32$","IPV6ADDRESS$","ZONEID$","IP_LITERAL$","REG_NAME$","HOST$","PORT$","AUTHORITY$","PCHAR$","SEGMENT$","SEGMENT_NZ$","SEGMENT_NZ_NC$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_NOSCHEME$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","FRAGMENT$","HIER_PART$","NOT_SCHEME","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","ESCAPE","UNRESERVED","OTHER_CHARS","PCT_ENCODED","IPV4ADDRESS","IPV6ADDRESS","URI_PROTOCOL","IRI_PROTOCOL","slicedToArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","sliceIterator","maxInt","regexPunycode","regexNonASCII","regexSeparators","overflow","not-basic","invalid-input","floor","stringFromCharCode","String","fromCharCode","error$1","RangeError","mapDomain","string","fn","ucs2decode","output","counter","extra","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","baseMinusTMin","base","decode","input","codePoint","inputLength","bias","basic","lastIndexOf","oldi","w","baseMinusT","fromCodePoint","encode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_currentValue2","return","basicLength","handledCPCount","m","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","currentValue","handledCPCountPlusOne","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_currentValue","q","qMinusT","punycode","version","ucs2","from","toConsumableArray","toASCII","toUnicode","SCHEMES","pctEncChar","chr","pctDecChars","newStr","il","parseInt","substr","c2","_c","c3","_normalizeComponentEncoding","components","protocol","decodeUnreserved","decStr","scheme","userinfo","host","query","_stripLeadingZeros","_normalizeIPv4","address","_normalizeIPv6","_matches2","zone","_address$toLowerCase$","reverse","_address$toLowerCase$2","last","first","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","fields","longestZeroFields","reduce","acc","field","lastLongest","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","uriString","options","iri","reference","port","isNaN","schemeHandler","unicodeSupport","domainHost","RDS1","RDS2","RDS3","RDS5","removeDotSegments","im","s","uriTokens","authority","_","$1","$2","charAt","absolutePath","resolveComponents","relative","target","tolerant","unescapeComponent","handler","handler$1","O","VCHAR$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$2","mailtoComponents","unknownHeaders","headers","hfields","hfield","toAddrs","_x","_xl","subject","body","_x2","_xl2","addr","setInterval","toAddr","atIdx","localPart","domain","name","URN_PARSE","handler$3","urnComponents","nid","nss","uriComponents","handler$4","uuidComponents","baseURI","relativeURI","schemelessOptions","assign","uriA","uriB","escapeComponent","defineProperty","factory","compileSchema","$dataMetaSchema","schemaKeyRef","_meta","_skipValidation","checkUnique","addMetaSchema","skipValidation","throwOrLogError","defaultMeta","META_SCHEMA_ID","currentUriFormat","_schemaUriFormatFunc","_schemaUriFormat","keyRef","_getSchemaObj","_fragments","_getSchemaFragment","removeSchema","_removeAllSchemas","cacheKey","addFormat","separator","text","dataPath","shouldAddSchema","cached","addUsedSchema","recursiveMeta","willValidate","currentOpts","_metaOpts","_validate","customKeyword","addKeyword","getKeyword","removeKeyword","META_IGNORE_OPTIONS","META_SUPPORT_DATA","log","noop","console","setLogger","schemaUriFormat","cache","_get$IdOrId","_get$Id","chooseGetId","errorDataPath","metaOpts","getMetaSchemaOptions","addInitialFormats","$dataSchema","addDefaultMetaSchema","optsSchemas","schemas","addInitialSchemas","./cache","./compile","./compile/async","./compile/error_classes","./compile/formats","./compile/resolve","./compile/rules","./compile/schema_obj","./compile/util","./data","./keyword","./refs/data.json","./refs/json-schema-draft-07.json"],"mappings":"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","file":"ajv.min.js"} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
index 341b0cff8f..763a09be65 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
@@ -104,7 +104,7 @@ declare namespace ajv {
* @return {string} human readable string with all errors descriptions
*/
errorsText(errors?: Array<ErrorObject> | null, options?: ErrorsTextOptions): string;
- errors?: Array<ErrorObject>;
+ errors?: Array<ErrorObject> | null;
}
interface CustomLogger {
@@ -163,7 +163,9 @@ declare namespace ajv {
sourceCode?: boolean;
processCode?: (code: string) => string;
cache?: object;
- logger?: CustomLogger | false
+ logger?: CustomLogger | false;
+ nullable?: boolean;
+ serialize?: ((schema: object | boolean) => any) | false;
}
type FormatValidator = string | RegExp | ((data: string) => boolean | PromiseLike<any>);
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.js b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.js
index 4740eb6a7d..9f16723aa8 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.js
@@ -70,8 +70,9 @@ function Ajv(opts) {
this._metaOpts = getMetaSchemaOptions(this);
if (opts.formats) addInitialFormats(this);
- addDraft6MetaSchema(this);
+ addDefaultMetaSchema(this);
if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta);
+ if (opts.nullable) this.addKeyword('nullable', {metaSchema: {const: true}});
addInitialSchemas(this);
}
@@ -443,7 +444,7 @@ function addFormat(name, format) {
}
-function addDraft6MetaSchema(self) {
+function addDefaultMetaSchema(self) {
var $dataSchema;
if (self._opts.$data) {
$dataSchema = require('./refs/data.json');
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dot/validate.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/validate.jst
index 27393cf300..89a5b3b49f 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dot/validate.jst
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dot/validate.jst
@@ -100,6 +100,16 @@
var $typeSchema = it.schema.type
, $typeIsArray = Array.isArray($typeSchema);
+ if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {
+ if ($typeIsArray) {
+ if ($typeSchema.indexOf('null') == -1)
+ $typeSchema = $typeSchema.concat('null');
+ } else if ($typeSchema != 'null') {
+ $typeSchema = [$typeSchema, 'null'];
+ $typeIsArray = true;
+ }
+ }
+
if ($typeIsArray && $typeSchema.length == 1) {
$typeSchema = $typeSchema[0];
$typeIsArray = false;
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js
index 9f9e1ae407..019c193ac1 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/validate.js
@@ -101,6 +101,14 @@ module.exports = function generate_validate(it, $keyword, $ruleType) {
var $errorKeyword;
var $typeSchema = it.schema.type,
$typeIsArray = Array.isArray($typeSchema);
+ if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {
+ if ($typeIsArray) {
+ if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null');
+ } else if ($typeSchema != 'null') {
+ $typeSchema = [$typeSchema, 'null'];
+ $typeIsArray = true;
+ }
+ }
if ($typeIsArray && $typeSchema.length == 1) {
$typeSchema = $typeSchema[0];
$typeIsArray = false;
diff --git a/tools/node_modules/eslint/node_modules/ajv/package.json b/tools/node_modules/eslint/node_modules/ajv/package.json
index 426998a4f7..e508c3a61c 100644
--- a/tools/node_modules/eslint/node_modules/ajv/package.json
+++ b/tools/node_modules/eslint/node_modules/ajv/package.json
@@ -16,7 +16,7 @@
"description": "Another JSON Schema Validator",
"devDependencies": {
"ajv-async": "^1.0.0",
- "bluebird": "3.5.1",
+ "bluebird": "^3.5.3",
"brfs": "^2.0.0",
"browserify": "^16.2.0",
"chai": "^4.0.1",
@@ -96,5 +96,5 @@
},
"tonicExampleFilename": ".tonic_example.js",
"typings": "lib/ajv.d.ts",
- "version": "6.5.5"
+ "version": "6.6.1"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/array-union/index.js b/tools/node_modules/eslint/node_modules/array-union/index.js
deleted file mode 100644
index e33f38a1eb..0000000000
--- a/tools/node_modules/eslint/node_modules/array-union/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-var arrayUniq = require('array-uniq');
-
-module.exports = function () {
- return arrayUniq([].concat.apply([], arguments));
-};
diff --git a/tools/node_modules/eslint/node_modules/array-union/license b/tools/node_modules/eslint/node_modules/array-union/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/tools/node_modules/eslint/node_modules/array-union/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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/node_modules/array-union/package.json b/tools/node_modules/eslint/node_modules/array-union/package.json
deleted file mode 100644
index abfa223ebe..0000000000
--- a/tools/node_modules/eslint/node_modules/array-union/package.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/array-union/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "array-uniq": "^1.0.1"
- },
- "deprecated": false,
- "description": "Create an array of unique values, in order, from the input arrays",
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/array-union#readme",
- "keywords": [
- "array",
- "arr",
- "set",
- "uniq",
- "unique",
- "duplicate",
- "remove",
- "union",
- "combine",
- "merge"
- ],
- "license": "MIT",
- "name": "array-union",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/array-union.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.0.2"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/array-union/readme.md b/tools/node_modules/eslint/node_modules/array-union/readme.md
deleted file mode 100644
index ea472dd079..0000000000
--- a/tools/node_modules/eslint/node_modules/array-union/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# array-union [![Build Status](https://travis-ci.org/sindresorhus/array-union.svg?branch=master)](https://travis-ci.org/sindresorhus/array-union)
-
-> Create an array of unique values, in order, from the input arrays
-
-
-## Install
-
-```
-$ npm install --save array-union
-```
-
-
-## Usage
-
-```js
-const arrayUnion = require('array-union');
-
-arrayUnion([1, 1, 2, 3], [2, 3]);
-//=> [1, 2, 3]
-
-arrayUnion(['foo', 'foo', 'bar'], ['foo']);
-//=> ['foo', 'bar']
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/array-uniq/index.js b/tools/node_modules/eslint/node_modules/array-uniq/index.js
deleted file mode 100644
index edd09f8114..0000000000
--- a/tools/node_modules/eslint/node_modules/array-uniq/index.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-// there's 3 implementations written in increasing order of efficiency
-
-// 1 - no Set type is defined
-function uniqNoSet(arr) {
- var ret = [];
-
- for (var i = 0; i < arr.length; i++) {
- if (ret.indexOf(arr[i]) === -1) {
- ret.push(arr[i]);
- }
- }
-
- return ret;
-}
-
-// 2 - a simple Set type is defined
-function uniqSet(arr) {
- var seen = new Set();
- return arr.filter(function (el) {
- if (!seen.has(el)) {
- seen.add(el);
- return true;
- }
-
- return false;
- });
-}
-
-// 3 - a standard Set type is defined and it has a forEach method
-function uniqSetWithForEach(arr) {
- var ret = [];
-
- (new Set(arr)).forEach(function (el) {
- ret.push(el);
- });
-
- return ret;
-}
-
-// V8 currently has a broken implementation
-// https://github.com/joyent/node/issues/8449
-function doesForEachActuallyWork() {
- var ret = false;
-
- (new Set([true])).forEach(function (el) {
- ret = el;
- });
-
- return ret === true;
-}
-
-if ('Set' in global) {
- if (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) {
- module.exports = uniqSetWithForEach;
- } else {
- module.exports = uniqSet;
- }
-} else {
- module.exports = uniqNoSet;
-}
diff --git a/tools/node_modules/eslint/node_modules/array-uniq/license b/tools/node_modules/eslint/node_modules/array-uniq/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/tools/node_modules/eslint/node_modules/array-uniq/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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/node_modules/array-uniq/package.json b/tools/node_modules/eslint/node_modules/array-uniq/package.json
deleted file mode 100644
index 6b878a386c..0000000000
--- a/tools/node_modules/eslint/node_modules/array-uniq/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/array-uniq/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Create an array without duplicates",
- "devDependencies": {
- "ava": "*",
- "es6-set": "^0.1.0",
- "require-uncached": "^1.0.2",
- "xo": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/array-uniq#readme",
- "keywords": [
- "array",
- "arr",
- "set",
- "uniq",
- "unique",
- "es6",
- "duplicate",
- "remove"
- ],
- "license": "MIT",
- "name": "array-uniq",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/array-uniq.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.0.3"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/array-uniq/readme.md b/tools/node_modules/eslint/node_modules/array-uniq/readme.md
deleted file mode 100644
index f0bd98c4f0..0000000000
--- a/tools/node_modules/eslint/node_modules/array-uniq/readme.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# array-uniq [![Build Status](https://travis-ci.org/sindresorhus/array-uniq.svg?branch=master)](https://travis-ci.org/sindresorhus/array-uniq)
-
-> Create an array without duplicates
-
-It's already pretty fast, but will be much faster when [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) becomes available in V8 (especially with large arrays).
-
-
-## Install
-
-```
-$ npm install --save array-uniq
-```
-
-
-## Usage
-
-```js
-const arrayUniq = require('array-uniq');
-
-arrayUniq([1, 1, 2, 3, 3]);
-//=> [1, 2, 3]
-
-arrayUniq(['foo', 'foo', 'bar', 'foo']);
-//=> ['foo', 'bar']
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/astral-regex/index.js b/tools/node_modules/eslint/node_modules/astral-regex/index.js
new file mode 100644
index 0000000000..f90e6a225c
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/astral-regex/index.js
@@ -0,0 +1,4 @@
+'use strict';
+const regex = '[\uD800-\uDBFF][\uDC00-\uDFFF]';
+
+module.exports = opts => opts && opts.exact ? new RegExp(`^${regex}$`) : new RegExp(regex, 'g');
diff --git a/tools/node_modules/eslint/node_modules/pify/license b/tools/node_modules/eslint/node_modules/astral-regex/license
index e7af2f7710..db6bc32cc7 100644
--- a/tools/node_modules/eslint/node_modules/pify/license
+++ b/tools/node_modules/eslint/node_modules/astral-regex/license
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+Copyright (c) Kevin Mårtensson <kevinmartensson@gmail.com> (github.com/kevva)
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:
diff --git a/tools/node_modules/eslint/node_modules/astral-regex/package.json b/tools/node_modules/eslint/node_modules/astral-regex/package.json
new file mode 100644
index 0000000000..61089098b3
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/astral-regex/package.json
@@ -0,0 +1,41 @@
+{
+ "author": {
+ "name": "Kevin Mårtensson",
+ "email": "kevinmartensson@gmail.com",
+ "url": "github.com/kevva"
+ },
+ "bugs": {
+ "url": "https://github.com/kevva/astral-regex/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "Regular expression for matching astral symbols",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/kevva/astral-regex#readme",
+ "keywords": [
+ "astral",
+ "emoji",
+ "regex",
+ "surrogate"
+ ],
+ "license": "MIT",
+ "name": "astral-regex",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/kevva/astral-regex.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "1.0.0"
+} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/astral-regex/readme.md b/tools/node_modules/eslint/node_modules/astral-regex/readme.md
new file mode 100644
index 0000000000..cde44f7bc0
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/astral-regex/readme.md
@@ -0,0 +1,43 @@
+# astral-regex [![Build Status](https://travis-ci.org/kevva/astral-regex.svg?branch=master)](https://travis-ci.org/kevva/astral-regex)
+
+> Regular expression for matching astral symbols
+
+
+## Install
+
+```
+$ npm install astral-regex
+```
+
+
+## Usage
+
+```js
+const astralRegex = require('astral-regex');
+
+astralRegex({exact: true}).test('');
+//=> true
+```
+
+
+## API
+
+### astralRegex([options])
+
+Returns a `RegExp` for matching astral symbols.
+
+#### options
+
+Type: `Object`
+
+##### exact
+
+Type: `boolean`<br>
+Default: `false` *(Matches any astral symbols in a string)*
+
+Only match an exact string. Useful with `RegExp#test()` to check if a string is a astral symbol.
+
+
+## License
+
+MIT © [Kevin Mårtensson](https://github.com/kevva)
diff --git a/tools/node_modules/eslint/node_modules/del/index.js b/tools/node_modules/eslint/node_modules/del/index.js
deleted file mode 100644
index 3b602af374..0000000000
--- a/tools/node_modules/eslint/node_modules/del/index.js
+++ /dev/null
@@ -1,70 +0,0 @@
-'use strict';
-const path = require('path');
-const globby = require('globby');
-const isPathCwd = require('is-path-cwd');
-const isPathInCwd = require('is-path-in-cwd');
-const pify = require('pify');
-const rimraf = require('rimraf');
-const pMap = require('p-map');
-
-const rimrafP = pify(rimraf);
-
-function safeCheck(file) {
- if (isPathCwd(file)) {
- throw new Error('Cannot delete the current working directory. Can be overriden with the `force` option.');
- }
-
- if (!isPathInCwd(file)) {
- throw new Error('Cannot delete files/folders outside the current working directory. Can be overriden with the `force` option.');
- }
-}
-
-module.exports = (patterns, opts) => {
- opts = Object.assign({}, opts);
-
- const force = opts.force;
- delete opts.force;
-
- const dryRun = opts.dryRun;
- delete opts.dryRun;
-
- const mapper = file => {
- if (!force) {
- safeCheck(file);
- }
-
- file = path.resolve(opts.cwd || '', file);
-
- if (dryRun) {
- return file;
- }
-
- return rimrafP(file, {glob: false}).then(() => file);
- };
-
- return globby(patterns, opts).then(files => pMap(files, mapper, opts));
-};
-
-module.exports.sync = (patterns, opts) => {
- opts = Object.assign({}, opts);
-
- const force = opts.force;
- delete opts.force;
-
- const dryRun = opts.dryRun;
- delete opts.dryRun;
-
- return globby.sync(patterns, opts).map(file => {
- if (!force) {
- safeCheck(file);
- }
-
- file = path.resolve(opts.cwd || '', file);
-
- if (!dryRun) {
- rimraf.sync(file, {glob: false});
- }
-
- return file;
- });
-};
diff --git a/tools/node_modules/eslint/node_modules/del/package.json b/tools/node_modules/eslint/node_modules/del/package.json
deleted file mode 100644
index ce3433dce6..0000000000
--- a/tools/node_modules/eslint/node_modules/del/package.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/del/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "globby": "^6.1.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "p-map": "^1.1.1",
- "pify": "^3.0.0",
- "rimraf": "^2.2.8"
- },
- "deprecated": false,
- "description": "Delete files and folders",
- "devDependencies": {
- "ava": "*",
- "make-dir": "^1.0.0",
- "tempy": "^0.1.0",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/del#readme",
- "keywords": [
- "delete",
- "files",
- "folders",
- "directories",
- "del",
- "remove",
- "destroy",
- "trash",
- "unlink",
- "clean",
- "cleaning",
- "cleanup",
- "rm",
- "rmrf",
- "rimraf",
- "rmdir",
- "glob",
- "gulpfriendly",
- "file",
- "folder",
- "directory",
- "dir",
- "fs",
- "filesystem"
- ],
- "license": "MIT",
- "name": "del",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/del.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "3.0.0"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/del/readme.md b/tools/node_modules/eslint/node_modules/del/readme.md
deleted file mode 100644
index 664aa0f67f..0000000000
--- a/tools/node_modules/eslint/node_modules/del/readme.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# del [![Build Status](https://travis-ci.org/sindresorhus/del.svg?branch=master)](https://travis-ci.org/sindresorhus/del) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
-
-> Delete files and folders using [globs](https://github.com/isaacs/minimatch#usage)
-
-Similar to [rimraf](https://github.com/isaacs/rimraf), but with a Promise API and support for multiple files and globbing. It also protects you against deleting the current working directory and above.
-
----
-
-<p align="center">🐶</p>
-<p align="center"><b>Support this project and improve your JavaScript skills with this great <a href="https://ES6.io/friend/AWESOME">ES6 course</a> by Wes Bos.</b><br>Try his free <a href="https://javascript30.com/friend/AWESOME">JavaScript 30 course</a> for a taste of what to expect. You might also like his <a href="https://ReactForBeginners.com/friend/AWESOME">React</a> and <a href="https://SublimeTextBook.com/friend/AWESOME">Sublime</a> course.</p>
-
----
-
-
-## Install
-
-```
-$ npm install --save del
-```
-
-
-## Usage
-
-```js
-const del = require('del');
-
-del(['tmp/*.js', '!tmp/unicorn.js']).then(paths => {
- console.log('Deleted files and folders:\n', paths.join('\n'));
-});
-```
-
-
-## Beware
-
-The glob pattern `**` matches all children and *the parent*.
-
-So this won't work:
-
-```js
-del.sync(['public/assets/**', '!public/assets/goat.png']);
-```
-
-You have to explicitly ignore the parent directories too:
-
-```js
-del.sync(['public/assets/**', '!public/assets', '!public/assets/goat.png']);
-```
-
-Suggestions on how to improve this welcome!
-
-
-## API
-
-### del(patterns, [options])
-
-Returns a promise for an array of deleted paths.
-
-### del.sync(patterns, [options])
-
-Returns an array of deleted paths.
-
-#### patterns
-
-Type: `string` `Array`
-
-See supported minimatch [patterns](https://github.com/isaacs/minimatch#usage).
-
-- [Pattern examples with expected matches](https://github.com/sindresorhus/multimatch/blob/master/test.js)
-- [Quick globbing pattern overview](https://github.com/sindresorhus/multimatch#globbing-patterns)
-
-#### options
-
-Type: `Object`
-
-See the [`glob` options](https://github.com/isaacs/node-glob#options).
-
-##### force
-
-Type: `boolean`<br>
-Default: `false`
-
-Allow deleting the current working directory and outside.
-
-##### dryRun
-
-Type: `boolean`<br>
-Default: `false`
-
-See what would be deleted.
-
-```js
-const del = require('del');
-
-del(['tmp/*.js'], {dryRun: true}).then(paths => {
- console.log('Files and folders that would be deleted:\n', paths.join('\n'));
-});
-```
-
-##### concurrency
-
-Type: `number`<br>
-Default: `Infinity`<br>
-Minimum: `1`
-
-Concurrency limit.
-
-
-## CLI
-
-See [del-cli](https://github.com/sindresorhus/del-cli) for a CLI for this module and [trash-cli](https://github.com/sindresorhus/trash-cli) for a safe version that is suitable for running by hand.
-
-
-## Related
-
-- [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed
-- [globby](https://github.com/sindresorhus/globby) - User-friendly glob matching
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/espree/README.md b/tools/node_modules/eslint/node_modules/espree/README.md
index 16fb93f856..7e496f6619 100644
--- a/tools/node_modules/eslint/node_modules/espree/README.md
+++ b/tools/node_modules/eslint/node_modules/espree/README.md
@@ -12,24 +12,24 @@ Espree started out as a fork of [Esprima](http://esprima.org) v1.2.2, the last s
Install:
```
-npm i espree --save
+npm i espree
```
And in your Node.js code:
```javascript
-var espree = require("espree");
+const espree = require("espree");
-var ast = espree.parse(code);
+const ast = espree.parse(code);
```
There is a second argument to `parse()` that allows you to specify various options:
```javascript
-var espree = require("espree");
+const espree = require("espree");
// Optional second options argument with the following default settings
-var ast = espree.parse(code, {
+const ast = espree.parse(code, {
// attach range information to each node
range: false,
@@ -40,9 +40,6 @@ var ast = espree.parse(code, {
// create a top-level comments array containing all comments
comment: false,
- // attach comments to the closest relevant node as leadingComments and trailingComments
- attachComment: false,
-
// create a top-level tokens array containing all tokens
tokens: false,
diff --git a/tools/node_modules/eslint/node_modules/espree/espree.js b/tools/node_modules/eslint/node_modules/espree/espree.js
index dea35ef083..7c16b69656 100644
--- a/tools/node_modules/eslint/node_modules/espree/espree.js
+++ b/tools/node_modules/eslint/node_modules/espree/espree.js
@@ -88,6 +88,7 @@ const parsers = {
options.ecmaFeatures &&
options.ecmaFeatures.jsx
);
+
return useJsx ? this.jsx : this.regular;
}
};
@@ -109,7 +110,7 @@ function tokenize(code, options) {
// Ensure to collect tokens.
if (!options || options.tokens !== true) {
- options = Object.assign({}, options, { tokens: true });
+ options = Object.assign({}, options, { tokens: true }); // eslint-disable-line no-param-reassign
}
return new Parser(options, code).tokenize();
@@ -128,6 +129,7 @@ function tokenize(code, options) {
*/
function parse(code, options) {
const Parser = parsers.get(options);
+
return new Parser(options, code).parse();
}
@@ -144,7 +146,8 @@ exports.parse = parse;
// Deep copy.
/* istanbul ignore next */
exports.Syntax = (function() {
- var name, types = {};
+ let name,
+ types = {};
if (typeof Object.create === "function") {
types = Object.create(null);
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js b/tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js
deleted file mode 100644
index b82b5f1cd3..0000000000
--- a/tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * @fileoverview Attaches comments to the AST.
- * @author Nicholas C. Zakas
- */
-
-"use strict";
-
-//------------------------------------------------------------------------------
-// Requirements
-//------------------------------------------------------------------------------
-
-var astNodeTypes = require("./ast-node-types");
-
-//------------------------------------------------------------------------------
-// Private
-//------------------------------------------------------------------------------
-
-var extra = {
- trailingComments: [],
- leadingComments: [],
- bottomRightStack: [],
- previousNode: null
-};
-
-//------------------------------------------------------------------------------
-// Public
-//------------------------------------------------------------------------------
-
-module.exports = {
-
- reset: function() {
- extra.trailingComments = [];
- extra.leadingComments = [];
- extra.bottomRightStack = [];
- extra.previousNode = null;
- },
-
- addComment: function(comment) {
- extra.trailingComments.push(comment);
- extra.leadingComments.push(comment);
- },
-
- processComment: function(node) {
- var lastChild,
- trailingComments,
- i,
- j;
-
- if (node.type === astNodeTypes.Program) {
- if (node.body.length > 0) {
- return;
- }
- }
-
- if (extra.trailingComments.length > 0) {
-
- /*
- * If the first comment in trailingComments comes after the
- * current node, then we're good - all comments in the array will
- * come after the node and so it's safe to add then as official
- * trailingComments.
- */
- if (extra.trailingComments[0].range[0] >= node.range[1]) {
- trailingComments = extra.trailingComments;
- extra.trailingComments = [];
- } else {
-
- /*
- * Otherwise, if the first comment doesn't come after the
- * current node, that means we have a mix of leading and trailing
- * comments in the array and that leadingComments contains the
- * same items as trailingComments. Reset trailingComments to
- * zero items and we'll handle this by evaluating leadingComments
- * later.
- */
- extra.trailingComments.length = 0;
- }
- } else {
- if (extra.bottomRightStack.length > 0 &&
- extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments &&
- extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments[0].range[0] >= node.range[1]) {
- trailingComments = extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments;
- delete extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments;
- }
- }
-
- // Eating the stack.
- while (extra.bottomRightStack.length > 0 && extra.bottomRightStack[extra.bottomRightStack.length - 1].range[0] >= node.range[0]) {
- lastChild = extra.bottomRightStack.pop();
- }
-
- if (lastChild) {
- if (lastChild.leadingComments) {
- if (lastChild.leadingComments[lastChild.leadingComments.length - 1].range[1] <= node.range[0]) {
- node.leadingComments = lastChild.leadingComments;
- delete lastChild.leadingComments;
- } else {
- // A leading comment for an anonymous class had been stolen by its first MethodDefinition,
- // so this takes back the leading comment.
- // See Also: https://github.com/eslint/espree/issues/158
- for (i = lastChild.leadingComments.length - 2; i >= 0; --i) {
- if (lastChild.leadingComments[i].range[1] <= node.range[0]) {
- node.leadingComments = lastChild.leadingComments.splice(0, i + 1);
- break;
- }
- }
- }
- }
- } else if (extra.leadingComments.length > 0) {
- if (extra.leadingComments[extra.leadingComments.length - 1].range[1] <= node.range[0]) {
- if (extra.previousNode) {
- for (j = 0; j < extra.leadingComments.length; j++) {
- if (extra.leadingComments[j].end < extra.previousNode.end) {
- extra.leadingComments.splice(j, 1);
- j--;
- }
- }
- }
- if (extra.leadingComments.length > 0) {
- node.leadingComments = extra.leadingComments;
- extra.leadingComments = [];
- }
- } else {
-
- // https://github.com/eslint/espree/issues/2
-
- /*
- * In special cases, such as return (without a value) and
- * debugger, all comments will end up as leadingComments and
- * will otherwise be eliminated. This extra step runs when the
- * bottomRightStack is empty and there are comments left
- * in leadingComments.
- *
- * This loop figures out the stopping point between the actual
- * leading and trailing comments by finding the location of the
- * first comment that comes after the given node.
- */
- for (i = 0; i < extra.leadingComments.length; i++) {
- if (extra.leadingComments[i].range[1] > node.range[0]) {
- break;
- }
- }
-
- /*
- * Split the array based on the location of the first comment
- * that comes after the node. Keep in mind that this could
- * result in an empty array, and if so, the array must be
- * deleted.
- */
- node.leadingComments = extra.leadingComments.slice(0, i);
- if (node.leadingComments.length === 0) {
- delete node.leadingComments;
- }
-
- /*
- * Similarly, trailing comments are attached later. The variable
- * must be reset to null if there are no trailing comments.
- */
- trailingComments = extra.leadingComments.slice(i);
- if (trailingComments.length === 0) {
- trailingComments = null;
- }
- }
- }
-
- extra.previousNode = node;
-
- if (trailingComments) {
- node.trailingComments = trailingComments;
- }
-
- extra.bottomRightStack.push(node);
- }
-
-};
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/espree.js b/tools/node_modules/eslint/node_modules/espree/lib/espree.js
index 3b4d1eab65..107affd1d6 100644
--- a/tools/node_modules/eslint/node_modules/espree/lib/espree.js
+++ b/tools/node_modules/eslint/node_modules/espree/lib/espree.js
@@ -1,8 +1,8 @@
"use strict";
+/* eslint-disable no-param-reassign*/
const acorn = require("acorn");
const jsx = require("acorn-jsx");
-const commentAttachment = require("./comment-attachment");
const TokenTranslator = require("./token-translator");
const DEFAULT_ECMA_VERSION = 5;
@@ -89,23 +89,24 @@ module.exports = () => Parser => class Espree extends Parser {
const ecmaVersion = normalizeEcmaVersion(options.ecmaVersion);
const isModule = options.sourceType === "module";
const tokenTranslator =
- options.tokens === true ?
- new TokenTranslator(tokTypes, code) :
- null;
+ options.tokens === true
+ ? new TokenTranslator(tokTypes, code)
+ : null;
// Initialize acorn parser.
super({
ecmaVersion: isModule ? Math.max(6, ecmaVersion) : ecmaVersion,
sourceType: isModule ? "module" : "script",
- ranges: options.range === true || options.attachComment === true,
+ ranges: options.range === true,
locations: options.loc === true,
// Truthy value is true for backward compatibility.
allowReturnOutsideFunction: Boolean(ecmaFeatures.globalReturn),
// Collect tokens
- onToken: (token) => {
+ onToken: token => {
if (tokenTranslator) {
+
// Use `tokens`, `ecmaVersion`, and `jsxAttrValueToken` in the state.
tokenTranslator.onToken(token, this[STATE]);
}
@@ -118,23 +119,16 @@ module.exports = () => Parser => class Espree extends Parser {
onComment: (block, text, start, end, startLoc, endLoc) => {
if (this[STATE].comments) {
const comment = convertAcornCommentToEsprimaComment(block, text, start, end, startLoc, endLoc);
- this[STATE].comments.push(comment);
- if (options.attachComment === true) {
- commentAttachment.addComment(comment);
- }
+ this[STATE].comments.push(comment);
}
}
}, code);
- // TODO: remove global state.
- commentAttachment.reset();
-
// Initialize internal state.
this[STATE] = {
tokens: tokenTranslator ? [] : null,
- comments: options.comment === true || options.attachComment === true ? [] : null,
- attachComment: options.attachComment === true,
+ comments: options.comment === true ? [] : null,
impliedStrict: ecmaFeatures.impliedStrict === true && this.options.ecmaVersion >= 5,
ecmaVersion: this.options.ecmaVersion,
jsxAttrValueToken: false,
@@ -159,11 +153,13 @@ module.exports = () => Parser => class Espree extends Parser {
finishNode(...args) {
const result = super.finishNode(...args);
+
return this[ESPRIMA_FINISH_NODE](result);
}
finishNodeAt(...args) {
const result = super.finishNodeAt(...args);
+
return this[ESPRIMA_FINISH_NODE](result);
}
@@ -216,6 +212,7 @@ module.exports = () => Parser => class Espree extends Parser {
raise(pos, message) {
const loc = acorn.getLineInfo(this.input, pos);
const err = new SyntaxError(message);
+
err.index = pos;
err.lineNumber = loc.line;
err.column = loc.column + 1; // acorn uses 0-based columns
@@ -256,7 +253,7 @@ module.exports = () => Parser => class Espree extends Parser {
}
if (this.end > this.start) {
- message += " " + this.input.slice(this.start, this.end);
+ message += ` ${this.input.slice(this.start, this.end)}`;
}
this.raise(this.start, message);
@@ -271,6 +268,7 @@ module.exports = () => Parser => class Espree extends Parser {
*/
jsx_readString(quote) { // eslint-disable-line camelcase
const result = super.jsx_readString(quote);
+
if (this.type === tokTypes.string) {
this[STATE].jsxAttrValueToken = true;
}
@@ -283,6 +281,7 @@ module.exports = () => Parser => class Espree extends Parser {
* @returns {ASTNode} The finished node.
*/
[ESPRIMA_FINISH_NODE](result) {
+
// Acorn doesn't count the opening and closing backticks as part of templates
// so we have to adjust ranges/locations appropriately.
if (result.type === "TemplateElement") {
@@ -301,10 +300,6 @@ module.exports = () => Parser => class Espree extends Parser {
}
}
- if (this[STATE].attachComment) {
- commentAttachment.processComment(result);
- }
-
if (result.type.indexOf("Function") > -1 && !result.generator) {
result.generator = false;
}
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js b/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js
index f47b3621be..9919e1af23 100644
--- a/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js
+++ b/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js
@@ -18,7 +18,7 @@
// Esprima Token Types
-var Token = {
+const Token = {
Boolean: "Boolean",
EOF: "<end>",
Identifier: "Identifier",
@@ -41,10 +41,10 @@ var Token = {
* @private
*/
function convertTemplatePart(tokens, code) {
- var firstToken = tokens[0],
+ const firstToken = tokens[0],
lastTemplateToken = tokens[tokens.length - 1];
- var token = {
+ const token = {
type: Token.Template,
value: code.slice(firstToken.start, lastTemplateToken.end)
};
@@ -99,9 +99,9 @@ TokenTranslator.prototype = {
* @param {Object} extra Espree extra object.
* @returns {EsprimaToken} The Esprima version of the token.
*/
- translate: function(token, extra) {
+ translate(token, extra) {
- var type = token.type,
+ const type = token.type,
tt = this._acornTokTypes;
if (type === tt.name) {
@@ -157,12 +157,13 @@ TokenTranslator.prototype = {
token.value = this._code.slice(token.start, token.end);
} else if (type === tt.regexp) {
token.type = Token.RegularExpression;
- var value = token.value;
+ const value = token.value;
+
token.regex = {
flags: value.flags,
pattern: value.pattern
};
- token.value = "/" + value.pattern + "/" + value.flags;
+ token.value = `/${value.pattern}/${value.flags}`;
}
return token;
@@ -174,9 +175,9 @@ TokenTranslator.prototype = {
* @param {Object} extra The Espree extra object.
* @returns {void}
*/
- onToken: function(token, extra) {
+ onToken(token, extra) {
- var that = this,
+ const that = this,
tt = this._acornTokTypes,
tokens = extra.tokens,
templateTokens = this._tokens;
@@ -218,11 +219,13 @@ TokenTranslator.prototype = {
}
return;
- } else if (token.type === tt.dollarBraceL) {
+ }
+ if (token.type === tt.dollarBraceL) {
templateTokens.push(token);
translateTemplateTokens();
return;
- } else if (token.type === tt.braceR) {
+ }
+ if (token.type === tt.braceR) {
// if there's already a curly, it's not part of the template
if (this._curlyBrace) {
@@ -232,7 +235,8 @@ TokenTranslator.prototype = {
// store new curly for later
this._curlyBrace = token;
return;
- } else if (token.type === tt.template || token.type === tt.invalidTemplate) {
+ }
+ if (token.type === tt.template || token.type === tt.invalidTemplate) {
if (this._curlyBrace) {
templateTokens.push(this._curlyBrace);
this._curlyBrace = null;
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js b/tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js
new file mode 100644
index 0000000000..4216864f1c
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js
@@ -0,0 +1,123 @@
+/**
+ * @fileoverview The visitor keys for the node types Espree supports
+ * @author Nicholas C. Zakas
+ *
+ * This file contains code from estraverse-fb.
+ *
+ * The MIT license. Copyright (c) 2014 Ingvar Stepanyan
+ *
+ * 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.
+ */
+
+"use strict";
+
+//------------------------------------------------------------------------------
+// Requirements
+//------------------------------------------------------------------------------
+
+// None!
+
+//------------------------------------------------------------------------------
+// Public
+//------------------------------------------------------------------------------
+
+module.exports = {
+
+ // ECMAScript
+ AssignmentExpression: ["left", "right"],
+ AssignmentPattern: ["left", "right"],
+ ArrayExpression: ["elements"],
+ ArrayPattern: ["elements"],
+ ArrowFunctionExpression: ["params", "body"],
+ BlockStatement: ["body"],
+ BinaryExpression: ["left", "right"],
+ BreakStatement: ["label"],
+ CallExpression: ["callee", "arguments"],
+ CatchClause: ["param", "body"],
+ ClassBody: ["body"],
+ ClassDeclaration: ["id", "superClass", "body"],
+ ClassExpression: ["id", "superClass", "body"],
+ ConditionalExpression: ["test", "consequent", "alternate"],
+ ContinueStatement: ["label"],
+ DebuggerStatement: [],
+ DirectiveStatement: [],
+ DoWhileStatement: ["body", "test"],
+ EmptyStatement: [],
+ ExportAllDeclaration: ["source"],
+ ExportDefaultDeclaration: ["declaration"],
+ ExportNamedDeclaration: ["declaration", "specifiers", "source"],
+ ExportSpecifier: ["exported", "local"],
+ ExpressionStatement: ["expression"],
+ ForStatement: ["init", "test", "update", "body"],
+ ForInStatement: ["left", "right", "body"],
+ ForOfStatement: ["left", "right", "body"],
+ FunctionDeclaration: ["id", "params", "body"],
+ FunctionExpression: ["id", "params", "body"],
+ Identifier: [],
+ IfStatement: ["test", "consequent", "alternate"],
+ ImportDeclaration: ["specifiers", "source"],
+ ImportDefaultSpecifier: ["local"],
+ ImportNamespaceSpecifier: ["local"],
+ ImportSpecifier: ["imported", "local"],
+ Literal: [],
+ LabeledStatement: ["label", "body"],
+ LogicalExpression: ["left", "right"],
+ MemberExpression: ["object", "property"],
+ MetaProperty: ["meta", "property"],
+ MethodDefinition: ["key", "value"],
+ ModuleSpecifier: [],
+ NewExpression: ["callee", "arguments"],
+ ObjectExpression: ["properties"],
+ ObjectPattern: ["properties"],
+ Program: ["body"],
+ Property: ["key", "value"],
+ RestElement: ["argument"],
+ ReturnStatement: ["argument"],
+ SequenceExpression: ["expressions"],
+ SpreadElement: ["argument"],
+ Super: [],
+ SwitchStatement: ["discriminant", "cases"],
+ SwitchCase: ["test", "consequent"],
+ TaggedTemplateExpression: ["tag", "quasi"],
+ TemplateElement: [],
+ TemplateLiteral: ["quasis", "expressions"],
+ ThisExpression: [],
+ ThrowStatement: ["argument"],
+ TryStatement: ["block", "handler", "finalizer"],
+ UnaryExpression: ["argument"],
+ UpdateExpression: ["argument"],
+ VariableDeclaration: ["declarations"],
+ VariableDeclarator: ["id", "init"],
+ WhileStatement: ["test", "body"],
+ WithStatement: ["object", "body"],
+ YieldExpression: ["argument"],
+
+ // JSX
+ JSXIdentifier: [],
+ JSXNamespacedName: ["namespace", "name"],
+ JSXMemberExpression: ["object", "property"],
+ JSXEmptyExpression: [],
+ JSXExpressionContainer: ["expression"],
+ JSXElement: ["openingElement", "closingElement", "children"],
+ JSXClosingElement: ["name"],
+ JSXOpeningElement: ["name", "attributes"],
+ JSXAttribute: ["name", "value"],
+ JSXText: null,
+ JSXSpreadAttribute: ["argument"]
+};
diff --git a/tools/node_modules/eslint/node_modules/espree/package.json b/tools/node_modules/eslint/node_modules/espree/package.json
index 91e99e4b21..273d2c5bda 100644
--- a/tools/node_modules/eslint/node_modules/espree/package.json
+++ b/tools/node_modules/eslint/node_modules/espree/package.json
@@ -17,8 +17,9 @@
"devDependencies": {
"browserify": "^7.0.0",
"chai": "^1.10.0",
- "eslint": "^2.13.1",
- "eslint-config-eslint": "^3.0.0",
+ "eslint": "^5.7.0",
+ "eslint-config-eslint": "^5.0.1",
+ "eslint-plugin-node": "^8.0.0",
"eslint-release": "^1.0.0",
"esprima": "latest",
"esprima-fb": "^8001.2001.0-dev-harmony-fb",
@@ -65,5 +66,5 @@
"publish-release": "eslint-publish-release",
"test": "npm run-script lint && node Makefile.js test"
},
- "version": "4.1.0"
+ "version": "5.0.0"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/cache.js b/tools/node_modules/eslint/node_modules/flat-cache/cache.js
index 799e09eb7c..29219c86b1 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/cache.js
+++ b/tools/node_modules/eslint/node_modules/flat-cache/cache.js
@@ -1,7 +1,7 @@
var path = require( 'path' );
var fs = require( 'graceful-fs' );
-var del = require( 'del' ).sync;
var utils = require( './utils' );
+var del = require( './del' );
var writeJSON = utils.writeJSON;
var cache = {
@@ -125,9 +125,7 @@ var cache = {
* @return {Boolean} true or false if the file was successfully deleted
*/
removeCacheFile: function () {
- return del( this._pathToFile, {
- force: true
- } );
+ return del( this._pathToFile );
},
/**
* Destroy the file cache and cache content.
@@ -185,9 +183,7 @@ module.exports = {
*/
clearCacheById: function ( docId, cacheDir ) {
var filePath = cacheDir ? path.resolve( cacheDir, docId ) : path.resolve( __dirname, './.cache/', docId );
- return del( filePath, {
- force: true
- } ).length > 0;
+ return del( filePath );
},
/**
* Remove all cache stored in the cache directory
@@ -196,8 +192,6 @@ module.exports = {
*/
clearAll: function ( cacheDir ) {
var filePath = cacheDir ? path.resolve( cacheDir ) : path.resolve( __dirname, './.cache/' );
- return del( filePath, {
- force: true
- } ).length > 0;
+ return del( filePath );
}
};
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/changelog.md b/tools/node_modules/eslint/node_modules/flat-cache/changelog.md
index f35f6da4bf..037a08ba17 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/changelog.md
+++ b/tools/node_modules/eslint/node_modules/flat-cache/changelog.md
@@ -1,31 +1,56 @@
# flat-cache - Changelog
-## v1.3.2
+## v1.3.4
+- **Refactoring**
+ - Add del.js and utils.js to the list of files to be beautified - [9d0ca9b]( https://github.com/royriojas/flat-cache/commit/9d0ca9b ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 12:19:02
+
+
+## v1.3.3
- **Refactoring**
- - remove yarn.lock file - [704c6c4]( https://github.com/royriojas/flat-cache/commit/704c6c4 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 18:41:08
+ - Make sure package-lock.json is up to date - [a7d2598]( https://github.com/royriojas/flat-cache/commit/a7d2598 ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 11:36:08
+
+
+- **Other changes**
+ - Removed the need for del ([#33](https://github.com/royriojas/flat-cache/issues/33)) - [c429012]( https://github.com/royriojas/flat-cache/commit/c429012 ), [S. Gilroy](https://github.com/S. Gilroy), 13/11/2018 13:56:37
+ * Removed the need for del
+
+ Removed the need for del as newer versions have broken backwards
+ compatibility. del mainly uses rimraf for deleting folders
+ and files, replaceing it with rimraf only is a minimal change.
+
+ * Disable glob on rimraf calls
+
+ * Added glob disable to wrong call
+
+ * Wrapped rimraf to simplify solution
+
+## v1.3.2
+- **Refactoring**
+ - remove yarn.lock file - [704c6c4]( https://github.com/royriojas/flat-cache/commit/704c6c4 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 15:41:08
+
- **undefined**
- - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23))" - [db12d74]( https://github.com/royriojas/flat-cache/commit/db12d74 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 18:40:39
+ - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23))" - [db12d74]( https://github.com/royriojas/flat-cache/commit/db12d74 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 15:40:39
This reverts commit 00f689277a75e85fef28e6a048fad227afc525e6.
-
+
## v1.3.1
- **Refactoring**
- - upgrade deps to remove some security warnings - [f405719]( https://github.com/royriojas/flat-cache/commit/f405719 ), [Roy Riojas](https://github.com/Roy Riojas), 06/11/2018 15:07:31
-
+ - upgrade deps to remove some security warnings - [f405719]( https://github.com/royriojas/flat-cache/commit/f405719 ), [Roy Riojas](https://github.com/Roy Riojas), 06/11/2018 12:07:31
+
- **Bug Fixes**
- - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23)) - [00f6892]( https://github.com/royriojas/flat-cache/commit/00f6892 ), [Terry](https://github.com/Terry), 05/11/2018 21:44:16
-
+ - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23)) - [00f6892]( https://github.com/royriojas/flat-cache/commit/00f6892 ), [Terry](https://github.com/Terry), 05/11/2018 18:44:16
+
- **undefined**
- - update del to v3.0.0 ([#26](https://github.com/royriojas/flat-cache/issues/26)) - [d42883f]( https://github.com/royriojas/flat-cache/commit/d42883f ), [Patrick Silva](https://github.com/Patrick Silva), 03/11/2018 03:00:44
+ - update del to v3.0.0 ([#26](https://github.com/royriojas/flat-cache/issues/26)) - [d42883f]( https://github.com/royriojas/flat-cache/commit/d42883f ), [Patrick Silva](https://github.com/Patrick Silva), 03/11/2018 01:00:44
Closes <a target="_blank" class="info-link" href="https://github.com/royriojas/flat-cache/issues/25"><span>#25</span></a>
## v1.3.0
- **Other changes**
- - Added #all method ([#16](https://github.com/royriojas/flat-cache/issues/16)) - [12293be]( https://github.com/royriojas/flat-cache/commit/12293be ), [Ozair Patel](https://github.com/Ozair Patel), 25/09/2017 16:46:38
+ - Added #all method ([#16](https://github.com/royriojas/flat-cache/issues/16)) - [12293be]( https://github.com/royriojas/flat-cache/commit/12293be ), [Ozair Patel](https://github.com/Ozair Patel), 25/09/2017 14:46:38
* Added #all method
@@ -39,12 +64,12 @@
* Beautified file
- - fix changelog title style ([#14](https://github.com/royriojas/flat-cache/issues/14)) - [af8338a]( https://github.com/royriojas/flat-cache/commit/af8338a ), [前端小武](https://github.com/前端小武), 19/12/2016 23:34:48
+ - fix changelog title style ([#14](https://github.com/royriojas/flat-cache/issues/14)) - [af8338a]( https://github.com/royriojas/flat-cache/commit/af8338a ), [前端小武](https://github.com/前端小武), 19/12/2016 20:34:48
## v1.2.2
- **Bug Fixes**
- - Do not crash if cache file is invalid JSON. ([#13](https://github.com/royriojas/flat-cache/issues/13)) - [87beaa6]( https://github.com/royriojas/flat-cache/commit/87beaa6 ), [Roy Riojas](https://github.com/Roy Riojas), 19/12/2016 21:03:35
+ - Do not crash if cache file is invalid JSON. ([#13](https://github.com/royriojas/flat-cache/issues/13)) - [87beaa6]( https://github.com/royriojas/flat-cache/commit/87beaa6 ), [Roy Riojas](https://github.com/Roy Riojas), 19/12/2016 18:03:35
Fixes <a target="_blank" class="info-link" href="https://github.com/royriojas/flat-cache/issues/12"><span>#12</span></a>
@@ -55,186 +80,186 @@
If the cache is somehow not valid the cache will be discarded an a
a new cache will be stored instead
- **Other changes**
- - Added travis ci support for modern node versions ([#11](https://github.com/royriojas/flat-cache/issues/11)) - [1c2b1f7]( https://github.com/royriojas/flat-cache/commit/1c2b1f7 ), [Amila Welihinda](https://github.com/Amila Welihinda), 11/11/2016 02:47:52
+ - Added travis ci support for modern node versions ([#11](https://github.com/royriojas/flat-cache/issues/11)) - [1c2b1f7]( https://github.com/royriojas/flat-cache/commit/1c2b1f7 ), [Amila Welihinda](https://github.com/Amila Welihinda), 10/11/2016 23:47:52
- - Bumping `circular-son` version ([#10](https://github.com/royriojas/flat-cache/issues/10)) - [4d5e861]( https://github.com/royriojas/flat-cache/commit/4d5e861 ), [Andrea Giammarchi](https://github.com/Andrea Giammarchi), 02/08/2016 09:13:52
+ - Bumping `circular-son` version ([#10](https://github.com/royriojas/flat-cache/issues/10)) - [4d5e861]( https://github.com/royriojas/flat-cache/commit/4d5e861 ), [Andrea Giammarchi](https://github.com/Andrea Giammarchi), 02/08/2016 07:13:52
As mentioned in https://github.com/WebReflection/circular-json/issues/25 `circular-json` wan't rightly implementing the license field.
Latest version bump changed only that bit so that ESLint should now be happy.
## v1.2.1
- **Bug Fixes**
- - Add missing utils.js file to the package. closes [#8](https://github.com/royriojas/flat-cache/issues/8) - [ec10cf2]( https://github.com/royriojas/flat-cache/commit/ec10cf2 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:18:57
+ - Add missing utils.js file to the package. closes [#8](https://github.com/royriojas/flat-cache/issues/8) - [ec10cf2]( https://github.com/royriojas/flat-cache/commit/ec10cf2 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:18:57
## v1.2.0
- **Documentation**
- - Add documentation about noPrune option - [23e11f9]( https://github.com/royriojas/flat-cache/commit/23e11f9 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:06:49
+ - Add documentation about noPrune option - [23e11f9]( https://github.com/royriojas/flat-cache/commit/23e11f9 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:06:49
## v1.1.0
- **Features**
- - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:00:29
+ - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:00:29
- - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:58:17
+ - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:58:17
- **Bug Fixes**
- - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:18:06
+ - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:18:06
Since we control both writing and reading of JSON stream, there no needs
to handle unicode BOM.
- - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 13:11:59
+ - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 11:11:59
- **Tests Related fixes**
- - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:15:51
+ - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:15:51
- - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:36
+ - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:36
- **Refactoring**
- - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:18
+ - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:18
- **Build Scripts Changes**
- - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 17:34:40
+ - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 14:34:40
- - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 18:04:08
+ - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 15:04:08
- - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 14:54:48
+ - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 11:54:48
- **Other changes**
- - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 23:02:18
+ - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 21:02:18
## v1.0.9
- **Bug Fixes**
- - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:59:30
+ - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:59:30
## v1.0.8
- **Build Scripts Changes**
- - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:51:39
+ - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:51:39
## v1.0.7
- **Other changes**
- - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:10:57
+ - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:10:57
- **Documentation**
- - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 16:48:05
+ - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 14:48:05
## v1.0.6
- **Build Scripts Changes**
- - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 16:44:31
+ - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 14:44:31
## v1.0.5
- **Documentation**
- - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 16:35:33
+ - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 14:35:33
- **Other changes**
- - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:47:41
+ - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 13:47:41
## v1.0.11
- **Features**
- - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:00:29
-
-
- - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:58:17
+ - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:00:29
+
+ - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:58:17
+
- **Bug Fixes**
- - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:18:06
+ - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:18:06
- Since we control both writing and reading of JSON stream, there no needs
+ Since we control both writing and reading of JSON stream, there no needs
to handle unicode BOM.
- - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 13:11:59
-
+ - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 11:11:59
+
- **Tests Related fixes**
- - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:15:51
-
-
- - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:36
+ - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:15:51
+
+ - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:36
+
- **Refactoring**
- - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:18
-
+ - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:18
+
- **Build Scripts Changes**
- - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 17:34:40
-
+ - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 14:34:40
+
## v1.0.10
- **Build Scripts Changes**
- - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 18:04:08
-
-
- - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 14:54:48
-
-
- - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:51:39
+ - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 15:04:08
+
+ - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 11:54:48
- - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 16:44:31
+
+ - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:51:39
+
+ - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 14:44:31
+
- **Other changes**
- - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 23:02:18
-
-
- - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:10:57
+ - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 21:02:18
+
+ - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:10:57
- - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:47:41
-
+
+ - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 13:47:41
+
- **Bug Fixes**
- - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:59:30
+ - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:59:30
- **Documentation**
- - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 16:48:05
-
-
- - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 16:35:33
+ - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 14:48:05
+
+ - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 14:35:33
- - Add documentation about `clearAll` and `clearCacheById` - [13947c1]( https://github.com/royriojas/flat-cache/commit/13947c1 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:44:05
+
+ - Add documentation about `clearAll` and `clearCacheById` - [13947c1]( https://github.com/royriojas/flat-cache/commit/13947c1 ), [Roy Riojas](https://github.com/Roy Riojas), 01/03/2015 23:44:05
- **Refactoring**
- - load a cache file using the full filepath - [b8f68c2]( https://github.com/royriojas/flat-cache/commit/b8f68c2 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 06:19:14
-
+ - load a cache file using the full filepath - [b8f68c2]( https://github.com/royriojas/flat-cache/commit/b8f68c2 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 04:19:14
+
- **Features**
- - Add methods to remove the cache documents created - [af40443]( https://github.com/royriojas/flat-cache/commit/af40443 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:39:27
+ - Add methods to remove the cache documents created - [af40443]( https://github.com/royriojas/flat-cache/commit/af40443 ), [Roy Riojas](https://github.com/Roy Riojas), 01/03/2015 23:39:27
## v1.0.1
- **Other changes**
- - Update README.md - [c2b6805]( https://github.com/royriojas/flat-cache/commit/c2b6805 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:28:07
+ - Update README.md - [c2b6805]( https://github.com/royriojas/flat-cache/commit/c2b6805 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:28:07
## v1.0.0
- **Refactoring**
- - flat-cache v.1.0.0 - [c984274]( https://github.com/royriojas/flat-cache/commit/c984274 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:11:50
+ - flat-cache v.1.0.0 - [c984274]( https://github.com/royriojas/flat-cache/commit/c984274 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:11:50
- **Other changes**
- - Initial commit - [d43cccf]( https://github.com/royriojas/flat-cache/commit/d43cccf ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:12:16
+ - Initial commit - [d43cccf]( https://github.com/royriojas/flat-cache/commit/d43cccf ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 01:12:16
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/del.js b/tools/node_modules/eslint/node_modules/flat-cache/del.js
new file mode 100644
index 0000000000..542baac70a
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/flat-cache/del.js
@@ -0,0 +1,13 @@
+var rimraf = require( 'rimraf' ).sync;
+var fs = require( 'graceful-fs' );
+
+module.exports = function del( file ) {
+ if ( fs.existsSync( file ) ) {
+ //if rimraf doesn't throw then the file has been deleted or didn't exist
+ rimraf( file, {
+ glob: false
+ } );
+ return true;
+ }
+ return false;
+};
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/package.json b/tools/node_modules/eslint/node_modules/flat-cache/package.json
index 5e7f5f3aca..66290b456a 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/package.json
+++ b/tools/node_modules/eslint/node_modules/flat-cache/package.json
@@ -21,8 +21,8 @@
},
"dependencies": {
"circular-json": "^0.3.1",
- "del": "^3.0.0",
"graceful-fs": "^4.1.2",
+ "rimraf": "~2.6.2",
"write": "^0.2.1"
},
"deprecated": false,
@@ -47,7 +47,8 @@
},
"files": [
"cache.js",
- "utils.js"
+ "utils.js",
+ "del.js"
],
"homepage": "https://github.com/royriojas/flat-cache#readme",
"keywords": [
@@ -73,7 +74,7 @@
},
"scripts": {
"autofix": "npm run beautify && npm run eslint-fix",
- "beautify": "esbeautifier 'cache.js' 'test/specs/**/*.js'",
+ "beautify": "esbeautifier 'cache.js' 'utils.js' 'del.js' 'test/specs/**/*.js'",
"beautify-check": "npm run beautify -- -k",
"bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v",
"bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v",
@@ -82,7 +83,7 @@
"check": "npm run beautify-check && npm run eslint",
"cover": "istanbul cover test/runner.js html text-summary",
"do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify",
- "eslint": "eslinter 'cache.js' 'utils.js' 'specs/**/*.js'",
+ "eslint": "eslinter 'cache.js' 'utils.js' 'del.js' 'specs/**/*.js'",
"eslint-fix": "npm run eslint -- --fix",
"install-hooks": "prepush install && changelogx install-hook && precommit install",
"post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify",
@@ -92,5 +93,5 @@
"verify": "npm run check && npm run test:cache",
"watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"
},
- "version": "1.3.2"
+ "version": "1.3.4"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/utils.js b/tools/node_modules/eslint/node_modules/flat-cache/utils.js
index e3654d23fa..11b41f4370 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/utils.js
+++ b/tools/node_modules/eslint/node_modules/flat-cache/utils.js
@@ -4,7 +4,7 @@ var circularJson = require( 'circular-json' );
module.exports = {
- tryParse: function ( filePath, defaultValue) {
+ tryParse: function ( filePath, defaultValue ) {
var result;
try {
result = this.readJSON( filePath );
@@ -32,7 +32,7 @@ module.exports = {
* @param {String} filePath Json filepath
* @param {*} data Object to serialize
*/
- writeJSON: function (filePath, data ) {
+ writeJSON: function ( filePath, data ) {
write.sync( filePath, circularJson.stringify( data ) );
}
diff --git a/tools/node_modules/eslint/node_modules/globals/globals.json b/tools/node_modules/eslint/node_modules/globals/globals.json
index d805cdd73c..2619096e68 100644
--- a/tools/node_modules/eslint/node_modules/globals/globals.json
+++ b/tools/node_modules/eslint/node_modules/globals/globals.json
@@ -698,6 +698,7 @@
"PushManager": false,
"PushSubscription": false,
"PushSubscriptionOptions": false,
+ "queueMicrotask": false,
"RadioNodeList": false,
"Range": false,
"ReadableStream": false,
@@ -984,6 +985,7 @@
"PerformanceTiming": false,
"postMessage": true,
"Promise": false,
+ "queueMicrotask": false,
"Request": false,
"Response": false,
"self": true,
@@ -1012,10 +1014,13 @@
"Intl": false,
"module": false,
"process": false,
+ "queueMicrotask": false,
"require": false,
"setImmediate": false,
"setInterval": false,
"setTimeout": false,
+ "TextDecoder": false,
+ "TextEncoder": false,
"URL": false,
"URLSearchParams": false
},
diff --git a/tools/node_modules/eslint/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/globals/package.json
index ef0bf02ac8..958e4c737e 100644
--- a/tools/node_modules/eslint/node_modules/globals/package.json
+++ b/tools/node_modules/eslint/node_modules/globals/package.json
@@ -41,7 +41,7 @@
"scripts": {
"test": "xo && ava"
},
- "version": "11.8.0",
+ "version": "11.9.0",
"xo": {
"ignores": [
"get-browser-globals.js"
diff --git a/tools/node_modules/eslint/node_modules/globby/index.js b/tools/node_modules/eslint/node_modules/globby/index.js
deleted file mode 100644
index 587a0fdd1c..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/index.js
+++ /dev/null
@@ -1,88 +0,0 @@
-'use strict';
-var Promise = require('pinkie-promise');
-var arrayUnion = require('array-union');
-var objectAssign = require('object-assign');
-var glob = require('glob');
-var pify = require('pify');
-
-var globP = pify(glob, Promise).bind(glob);
-
-function isNegative(pattern) {
- return pattern[0] === '!';
-}
-
-function isString(value) {
- return typeof value === 'string';
-}
-
-function assertPatternsInput(patterns) {
- if (!patterns.every(isString)) {
- throw new TypeError('patterns must be a string or an array of strings');
- }
-}
-
-function generateGlobTasks(patterns, opts) {
- patterns = [].concat(patterns);
- assertPatternsInput(patterns);
-
- var globTasks = [];
-
- opts = objectAssign({
- cache: Object.create(null),
- statCache: Object.create(null),
- realpathCache: Object.create(null),
- symlinks: Object.create(null),
- ignore: []
- }, opts);
-
- patterns.forEach(function (pattern, i) {
- if (isNegative(pattern)) {
- return;
- }
-
- var ignore = patterns.slice(i).filter(isNegative).map(function (pattern) {
- return pattern.slice(1);
- });
-
- globTasks.push({
- pattern: pattern,
- opts: objectAssign({}, opts, {
- ignore: opts.ignore.concat(ignore)
- })
- });
- });
-
- return globTasks;
-}
-
-module.exports = function (patterns, opts) {
- var globTasks;
-
- try {
- globTasks = generateGlobTasks(patterns, opts);
- } catch (err) {
- return Promise.reject(err);
- }
-
- return Promise.all(globTasks.map(function (task) {
- return globP(task.pattern, task.opts);
- })).then(function (paths) {
- return arrayUnion.apply(null, paths);
- });
-};
-
-module.exports.sync = function (patterns, opts) {
- var globTasks = generateGlobTasks(patterns, opts);
-
- return globTasks.reduce(function (matches, task) {
- return arrayUnion(matches, glob.sync(task.pattern, task.opts));
- }, []);
-};
-
-module.exports.generateGlobTasks = generateGlobTasks;
-
-module.exports.hasMagic = function (patterns, opts) {
- return [].concat(patterns).some(function (pattern) {
- return glob.hasMagic(pattern, opts);
- });
-};
diff --git a/tools/node_modules/eslint/node_modules/globby/license b/tools/node_modules/eslint/node_modules/globby/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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/node_modules/globby/node_modules/pify/index.js b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/index.js
deleted file mode 100644
index 7c720ebee8..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/index.js
+++ /dev/null
@@ -1,68 +0,0 @@
-'use strict';
-
-var processFn = function (fn, P, opts) {
- return function () {
- var that = this;
- var args = new Array(arguments.length);
-
- for (var i = 0; i < arguments.length; i++) {
- args[i] = arguments[i];
- }
-
- return new P(function (resolve, reject) {
- args.push(function (err, result) {
- if (err) {
- reject(err);
- } else if (opts.multiArgs) {
- var results = new Array(arguments.length - 1);
-
- for (var i = 1; i < arguments.length; i++) {
- results[i - 1] = arguments[i];
- }
-
- resolve(results);
- } else {
- resolve(result);
- }
- });
-
- fn.apply(that, args);
- });
- };
-};
-
-var pify = module.exports = function (obj, P, opts) {
- if (typeof P !== 'function') {
- opts = P;
- P = Promise;
- }
-
- opts = opts || {};
- opts.exclude = opts.exclude || [/.+Sync$/];
-
- var filter = function (key) {
- var match = function (pattern) {
- return typeof pattern === 'string' ? key === pattern : pattern.test(key);
- };
-
- return opts.include ? opts.include.some(match) : !opts.exclude.some(match);
- };
-
- var ret = typeof obj === 'function' ? function () {
- if (opts.excludeMain) {
- return obj.apply(this, arguments);
- }
-
- return processFn(obj, P, opts).apply(this, arguments);
- } : {};
-
- return Object.keys(obj).reduce(function (ret, key) {
- var x = obj[key];
-
- ret[key] = typeof x === 'function' && filter(key) ? processFn(x, P, opts) : x;
-
- return ret;
- }, ret);
-};
-
-pify.all = pify;
diff --git a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/license b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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/node_modules/globby/node_modules/pify/package.json b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/package.json
deleted file mode 100644
index 40780115cf..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/package.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/pify/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Promisify a callback-style function",
- "devDependencies": {
- "ava": "*",
- "pinkie-promise": "^1.0.0",
- "v8-natives": "0.0.2",
- "xo": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/pify#readme",
- "keywords": [
- "promise",
- "promises",
- "promisify",
- "denodify",
- "denodeify",
- "callback",
- "cb",
- "node",
- "then",
- "thenify",
- "convert",
- "transform",
- "wrap",
- "wrapper",
- "bind",
- "to",
- "async",
- "es2015"
- ],
- "license": "MIT",
- "name": "pify",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/pify.git"
- },
- "scripts": {
- "optimization-test": "node --allow-natives-syntax optimization-test.js",
- "test": "xo && ava && npm run optimization-test"
- },
- "version": "2.3.0"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/readme.md b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/readme.md
deleted file mode 100644
index 97aeeb628b..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/readme.md
+++ /dev/null
@@ -1,119 +0,0 @@
-# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify)
-
-> Promisify a callback-style function
-
-
-## Install
-
-```
-$ npm install --save pify
-```
-
-
-## Usage
-
-```js
-const fs = require('fs');
-const pify = require('pify');
-
-// promisify a single function
-
-pify(fs.readFile)('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-
-// or promisify all methods in a module
-
-pify(fs).readFile('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-```
-
-
-## API
-
-### pify(input, [promiseModule], [options])
-
-Returns a promise wrapped version of the supplied function or module.
-
-#### input
-
-Type: `function`, `object`
-
-Callback-style function or module whose methods you want to promisify.
-
-#### promiseModule
-
-Type: `function`
-
-Custom promise module to use instead of the native one.
-
-Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill.
-
-#### options
-
-##### multiArgs
-
-Type: `boolean`
-Default: `false`
-
-By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument.
-
-```js
-const request = require('request');
-const pify = require('pify');
-
-pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => {
- const [httpResponse, body] = result;
-});
-```
-
-##### include
-
-Type: `array` of (`string`|`regex`)
-
-Methods in a module to promisify. Remaining methods will be left untouched.
-
-##### exclude
-
-Type: `array` of (`string`|`regex`)
-Default: `[/.+Sync$/]`
-
-Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default.
-
-##### excludeMain
-
-Type: `boolean`
-Default: `false`
-
-By default, if given module is a function itself, this function will be promisified. Turn this option on if you want to promisify only methods of the module.
-
-```js
-const pify = require('pify');
-
-function fn() {
- return true;
-}
-
-fn.method = (data, callback) => {
- setImmediate(() => {
- callback(data, null);
- });
-};
-
-// promisify methods but not fn()
-const promiseFn = pify(fn, {excludeMain: true});
-
-if (promiseFn()) {
- promiseFn.method('hi').then(data => {
- console.log(data);
- });
-}
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/globby/package.json b/tools/node_modules/eslint/node_modules/globby/package.json
deleted file mode 100644
index fad7fc1796..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/package.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/globby/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "deprecated": false,
- "description": "Extends `glob` with support for multiple patterns and exposes a Promise API",
- "devDependencies": {
- "ava": "*",
- "glob-stream": "github:gulpjs/glob-stream#master",
- "globby": "github:sindresorhus/globby#master",
- "matcha": "^0.7.0",
- "rimraf": "^2.2.8",
- "xo": "^0.16.0"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/globby#readme",
- "keywords": [
- "all",
- "array",
- "directories",
- "dirs",
- "expand",
- "files",
- "filesystem",
- "filter",
- "find",
- "fnmatch",
- "folders",
- "fs",
- "glob",
- "globbing",
- "globs",
- "gulpfriendly",
- "match",
- "matcher",
- "minimatch",
- "multi",
- "multiple",
- "paths",
- "pattern",
- "patterns",
- "traverse",
- "util",
- "utility",
- "wildcard",
- "wildcards",
- "promise"
- ],
- "license": "MIT",
- "name": "globby",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/globby.git"
- },
- "scripts": {
- "bench": "npm update glob-stream && matcha bench.js",
- "test": "xo && ava"
- },
- "version": "6.1.0"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/globby/readme.md b/tools/node_modules/eslint/node_modules/globby/readme.md
deleted file mode 100644
index e10a48868f..0000000000
--- a/tools/node_modules/eslint/node_modules/globby/readme.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# globby [![Build Status](https://travis-ci.org/sindresorhus/globby.svg?branch=master)](https://travis-ci.org/sindresorhus/globby)
-
-> Extends [glob](https://github.com/isaacs/node-glob) with support for multiple patterns and exposes a Promise API
-
-
-## Install
-
-```
-$ npm install --save globby
-```
-
-
-## Usage
-
-```
-├── unicorn
-├── cake
-└── rainbow
-```
-
-```js
-const globby = require('globby');
-
-globby(['*', '!cake']).then(paths => {
- console.log(paths);
- //=> ['unicorn', 'rainbow']
-});
-```
-
-
-## API
-
-### globby(patterns, [options])
-
-Returns a Promise for an array of matching paths.
-
-### globby.sync(patterns, [options])
-
-Returns an array of matching paths.
-
-### globby.generateGlobTasks(patterns, [options])
-
-Returns an array of objects in the format `{ pattern: string, opts: Object }`, which can be passed as arguments to [`node-glob`](https://github.com/isaacs/node-glob). This is useful for other globbing-related packages.
-
-Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration.
-
-### globby.hasMagic(patterns, [options])
-
-Returns a `boolean` of whether there are any special glob characters in the `patterns`.
-
-Note that the options affect the results. If `noext: true` is set, then `+(a|b)` will not be considered a magic pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}`, then that is considered magical, unless `nobrace: true` is set.
-
-#### patterns
-
-Type: `string` `Array`
-
-See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
-
-#### options
-
-Type: `Object`
-
-See the `node-glob` [options](https://github.com/isaacs/node-glob#options).
-
-
-## Globbing patterns
-
-Just a quick overview.
-
-- `*` matches any number of characters, but not `/`
-- `?` matches a single character, but not `/`
-- `**` matches any number of characters, including `/`, as long as it's the only thing in a path part
-- `{}` allows for a comma-separated list of "or" expressions
-- `!` at the beginning of a pattern will negate the match
-
-[Various patterns and expected matches.](https://github.com/sindresorhus/multimatch/blob/master/test.js)
-
-
-## Related
-
-- [multimatch](https://github.com/sindresorhus/multimatch) - Match against a list instead of the filesystem
-- [glob-stream](https://github.com/wearefractal/glob-stream) - Streaming alternative
-- [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/inquirer/README.md b/tools/node_modules/eslint/node_modules/inquirer/README.md
new file mode 100644
index 0000000000..1038bbd526
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/README.md
@@ -0,0 +1,424 @@
+<img width="75px" height="75px" align="right" alt="Inquirer Logo" src="https://raw.githubusercontent.com/SBoudrias/Inquirer.js/master/assets/inquirer_readme.svg?sanitize=true" title="Inquirer.js"/>
+
+# Inquirer.js
+
+[![npm](https://badge.fury.io/js/inquirer.svg)](http://badge.fury.io/js/inquirer) [![tests](https://travis-ci.org/SBoudrias/Inquirer.js.svg?branch=master)](http://travis-ci.org/SBoudrias/Inquirer.js) [![Coverage Status](https://codecov.io/gh/SBoudrias/Inquirer.js/branch/master/graph/badge.svg)](https://codecov.io/gh/SBoudrias/Inquirer.js) [![dependencies](https://david-dm.org/SBoudrias/Inquirer.js.svg?theme=shields.io)](https://david-dm.org/SBoudrias/Inquirer.js)
+
+A collection of common interactive command line user interfaces.
+
+**Version 4.x** only supports Node 6 and over. For Node 4 support please use [version 3.x](https://github.com/SBoudrias/Inquirer.js/tree/v3.3.0).
+
+## Table of Contents
+
+1. [Documentation](#documentation)
+ 1. [Installation](#installation)
+ 2. [Examples](#examples)
+ 3. [Methods](#methods)
+ 4. [Objects](#objects)
+ 5. [Questions](#questions)
+ 6. [Answers](#answers)
+ 7. [Separator](#separator)
+ 8. [Prompt Types](#prompt)
+2. [User Interfaces and Layouts](#layouts)
+ 1. [Reactive Interface](#reactive)
+3. [Support](#support)
+4. [News](#news)
+5. [Contributing](#contributing)
+6. [License](#license)
+7. [Plugins](#plugins)
+
+## Goal and Philosophy
+
+**`Inquirer.js`** strives to be an easily embeddable and beautiful command line interface for [Node.js](https://nodejs.org/) (and perhaps the "CLI [Xanadu](https://en.wikipedia.org/wiki/Citizen_Kane)").
+
+**`Inquirer.js`** should ease the process of
+
+- providing _error feedback_
+- _asking questions_
+- _parsing_ input
+- _validating_ answers
+- managing _hierarchical prompts_
+
+> **Note:** **`Inquirer.js`** provides the user interface and the inquiry session flow. If you're searching for a full blown command line program utility, then check out [commander](https://github.com/visionmedia/commander.js), [vorpal](https://github.com/dthree/vorpal) or [args](https://github.com/leo/args).
+
+## [Documentation](#documentation)
+
+<a name="documentation"></a>
+
+### Installation
+
+<a name="installation"></a>
+
+```shell
+npm install inquirer
+```
+
+```javascript
+var inquirer = require('inquirer');
+inquirer
+ .prompt([
+ /* Pass your questions in here */
+ ])
+ .then(answers => {
+ // Use user feedback for... whatever!!
+ });
+```
+
+<a name="examples"></a>
+
+### Examples (Run it and see it)
+
+Check out the [`packages/inquirer/examples/`](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/inquirer/examples) folder for code and interface examples.
+
+```shell
+node packages/inquirer/examples/pizza.js
+node packages/inquirer/examples/checkbox.js
+# etc...
+```
+
+### Methods
+
+<a name="methods"></a>
+
+#### `inquirer.prompt(questions) -> promise`
+
+Launch the prompt interface (inquiry session)
+
+- **questions** (Array) containing [Question Object](#question) (using the [reactive interface](#reactive-interface), you can also pass a `Rx.Observable` instance)
+- returns a **Promise**
+
+#### `inquirer.registerPrompt(name, prompt)`
+
+Register prompt plugins under `name`.
+
+- **name** (string) name of the this new prompt. (used for question `type`)
+- **prompt** (object) the prompt object itself (the plugin)
+
+#### `inquirer.createPromptModule() -> prompt function`
+
+Create a self contained inquirer module. If you don't want to affect other libraries that also rely on inquirer when you overwrite or add new prompt types.
+
+```js
+var prompt = inquirer.createPromptModule();
+
+prompt(questions).then(/* ... */);
+```
+
+### Objects
+
+<a name="objects"></a>
+
+#### Question
+
+<a name="questions"></a>
+A question object is a `hash` containing question related values:
+
+- **type**: (String) Type of the prompt. Defaults: `input` - Possible values: `input`, `confirm`,
+ `list`, `rawlist`, `expand`, `checkbox`, `password`, `editor`
+- **name**: (String) The name to use when storing the answer in the answers hash. If the name contains periods, it will define a path in the answers hash.
+- **message**: (String|Function) The question to print. If defined as a function, the first parameter will be the current inquirer session answers. Defaults to the value of `name` (followed by a colon).
+- **default**: (String|Number|Boolean|Array|Function) Default value(s) to use if nothing is entered, or a function that returns the default value(s). If defined as a function, the first parameter will be the current inquirer session answers.
+- **choices**: (Array|Function) Choices array or a function returning a choices array. If defined as a function, the first parameter will be the current inquirer session answers.
+ Array values can be simple `strings`, or `objects` containing a `name` (to display in list), a `value` (to save in the answers hash) and a `short` (to display after selection) properties. The choices array can also contain [a `Separator`](#separator).
+- **validate**: (Function) Receive the user input and answers hash. Should return `true` if the value is valid, and an error message (`String`) otherwise. If `false` is returned, a default error message is provided.
+- **filter**: (Function) Receive the user input and return the filtered value to be used inside the program. The value returned will be added to the _Answers_ hash.
+- **transformer**: (Function) Receive the user input, answers hash and option flags, and return a transformed value to display to the user. The transformation only impacts what is shown while editing. It does not modify the answers hash.
+- **when**: (Function, Boolean) Receive the current user answers hash and should return `true` or `false` depending on whether or not this question should be asked. The value can also be a simple boolean.
+- **pageSize**: (Number) Change the number of lines that will be rendered when using `list`, `rawList`, `expand` or `checkbox`.
+- **prefix**: (String) Change the default _prefix_ message.
+- **suffix**: (String) Change the default _suffix_ message.
+
+`default`, `choices`(if defined as functions), `validate`, `filter` and `when` functions can be called asynchronously. Either return a promise or use `this.async()` to get a callback you'll call with the final value.
+
+```javascript
+{
+ /* Preferred way: with promise */
+ filter() {
+ return new Promise(/* etc... */);
+ },
+
+ /* Legacy way: with this.async */
+ validate: function (input) {
+ // Declare function as asynchronous, and save the done callback
+ var done = this.async();
+
+ // Do async stuff
+ setTimeout(function() {
+ if (typeof input !== 'number') {
+ // Pass the return value in the done callback
+ done('You need to provide a number');
+ return;
+ }
+ // Pass the return value in the done callback
+ done(null, true);
+ }, 3000);
+ }
+}
+```
+
+### Answers
+
+<a name="answers"></a>
+A key/value hash containing the client answers in each prompt.
+
+- **Key** The `name` property of the _question_ object
+- **Value** (Depends on the prompt)
+ - `confirm`: (Boolean)
+ - `input` : User input (filtered if `filter` is defined) (String)
+ - `rawlist`, `list` : Selected choice value (or name if no value specified) (String)
+
+### Separator
+
+<a name="separator"></a>
+A separator can be added to any `choices` array:
+
+```
+// In the question object
+choices: [ "Choice A", new inquirer.Separator(), "choice B" ]
+
+// Which'll be displayed this way
+[?] What do you want to do?
+ > Order a pizza
+ Make a reservation
+ --------
+ Ask opening hours
+ Talk to the receptionist
+```
+
+The constructor takes a facultative `String` value that'll be use as the separator. If omitted, the separator will be `--------`.
+
+Separator instances have a property `type` equal to `separator`. This should allow tools façading Inquirer interface from detecting separator types in lists.
+
+<a name="prompt"></a>
+
+### Prompt types
+
+---
+
+> **Note:**: _allowed options written inside square brackets (`[]`) are optional. Others are required._
+
+#### List - `{type: 'list'}`
+
+Take `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that
+default must be the choice `index` in the array or a choice `value`)
+
+![List prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/list.svg)
+
+---
+
+#### Raw List - `{type: 'rawlist'}`
+
+Take `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that
+default must be the choice `index` in the array)
+
+![Raw list prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/rawlist.svg)
+
+---
+
+#### Expand - `{type: 'expand'}`
+
+Take `type`, `name`, `message`, `choices`[, `default`] properties. (Note that
+default must be the choice `index` in the array. If `default` key not provided, then `help` will be used as default choice)
+
+Note that the `choices` object will take an extra parameter called `key` for the `expand` prompt. This parameter must be a single (lowercased) character. The `h` option is added by the prompt and shouldn't be defined by the user.
+
+See `examples/expand.js` for a running example.
+
+![Expand prompt closed](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/expand-y.svg)
+![Expand prompt expanded](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/expand-d.svg)
+
+---
+
+#### Checkbox - `{type: 'checkbox'}`
+
+Take `type`, `name`, `message`, `choices`[, `filter`, `validate`, `default`] properties. `default` is expected to be an Array of the checked choices value.
+
+Choices marked as `{checked: true}` will be checked by default.
+
+Choices whose property `disabled` is truthy will be unselectable. If `disabled` is a string, then the string will be outputted next to the disabled choice, otherwise it'll default to `"Disabled"`. The `disabled` property can also be a synchronous function receiving the current answers as argument and returning a boolean or a string.
+
+![Checkbox prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/checkbox.svg)
+
+---
+
+#### Confirm - `{type: 'confirm'}`
+
+Take `type`, `name`, `message`, [`default`] properties. `default` is expected to be a boolean if used.
+
+![Confirm prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/confirm.svg)
+
+---
+
+#### Input - `{type: 'input'}`
+
+Take `type`, `name`, `message`[, `default`, `filter`, `validate`, `transformer`] properties.
+
+![Input prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/input.svg)
+
+---
+
+#### Password - `{type: 'password'}`
+
+Take `type`, `name`, `message`, `mask`,[, `default`, `filter`, `validate`] properties.
+
+![Password prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/password.svg)
+
+---
+
+Note that `mask` is required to hide the actual user input.
+
+#### Editor - `{type: 'editor'}`
+
+Take `type`, `name`, `message`[, `default`, `filter`, `validate`] properties
+
+Launches an instance of the users preferred editor on a temporary file. Once the user exits their editor, the contents of the temporary file are read in as the result. The editor to use is determined by reading the $VISUAL or $EDITOR environment variables. If neither of those are present, notepad (on Windows) or vim (Linux or Mac) is used.
+
+<a name="layouts"></a>
+
+## User Interfaces and layouts
+
+Along with the prompts, Inquirer offers some basic text UI.
+
+#### Bottom Bar - `inquirer.ui.BottomBar`
+
+This UI present a fixed text at the bottom of a free text zone. This is useful to keep a message to the bottom of the screen while outputting command outputs on the higher section.
+
+```javascript
+var ui = new inquirer.ui.BottomBar();
+
+// pipe a Stream to the log zone
+outputStream.pipe(ui.log);
+
+// Or simply write output
+ui.log.write('something just happened.');
+ui.log.write('Almost over, standby!');
+
+// During processing, update the bottom bar content to display a loader
+// or output a progress bar, etc
+ui.updateBottomBar('new bottom bar content');
+```
+
+<a name="reactive"></a>
+
+## Reactive interface
+
+Internally, Inquirer uses the [JS reactive extension](https://github.com/ReactiveX/rxjs) to handle events and async flows.
+
+This mean you can take advantage of this feature to provide more advanced flows. For example, you can dynamically add questions to be asked:
+
+```js
+var prompts = new Rx.Subject();
+inquirer.prompt(prompts);
+
+// At some point in the future, push new questions
+prompts.next({
+ /* question... */
+});
+prompts.next({
+ /* question... */
+});
+
+// When you're done
+prompts.complete();
+```
+
+And using the return value `process` property, you can access more fine grained callbacks:
+
+```js
+inquirer.prompt(prompts).ui.process.subscribe(onEachAnswer, onError, onComplete);
+```
+
+## Support (OS Terminals)
+
+<a name="support"></a>
+
+You should expect mostly good support for the CLI below. This does not mean we won't
+look at issues found on other command line - feel free to report any!
+
+- **Mac OS**:
+ - Terminal.app
+ - iTerm
+- **Windows**:
+ - [ConEmu](https://conemu.github.io/)
+ - cmd.exe
+ - Powershell
+ - Cygwin
+- **Linux (Ubuntu, openSUSE, Arch Linux, etc)**:
+ - gnome-terminal (Terminal GNOME)
+ - konsole
+
+## News on the march (Release notes)
+
+<a name="news"></a>
+
+Please refer to the [Github releases section for the changelog](https://github.com/SBoudrias/Inquirer.js/releases)
+
+## Contributing
+
+<a name="contributing"></a>
+
+**Unit test**
+Unit test are written in [Mocha](https://mochajs.org/). Please add a unit test for every new feature or bug fix. `npm test` to run the test suite.
+
+**Documentation**
+Add documentation for every API change. Feel free to send typo fixes and better docs!
+
+We're looking to offer good support for multiple prompts and environments. If you want to
+help, we'd like to keep a list of testers for each terminal/OS so we can contact you and
+get feedback before release. Let us know if you want to be added to the list (just tweet
+to [@vaxilart](https://twitter.com/Vaxilart)) or just add your name to [the wiki](https://github.com/SBoudrias/Inquirer.js/wiki/Testers)
+
+## License
+
+<a name="license"></a>
+
+Copyright (c) 2016 Simon Boudrias (twitter: [@vaxilart](https://twitter.com/Vaxilart))
+Licensed under the MIT license.
+
+## Plugins
+
+<a name="plugins"></a>
+
+### Prompts
+
+[**autocomplete**](https://github.com/mokkabonna/inquirer-autocomplete-prompt)<br>
+Presents a list of options as the user types, compatible with other packages such as fuzzy (for search)<br>
+<br>
+![autocomplete prompt](https://github.com/mokkabonna/inquirer-autocomplete-prompt/raw/master/inquirer.gif)
+
+[**checkbox-plus**](https://github.com/faressoft/inquirer-checkbox-plus-prompt)<br>
+Checkbox list with autocomplete and other additions<br>
+<br>
+![checkbox-plus](https://github.com/faressoft/inquirer-checkbox-plus-prompt/raw/master/demo.gif)
+
+[**datetime**](https://github.com/DerekTBrown/inquirer-datepicker-prompt)<br>
+Customizable date/time selector using both number pad and arrow keys<br>
+<br>
+![Datetime Prompt](https://github.com/DerekTBrown/inquirer-datepicker-prompt/raw/master/example/datetime-prompt.png)
+
+[**inquirer-select-line**](https://github.com/adam-golab/inquirer-select-line)<br>
+Prompt for selecting index in array where add new element<br>
+<br>
+![inquirer-select-line gif](https://media.giphy.com/media/xUA7b1MxpngddUvdHW/giphy.gif)
+
+[**command**](https://github.com/sullof/inquirer-command-prompt)<br>
+<br>
+Simple prompt with command history and dynamic autocomplete
+
+[**inquirer-fuzzy-path**](https://github.com/adelsz/inquirer-fuzzy-path)<br>
+Prompt for fuzzy file/directory selection.<br>
+<br>
+![inquirer-fuzzy-path](https://raw.githubusercontent.com/adelsz/inquirer-fuzzy-path/master/recording.gif)
+
+[**inquirer-chalk-pipe**](https://github.com/LitoMore/inquirer-chalk-pipe)<br>
+Prompt for input chalk-pipe style strings<br>
+<br>
+![inquirer-chalk-pipe](https://github.com/LitoMore/inquirer-chalk-pipe/raw/master/screenshot.gif)
+
+[**inquirer-search-checkbox**](https://github.com/clinyong/inquirer-search-checkbox)<br>
+Searchable Inquirer checkbox<br>
+
+[**inquirer-prompt-suggest**](https://github.com/olistic/inquirer-prompt-suggest)<br>
+Inquirer prompt for your less creative users.
+
+![inquirer-prompt-suggest](https://user-images.githubusercontent.com/5600126/40391192-d4f3d6d0-5ded-11e8-932f-4b75b642c09e.gif)
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js
index d27d46d85d..f1e3bad2e5 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js
@@ -29,7 +29,6 @@ class CheckboxPrompt extends Base {
}
this.pointer = 0;
- this.firstRender = true;
// Make sure no default is set (so it won't be printed)
this.opt.default = null;
@@ -87,7 +86,7 @@ class CheckboxPrompt extends Base {
var message = this.getQuestion();
var bottomContent = '';
- if (this.firstRender) {
+ if (!this.spaceKeyPressed) {
message +=
'(Press ' +
chalk.cyan.bold('<space>') +
@@ -166,6 +165,7 @@ class CheckboxPrompt extends Base {
}
onSpaceKey() {
+ this.spaceKeyPressed = true;
this.toggleChoice(this.pointer);
this.render();
}
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
index 1acdc86327..6b85d98cf6 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
@@ -37,11 +37,9 @@ class PasswordPrompt extends Base {
validation.success.forEach(this.onEnd.bind(this));
validation.error.forEach(this.onError.bind(this));
- if (this.opt.mask) {
- events.keypress
- .pipe(takeUntil(validation.success))
- .forEach(this.onKeypress.bind(this));
- }
+ events.keypress
+ .pipe(takeUntil(validation.success))
+ .forEach(this.onKeypress.bind(this));
// Init
this.render();
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
index 33f2ead18a..4e0bcab0f6 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
@@ -67,6 +67,10 @@ class RawListPrompt extends Base {
events.keypress
.pipe(takeUntil(validation.success))
.forEach(this.onKeypress.bind(this));
+ events.normalizedUpKey.pipe(takeUntil(events.line)).forEach(this.onUpKey.bind(this));
+ events.normalizedDownKey
+ .pipe(takeUntil(events.line))
+ .forEach(this.onDownKey.bind(this));
// Init the prompt
this.render();
@@ -146,6 +150,34 @@ class RawListPrompt extends Base {
this.render();
}
+
+ /**
+ * When user press up key
+ */
+
+ onUpKey() {
+ this.onArrowKey('up');
+ }
+
+ /**
+ * When user press down key
+ */
+
+ onDownKey() {
+ this.onArrowKey('down');
+ }
+
+ /**
+ * When user press up or down key
+ * @param {String} type Arrow type: up or down
+ */
+
+ onArrowKey(type) {
+ var index = this.rl.line.length ? Number(this.rl.line) - 1 : 0;
+ index += type === 'up' ? -1 : 1;
+ this.rl.line = String(index + 1);
+ this.onKeypress();
+ }
}
/**
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/index.js b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/index.js
new file mode 100644
index 0000000000..76d354a9af
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/index.js
@@ -0,0 +1,14 @@
+'use strict';
+
+module.exports = options => {
+ options = Object.assign({
+ onlyFirst: false
+ }, options);
+
+ const pattern = [
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
+ ].join('|');
+
+ return new RegExp(pattern, options.onlyFirst ? undefined : 'g');
+};
diff --git a/tools/node_modules/eslint/node_modules/del/license b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/license
index e7af2f7710..e7af2f7710 100644
--- a/tools/node_modules/eslint/node_modules/del/license
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/license
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/package.json b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/package.json
new file mode 100644
index 0000000000..bcc09292f6
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/package.json
@@ -0,0 +1,62 @@
+{
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/chalk/ansi-regex/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Regular expression for matching ANSI escape codes",
+ "devDependencies": {
+ "ava": "^0.25.0",
+ "xo": "^0.23.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/chalk/ansi-regex#readme",
+ "keywords": [
+ "ansi",
+ "styles",
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "cli",
+ "string",
+ "tty",
+ "escape",
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "command-line",
+ "text",
+ "regex",
+ "regexp",
+ "re",
+ "match",
+ "test",
+ "find",
+ "pattern"
+ ],
+ "license": "MIT",
+ "name": "ansi-regex",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/chalk/ansi-regex.git"
+ },
+ "scripts": {
+ "test": "xo && ava",
+ "view-supported": "node fixtures/view-codes.js"
+ },
+ "version": "4.0.0"
+} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/readme.md b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/readme.md
new file mode 100644
index 0000000000..1b9d5fa98a
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/readme.md
@@ -0,0 +1,65 @@
+# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex)
+
+> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
+
+
+## Install
+
+```
+$ npm install ansi-regex
+```
+
+
+## Usage
+
+```js
+const ansiRegex = require('ansi-regex');
+
+ansiRegex().test('\u001B[4mcake\u001B[0m');
+//=> true
+
+ansiRegex().test('cake');
+//=> false
+
+'\u001B[4mcake\u001B[0m'.match(ansiRegex());
+//=> ['\u001B[4m', '\u001B[0m']
+
+'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
+//=> ['\u001B[4m']
+```
+
+
+## API
+
+### ansiRegex([options])
+
+Returns a regex for matching ANSI escape codes.
+
+#### options
+
+##### onlyFirst
+
+Type: `boolean`<br>
+Default: `false` *(Matches any ANSI escape codes in a string)*
+
+Match only the first ANSI escape.
+
+
+## FAQ
+
+### Why do you test for codes not in the ECMA 48 standard?
+
+Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
+
+On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
+
+
+## Maintainers
+
+- [Sindre Sorhus](https://github.com/sindresorhus)
+- [Josh Junon](https://github.com/qix-)
+
+
+## License
+
+MIT
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js
new file mode 100644
index 0000000000..96e0292c8e
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js
@@ -0,0 +1,4 @@
+'use strict';
+const ansiRegex = require('ansi-regex');
+
+module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;
diff --git a/tools/node_modules/eslint/node_modules/p-map/license b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/license
index e7af2f7710..e7af2f7710 100644
--- a/tools/node_modules/eslint/node_modules/p-map/license
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/license
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json
new file mode 100644
index 0000000000..8b96e6d04b
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json
@@ -0,0 +1,61 @@
+{
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/chalk/strip-ansi/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "ansi-regex": "^4.0.0"
+ },
+ "deprecated": false,
+ "description": "Strip ANSI escape codes",
+ "devDependencies": {
+ "ava": "^0.25.0",
+ "xo": "^0.23.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/chalk/strip-ansi#readme",
+ "keywords": [
+ "strip",
+ "trim",
+ "remove",
+ "ansi",
+ "styles",
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "string",
+ "tty",
+ "escape",
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
+ ],
+ "license": "MIT",
+ "name": "strip-ansi",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/chalk/strip-ansi.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "5.0.0"
+} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md
new file mode 100644
index 0000000000..d4871fb443
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md
@@ -0,0 +1,53 @@
+# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
+
+> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
+
+---
+
+<div align="center">
+ <b>
+ <a href="https://tidelift.com/subscription/pkg/npm-strip-ansi?utm_source=npm-strip-ansi&utm_medium=referral&utm_campaign=readme">Get professional support for 'strip-ansi' with a Tidelift subscription</a>
+ </b>
+ <br>
+ <sub>
+ Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
+ </sub>
+</div>
+
+---
+
+## Install
+
+```
+$ npm install strip-ansi
+```
+
+
+## Usage
+
+```js
+const stripAnsi = require('strip-ansi');
+
+stripAnsi('\u001B[4mUnicorn\u001B[0m');
+//=> 'Unicorn'
+```
+
+
+## Related
+
+- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
+- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module
+- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
+- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
+- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
+
+
+## Maintainers
+
+- [Sindre Sorhus](https://github.com/sindresorhus)
+- [Josh Junon](https://github.com/qix-)
+
+
+## License
+
+MIT
diff --git a/tools/node_modules/eslint/node_modules/inquirer/package.json b/tools/node_modules/eslint/node_modules/inquirer/package.json
index a9679e830a..6f1433efc2 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/package.json
+++ b/tools/node_modules/eslint/node_modules/inquirer/package.json
@@ -19,26 +19,26 @@
"run-async": "^2.2.0",
"rxjs": "^6.1.0",
"string-width": "^2.1.0",
- "strip-ansi": "^4.0.0",
+ "strip-ansi": "^5.0.0",
"through": "^2.3.6"
},
"deprecated": false,
"description": "A collection of common interactive command line user interfaces.",
"devDependencies": {
"chai": "^4.0.1",
- "chalk-pipe": "^1.2.0",
+ "chalk-pipe": "^2.0.0",
"cmdify": "^0.0.4",
"mocha": "^5.0.0",
"mockery": "^2.1.0",
- "nsp": "^3.0.0",
- "nyc": "^12.0.1",
- "sinon": "^5.0.0"
+ "nyc": "^13.1.0",
+ "sinon": "^7.1.1"
},
"engines": {
"node": ">=6.0.0"
},
"files": [
- "lib"
+ "lib",
+ "README.md"
],
"homepage": "https://github.com/SBoudrias/Inquirer.js#readme",
"keywords": [
@@ -57,9 +57,10 @@
"url": "git+https://github.com/SBoudrias/Inquirer.js.git"
},
"scripts": {
+ "postpublish": "rm -f README.md",
"posttest": "nyc report --reporter=text-lcov > ../../coverage/nyc-report.lcov",
- "prepublish": "nsp check",
+ "prepublishOnly": "cp ../../README.md .",
"test": "nyc mocha test/**/* -r ./test/before"
},
- "version": "6.2.0"
+ "version": "6.2.1"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-cwd/index.js b/tools/node_modules/eslint/node_modules/is-path-cwd/index.js
deleted file mode 100644
index 24b6fdea37..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-cwd/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-var path = require('path');
-
-module.exports = function (str) {
- return path.resolve(str) === path.resolve(process.cwd());
-};
diff --git a/tools/node_modules/eslint/node_modules/is-path-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-cwd/package.json
deleted file mode 100644
index cfb452cc04..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-cwd/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "http://sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/is-path-cwd/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Check if a path is CWD",
- "devDependencies": {
- "mocha": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/is-path-cwd#readme",
- "keywords": [
- "path",
- "cwd",
- "pwd",
- "check",
- "filepath",
- "file",
- "folder"
- ],
- "license": "MIT",
- "name": "is-path-cwd",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/is-path-cwd.git"
- },
- "scripts": {
- "test": "mocha"
- },
- "version": "1.0.0"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-cwd/readme.md b/tools/node_modules/eslint/node_modules/is-path-cwd/readme.md
deleted file mode 100644
index 2d9d65f989..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-cwd/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# is-path-cwd [![Build Status](https://travis-ci.org/sindresorhus/is-path-cwd.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-cwd)
-
-> Check if a path is [CWD](http://en.wikipedia.org/wiki/Working_directory)
-
-
-## Install
-
-```sh
-$ npm install --save is-path-cwd
-```
-
-
-## Usage
-
-```js
-var isPathCwd = require('is-path-cwd');
-
-isPathCwd(process.cwd());
-//=> true
-
-isPathCwd('unicorn');
-//=> false
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js b/tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js
deleted file mode 100644
index 75611656ae..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-var isPathInside = require('is-path-inside');
-
-module.exports = function (str) {
- return isPathInside(str, process.cwd());
-};
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/license b/tools/node_modules/eslint/node_modules/is-path-in-cwd/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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/node_modules/is-path-in-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json
deleted file mode 100644
index 4110075d9a..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "http://sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/is-path-in-cwd/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "is-path-inside": "^1.0.0"
- },
- "deprecated": false,
- "description": "Check if a path is in the current working directory",
- "devDependencies": {
- "mocha": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/is-path-in-cwd#readme",
- "keywords": [
- "path",
- "cwd",
- "pwd",
- "check",
- "filepath",
- "file",
- "folder",
- "in",
- "inside"
- ],
- "license": "MIT",
- "name": "is-path-in-cwd",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/is-path-in-cwd.git"
- },
- "scripts": {
- "test": "mocha"
- },
- "version": "1.0.1"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md b/tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md
deleted file mode 100644
index 81185502a8..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# is-path-in-cwd [![Build Status](https://travis-ci.org/sindresorhus/is-path-in-cwd.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-in-cwd)
-
-> Check if a path is in the [current working directory](http://en.wikipedia.org/wiki/Working_directory)
-
-
-## Install
-
-```sh
-$ npm install --save is-path-in-cwd
-```
-
-
-## Usage
-
-```js
-var isPathInCwd = require('is-path-in-cwd');
-
-isPathInCwd('unicorn');
-//=> true
-
-isPathInCwd('../rainbow');
-//=> false
-
-isPathInCwd('.');
-//=> false
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/index.js b/tools/node_modules/eslint/node_modules/is-path-inside/index.js
deleted file mode 100644
index 0a4d2fd1e5..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-var path = require('path');
-var pathIsInside = require('path-is-inside');
-
-module.exports = function (a, b) {
- a = path.resolve(a);
- b = path.resolve(b);
-
- if (a === b) {
- return false;
- }
-
- return pathIsInside(a, b);
-};
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/license b/tools/node_modules/eslint/node_modules/is-path-inside/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (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/node_modules/is-path-inside/package.json b/tools/node_modules/eslint/node_modules/is-path-inside/package.json
deleted file mode 100644
index 8686a73d3e..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/is-path-inside/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "path-is-inside": "^1.0.1"
- },
- "deprecated": false,
- "description": "Check if a path is inside another path",
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/is-path-inside#readme",
- "keywords": [
- "path",
- "inside",
- "folder",
- "directory",
- "dir",
- "file",
- "resolve"
- ],
- "license": "MIT",
- "name": "is-path-inside",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/is-path-inside.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.0.1"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/readme.md b/tools/node_modules/eslint/node_modules/is-path-inside/readme.md
deleted file mode 100644
index cc5f51625d..0000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/readme.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# is-path-inside [![Build Status](https://travis-ci.org/sindresorhus/is-path-inside.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-inside)
-
-> Check if a path is inside another path
-
-
-## Install
-
-```
-$ npm install --save is-path-inside
-```
-
-
-## Usage
-
-```js
-var isPathInside = require('is-path-inside');
-
-isPathInside('a/b/c', 'a/b');
-//=> true
-
-isPathInside('a/b/c', 'x/y');
-//=> false
-
-isPathInside('a/b/c', 'a/b/c');
-//=> false
-
-isPathInside('/Users/sindresorhus/dev/unicorn', '/Users/sindresorhus');
-//=> true
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE b/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE
deleted file mode 100644
index b291242ea6..0000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE
+++ /dev/null
@@ -1,6 +0,0 @@
-ISC License (ISC)
-Copyright 2018 Shinnosuke Watanabe
-
-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/node_modules/is-resolvable/README.md b/tools/node_modules/eslint/node_modules/is-resolvable/README.md
deleted file mode 100644
index 040c165ac8..0000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# is-resolvable
-
-[![npm version](https://img.shields.io/npm/v/is-resolvable.svg)](https://www.npmjs.com/package/is-resolvable)
-[![Build Status](https://travis-ci.org/shinnn/is-resolvable.svg?branch=master)](https://travis-ci.org/shinnn/is-resolvable)
-[![Build status](https://ci.appveyor.com/api/projects/status/ww1cdpignehlasbs?svg=true)](https://ci.appveyor.com/project/ShinnosukeWatanabe/is-resolvable)
-[![Coverage Status](https://img.shields.io/coveralls/shinnn/is-resolvable.svg)](https://coveralls.io/r/shinnn/is-resolvable)
-
-A [Node.js](https://nodejs.org/) module to check if a given module ID is resolvable with [`require()`](https://nodejs.org/api/globals.html#globals_require)
-
-```javascript
-const isResolvable = require('is-resolvable');
-
-isResolvable('fs'); //=> true
-isResolvable('path'); //=> true
-
-// When ./index.js exists
-isResolvable('./index.js') //=> true
-isResolvable('./index') //=> true
-isResolvable('.') //=> true
-```
-
-## Installation
-
-[Use](https://docs.npmjs.com/cli/install) [npm](https://docs.npmjs.com/getting-started/what-is-npm).
-
-```
-npm install is-resolvable
-```
-
-## API
-
-```javascript
-const isResolvable = require('is-resolvable');
-```
-
-### isResolvable(*moduleId* [, *options*])
-
-*moduleId*: `string` (module ID)
-*options*: `Object` ([`require.resolve`](https://nodejs.org/api/modules.html#modules_require_resolve_request_options) options)
-Return: `boolean`
-
-It returns `true` if `require()` can load a file form a given module ID, otherwise `false`.
-
-```javascript
-const isResolvable = require('is-resolvable');
-
-// When ./foo.json exists
-isResolvable('./foo.json'); //=> true
-isResolvable('./foo'); //=> true
-
-isResolvable('./foo.js'); //=> false
-
-// When `eslint` module is installed but `jshint` isn't
-isResolvable('eslint'); //=> true
-isResolvable('jshint'); //=> false
-
-// When `lodash` module is installed
-isResolvable('lodash/isObject'); //=> true
-isResolvable('lodash/fp/reject.js'); //=> true
-```
-
-The second argument accepts an options object for `require.resolve()`.
-
-```javascript
-// When ./bar/baz.js exists
-
-isResolvable('./baz.js'); //=> false
-isResolvable('./baz.js', {paths: ['bar']}); //=> true
-```
-
-## License
-
-[ISC License](./LICENSE) © 2018 Shinnosuke Watanabe
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/index.js b/tools/node_modules/eslint/node_modules/is-resolvable/index.js
deleted file mode 100644
index 1be95c0258..0000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-var inspect = require('util').inspect;
-
-module.exports = function isResolvable(moduleId, options) {
- if (typeof moduleId !== 'string') {
- throw new TypeError(inspect(moduleId) + ' is not a string. Expected a valid Node.js module identifier (<string>), for example \'eslint\', \'./index.js\', \'./lib\'.');
- }
-
- try {
- require.resolve(moduleId, options);
- return true;
- } catch (err) {
- return false;
- }
-};
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/package.json b/tools/node_modules/eslint/node_modules/is-resolvable/package.json
deleted file mode 100644
index 46538d27f7..0000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/package.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "author": {
- "name": "Shinnosuke Watanabe",
- "url": "https://github.com/shinnn"
- },
- "bugs": {
- "url": "https://github.com/shinnn/is-resolvable/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Check if a module ID is resolvable with require()",
- "devDependencies": {
- "@shinnn/eslint-config-node": "^5.0.0",
- "eslint": "^4.16.0",
- "istanbul": "^0.4.5",
- "tape": "^4.8.0"
- },
- "eslintConfig": {
- "extends": "@shinnn/node",
- "rules": {
- "no-var": "off",
- "prefer-template": "off"
- }
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/shinnn/is-resolvable#readme",
- "keywords": [
- "file",
- "path",
- "resolve",
- "resolvable",
- "check",
- "module"
- ],
- "license": "ISC",
- "name": "is-resolvable",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/shinnn/is-resolvable.git"
- },
- "scripts": {
- "coverage": "istanbul cover --print=both test.js",
- "pretest": "eslint --fix --format=codeframe index.js test.js",
- "test": "node --throw-deprecation --track-heap-objects test.js"
- },
- "version": "1.1.0"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/p-map/index.js b/tools/node_modules/eslint/node_modules/p-map/index.js
deleted file mode 100644
index f91477e1f5..0000000000
--- a/tools/node_modules/eslint/node_modules/p-map/index.js
+++ /dev/null
@@ -1,67 +0,0 @@
-'use strict';
-module.exports = (iterable, mapper, opts) => new Promise((resolve, reject) => {
- opts = Object.assign({
- concurrency: Infinity
- }, opts);
-
- if (typeof mapper !== 'function') {
- throw new TypeError('Mapper function is required');
- }
-
- const concurrency = opts.concurrency;
-
- if (!(typeof concurrency === 'number' && concurrency >= 1)) {
- throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`);
- }
-
- const ret = [];
- const iterator = iterable[Symbol.iterator]();
- let isRejected = false;
- let iterableDone = false;
- let resolvingCount = 0;
- let currentIdx = 0;
-
- const next = () => {
- if (isRejected) {
- return;
- }
-
- const nextItem = iterator.next();
- const i = currentIdx;
- currentIdx++;
-
- if (nextItem.done) {
- iterableDone = true;
-
- if (resolvingCount === 0) {
- resolve(ret);
- }
-
- return;
- }
-
- resolvingCount++;
-
- Promise.resolve(nextItem.value)
- .then(el => mapper(el, i))
- .then(
- val => {
- ret[i] = val;
- resolvingCount--;
- next();
- },
- err => {
- isRejected = true;
- reject(err);
- }
- );
- };
-
- for (let i = 0; i < concurrency; i++) {
- next();
-
- if (iterableDone) {
- break;
- }
- }
-});
diff --git a/tools/node_modules/eslint/node_modules/p-map/package.json b/tools/node_modules/eslint/node_modules/p-map/package.json
deleted file mode 100644
index 455e05c8bf..0000000000
--- a/tools/node_modules/eslint/node_modules/p-map/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/p-map/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Map over promises concurrently",
- "devDependencies": {
- "ava": "*",
- "delay": "^2.0.0",
- "in-range": "^1.0.0",
- "random-int": "^1.0.0",
- "time-span": "^2.0.0",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/p-map#readme",
- "keywords": [
- "promise",
- "map",
- "resolved",
- "wait",
- "collection",
- "iterable",
- "iterator",
- "race",
- "fulfilled",
- "async",
- "await",
- "promises",
- "concurrently",
- "concurrency",
- "parallel",
- "bluebird"
- ],
- "license": "MIT",
- "name": "p-map",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/p-map.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.2.0"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/p-map/readme.md b/tools/node_modules/eslint/node_modules/p-map/readme.md
deleted file mode 100644
index 7727581a0e..0000000000
--- a/tools/node_modules/eslint/node_modules/p-map/readme.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# p-map [![Build Status](https://travis-ci.org/sindresorhus/p-map.svg?branch=master)](https://travis-ci.org/sindresorhus/p-map)
-
-> Map over promises concurrently
-
-Useful when you need to run promise-returning & async functions multiple times with different inputs concurrently.
-
-
-## Install
-
-```
-$ npm install p-map
-```
-
-
-## Usage
-
-```js
-const pMap = require('p-map');
-const got = require('got');
-
-const sites = [
- getWebsiteFromUsername('sindresorhus'), //=> Promise
- 'ava.li',
- 'todomvc.com',
- 'github.com'
-];
-
-const mapper = el => got.head(el).then(res => res.requestUrl);
-
-pMap(sites, mapper, {concurrency: 2}).then(result => {
- console.log(result);
- //=> ['http://sindresorhus.com/', 'http://ava.li/', 'http://todomvc.com/', 'http://github.com/']
-});
-```
-
-
-## API
-
-### pMap(input, mapper, [options])
-
-Returns a `Promise` that is fulfilled when all promises in `input` and ones returned from `mapper` are fulfilled, or rejects if any of the promises reject. The fulfilled value is an `Array` of the fulfilled values returned from `mapper` in `input` order.
-
-#### input
-
-Type: `Iterable<Promise|any>`
-
-Iterated over concurrently in the `mapper` function.
-
-#### mapper(element, index)
-
-Type: `Function`
-
-Expected to return a `Promise` or value.
-
-#### options
-
-Type: `Object`
-
-##### concurrency
-
-Type: `number`<br>
-Default: `Infinity`<br>
-Minimum: `1`
-
-Number of concurrently pending promises returned by `mapper`.
-
-
-## Related
-
-- [p-all](https://github.com/sindresorhus/p-all) - Run promise-returning & async functions concurrently with optional limited concurrency
-- [p-filter](https://github.com/sindresorhus/p-filter) - Filter promises concurrently
-- [p-times](https://github.com/sindresorhus/p-times) - Run promise-returning & async functions a specific number of times concurrently
-- [p-props](https://github.com/sindresorhus/p-props) - Like `Promise.all()` but for `Map` and `Object`
-- [p-map-series](https://github.com/sindresorhus/p-map-series) - Map over promises serially
-- [p-queue](https://github.com/sindresorhus/p-queue) - Promise queue with concurrency control
-- [More…](https://github.com/sindresorhus/promise-fun)
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/pify/index.js b/tools/node_modules/eslint/node_modules/pify/index.js
deleted file mode 100644
index 1dee43ad08..0000000000
--- a/tools/node_modules/eslint/node_modules/pify/index.js
+++ /dev/null
@@ -1,84 +0,0 @@
-'use strict';
-
-const processFn = (fn, opts) => function () {
- const P = opts.promiseModule;
- const args = new Array(arguments.length);
-
- for (let i = 0; i < arguments.length; i++) {
- args[i] = arguments[i];
- }
-
- return new P((resolve, reject) => {
- if (opts.errorFirst) {
- args.push(function (err, result) {
- if (opts.multiArgs) {
- const results = new Array(arguments.length - 1);
-
- for (let i = 1; i < arguments.length; i++) {
- results[i - 1] = arguments[i];
- }
-
- if (err) {
- results.unshift(err);
- reject(results);
- } else {
- resolve(results);
- }
- } else if (err) {
- reject(err);
- } else {
- resolve(result);
- }
- });
- } else {
- args.push(function (result) {
- if (opts.multiArgs) {
- const results = new Array(arguments.length - 1);
-
- for (let i = 0; i < arguments.length; i++) {
- results[i] = arguments[i];
- }
-
- resolve(results);
- } else {
- resolve(result);
- }
- });
- }
-
- fn.apply(this, args);
- });
-};
-
-module.exports = (obj, opts) => {
- opts = Object.assign({
- exclude: [/.+(Sync|Stream)$/],
- errorFirst: true,
- promiseModule: Promise
- }, opts);
-
- const filter = key => {
- const match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key);
- return opts.include ? opts.include.some(match) : !opts.exclude.some(match);
- };
-
- let ret;
- if (typeof obj === 'function') {
- ret = function () {
- if (opts.excludeMain) {
- return obj.apply(this, arguments);
- }
-
- return processFn(obj, opts).apply(this, arguments);
- };
- } else {
- ret = Object.create(Object.getPrototypeOf(obj));
- }
-
- for (const key in obj) { // eslint-disable-line guard-for-in
- const x = obj[key];
- ret[key] = typeof x === 'function' && filter(key) ? processFn(x, opts) : x;
- }
-
- return ret;
-};
diff --git a/tools/node_modules/eslint/node_modules/pify/package.json b/tools/node_modules/eslint/node_modules/pify/package.json
deleted file mode 100644
index 37d6bd41a0..0000000000
--- a/tools/node_modules/eslint/node_modules/pify/package.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/pify/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Promisify a callback-style function",
- "devDependencies": {
- "ava": "*",
- "pinkie-promise": "^2.0.0",
- "v8-natives": "^1.0.0",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/pify#readme",
- "keywords": [
- "promise",
- "promises",
- "promisify",
- "all",
- "denodify",
- "denodeify",
- "callback",
- "cb",
- "node",
- "then",
- "thenify",
- "convert",
- "transform",
- "wrap",
- "wrapper",
- "bind",
- "to",
- "async",
- "await",
- "es2015",
- "bluebird"
- ],
- "license": "MIT",
- "name": "pify",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/pify.git"
- },
- "scripts": {
- "optimization-test": "node --allow-natives-syntax optimization-test.js",
- "test": "xo && ava && npm run optimization-test"
- },
- "version": "3.0.0"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/pify/readme.md b/tools/node_modules/eslint/node_modules/pify/readme.md
deleted file mode 100644
index 376ca4e59d..0000000000
--- a/tools/node_modules/eslint/node_modules/pify/readme.md
+++ /dev/null
@@ -1,131 +0,0 @@
-# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify)
-
-> Promisify a callback-style function
-
-
-## Install
-
-```
-$ npm install --save pify
-```
-
-
-## Usage
-
-```js
-const fs = require('fs');
-const pify = require('pify');
-
-// Promisify a single function
-pify(fs.readFile)('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-
-// Promisify all methods in a module
-pify(fs).readFile('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-```
-
-
-## API
-
-### pify(input, [options])
-
-Returns a `Promise` wrapped version of the supplied function or module.
-
-#### input
-
-Type: `Function` `Object`
-
-Callback-style function or module whose methods you want to promisify.
-
-#### options
-
-##### multiArgs
-
-Type: `boolean`<br>
-Default: `false`
-
-By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument. This also applies to rejections, where it returns an array of all the callback arguments, including the error.
-
-```js
-const request = require('request');
-const pify = require('pify');
-
-pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => {
- const [httpResponse, body] = result;
-});
-```
-
-##### include
-
-Type: `string[]` `RegExp[]`
-
-Methods in a module to promisify. Remaining methods will be left untouched.
-
-##### exclude
-
-Type: `string[]` `RegExp[]`<br>
-Default: `[/.+(Sync|Stream)$/]`
-
-Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default.
-
-##### excludeMain
-
-Type: `boolean`<br>
-Default: `false`
-
-If given module is a function itself, it will be promisified. Turn this option on if you want to promisify only methods of the module.
-
-```js
-const pify = require('pify');
-
-function fn() {
- return true;
-}
-
-fn.method = (data, callback) => {
- setImmediate(() => {
- callback(null, data);
- });
-};
-
-// Promisify methods but not `fn()`
-const promiseFn = pify(fn, {excludeMain: true});
-
-if (promiseFn()) {
- promiseFn.method('hi').then(data => {
- console.log(data);
- });
-}
-```
-
-##### errorFirst
-
-Type: `boolean`<br>
-Default: `true`
-
-Whether the callback has an error as the first argument. You'll want to set this to `false` if you're dealing with an API that doesn't have an error as the first argument, like `fs.exists()`, some browser APIs, Chrome Extension APIs, etc.
-
-##### promiseModule
-
-Type: `Function`
-
-Custom promise module to use instead of the native one.
-
-Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill.
-
-
-## Related
-
-- [p-event](https://github.com/sindresorhus/p-event) - Promisify an event by waiting for it to be emitted
-- [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently
-- [More…](https://github.com/sindresorhus/promise-fun)
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/index.js b/tools/node_modules/eslint/node_modules/pinkie-promise/index.js
deleted file mode 100644
index 777377a1f7..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = typeof Promise === 'function' ? Promise : require('pinkie');
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/license b/tools/node_modules/eslint/node_modules/pinkie-promise/license
deleted file mode 100644
index 1aeb74fd25..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Vsevolod Strukchinsky <floatdrop@gmail.com> (github.com/floatdrop)
-
-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/node_modules/pinkie-promise/package.json b/tools/node_modules/eslint/node_modules/pinkie-promise/package.json
deleted file mode 100644
index fb467d516c..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/package.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "author": {
- "name": "Vsevolod Strukchinsky",
- "email": "floatdrop@gmail.com",
- "url": "github.com/floatdrop"
- },
- "bugs": {
- "url": "https://github.com/floatdrop/pinkie-promise/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "pinkie": "^2.0.0"
- },
- "deprecated": false,
- "description": "ES2015 Promise ponyfill",
- "devDependencies": {
- "mocha": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/floatdrop/pinkie-promise#readme",
- "keywords": [
- "promise",
- "promises",
- "es2015",
- "es6",
- "polyfill",
- "ponyfill"
- ],
- "license": "MIT",
- "name": "pinkie-promise",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/floatdrop/pinkie-promise.git"
- },
- "scripts": {
- "test": "mocha"
- },
- "version": "2.0.1"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/readme.md b/tools/node_modules/eslint/node_modules/pinkie-promise/readme.md
deleted file mode 100644
index 78477f4297..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# pinkie-promise [![Build Status](https://travis-ci.org/floatdrop/pinkie-promise.svg?branch=master)](https://travis-ci.org/floatdrop/pinkie-promise)
-
-> [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) ponyfill
-
-Module exports global Promise object (if available) or [`pinkie`](http://github.com/floatdrop/pinkie) Promise polyfill.
-
-## Install
-
-```
-$ npm install --save pinkie-promise
-```
-
-## Usage
-
-```js
-var Promise = require('pinkie-promise');
-
-new Promise(function (resolve) { resolve('unicorns'); });
-//=> Promise { 'unicorns' }
-```
-
-## Related
-
-- [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function
-
-## License
-
-MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop)
diff --git a/tools/node_modules/eslint/node_modules/pinkie/index.js b/tools/node_modules/eslint/node_modules/pinkie/index.js
deleted file mode 100644
index 14ce1bfe3d..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/index.js
+++ /dev/null
@@ -1,292 +0,0 @@
-'use strict';
-
-var PENDING = 'pending';
-var SETTLED = 'settled';
-var FULFILLED = 'fulfilled';
-var REJECTED = 'rejected';
-var NOOP = function () {};
-var isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';
-
-var asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;
-var asyncQueue = [];
-var asyncTimer;
-
-function asyncFlush() {
- // run promise callbacks
- for (var i = 0; i < asyncQueue.length; i++) {
- asyncQueue[i][0](asyncQueue[i][1]);
- }
-
- // reset async asyncQueue
- asyncQueue = [];
- asyncTimer = false;
-}
-
-function asyncCall(callback, arg) {
- asyncQueue.push([callback, arg]);
-
- if (!asyncTimer) {
- asyncTimer = true;
- asyncSetTimer(asyncFlush, 0);
- }
-}
-
-function invokeResolver(resolver, promise) {
- function resolvePromise(value) {
- resolve(promise, value);
- }
-
- function rejectPromise(reason) {
- reject(promise, reason);
- }
-
- try {
- resolver(resolvePromise, rejectPromise);
- } catch (e) {
- rejectPromise(e);
- }
-}
-
-function invokeCallback(subscriber) {
- var owner = subscriber.owner;
- var settled = owner._state;
- var value = owner._data;
- var callback = subscriber[settled];
- var promise = subscriber.then;
-
- if (typeof callback === 'function') {
- settled = FULFILLED;
- try {
- value = callback(value);
- } catch (e) {
- reject(promise, e);
- }
- }
-
- if (!handleThenable(promise, value)) {
- if (settled === FULFILLED) {
- resolve(promise, value);
- }
-
- if (settled === REJECTED) {
- reject(promise, value);
- }
- }
-}
-
-function handleThenable(promise, value) {
- var resolved;
-
- try {
- if (promise === value) {
- throw new TypeError('A promises callback cannot return that same promise.');
- }
-
- if (value && (typeof value === 'function' || typeof value === 'object')) {
- // then should be retrieved only once
- var then = value.then;
-
- if (typeof then === 'function') {
- then.call(value, function (val) {
- if (!resolved) {
- resolved = true;
-
- if (value === val) {
- fulfill(promise, val);
- } else {
- resolve(promise, val);
- }
- }
- }, function (reason) {
- if (!resolved) {
- resolved = true;
-
- reject(promise, reason);
- }
- });
-
- return true;
- }
- }
- } catch (e) {
- if (!resolved) {
- reject(promise, e);
- }
-
- return true;
- }
-
- return false;
-}
-
-function resolve(promise, value) {
- if (promise === value || !handleThenable(promise, value)) {
- fulfill(promise, value);
- }
-}
-
-function fulfill(promise, value) {
- if (promise._state === PENDING) {
- promise._state = SETTLED;
- promise._data = value;
-
- asyncCall(publishFulfillment, promise);
- }
-}
-
-function reject(promise, reason) {
- if (promise._state === PENDING) {
- promise._state = SETTLED;
- promise._data = reason;
-
- asyncCall(publishRejection, promise);
- }
-}
-
-function publish(promise) {
- promise._then = promise._then.forEach(invokeCallback);
-}
-
-function publishFulfillment(promise) {
- promise._state = FULFILLED;
- publish(promise);
-}
-
-function publishRejection(promise) {
- promise._state = REJECTED;
- publish(promise);
- if (!promise._handled && isNode) {
- global.process.emit('unhandledRejection', promise._data, promise);
- }
-}
-
-function notifyRejectionHandled(promise) {
- global.process.emit('rejectionHandled', promise);
-}
-
-/**
- * @class
- */
-function Promise(resolver) {
- if (typeof resolver !== 'function') {
- throw new TypeError('Promise resolver ' + resolver + ' is not a function');
- }
-
- if (this instanceof Promise === false) {
- throw new TypeError('Failed to construct \'Promise\': Please use the \'new\' operator, this object constructor cannot be called as a function.');
- }
-
- this._then = [];
-
- invokeResolver(resolver, this);
-}
-
-Promise.prototype = {
- constructor: Promise,
-
- _state: PENDING,
- _then: null,
- _data: undefined,
- _handled: false,
-
- then: function (onFulfillment, onRejection) {
- var subscriber = {
- owner: this,
- then: new this.constructor(NOOP),
- fulfilled: onFulfillment,
- rejected: onRejection
- };
-
- if ((onRejection || onFulfillment) && !this._handled) {
- this._handled = true;
- if (this._state === REJECTED && isNode) {
- asyncCall(notifyRejectionHandled, this);
- }
- }
-
- if (this._state === FULFILLED || this._state === REJECTED) {
- // already resolved, call callback async
- asyncCall(invokeCallback, subscriber);
- } else {
- // subscribe
- this._then.push(subscriber);
- }
-
- return subscriber.then;
- },
-
- catch: function (onRejection) {
- return this.then(null, onRejection);
- }
-};
-
-Promise.all = function (promises) {
- if (!Array.isArray(promises)) {
- throw new TypeError('You must pass an array to Promise.all().');
- }
-
- return new Promise(function (resolve, reject) {
- var results = [];
- var remaining = 0;
-
- function resolver(index) {
- remaining++;
- return function (value) {
- results[index] = value;
- if (!--remaining) {
- resolve(results);
- }
- };
- }
-
- for (var i = 0, promise; i < promises.length; i++) {
- promise = promises[i];
-
- if (promise && typeof promise.then === 'function') {
- promise.then(resolver(i), reject);
- } else {
- results[i] = promise;
- }
- }
-
- if (!remaining) {
- resolve(results);
- }
- });
-};
-
-Promise.race = function (promises) {
- if (!Array.isArray(promises)) {
- throw new TypeError('You must pass an array to Promise.race().');
- }
-
- return new Promise(function (resolve, reject) {
- for (var i = 0, promise; i < promises.length; i++) {
- promise = promises[i];
-
- if (promise && typeof promise.then === 'function') {
- promise.then(resolve, reject);
- } else {
- resolve(promise);
- }
- }
- });
-};
-
-Promise.resolve = function (value) {
- if (value && typeof value === 'object' && value.constructor === Promise) {
- return value;
- }
-
- return new Promise(function (resolve) {
- resolve(value);
- });
-};
-
-Promise.reject = function (reason) {
- return new Promise(function (resolve, reject) {
- reject(reason);
- });
-};
-
-module.exports = Promise;
diff --git a/tools/node_modules/eslint/node_modules/pinkie/license b/tools/node_modules/eslint/node_modules/pinkie/license
deleted file mode 100644
index 1aeb74fd25..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Vsevolod Strukchinsky <floatdrop@gmail.com> (github.com/floatdrop)
-
-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/node_modules/pinkie/package.json b/tools/node_modules/eslint/node_modules/pinkie/package.json
deleted file mode 100644
index e554170bb8..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "author": {
- "name": "Vsevolod Strukchinsky",
- "email": "floatdrop@gmail.com",
- "url": "github.com/floatdrop"
- },
- "bugs": {
- "url": "https://github.com/floatdrop/pinkie/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Itty bitty little widdle twinkie pinkie ES2015 Promise implementation",
- "devDependencies": {
- "core-assert": "^0.1.1",
- "coveralls": "^2.11.4",
- "mocha": "*",
- "nyc": "^3.2.2",
- "promises-aplus-tests": "*",
- "xo": "^0.10.1"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/floatdrop/pinkie#readme",
- "keywords": [
- "promise",
- "promises",
- "es2015",
- "es6"
- ],
- "license": "MIT",
- "name": "pinkie",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/floatdrop/pinkie.git"
- },
- "scripts": {
- "coverage": "nyc report --reporter=text-lcov | coveralls",
- "test": "xo && nyc mocha"
- },
- "version": "2.0.4"
-} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/pinkie/readme.md b/tools/node_modules/eslint/node_modules/pinkie/readme.md
deleted file mode 100644
index 1565f95889..0000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/readme.md
+++ /dev/null
@@ -1,83 +0,0 @@
-<h1 align="center">
- <br>
- <img width="256" src="media/logo.png" alt="pinkie">
- <br>
- <br>
-</h1>
-
-> Itty bitty little widdle twinkie pinkie [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) implementation
-
-[![Build Status](https://travis-ci.org/floatdrop/pinkie.svg?branch=master)](https://travis-ci.org/floatdrop/pinkie) [![Coverage Status](https://coveralls.io/repos/floatdrop/pinkie/badge.svg?branch=master&service=github)](https://coveralls.io/github/floatdrop/pinkie?branch=master)
-
-There are [tons of Promise implementations](https://github.com/promises-aplus/promises-spec/blob/master/implementations.md#standalone) out there, but all of them focus on browser compatibility and are often bloated with functionality.
-
-This module is an exact Promise specification polyfill (like [native-promise-only](https://github.com/getify/native-promise-only)), but in Node.js land (it should be browserify-able though).
-
-
-## Install
-
-```
-$ npm install --save pinkie
-```
-
-
-## Usage
-
-```js
-var fs = require('fs');
-var Promise = require('pinkie');
-
-new Promise(function (resolve, reject) {
- fs.readFile('foo.json', 'utf8', function (err, data) {
- if (err) {
- reject(err);
- return;
- }
-
- resolve(data);
- });
-});
-//=> Promise
-```
-
-
-### API
-
-`pinkie` exports bare [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) implementation and polyfills [Node.js rejection events](https://nodejs.org/api/process.html#process_event_unhandledrejection). In case you forgot:
-
-#### new Promise(executor)
-
-Returns new instance of `Promise`.
-
-##### executor
-
-*Required*
-Type: `function`
-
-Function with two arguments `resolve` and `reject`. The first argument fulfills the promise, the second argument rejects it.
-
-#### pinkie.all(promises)
-
-Returns a promise that resolves when all of the promises in the `promises` Array argument have resolved.
-
-#### pinkie.race(promises)
-
-Returns a promise that resolves or rejects as soon as one of the promises in the `promises` Array resolves or rejects, with the value or reason from that promise.
-
-#### pinkie.reject(reason)
-
-Returns a Promise object that is rejected with the given `reason`.
-
-#### pinkie.resolve(value)
-
-Returns a Promise object that is resolved with the given `value`. If the `value` is a thenable (i.e. has a then method), the returned promise will "follow" that thenable, adopting its eventual state; otherwise the returned promise will be fulfilled with the `value`.
-
-
-## Related
-
-- [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - Returns the native Promise or this module
-
-
-## License
-
-MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop)
diff --git a/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js b/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js
index 5b56c1529d..8eb0740a72 100644
--- a/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js
+++ b/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js
@@ -98,7 +98,7 @@ ProgressBar.prototype.tick = function(len, tokens){
// progress complete
if (this.curr >= this.total) {
- this.render();
+ this.render(undefined, true);
this.complete = true;
this.terminate();
this.callback(this);
@@ -114,14 +114,15 @@ ProgressBar.prototype.tick = function(len, tokens){
* @api public
*/
-ProgressBar.prototype.render = function (tokens) {
+ProgressBar.prototype.render = function (tokens, force) {
+ force = force !== undefined ? force : false;
if (tokens) this.tokens = tokens;
if (!this.stream.isTTY) return;
var now = Date.now();
var delta = now - this.lastRender;
- if (delta < this.renderThrottle) {
+ if (!force && (delta < this.renderThrottle)) {
return;
} else {
this.lastRender = now;
diff --git a/tools/node_modules/eslint/node_modules/progress/package.json b/tools/node_modules/eslint/node_modules/progress/package.json
index d20aaf0f9e..64511f8344 100644
--- a/tools/node_modules/eslint/node_modules/progress/package.json
+++ b/tools/node_modules/eslint/node_modules/progress/package.json
@@ -43,5 +43,5 @@
"type": "git",
"url": "git://github.com/visionmedia/node-progress.git"
},
- "version": "2.0.1"
+ "version": "2.0.3"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/index.js b/tools/node_modules/eslint/node_modules/slice-ansi/index.js
index 634ee9c7be..65a1aef5c8 100755
--- a/tools/node_modules/eslint/node_modules/slice-ansi/index.js
+++ b/tools/node_modules/eslint/node_modules/slice-ansi/index.js
@@ -1,5 +1,7 @@
'use strict';
const isFullwidthCodePoint = require('is-fullwidth-code-point');
+const astralRegex = require('astral-regex');
+const ansiStyles = require('ansi-styles');
const ESCAPES = [
'\u001B',
@@ -7,55 +9,23 @@ const ESCAPES = [
];
const END_CODE = 39;
-const ASTRAL_REGEX = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
-
-const ESCAPE_CODES = new Map([
- [0, 0],
- [1, 22],
- [2, 22],
- [3, 23],
- [4, 24],
- [7, 27],
- [8, 28],
- [9, 29],
- [30, 39],
- [31, 39],
- [32, 39],
- [33, 39],
- [34, 39],
- [35, 39],
- [36, 39],
- [37, 39],
- [90, 39],
- [40, 49],
- [41, 49],
- [42, 49],
- [43, 49],
- [44, 49],
- [45, 49],
- [46, 49],
- [47, 49]
-]);
const wrapAnsi = code => `${ESCAPES[0]}[${code}m`;
module.exports = (str, begin, end) => {
- const arr = Array.from(str.normalize());
+ const arr = [...str.normalize()];
end = typeof end === 'number' ? end : arr.length;
let insideEscape = false;
- let escapeCode;
+ let escapeCode = null;
let visible = 0;
let output = '';
- for (const item of arr.entries()) {
- const i = item[0];
- const x = item[1];
-
+ for (const [i, x] of arr.entries()) {
let leftEscape = false;
- if (ESCAPES.indexOf(x) !== -1) {
+ if (ESCAPES.includes(x)) {
insideEscape = true;
const code = /\d[^m]*/.exec(str.slice(i, i + 4));
escapeCode = code === END_CODE ? null : code;
@@ -68,17 +38,17 @@ module.exports = (str, begin, end) => {
++visible;
}
- if (!ASTRAL_REGEX.test(x) && isFullwidthCodePoint(x.codePointAt())) {
+ if (!astralRegex({exact: true}).test(x) && isFullwidthCodePoint(x.codePointAt())) {
++visible;
}
if (visible > begin && visible <= end) {
output += x;
- } else if (visible === begin && !insideEscape && escapeCode !== undefined && escapeCode !== END_CODE) {
+ } else if (visible === begin && !insideEscape && escapeCode !== null && escapeCode !== END_CODE) {
output += wrapAnsi(escapeCode);
} else if (visible >= end) {
- if (escapeCode !== undefined) {
- output += wrapAnsi(ESCAPE_CODES.get(parseInt(escapeCode, 10)) || END_CODE);
+ if (escapeCode !== null) {
+ output += wrapAnsi(ansiStyles.codes.get(parseInt(escapeCode, 10)) || END_CODE);
}
break;
}
diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/package.json
index 7d63fad2d0..f0f253539f 100644
--- a/tools/node_modules/eslint/node_modules/slice-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/slice-ansi/package.json
@@ -1,26 +1,24 @@
{
- "author": {
- "name": "David Caccavella",
- "email": "threedeecee@gmail.com"
- },
"bugs": {
"url": "https://github.com/chalk/slice-ansi/issues"
},
"bundleDependencies": false,
"dependencies": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0"
},
"deprecated": false,
"description": "Slice a string with ANSI escape codes",
"devDependencies": {
- "ava": "*",
+ "ava": "^0.25.0",
"chalk": "^2.0.1",
"random-item": "^1.0.0",
- "strip-ansi": "^4.0.0",
- "xo": "*"
+ "strip-ansi": "^5.0.0",
+ "xo": "^0.23.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
},
"files": [
"index.js"
@@ -58,5 +56,5 @@
"scripts": {
"test": "xo && ava"
},
- "version": "1.0.0"
+ "version": "2.0.0"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/readme.md b/tools/node_modules/eslint/node_modules/slice-ansi/readme.md
index 628eed2e50..7e9243e46a 100755
--- a/tools/node_modules/eslint/node_modules/slice-ansi/readme.md
+++ b/tools/node_modules/eslint/node_modules/slice-ansi/readme.md
@@ -1,4 +1,4 @@
-# slice-ansi [![Build Status](https://travis-ci.org/chalk/slice-ansi.svg?branch=master)](https://travis-ci.org/chalk/slice-ansi) [![XO: Linted](https://img.shields.io/badge/xo-linted-blue.svg)](https://github.com/sindresorhus/xo)
+# slice-ansi [![Build Status](https://travis-ci.org/chalk/slice-ansi.svg?branch=master)](https://travis-ci.org/chalk/slice-ansi) [![XO: Linted](https://img.shields.io/badge/xo-linted-blue.svg)](https://github.com/xojs/xo)
> Slice a string with [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles)
diff --git a/tools/node_modules/eslint/node_modules/table/package.json b/tools/node_modules/eslint/node_modules/table/package.json
index 3e6fcb12d1..ea3580ca15 100644
--- a/tools/node_modules/eslint/node_modules/table/package.json
+++ b/tools/node_modules/eslint/node_modules/table/package.json
@@ -9,19 +9,19 @@
},
"bundleDependencies": false,
"dependencies": {
- "ajv": "^6.5.3",
- "lodash": "^4.17.10",
- "slice-ansi": "1.0.0",
+ "ajv": "^6.6.1",
+ "lodash": "^4.17.11",
+ "slice-ansi": "2.0.0",
"string-width": "^2.1.1"
},
"deprecated": false,
"description": "Formats data into a string table.",
"devDependencies": {
- "@babel/cli": "^7.1.2",
- "@babel/core": "^7.1.2",
+ "@babel/cli": "^7.1.5",
+ "@babel/core": "^7.1.6",
"@babel/node": "^7.0.0",
- "@babel/plugin-transform-flow-strip-types": "^7.0.0",
- "@babel/preset-env": "^7.1.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.1.6",
+ "@babel/preset-env": "^7.1.6",
"@babel/register": "^7.0.0",
"ajv-cli": "^3.0.0",
"ajv-keywords": "^3.2.0",
@@ -30,16 +30,16 @@
"chai": "^4.2.0",
"chalk": "^2.4.1",
"coveralls": "^3.0.2",
- "eslint": "^5.6.1",
+ "eslint": "^5.9.0",
"eslint-config-canonical": "^13.0.0",
- "flow-bin": "^0.81.0",
+ "flow-bin": "^0.87.0",
"flow-copy-source": "^2.0.2",
- "gitdown": "^2.5.4",
- "husky": "^1.0.1",
+ "gitdown": "^2.5.5",
+ "husky": "^1.2.0",
"mocha": "^5.2.0",
"nyc": "^13.1.0",
- "semantic-release": "^15.9.16",
- "sinon": "^6.3.4"
+ "semantic-release": "^15.12.3",
+ "sinon": "^7.1.1"
},
"engines": {
"node": ">=6.0.0"
@@ -85,5 +85,5 @@
"lint": "npm run build && eslint ./src ./test && flow",
"test": "mocha --require @babel/register"
},
- "version": "5.1.0"
+ "version": "5.1.1"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/vfile-location/index.js b/tools/node_modules/eslint/node_modules/vfile-location/index.js
index e2046ce22b..2d7c21c180 100644
--- a/tools/node_modules/eslint/node_modules/vfile-location/index.js
+++ b/tools/node_modules/eslint/node_modules/vfile-location/index.js
@@ -1,9 +1,7 @@
'use strict'
-/* Expose. */
module.exports = factory
-/* Factory. */
function factory(file) {
var contents = indices(String(file))
@@ -13,13 +11,12 @@ function factory(file) {
}
}
-/* Factory to get the line and column-based `position` for
- * `offset` in the bound indices. */
+// 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. */
+ // Get the line and column-based `position` for `offset` in the bound indices.
function offsetToPosition(offset) {
var index = -1
var length = indices.length
@@ -42,13 +39,13 @@ function offsetToPositionFactory(indices) {
}
}
-/* Factory to get the `offset` for a line and column-based
- * `position` in the bound indices. */
+// 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. */
+ // 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
@@ -61,7 +58,7 @@ function positionToOffsetFactory(indices) {
}
}
-/* Get indices of line-breaks in `value`. */
+// Get indices of line-breaks in `value`.
function indices(value) {
var result = []
var index = value.indexOf('\n')
diff --git a/tools/node_modules/eslint/node_modules/vfile-location/package.json b/tools/node_modules/eslint/node_modules/vfile-location/package.json
index e6f5695ec0..d7e748e789 100644
--- a/tools/node_modules/eslint/node_modules/vfile-location/package.json
+++ b/tools/node_modules/eslint/node_modules/vfile-location/package.json
@@ -2,7 +2,7 @@
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
},
"bugs": {
"url": "https://github.com/vfile/vfile-location/issues"
@@ -12,7 +12,7 @@
{
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
}
],
"dependencies": {},
@@ -20,14 +20,14 @@
"description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file",
"devDependencies": {
"browserify": "^16.0.0",
- "esmangle": "^1.0.1",
- "nyc": "^11.0.0",
+ "nyc": "^13.0.0",
"prettier": "^1.12.1",
- "remark-cli": "^5.0.0",
+ "remark-cli": "^6.0.0",
"remark-preset-wooorm": "^4.0.0",
"tape": "^4.0.0",
- "vfile": "^2.0.0",
- "xo": "^0.20.0"
+ "tinyify": "^2.4.3",
+ "vfile": "^3.0.0",
+ "xo": "^0.23.0"
},
"files": [
"index.js"
@@ -67,14 +67,14 @@
},
"scripts": {
"build": "npm run build-bundle && npm run build-mangle",
- "build-bundle": "browserify index.js --bare -s vfileLocation > vfile-location.js",
- "build-mangle": "esmangle vfile-location.js > vfile-location.min.js",
+ "build-bundle": "browserify . -s vfileLocation > vfile-location.js",
+ "build-mangle": "browserify . -s vfileLocation -p tinyify > vfile-location.min.js",
"format": "remark . -qfo && prettier --write '**/*.js' && xo --fix",
"test": "npm run format && npm run build && npm run test-coverage",
"test-api": "node test",
"test-coverage": "nyc --reporter lcov tape test.js"
},
- "version": "2.0.3",
+ "version": "2.0.4",
"xo": {
"prettier": true,
"esnext": false,
diff --git a/tools/node_modules/eslint/node_modules/vfile-location/readme.md b/tools/node_modules/eslint/node_modules/vfile-location/readme.md
index 87e27dcd8e..8b2d91f156 100644
--- a/tools/node_modules/eslint/node_modules/vfile-location/readme.md
+++ b/tools/node_modules/eslint/node_modules/vfile-location/readme.md
@@ -1,4 +1,9 @@
-# vfile-location [![Build Status][travis-badge]][travis] [![Coverage Status][codecov-badge]][codecov]
+# vfile-location
+
+[![Build][build-badge]][build]
+[![Coverage][coverage-badge]][coverage]
+[![Downloads][downloads-badge]][downloads]
+[![Chat][chat-badge]][chat]
Convert between positions (line and column-based) and offsets
(range-based) locations in a [virtual file][vfile].
@@ -57,19 +62,27 @@ repository, organisation, or community you agree to abide by its terms.
<!-- Definitions -->
-[travis-badge]: https://img.shields.io/travis/vfile/vfile-location.svg
+[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
-[travis]: https://travis-ci.org/vfile/vfile-location
+[downloads]: https://www.npmjs.com/package/vfile-location
-[codecov-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-location.svg
+[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg
-[codecov]: https://codecov.io/github/vfile/vfile-location
+[chat]: https://spectrum.chat/unified/vfile
[npm]: https://docs.npmjs.com/cli/install
-[license]: LICENSE
+[license]: license
-[author]: http://wooorm.com
+[author]: https://wooorm.com
[vfile]: https://github.com/vfile/vfile
diff --git a/tools/node_modules/eslint/node_modules/vfile-message/index.js b/tools/node_modules/eslint/node_modules/vfile-message/index.js
index 1a63df89f5..c913753249 100644
--- a/tools/node_modules/eslint/node_modules/vfile-message/index.js
+++ b/tools/node_modules/eslint/node_modules/vfile-message/index.js
@@ -4,12 +4,12 @@ var stringify = require('unist-util-stringify-position')
module.exports = VMessage
-/* Inherit from `Error#`. */
+// Inherit from `Error#`.
function VMessagePrototype() {}
VMessagePrototype.prototype = Error.prototype
VMessage.prototype = new VMessagePrototype()
-/* Message properties. */
+// Message properties.
var proto = VMessage.prototype
proto.file = ''
@@ -21,11 +21,11 @@ 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. */
+// 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
@@ -44,18 +44,18 @@ function VMessage(reason, position, origin) {
end: {line: null, column: null}
}
- /* Node. */
+ // Node.
if (position && position.position) {
position = position.position
}
if (position) {
- /* Position. */
+ // Position.
if (position.start) {
location = position
position = position.start
} else {
- /* Point. */
+ // Point.
location.start = position
}
}
diff --git a/tools/node_modules/eslint/node_modules/vfile-message/package.json b/tools/node_modules/eslint/node_modules/vfile-message/package.json
index 0e54c49bf5..e514c057c2 100644
--- a/tools/node_modules/eslint/node_modules/vfile-message/package.json
+++ b/tools/node_modules/eslint/node_modules/vfile-message/package.json
@@ -2,7 +2,7 @@
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
},
"bugs": {
"url": "https://github.com/vfile/vfile-message/issues"
@@ -12,7 +12,7 @@
{
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
}
],
"dependencies": {
@@ -22,13 +22,13 @@
"description": "Create a virtual message",
"devDependencies": {
"browserify": "^16.0.0",
- "esmangle": "^1.0.1",
- "nyc": "^11.0.0",
+ "nyc": "^13.0.0",
"prettier": "^1.12.1",
- "remark-cli": "^5.0.0",
+ "remark-cli": "^6.0.0",
"remark-preset-wooorm": "^4.0.0",
"tape": "^4.0.0",
- "xo": "^0.20.0"
+ "tinyify": "^2.4.3",
+ "xo": "^0.23.0"
},
"files": [
"index.js"
@@ -66,14 +66,14 @@
},
"scripts": {
"build": "npm run build-bundle && npm run build-mangle",
- "build-bundle": "browserify index.js --bare -s vfileMessage > vfile-message.js",
- "build-mangle": "esmangle vfile-message.js > vfile-message.min.js",
+ "build-bundle": "browserify . -s vfileMessage > vfile-message.js",
+ "build-mangle": "browserify . -s vfileMessage -p tinyify > vfile-message.min.js",
"format": "remark . -qfo && prettier --write '**/*.js' && xo --fix",
"test": "npm run format && npm run build && npm run test-coverage",
"test-api": "node test",
"test-coverage": "nyc --reporter lcov tape test.js"
},
- "version": "1.0.1",
+ "version": "1.0.2",
"xo": {
"prettier": true,
"esnext": false,
diff --git a/tools/node_modules/eslint/node_modules/vfile-message/readme.md b/tools/node_modules/eslint/node_modules/vfile-message/readme.md
index c69cc406e3..0c88353a53 100644
--- a/tools/node_modules/eslint/node_modules/vfile-message/readme.md
+++ b/tools/node_modules/eslint/node_modules/vfile-message/readme.md
@@ -1,4 +1,9 @@
-# vfile-message [![Build Status][travis-badge]][travis] [![Coverage Status][codecov-badge]][codecov]
+# vfile-message
+
+[![Build][build-badge]][build]
+[![Coverage][coverage-badge]][coverage]
+[![Downloads][downloads-badge]][downloads]
+[![Chat][chat-badge]][chat]
Create [vfile][] messages.
@@ -144,19 +149,27 @@ repository, organisation, or community you agree to abide by its terms.
<!-- Definitions -->
-[travis-badge]: https://img.shields.io/travis/vfile/vfile-message.svg
+[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
-[travis]: https://travis-ci.org/vfile/vfile-message
+[downloads]: https://www.npmjs.com/package/vfile-message
-[codecov-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-message.svg
+[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg
-[codecov]: https://codecov.io/github/vfile/vfile-message
+[chat]: https://spectrum.chat/unified/vfile
[npm]: https://docs.npmjs.com/cli/install
-[license]: LICENSE
+[license]: license
-[author]: http://wooorm.com
+[author]: https://wooorm.com
[error]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json
index f35659fc8a..39bed7a7e7 100644
--- a/tools/node_modules/eslint/package.json
+++ b/tools/node_modules/eslint/package.json
@@ -21,7 +21,7 @@
"eslint-scope": "^4.0.0",
"eslint-utils": "^1.3.1",
"eslint-visitor-keys": "^1.0.0",
- "espree": "^4.0.0",
+ "espree": "^5.0.0",
"esquery": "^1.0.1",
"esutils": "^2.0.2",
"file-entry-cache": "^2.0.0",
@@ -31,7 +31,6 @@
"ignore": "^4.0.6",
"imurmurhash": "^0.1.4",
"inquirer": "^6.1.0",
- "is-resolvable": "^1.1.0",
"js-yaml": "^3.12.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0",
@@ -69,7 +68,7 @@
"eslint-plugin-eslint-plugin": "^1.4.1",
"eslint-plugin-node": "^8.0.0",
"eslint-plugin-rulesdir": "^0.1.0",
- "eslint-release": "^1.0.0",
+ "eslint-release": "^1.2.0",
"eslint-rule-composer": "^0.3.0",
"eslump": "^1.6.2",
"esprima": "^4.0.1",
@@ -135,5 +134,5 @@
"publish-release": "node Makefile.js publishRelease",
"test": "node Makefile.js test"
},
- "version": "5.9.0"
+ "version": "5.10.0"
} \ No newline at end of file