$ date
--- stdout ---
Fri Mar 31 22:02:51 UTC 2023
--- end ---
$ git clone file:///srv/git/mediawiki-services-wikifeeds.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---
--- end ---
$ git config user.name libraryupgrader
--- stdout ---
--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---
--- end ---
$ git submodule update --init
--- stdout ---
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
6a15e2437f614811cbc41fcd3e2f7f5247a2179f refs/heads/master
--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"ansi-regex": {
"name": "ansi-regex",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1091188,
"name": "ansi-regex",
"dependency": "ansi-regex",
"title": "Inefficient Regular Expression Complexity in chalk/ansi-regex",
"url": "https://github.com/advisories/GHSA-93q8-gq69-wqmw",
"severity": "high",
"cwe": [
"CWE-697",
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=3.0.0 <3.0.1"
},
{
"source": 1091189,
"name": "ansi-regex",
"dependency": "ansi-regex",
"title": "Inefficient Regular Expression Complexity in chalk/ansi-regex",
"url": "https://github.com/advisories/GHSA-93q8-gq69-wqmw",
"severity": "high",
"cwe": [
"CWE-697",
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=4.0.0 <4.1.1"
},
{
"source": 1091190,
"name": "ansi-regex",
"dependency": "ansi-regex",
"title": "Inefficient Regular Expression Complexity in chalk/ansi-regex",
"url": "https://github.com/advisories/GHSA-93q8-gq69-wqmw",
"severity": "high",
"cwe": [
"CWE-697",
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=5.0.0 <5.0.1"
}
],
"effects": [],
"range": "3.0.0 || 4.0.0 - 4.1.0 || 5.0.0",
"nodes": [
"node_modules/ansi-regex",
"node_modules/eslint/node_modules/ansi-regex",
"node_modules/table/node_modules/ansi-regex",
"node_modules/wide-align/node_modules/ansi-regex"
],
"fixAvailable": true
},
"body-parser": {
"name": "body-parser",
"severity": "high",
"isDirect": true,
"via": [
"qs"
],
"effects": [],
"range": "1.19.0",
"nodes": [
"node_modules/body-parser"
],
"fixAvailable": true
},
"express": {
"name": "express",
"severity": "high",
"isDirect": true,
"via": [
"body-parser",
"qs"
],
"effects": [],
"range": "4.17.0 - 4.17.1 || 5.0.0-alpha.1 - 5.0.0-alpha.8",
"nodes": [
"node_modules/express"
],
"fixAvailable": true
},
"flat": {
"name": "flat",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1089152,
"name": "flat",
"dependency": "flat",
"title": "flat vulnerable to Prototype Pollution",
"url": "https://github.com/advisories/GHSA-2j2x-2gpw-g8fm",
"severity": "critical",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 9.8,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<5.0.1"
}
],
"effects": [
"yargs-unparser"
],
"range": "<5.0.1",
"nodes": [
"node_modules/flat"
],
"fixAvailable": {
"name": "mocha",
"version": "10.2.0",
"isSemVerMajor": true
}
},
"hosted-git-info": {
"name": "hosted-git-info",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1089809,
"name": "hosted-git-info",
"dependency": "hosted-git-info",
"title": "Regular Expression Denial of Service in hosted-git-info",
"url": "https://github.com/advisories/GHSA-43f8-2h32-f4cj",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<2.8.9"
}
],
"effects": [],
"range": "<2.8.9",
"nodes": [
"node_modules/hosted-git-info"
],
"fixAvailable": true
},
"ini": {
"name": "ini",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1091252,
"name": "ini",
"dependency": "ini",
"title": "ini before 1.3.6 vulnerable to Prototype Pollution via ini.parse",
"url": "https://github.com/advisories/GHSA-qqgx-2p2h-9c37",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"
},
"range": "<1.3.6"
}
],
"effects": [],
"range": "<1.3.6",
"nodes": [
"node_modules/gc-stats/node_modules/ini"
],
"fixAvailable": true
},
"json-schema": {
"name": "json-schema",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1091472,
"name": "json-schema",
"dependency": "json-schema",
"title": "json-schema is vulnerable to Prototype Pollution",
"url": "https://github.com/advisories/GHSA-896r-f27r-55mw",
"severity": "critical",
"cwe": [
"CWE-915",
"CWE-1321"
],
"cvss": {
"score": 9.8,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<0.4.0"
}
],
"effects": [
"jsprim"
],
"range": "<0.4.0",
"nodes": [
"node_modules/json-schema"
],
"fixAvailable": true
},
"jsprim": {
"name": "jsprim",
"severity": "critical",
"isDirect": false,
"via": [
"json-schema"
],
"effects": [],
"range": "0.3.0 - 1.4.1 || 2.0.0 - 2.0.1",
"nodes": [
"node_modules/jsprim"
],
"fixAvailable": true
},
"lodash": {
"name": "lodash",
"severity": "high",
"isDirect": true,
"via": [
{
"source": 1089058,
"name": "lodash",
"dependency": "lodash",
"title": "Regular Expression Denial of Service (ReDoS) in lodash",
"url": "https://github.com/advisories/GHSA-29mw-wpgm-hmr9",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<4.17.21"
},
{
"source": 1091185,
"name": "lodash",
"dependency": "lodash",
"title": "Command Injection in lodash",
"url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm",
"severity": "high",
"cwe": [
"CWE-77",
"CWE-94"
],
"cvss": {
"score": 7.2,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<4.17.21"
}
],
"effects": [],
"range": "<=4.17.20",
"nodes": [
"node_modules/lodash"
],
"fixAvailable": true
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1091174,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch ReDoS vulnerability",
"url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
"severity": "high",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.0.5"
}
],
"effects": [
"mocha"
],
"range": "<3.0.5",
"nodes": [
"node_modules/gc-stats/node_modules/minimatch",
"node_modules/minimatch"
],
"fixAvailable": {
"name": "mocha",
"version": "10.2.0",
"isSemVerMajor": true
}
},
"minimist": {
"name": "minimist",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1090097,
"name": "minimist",
"dependency": "minimist",
"title": "Prototype Pollution in minimist",
"url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m",
"severity": "moderate",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 5.6,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L"
},
"range": ">=1.0.0 <1.2.3"
},
{
"source": 1090098,
"name": "minimist",
"dependency": "minimist",
"title": "Prototype Pollution in minimist",
"url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m",
"severity": "moderate",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 5.6,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L"
},
"range": "<0.2.1"
},
{
"source": 1091172,
"name": "minimist",
"dependency": "minimist",
"title": "Prototype Pollution in minimist",
"url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
"severity": "critical",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 9.8,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<0.2.4"
},
{
"source": 1091173,
"name": "minimist",
"dependency": "minimist",
"title": "Prototype Pollution in minimist",
"url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
"severity": "critical",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 9.8,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": ">=1.0.0 <1.2.6"
}
],
"effects": [
"mkdirp"
],
"range": "<=0.2.3 || 1.0.0 - 1.2.5",
"nodes": [
"node_modules/gc-stats/node_modules/minimist",
"node_modules/gc-stats/node_modules/rc/node_modules/minimist",
"node_modules/minimist"
],
"fixAvailable": true
},
"mkdirp": {
"name": "mkdirp",
"severity": "critical",
"isDirect": false,
"via": [
"minimist"
],
"effects": [],
"range": "0.4.1 - 0.5.1",
"nodes": [
"node_modules/gc-stats/node_modules/mkdirp"
],
"fixAvailable": true
},
"mocha": {
"name": "mocha",
"severity": "critical",
"isDirect": true,
"via": [
"minimatch",
"yargs-unparser"
],
"effects": [],
"range": "5.1.0 - 9.2.1",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": {
"name": "mocha",
"version": "10.2.0",
"isSemVerMajor": true
}
},
"moment": {
"name": "moment",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1091430,
"name": "moment",
"dependency": "moment",
"title": "Path Traversal: 'dir/../../filename' in moment.locale",
"url": "https://github.com/advisories/GHSA-8hfj-j24r-96c4",
"severity": "high",
"cwe": [
"CWE-22",
"CWE-27"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
},
"range": "<2.29.2"
},
{
"source": 1091441,
"name": "moment",
"dependency": "moment",
"title": "Moment.js vulnerable to Inefficient Regular Expression Complexity",
"url": "https://github.com/advisories/GHSA-wc69-rhjr-hc9g",
"severity": "high",
"cwe": [
"CWE-400",
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=2.18.0 <2.29.4"
}
],
"effects": [],
"range": "<=2.29.3",
"nodes": [
"node_modules/moment"
],
"fixAvailable": true
},
"ms": {
"name": "ms",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1088818,
"name": "ms",
"dependency": "ms",
"title": "Vercel ms Inefficient Regular Expression Complexity vulnerability",
"url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f",
"severity": "moderate",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<2.0.0"
}
],
"effects": [],
"range": "<2.0.0",
"nodes": [
"node_modules/kad/node_modules/ms"
],
"fixAvailable": true
},
"msgpack5": {
"name": "msgpack5",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1089202,
"name": "msgpack5",
"dependency": "msgpack5",
"title": "Prototype poisoning",
"url": "https://github.com/advisories/GHSA-gmjw-49p4-pcfm",
"severity": "moderate",
"cwe": [
"CWE-915",
"CWE-1321"
],
"cvss": {
"score": 6.7,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:H"
},
"range": "<3.6.1"
}
],
"effects": [],
"range": "<3.6.1",
"nodes": [
"node_modules/msgpack5"
],
"fixAvailable": true
},
"path-parse": {
"name": "path-parse",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1089681,
"name": "path-parse",
"dependency": "path-parse",
"title": "Regular Expression Denial of Service in path-parse",
"url": "https://github.com/advisories/GHSA-hj48-42vr-x3v9",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<1.0.7"
}
],
"effects": [],
"range": "<1.0.7",
"nodes": [
"node_modules/path-parse"
],
"fixAvailable": true
},
"preq": {
"name": "preq",
"severity": "high",
"isDirect": true,
"via": [
"request",
"requestretry"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/preq"
],
"fixAvailable": false
},
"qs": {
"name": "qs",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1090135,
"name": "qs",
"dependency": "qs",
"title": "qs vulnerable to Prototype Pollution",
"url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=6.5.0 <6.5.3"
},
{
"source": 1090137,
"name": "qs",
"dependency": "qs",
"title": "qs vulnerable to Prototype Pollution",
"url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=6.7.0 <6.7.3"
}
],
"effects": [
"body-parser",
"express"
],
"range": "6.5.0 - 6.5.2 || 6.7.0 - 6.7.2",
"nodes": [
"node_modules/qs",
"node_modules/request/node_modules/qs"
],
"fixAvailable": true
},
"request": {
"name": "request",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1091459,
"name": "request",
"dependency": "request",
"title": "Server-Side Request Forgery in Request",
"url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
"severity": "moderate",
"cwe": [
"CWE-918"
],
"cvss": {
"score": 6.1,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
"range": "<=2.88.2"
}
],
"effects": [
"preq"
],
"range": "*",
"nodes": [
"node_modules/request"
],
"fixAvailable": false
},
"requestretry": {
"name": "requestretry",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1090420,
"name": "requestretry",
"dependency": "requestretry",
"title": "Cookie exposure in requestretry",
"url": "https://github.com/advisories/GHSA-hjp8-2cm3-cc45",
"severity": "high",
"cwe": [
"CWE-200"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
},
"range": "<7.0.0"
}
],
"effects": [
"preq"
],
"range": "<7.0.0",
"nodes": [
"node_modules/requestretry"
],
"fixAvailable": false
},
"striptags": {
"name": "striptags",
"severity": "moderate",
"isDirect": true,
"via": [
{
"source": 1089720,
"name": "striptags",
"dependency": "striptags",
"title": "Passing in a non-string 'html' argument can lead to unsanitized output",
"url": "https://github.com/advisories/GHSA-qxg5-2qff-p49r",
"severity": "moderate",
"cwe": [
"CWE-79",
"CWE-241",
"CWE-843"
],
"cvss": {
"score": 3.7,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N"
},
"range": "<3.2.0"
}
],
"effects": [],
"range": "<3.2.0",
"nodes": [
"node_modules/striptags"
],
"fixAvailable": true
},
"swagger-ui-dist": {
"name": "swagger-ui-dist",
"severity": "moderate",
"isDirect": true,
"via": [
{
"source": 1085394,
"name": "swagger-ui-dist",
"dependency": "swagger-ui-dist",
"title": "Server side request forgery in SwaggerUI",
"url": "https://github.com/advisories/GHSA-qrmm-w75w-3wpx",
"severity": "moderate",
"cwe": [
"CWE-918"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<4.1.3"
},
{
"source": 1088759,
"name": "swagger-ui-dist",
"dependency": "swagger-ui-dist",
"title": "Spoofing attack in swagger-ui-dist",
"url": "https://github.com/advisories/GHSA-6c9x-mj3g-h47x",
"severity": "moderate",
"cwe": [
"CWE-1021"
],
"cvss": {
"score": 6.1,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
"range": "<4.1.3"
}
],
"effects": [],
"range": "<=4.1.2",
"nodes": [
"node_modules/swagger-ui-dist"
],
"fixAvailable": {
"name": "swagger-ui-dist",
"version": "4.18.2",
"isSemVerMajor": true
}
},
"tar": {
"name": "tar",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1089684,
"name": "tar",
"dependency": "tar",
"title": "Arbitrary File Creation/Overwrite due to insufficient absolute path sanitization",
"url": "https://github.com/advisories/GHSA-3jfq-g458-7qm9",
"severity": "high",
"cwe": [
"CWE-22"
],
"cvss": {
"score": 8.2,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
},
"range": ">=4.0.0 <4.4.14"
},
{
"source": 1091313,
"name": "tar",
"dependency": "tar",
"title": "Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning",
"url": "https://github.com/advisories/GHSA-r628-mhmh-qjhw",
"severity": "high",
"cwe": [
"CWE-22",
"CWE-23",
"CWE-59"
],
"cvss": {
"score": 8.2,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
},
"range": ">=4.0.0 <4.4.15"
},
{
"source": 1091343,
"name": "tar",
"dependency": "tar",
"title": "Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning using symbolic links",
"url": "https://github.com/advisories/GHSA-9r2w-394v-53qc",
"severity": "high",
"cwe": [
"CWE-22",
"CWE-59"
],
"cvss": {
"score": 8.2,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
},
"range": "<4.4.16"
},
{
"source": 1091346,
"name": "tar",
"dependency": "tar",
"title": "Arbitrary File Creation/Overwrite on Windows via insufficient relative path sanitization",
"url": "https://github.com/advisories/GHSA-5955-9wpr-37jh",
"severity": "high",
"cwe": [
"CWE-22"
],
"cvss": {
"score": 8.2,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
},
"range": "<4.4.18"
},
{
"source": 1091349,
"name": "tar",
"dependency": "tar",
"title": "Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning using symbolic links",
"url": "https://github.com/advisories/GHSA-qq89-hq3f-393p",
"severity": "high",
"cwe": [
"CWE-22",
"CWE-59"
],
"cvss": {
"score": 8.2,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
},
"range": "<4.4.18"
}
],
"effects": [],
"range": "<=4.4.17",
"nodes": [
"node_modules/gc-stats/node_modules/tar"
],
"fixAvailable": true
},
"yargs-unparser": {
"name": "yargs-unparser",
"severity": "critical",
"isDirect": false,
"via": [
"flat"
],
"effects": [
"mocha"
],
"range": "<=1.6.3",
"nodes": [
"node_modules/yargs-unparser"
],
"fixAvailable": {
"name": "mocha",
"version": "10.2.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 7,
"high": 11,
"critical": 7,
"total": 25
},
"dependencies": {
"prod": 184,
"dev": 296,
"optional": 79,
"peer": 0,
"peerOptional": 0,
"total": 558
}
}
}
--- end ---
Upgrading n:eslint-config-wikimedia from 0.20.0 -> 0.24.0
$ /usr/bin/npm install
--- stderr ---
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN deprecated kad-fs@0.0.4: This package is no longer maintained.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated mkdirp@0.5.4: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated kad-memstore@0.0.1: This package is no longer maintained.
npm WARN deprecated flat@4.1.0: Fixed a prototype pollution security issue in 4.1.0, please upgrade to ^4.1.1 or ^5.0.1.
npm WARN deprecated debug@4.2.0: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@4.2.0: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@3.2.6: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---
added 536 packages, and audited 603 packages in 26s
53 packages are looking for funding
run `npm fund` for details
26 vulnerabilities (9 moderate, 10 high, 7 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
$ ./node_modules/.bin/eslint . --fix
--- stdout ---
/src/repo/.eslintrc.json
1:1 warning Use the global form of 'use strict' strict
/src/repo/app.js
20:0 warning The type 'bluebird' is undefined jsdoc/no-undefined-types
138:0 warning The type 'Application' is undefined jsdoc/no-undefined-types
140:0 warning The type 'bluebird' is undefined jsdoc/no-undefined-types
192:0 warning The type 'Application' is undefined jsdoc/no-undefined-types
193:0 warning The type 'bluebird' is undefined jsdoc/no-undefined-types
231:0 warning The type 'bluebird' is undefined jsdoc/no-undefined-types
/src/repo/config.dev.yaml
22:1 error Empty mapping values are forbidden yml/no-empty-mapping-value
/src/repo/config.yaml
22:1 error Empty mapping values are forbidden yml/no-empty-mapping-value
/src/repo/dist/config.yaml
20:1 error Empty mapping values are forbidden yml/no-empty-mapping-value
/src/repo/etc/news-sites.js
4:1 warning At most one access-control tag may be present on a jsdoc block jsdoc/check-access
5:0 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types
6:0 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types
50:0 warning Syntax error in type: {Object.<string, NewsSite>} jsdoc/valid-types
/src/repo/lib/announcements.js
95:1 warning This line has a length of 118. Maximum allowed is 100 max-len
/src/repo/lib/api-util.js
132:0 warning The type 'Application' is undefined jsdoc/no-undefined-types
/src/repo/lib/featured.js
138:12 warning 'si' is already declared in the upper scope on line 12 column 7 no-shadow
/src/repo/lib/imageinfo.js
30:0 warning The type 'Bool' is undefined jsdoc/no-undefined-types
53:0 error Should be no multiple asterisks on end lines jsdoc/no-multi-asterisks
53:0 warning Expected JSDoc block to be aligned jsdoc/check-alignment
202:43 warning Array.prototype.map() expects a return value from arrow function array-callback-return
279:0 warning Syntax error in type: [type] jsdoc/valid-types
281:0 warning Syntax error in type: [type] jsdoc/valid-types
/src/repo/lib/most-read.js
56:1 warning At most one access-control tag may be present on a jsdoc block jsdoc/check-access
57:0 warning @public should not have a bracketed type in "jsdoc" mode jsdoc/valid-types
58:0 warning @public should not have a bracketed type in "jsdoc" mode jsdoc/valid-types
124:19 warning 'pageviews' is already declared in the upper scope on line 10 column 7 no-shadow
140:25 warning Array.prototype.map() expects a return value from arrow function array-callback-return
189:1 warning This line has a length of 113. Maximum allowed is 100 max-len
/src/repo/lib/news.js
15:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
73:12 warning 'si' is already declared in the upper scope on line 8 column 7 no-shadow
97:20 warning 'result' is already declared in the upper scope on line 81 column 19 no-shadow
/src/repo/lib/on-this-day.js
34:0 warning The type 'Integer' is undefined jsdoc/no-undefined-types
93:0 warning The type 'Request' is undefined jsdoc/no-undefined-types
109:0 warning The type 'Request' is undefined jsdoc/no-undefined-types
122:0 warning The type 'AnchorElement' is undefined jsdoc/no-undefined-types
123:0 warning The type 'Integer' is undefined jsdoc/no-undefined-types
141:0 warning The type 'AnchorElement' is undefined jsdoc/no-undefined-types
161:0 warning The type 'AnchorElement' is undefined jsdoc/no-undefined-types
184:0 warning The type 'ListElement' is undefined jsdoc/no-undefined-types
231:0 warning The type 'ListElement' is undefined jsdoc/no-undefined-types
247:0 warning The type 'Integer' is undefined jsdoc/no-undefined-types
286:0 warning The type 'ListElement' is undefined jsdoc/no-undefined-types
297:0 warning The type 'ListElement' is undefined jsdoc/no-undefined-types
298:0 warning The type 'ListElement' is undefined jsdoc/no-undefined-types
319:0 warning The type 'ListElement' is undefined jsdoc/no-undefined-types
337:0 warning The type 'ListElement' is undefined jsdoc/no-undefined-types
356:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
388:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
402:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
416:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
430:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
444:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
459:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
460:0 warning The type 'Document' is undefined jsdoc/no-undefined-types
554:0 warning The type 'Request' is undefined jsdoc/no-undefined-types
598:0 warning The type 'Request' is undefined jsdoc/no-undefined-types
599:0 warning The type 'Response' is undefined jsdoc/no-undefined-types
/src/repo/lib/pageviews.js
36:1 warning At most one access-control tag may be present on a jsdoc block jsdoc/check-access
37:0 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types
38:0 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types
39:0 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types
53:0 warning The type 'Platform' is undefined jsdoc/no-undefined-types
54:0 warning The type 'Agent' is undefined jsdoc/no-undefined-types
56:0 warning The type 'Granularity' is undefined jsdoc/no-undefined-types
71:0 warning The type 'Platform' is undefined jsdoc/no-undefined-types
/src/repo/lib/random.js
39:9 warning 'score' is already declared in the upper scope on line 31 column 10 no-shadow
56:0 warning Missing JSDoc @param "scoredResults" type jsdoc/require-param-type
/src/repo/lib/siteinfo.js
3:1 warning Use the global form of 'use strict' strict
/src/repo/lib/util.js
46:0 warning The type 'Request' is undefined jsdoc/no-undefined-types
104:0 warning The type 'Application' is undefined jsdoc/no-undefined-types
142:0 warning The type 'Application' is undefined jsdoc/no-undefined-types
222:0 warning The type 'Router' is undefined jsdoc/no-undefined-types
375:0 warning The type 'Application' is undefined jsdoc/no-undefined-types
447:34 warning Default parameters should be last default-param-last
/src/repo/package-lock.json
1:1 warning Use the global form of 'use strict' strict
/src/repo/package.json
1:1 warning Use the global form of 'use strict' strict
/src/repo/routes/featured-image.js
28:12 warning 'si' is already declared in the upper scope on line 7 column 7 no-shadow
/src/repo/scripts/check-featured-feed.js
1:1 error ES2023 Hashbang comments are forbidden es-x/no-hashbang
8:49 warning "rss-parser" is not found node/no-missing-require
9:28 warning "underscore" is not found node/no-missing-require
51:35 warning 'feature' is already declared in the upper scope on line 214 column 7 no-shadow
84:44 warning 'feature' is already declared in the upper scope on line 214 column 7 no-shadow
109:34 warning 'feature' is already declared in the upper scope on line 214 column 7 no-shadow
152:30 warning 'feature' is already declared in the upper scope on line 214 column 7 no-shadow
219:5 warning Don't use process.exit(); throw an error instead no-process-exit
/src/repo/server.js
1:1 error ES2023 Hashbang comments are forbidden es-x/no-hashbang
/src/repo/spec.yaml
228:1 warning This line has a length of 154. Maximum allowed is 100 max-len
232:1 warning This line has a length of 141. Maximum allowed is 100 max-len
866:1 warning This line has a length of 117. Maximum allowed is 100 max-len
871:1 warning This line has a length of 116. Maximum allowed is 100 max-len
876:1 warning This line has a length of 116. Maximum allowed is 100 max-len
881:1 warning This line has a length of 116. Maximum allowed is 100 max-len
886:1 warning This line has a length of 116. Maximum allowed is 100 max-len
938:1 warning This line has a length of 108. Maximum allowed is 100 max-len
955:1 warning This line has a length of 126. Maximum allowed is 100 max-len
956:1 warning This line has a length of 107. Maximum allowed is 100 max-len
962:1 warning This line has a length of 132. Maximum allowed is 100 max-len
969:1 warning This line has a length of 127. Maximum allowed is 100 max-len
971:1 warning This line has a length of 108. Maximum allowed is 100 max-len
972:1 warning This line has a length of 113. Maximum allowed is 100 max-len
973:1 warning This line has a length of 121. Maximum allowed is 100 max-len
977:1 warning This line has a length of 121. Maximum allowed is 100 max-len
981:1 warning This line has a length of 113. Maximum allowed is 100 max-len
985:1 warning This line has a length of 111. Maximum allowed is 100 max-len
991:1 warning This line has a length of 124. Maximum allowed is 100 max-len
995:1 warning This line has a length of 281. Maximum allowed is 100 max-len
1081:1 warning This line has a length of 144. Maximum allowed is 100 max-len
✖ 108 problems (6 errors, 102 warnings)
1 error and 1 warning potentially fixable with the `--fix` option.
--- end ---
$ ./node_modules/.bin/eslint . -f json
--- stdout ---
[{"filePath":"/src/repo/.eslintrc.json","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":1,"column":1,"nodeType":"Program","messageId":"global","endLine":39,"endColumn":3}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"root\": true,\n\t\"extends\": [\n\t\t\"wikimedia/server\",\n\t\t\"wikimedia/jsdoc\"\n\t],\n\t\"rules\": {\n\t\t\"camelcase\": [\n\t\t\t\"error\",\n\t\t\t{\n\t\t\t\t\"properties\": \"never\"\n\t\t\t}\n\t\t],\n\t\t\"indent\": [\n\t\t\t\"off\",\n\t\t\t4\n\t\t],\n\t\t\"no-unused-vars\": [\n\t\t\t\"error\",\n\t\t\t{\n\t\t\t\t\"args\": \"none\"\n\t\t\t}\n\t\t],\n\t\t\"space-in-parens\": [\n\t\t\t\"error\",\n\t\t\t\"never\"\n\t\t],\n\t\t\"computed-property-spacing\": \"off\",\n\t\t\"no-multi-spaces\": \"off\",\n\t\t\"array-bracket-spacing\": \"off\",\n\t\t\"array-callback-return\": \"warn\",\n\t\t\"default-param-last\": \"warn\",\n\t\t\"no-process-exit\": \"warn\",\n\t\t\"no-shadow\": \"warn\",\n\t\t\"node/no-missing-require\": \"warn\",\n\t\t\"strict\": \"warn\"\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/app.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":20,"column":null,"nodeType":"Block","endLine":20,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":138,"column":null,"nodeType":"Block","endLine":138,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":140,"column":null,"nodeType":"Block","endLine":140,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":192,"column":null,"nodeType":"Block","endLine":192,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":193,"column":null,"nodeType":"Block","endLine":193,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'bluebird' is undefined.","line":231,"column":null,"nodeType":"Block","endLine":231,"endColumn":null}],"suppressedMessages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 107. Maximum allowed is 100.","line":37,"column":1,"nodeType":"Program","messageId":"max","endLine":37,"endColumn":108,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst http = require('http');\nconst BBPromise = require('bluebird');\nconst express = require('express');\nconst compression = require('compression');\nconst bodyParser = require('body-parser');\nconst fs = BBPromise.promisifyAll(require('fs'));\nconst sUtil = require('./lib/util');\nconst apiUtil = require('./lib/api-util');\nconst packageInfo = require('./package.json');\nconst yaml = require('js-yaml');\nconst addShutdown = require('http-shutdown');\nconst path = require('path');\n\n/**\n * Creates an express app and initialises it\n *\n * @param {Object} options the options to initialise the app with\n * @return {bluebird} the promise resolving to the app object\n */\nfunction initApp(options) {\n\n // the main application object\n const app = express();\n\n // get the options and make them available in the app\n app.logger = options.logger; // the logging device\n app.metrics = options.metrics; // the metrics\n app.conf = options.config; // this app's config options\n app.info = packageInfo; // this app's package info\n\n // ensure some sane defaults\n app.conf.port = app.conf.port || 8888;\n app.conf.interface = app.conf.interface || '0.0.0.0';\n // eslint-disable-next-line max-len\n app.conf.compression_level = app.conf.compression_level === undefined ? 3 : app.conf.compression_level;\n app.conf.cors = app.conf.cors === undefined ? '*' : app.conf.cors;\n if (app.conf.csp === undefined) {\n app.conf.csp = \"default-src 'self'; object-src 'none'; media-src *; img-src *; style-src *; frame-ancestors 'self'\";\n }\n\n // set outgoing proxy\n if (app.conf.proxy) {\n process.env.HTTP_PROXY = app.conf.proxy;\n // if there is a list of domains which should\n // not be proxied, set it\n if (app.conf.no_proxy_list) {\n if (Array.isArray(app.conf.no_proxy_list)) {\n process.env.NO_PROXY = app.conf.no_proxy_list.join(',');\n } else {\n process.env.NO_PROXY = app.conf.no_proxy_list;\n }\n }\n }\n\n // set up header allow listing for logging\n if (!app.conf.log_header_allowlist) {\n app.conf.log_header_allowlist = [\n 'cache-control', 'content-type', 'content-length', 'if-match',\n 'user-agent', 'x-request-id'\n ];\n }\n app.conf.log_header_allowlist = new RegExp(`^(?:${app.conf.log_header_allowlist.map((item) => {\n return item.trim();\n }).join('|')})$`, 'i');\n\n // set up the request templates for the APIs\n apiUtil.setupApiTemplates(app);\n\n // set up the spec\n if (!app.conf.spec) {\n app.conf.spec = `${__dirname}/spec.yaml`;\n }\n if (app.conf.spec.constructor !== Object) {\n try {\n app.conf.spec = yaml.safeLoad(fs.readFileSync(app.conf.spec));\n } catch (e) {\n app.logger.log('warn/spec', `Could not load the spec: ${e}`);\n app.conf.spec = {};\n }\n }\n if (!app.conf.spec.swagger) {\n app.conf.spec.swagger = '2.0';\n }\n if (!app.conf.spec.info) {\n app.conf.spec.info = {\n version: app.info.version,\n title: app.info.name,\n description: app.info.description\n };\n }\n app.conf.spec.info.version = app.info.version;\n if (!app.conf.spec.paths) {\n app.conf.spec.paths = {};\n }\n\n // set the CORS and CSP headers\n app.all('*', (req, res, next) => {\n if (app.conf.cors !== false) {\n res.header('access-control-allow-origin', app.conf.cors);\n res.header('access-control-allow-headers', 'accept, x-requested-with, content-type');\n res.header('access-control-expose-headers', 'etag');\n }\n if (app.conf.csp !== false) {\n res.header('x-xss-protection', '1; mode=block');\n res.header('x-content-type-options', 'nosniff');\n res.header('x-frame-options', 'SAMEORIGIN');\n res.header('content-security-policy', app.conf.csp);\n res.header('x-content-security-policy', app.conf.csp);\n res.header('x-webkit-csp', app.conf.csp);\n }\n sUtil.initAndLogRequest(req, app);\n next();\n });\n\n // set up the user agent header string to use for requests\n app.conf.user_agent = app.conf.user_agent || app.info.name;\n\n // disable the X-Powered-By header\n app.set('x-powered-by', false);\n // disable the ETag header - users should provide them!\n app.set('etag', false);\n // enable compression\n app.use(compression({ level: app.conf.compression_level }));\n // use the JSON body parser\n app.use(bodyParser.json({ limit: app.conf.max_body_size || '100kb' }));\n // use the application/x-www-form-urlencoded parser\n app.use(bodyParser.urlencoded({ extended: true }));\n\n return BBPromise.resolve(app);\n\n}\n\n/**\n * Loads all routes declared in routes/ into the app\n *\n * @param {Application} app the application object to load routes into\n * @param {string} dir routes folder\n * @return {bluebird} a promise resolving to the app object\n */\nfunction loadRoutes(app, dir) {\n\n // recursively load routes from .js files under routes/\n return fs.readdirAsync(dir).map((fname) => {\n return BBPromise.try(() => {\n const resolvedPath = path.resolve(dir, fname);\n const isDirectory = fs.statSync(resolvedPath).isDirectory();\n if (isDirectory) {\n loadRoutes(app, resolvedPath);\n } else if (/\\.js$/.test(fname)) {\n // import the route file\n const route = require(`${dir}/${fname}`);\n return route(app);\n }\n }).then((route) => {\n if (route === undefined) {\n return undefined;\n }\n // check that the route exports the object we need\n if (route.constructor !== Object || !route.path || !route.router ||\n !(route.api_version || route.skip_domain)) {\n throw new TypeError(`routes/${fname} does not export the correct object!`);\n }\n // normalise the path to be used as the mount point\n if (route.path[0] !== '/') {\n route.path = `/${route.path}`;\n }\n if (route.path[route.path.length - 1] !== '/') {\n route.path = `${route.path}/`;\n }\n if (!route.skip_domain) {\n route.path = `/:domain/v${route.api_version}${route.path}`;\n }\n // wrap the route handlers with Promise.try() blocks\n sUtil.wrapRouteHandlers(route, app);\n // all good, use that route\n app.use(route.path, route.router);\n });\n }).then(() => {\n // catch errors\n sUtil.setErrorHandler(app);\n // route loading is now complete, return the app object\n return BBPromise.resolve(app);\n });\n\n}\n\n/**\n * Creates and start the service's web server\n *\n * @param {Application} app the app object to use in the service\n * @return {bluebird} a promise creating the web server\n */\nfunction createServer(app) {\n\n // return a promise which creates an HTTP server,\n // attaches the app to it, and starts accepting\n // incoming client requests\n let server;\n return new BBPromise((resolve) => {\n server = http.createServer(app).listen(\n app.conf.port,\n app.conf.interface,\n resolve\n );\n server = addShutdown(server);\n }).then(() => {\n app.logger.log('info',\n `Worker ${process.pid} listening on ${app.conf.interface || '*'}:${app.conf.port}`);\n\n // Don't delay incomplete packets for 40ms (Linux default) on\n // pipelined HTTP sockets. We write in large chunks or buffers, so\n // lack of coalescing should not be an issue here.\n server.on('connection', (socket) => {\n socket.setNoDelay(true);\n });\n\n return server;\n });\n\n}\n\n/**\n * The service's entry point. It takes over the configuration\n * options and the logger- and metrics-reporting objects from\n * service-runner and starts an HTTP server, attaching the application\n * object to it.\n *\n * @param {Object} options the options to initialise the app with\n * @return {bluebird} HTTP server\n */\nmodule.exports = (options) => {\n\n return initApp(options)\n .then((app) => loadRoutes(app, `${__dirname}/routes`))\n .then((app) => {\n // serve static files from static/\n app.use('/static', express.static(`${__dirname}/static`));\n return app;\n }).then(createServer);\n\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/config.dev.yaml","messages":[{"ruleId":"yml/no-empty-mapping-value","severity":2,"message":"Empty mapping values are forbidden.","line":22,"column":1,"nodeType":"YAMLPair","messageId":"unexpectedEmpty","endLine":22,"endColumn":9}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"# Number of worker processes to spawn.\n# Set to 0 to run everything in a single process without clustering.\n# Use 'ncpu' to run as many workers as there are CPU units\nnum_workers: 0\n\n# Log error messages and gracefully restart a worker if v8 reports that it\n# uses more heap (note: not RSS) than this many mb.\nworker_heap_limit_mb: 250\n\n# Logger info\nlogging:\n level: trace\n streams:\n - type: stdout # log to stdout\n named_levels: true # emit log level name instead of index. e.g. INFO vs 30\n# # Use gelf-stream -> logstash\n# - type: gelf\n# host: logstash1003.eqiad.wmnet\n# port: 12201\n\n# Statsd metrics reporter\nmetrics:\n# type: log\n# host: localhost\n# port: 8125\n\nservices:\n - name: wikifeeds\n # a relative path or the name of an npm package, if different from name\n module: ./app.js\n # optionally, a version constraint of the npm package\n # version: ^0.4.0\n # per-service config\n conf:\n port: 8889\n # interface: localhost # uncomment to only listen on localhost\n # more per-service config settings\n # the location of the spec, defaults to spec.yaml if not specified\n # spec: ./spec.template.yaml\n # allow cross-domain requests to the API (default '*')\n cors: \"*\"\n # to disable use:\n # cors: false\n # to restrict to a particular domain, use:\n # cors: restricted.domain.org\n # content for the CSP headers\n # csp: false # uncomment this line to disable sending them\n # URL of the outbound proxy to use (complete with protocol)\n # proxy: http://my.proxy.org:8080\n # the list of domains for which not to use the proxy defined above\n # no_proxy_list:\n # - domain1.com\n # - domain2.org\n # the list of incoming request headers that can be logged; if left empty,\n # the following headers are allowed: cache-control, content-length,\n # content-type, if-match, user-agent, x-request-id\n # log_header_allowlist:\n # - cache-control\n # - content-length\n # - content-type\n # - if-match\n # - user-agent\n # - x-request-id\n # the user agent to use when issuing requests\n user_agent: WMF Wikifeeds Service dev\n # # Max JSON POST body size limit.\n # max_body_size: 100kb\n # the template used for contacting the MW API\n mwapi_req:\n method: post\n uri: https://{{domain}}/w/api.php\n headers:\n user-agent: \"{{user-agent}}\"\n accept-language: \"{{accept-language}}\"\n body: \"{{ default(request.query, {}) }}\"\n # the template used for contacting RESTBase\n restbase_req:\n method: \"{{request.method}}\"\n uri: https://{{domain}}/api/rest_v1/{+path}\n query: \"{{ default(request.query, {}) }}\"\n headers: \"{{request.headers}}\"\n body: \"{{request.body}}\"\n # the template used for requesting a page from a MediaWiki appserver\n mw_req:\n method: get\n uri: https://{{domain}}/w/index.php\n query:\n title: \"{{request.params.title}}\"\n headers:\n user-agent: \"{{user-agent}}\"\n accept-language: \"{{accept-language}}\"\n # whether to print extra debug info\n debug: true\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/config.prod.yaml","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/config.yaml","messages":[{"ruleId":"yml/no-empty-mapping-value","severity":2,"message":"Empty mapping values are forbidden.","line":22,"column":1,"nodeType":"YAMLPair","messageId":"unexpectedEmpty","endLine":22,"endColumn":9}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"# Number of worker processes to spawn.\n# Set to 0 to run everything in a single process without clustering.\n# Use 'ncpu' to run as many workers as there are CPU units\nnum_workers: 0\n\n# Log error messages and gracefully restart a worker if v8 reports that it\n# uses more heap (note: not RSS) than this many mb.\nworker_heap_limit_mb: 250\n\n# Logger info\nlogging:\n level: trace\n streams:\n - type: stdout # log to stdout\n named_levels: true # emit log level name instead of index. e.g. INFO vs 30\n# # Use gelf-stream -> logstash\n# - type: gelf\n# host: logstash1003.eqiad.wmnet\n# port: 12201\n\n# Statsd metrics reporter\nmetrics:\n# type: log\n# host: localhost\n# port: 8125\n\nservices:\n - name: wikifeeds\n # a relative path or the name of an npm package, if different from name\n module: ./app.js\n # optionally, a version constraint of the npm package\n # version: ^0.4.0\n # per-service config\n conf:\n port: 8889\n # interface: localhost # uncomment to only listen on localhost\n # more per-service config settings\n # the location of the spec, defaults to spec.yaml if not specified\n # spec: ./spec.template.yaml\n # allow cross-domain requests to the API (default '*')\n cors: \"*\"\n # to disable use:\n # cors: false\n # to restrict to a particular domain, use:\n # cors: restricted.domain.org\n # content for the CSP headers\n # csp: false # uncomment this line to disable sending them\n # URL of the outbound proxy to use (complete with protocol)\n # proxy: http://my.proxy.org:8080\n # the list of domains for which not to use the proxy defined above\n # no_proxy_list:\n # - domain1.com\n # - domain2.org\n # the list of incoming request headers that can be logged; if left empty,\n # the following headers are allowed: cache-control, content-length,\n # content-type, if-match, user-agent, x-request-id\n # log_header_allowlist:\n # - cache-control\n # - content-length\n # - content-type\n # - if-match\n # - user-agent\n # - x-request-id\n # the user agent to use when issuing requests\n user_agent: WMF Wikifeeds Service dev\n # # Max JSON POST body size limit.\n # max_body_size: 100kb\n # the template used for contacting the MW API\n mwapi_req:\n method: post\n uri: https://{{domain}}/w/api.php\n headers:\n user-agent: \"{{user-agent}}\"\n accept-language: \"{{accept-language}}\"\n body: \"{{ default(request.query, {}) }}\"\n # the template used for contacting RESTBase\n restbase_req:\n method: \"{{request.method}}\"\n uri: https://{{domain}}/api/rest_v1/{+path}\n query: \"{{ default(request.query, {}) }}\"\n headers: \"{{request.headers}}\"\n body: \"{{request.body}}\"\n # the template used for requesting a page from a MediaWiki appserver\n mw_req:\n method: get\n uri: https://{{domain}}/w/index.php\n query:\n title: \"{{request.params.title}}\"\n headers:\n user-agent: \"{{user-agent}}\"\n accept-language: \"{{accept-language}}\"\n # whether to print extra debug info\n debug: true\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/dist/config.yaml","messages":[{"ruleId":"yml/no-empty-mapping-value","severity":2,"message":"Empty mapping values are forbidden.","line":20,"column":1,"nodeType":"YAMLPair","messageId":"unexpectedEmpty","endLine":20,"endColumn":9}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"# Number of worker processes to spawn.\n# Set to 0 to run everything in a single process without clustering.\n# Use 'ncpu' to run as many workers as there are CPU units\nnum_workers: ncpu\n\n# Log error messages and gracefully restart a worker if v8 reports that it\n# uses more heap (note: not RSS) than this many mb.\nworker_heap_limit_mb: 250\n\n# Logger info\nlogging:\n level: info\n# streams:\n# # Use gelf-stream -> logstash\n# - type: gelf\n# host: logstash1003.eqiad.wmnet\n# port: 12201\n\n# Statsd metrics reporter\nmetrics:\n# type: log\n# host: localhost\n# port: 8125\n\nservices:\n - name: mobileapps\n # a relative path or the name of an npm package, if different from name\n module: ./app.js\n # optionally, a version constraint of the npm package\n # version: ^0.4.0\n # per-service config\n conf:\n port: 8888\n # interface: localhost # uncomment to only listen on localhost\n # more per-service config settings\n # the location of the spec, defaults to spec.yaml if not specified\n # spec: ./spec.yaml\n # allow cross-domain requests to the API (default '*')\n cors: \"*\"\n # to disable use:\n # cors: false\n # to restrict to a particular domain, use:\n # cors: restricted.domain.org\n # content for the CSP headers\n # csp: false # uncomment this line to disable sending them\n # URL of the outbound proxy to use (complete with protocol)\n # proxy: http://my.proxy.org:8080\n # the list of domains for which not to use the proxy defined above\n # no_proxy_list:\n # - domain1.com\n # - domain2.org\n # the list of incoming request headers that can be logged; if left empty,\n # the following headers are allowed: cache-control, content-length,\n # content-type, if-match, user-agent, x-request-id\n # log_header_whitelist:\n # - cache-control\n # - content-length\n # - content-type\n # - if-match\n # - user-agent\n # - x-request-id\n # the user agent to use when issuing requests\n user_agent: WMF Mobile Content Service (k8s)\n # the template used for contacting the MW API\n mwapi_req:\n method: post\n uri: \"{env(MWAPI_URI,http://localhost/w/api.php)}\"\n headers:\n user-agent: \"{{user-agent}}\"\n body: \"{{ default(request.query, {}) }}\"\n # the template used for contacting RESTBase\n restbase_req:\n method: \"{{request.method}}\"\n uri: \"{env(RESTBASE_URI,https://{{domain}}/api/rest_v1/{+path})}\"\n query: \"{{ default(request.query, {}) }}\"\n headers: \"{{request.headers}}\"\n body: \"{{request.body}}\"\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/etc/announcements.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/etc/news-sites.js","messages":[{"ruleId":"jsdoc/check-access","severity":1,"message":"At most one access-control tag may be present on a jsdoc block.","line":4,"column":1,"nodeType":"Block","endLine":7,"endColumn":4},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":5,"column":null,"nodeType":"Block","endLine":5,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":6,"column":null,"nodeType":"Block","endLine":6,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in type: {Object.<string, NewsSite>}","line":50,"column":null,"nodeType":"Block","endLine":50,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/* eslint no-underscore-dangle: 0 */\n'use strict';\n\n/**\n * @private {!string} _title\n * @private {!string} _headlineSelector\n */\nclass NewsSite {\n /**\n * @param {!string} title\n * @param {!string} headlineSelectorAll\n * @param {!string} topicAnchorSelector\n */\n constructor(title, headlineSelectorAll, topicAnchorSelector) {\n this._title = title;\n this._headlineSelectorAll = headlineSelectorAll;\n this._topicAnchorSelector = topicAnchorSelector;\n }\n\n /**\n * @return {!string} News source wiki portal or template title to scrape\n * data from\n */\n get title() {\n return this._title;\n }\n\n /**\n * @return {!string} Query selector for news headline containers (not\n * specific categories like deaths, sports, etc)\n */\n get headlineSelectorAll() {\n return this._headlineSelectorAll;\n }\n\n /**\n * @return {!string} Query selector for news headline subject links; this\n * selector should be used on a headline element\n */\n get topicAnchorSelector() {\n return this._topicAnchorSelector;\n }\n}\n\nconst STORY_SELECTOR = '.itn-story';\nconst TOPIC_SELECTOR_LINK = 'a[rel=\"mw:WikiLink\"]:nth-of-type(1)';\nconst TOPIC_SELECTOR_BOLD_LINK = 'b:nth-of-type(1) a[rel=\"mw:WikiLink\"]';\n\n/**\n * @type {{Object.<string, NewsSite>}} A map of Wikipedia site languages codes to NewsSites\n */\nmodule.exports = {\n test: new NewsSite('InTheNewsFormatExample', STORY_SELECTOR, TOPIC_SELECTOR_BOLD_LINK),\n bs: new NewsSite('Šablon:Vijesti', STORY_SELECTOR, TOPIC_SELECTOR_BOLD_LINK),\n da: new NewsSite('Skabelon:Forside_aktuelle_begivenheder', 'div > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n de: new NewsSite('Wikipedia:Hauptseite/Aktuelles', 'ul:not(.breadcrumb-nav-container) > li', TOPIC_SELECTOR_LINK),\n el: new NewsSite('Πύλη:Τρέχοντα_γεγονότα/Επικεφαλίδες', 'li', TOPIC_SELECTOR_LINK),\n en: new NewsSite('Template:In_the_news', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n es: new NewsSite('Portal:Actualidad', 'div:nth-of-type(2) > div > ul:nth-of-type(1) > li', TOPIC_SELECTOR_LINK),\n fi: new NewsSite('Malline:Uutisissa', 'body > section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n fr: new NewsSite('Modèle:Accueil_actualité', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n he: new NewsSite('תבנית:חדשות_ואקטואליה', 'section > ul > li', TOPIC_SELECTOR_LINK),\n ko: new NewsSite('틀:새로_들어온_소식', 'body > section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n no: new NewsSite('Mal:Aktuelt', 'ul > li', TOPIC_SELECTOR_BOLD_LINK),\n pl: new NewsSite('Szablon:Aktualności', 'ul:last-of-type > li', TOPIC_SELECTOR_BOLD_LINK),\n pt: new NewsSite('Portal:Eventos_atuais', 'table:nth-of-type(2) div:not(.hlist) > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n ru: new NewsSite('Шаблон:Текущие_события_на_заглавной_странице', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n sco: new NewsSite('Template:In_the_news', 'section > ul > li', TOPIC_SELECTOR_BOLD_LINK), // see en\n sv: new NewsSite('Portal:Huvudsida/Aktuella händelser', 'body > section > ul > li', TOPIC_SELECTOR_BOLD_LINK),\n vi: new NewsSite('Bản_mẫu:Tin_tức', 'ul > li', TOPIC_SELECTOR_BOLD_LINK)\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/announcements.js","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 118. Maximum allowed is 100.","line":95,"column":1,"nodeType":"Program","messageId":"max","endLine":95,"endColumn":119}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst config = require('../etc/announcements');\nconst HTTPError = require('./util').HTTPError;\nconst striptags = require('striptags');\n\nconst plaintextFromHTML = (html) => {\n const htmlWithSpacesAndNewlines = html.replace(/ /ig, ' ').replace(/<br\\/>/ig, '\\n');\n return striptags(htmlWithSpacesAndNewlines);\n};\n\n/**\n * @param {!Object} campaign object, as seen in etc/announcements.js\n * @param {!string} os operating system, all caps ('IOS' or 'ANDROID')\n * @param {?string} id another string to distinguish different announcements, all caps\n * @return {!string} announcement id string\n */\nconst buildId = (campaign, os, id) => `${campaign.idPrefix}${os}${id}`;\n\nconst baseAnnouncement = (campaign) => {\n return {\n type: campaign.type,\n start_time: campaign.startTime,\n end_time: campaign.endTime,\n domain: campaign.domain\n };\n\n // beta: true,\n // logged_in: true,\n // reading_list_sync_enabled: true,\n};\n\nconst getFundraisingAnnouncementText = (countryConfig) => `<b>Wikipedia is not for sale.</b><br/><i>A personal appeal from Jimmy Wales</i><br/><br/>Please don't scroll past this 1 minute read. Today, as 2022 draws to a close, I humbly ask you to reflect on the number of times you used the Wikipedia app this year, the value you got from it, and whether you're able to give ${countryConfig.currency}${countryConfig.coffee} back. The Wikimedia Foundation relies on readers to support the technology that makes Wikipedia and our other projects possible. Being a nonprofit means there is no danger that someone will buy Wikipedia and turn it into their personal playground. If Wikipedia has given you ${countryConfig.currency}${countryConfig.coffee} worth of knowledge this year, please give back. Thank you. — <i>Jimmy Wales, founder, Wikimedia Foundation</i>`;\n/* eslint-enable max-len */\n\nconst androidV2FundraisingAnnouncement = (code, countryConfig, campaign) => {\n return Object.assign({}, baseAnnouncement(campaign), {\n id: buildId(campaign, 'ANDROIDV2', 'EN'),\n platforms: [ config.Platform.ANDROID_V2 ],\n countries: [ code.toUpperCase() ],\n border: countryConfig.border,\n placement: countryConfig.placement,\n text: getFundraisingAnnouncementText(countryConfig),\n // image_url: countryConfig.imageUrl,\n // image_height: 40,\n caption_HTML: \"By donating, you agree to our <a href='https://foundation.wikimedia.org/wiki/Donor_privacy_policy/en'>donor policy</a>.\",\n negative_text: 'No thanks',\n action: {\n title: 'DONATE NOW',\n url: 'https://donate.wikimedia.org/?uselang=en&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=Android&utm_source=app_2022_6C_Android_control&monthlyconvert=Default'\n }\n });\n};\n\nconst japanFundraisingAnnouncement = (code, countryConfig, campaign, os, platforms) => {\n return Object.assign({}, baseAnnouncement(campaign), {\n id: buildId(campaign, os.toUpperCase(), code.toUpperCase()),\n platforms: platforms,\n countries: [ code.toUpperCase() ],\n border: countryConfig.border,\n placement: countryConfig.placement,\n text: '<b>ウィキペディアは売り物ではありません。</b><br>ジミー・ウェールズから皆様へのメッセージ<br>1分で結構です、どうか読み飛ばさないでください。今日は皆様に、ぜひお考えいただきたいことがあります。この1年間でウィキペディア アプリをどれほど使い、そこでどんな価値を得たか、そして¥300 のご寄付が可能かどうかです。ウィキメディア財団のウィキペディアを含むプロジェクト群を支える技術は、読者の皆様によって支えられています。非営利団体であるということは、誰かがウィキペディアを買い取り、好き勝手にする危険性がないことを意味します。この一年、もしあなたがウィキペディアから得た情報に¥300 の価値があったと思っていただけるのでしたら、ご寄付をお寄せいただけないでしょうか。感謝を込めて。— ジミー・ウェールズ(ウィキメディア財団創設者)',\n negative_text: 'けっこうです',\n action: {\n title: '今すぐ寄付する',\n url: `https://donate.wikimedia.org/?uselang=ja&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=${os}&utm_source=app_2023_jaJP_${os}_control&monthlyconvert=Default`\n }\n });\n};\n\nconst androidV2SurveyAnnouncement = (campaign) => {\n return Object.assign({}, baseAnnouncement(campaign), {\n id: buildId(campaign, 'ANDROIDV2', 'EN'),\n platforms: [ config.Platform.ANDROID_V2 ],\n countries: [ 'AL', 'DZ', 'AO', 'AR', 'AM', 'AU', 'AT', 'AZ', 'BD', 'BY', 'BR', 'BG', 'CM', 'CA', 'CF', 'TD',\n 'CL', 'CO', 'KM', 'CR', 'CI', 'HR', 'CY', 'CZ', 'DK', 'EC', 'EG', 'SV', 'EE', 'ET', 'DE', 'GH', 'GR', 'GT',\n 'GN', 'HN', 'HK', 'HU', 'IN', 'ID', 'IE', 'IT', 'JM', 'JP', 'KE', 'KR', 'LV', 'LB', 'LT', 'MG', 'MW', 'MY',\n 'ML', 'MQ', 'MR', 'MX', 'MA', 'MZ', 'NL', 'NG', 'PK', 'PY', 'PE', 'PH', 'PL', 'PT', 'PR', 'RO', 'SN', 'RS',\n 'SG', 'SK', 'SI', 'ZA', 'ES', 'SE', 'CH', 'TW', 'TZ', 'TN', 'TR', 'UG', 'GB', 'US', 'UY', 'ZM', 'ZW' ],\n border: false,\n placement: 'feed',\n text: 'Help to improve the Wikipedia mobile apps by signing up to be a user tester. Take a quick survey to participate in an upcoming study or research interview.',\n caption_HTML: \"View our <a href='https://foundation.m.wikimedia.org/w/index.php?title=Editing_Awareness_and_Trust_Survey_Privacy_Statement'>privacy statement</a>. Survey powered by a third party. View their <a href='https://policies.google.com/privacy'>privacy policy</a>.\",\n negative_text: 'No thanks',\n action: {\n title: 'Start survey',\n url: 'https://forms.gle/DUWfFRoD9nqgStJZ7'\n }\n });\n};\n\nconst iosV2FundraisingAnnouncement = (code, countryConfig, campaign) => {\n return Object.assign({}, baseAnnouncement(campaign), {\n id: buildId(campaign, 'IOSV2', 'EN'),\n platforms: [ config.Platform.IOS_V2, config.Platform.IOS_V3, config.Platform.IOS_V4, config.Platform.IOS_V5 ],\n countries: [ code.toUpperCase() ],\n border: countryConfig.border,\n placement: countryConfig.placement,\n text: getFundraisingAnnouncementText(countryConfig),\n caption_HTML: \"By donating, you agree to our <a href='https://foundation.wikimedia.org/wiki/Donor_privacy_policy/en'>donor policy</a>.\",\n negative_text: 'No thanks',\n action: {\n title: 'DONATE NOW',\n url: 'https://donate.wikimedia.org/?uselang=en&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=iOS&utm_source=app_2022_6C_iOS_control&monthlyconvert=Default'\n }\n });\n};\n\nconst iOSAaaLDArticleTitles = ['Anya Taylor-Joy',\n 'Armie Hammer',\n 'Betty White',\n 'Bigg Boss (Tamil season 4)',\n 'Cloris_Leachman',\n 'Cicely Tyson',\n 'Darth Vader',\n 'Elisabeth Shue',\n 'Elizabeth Olsen',\n 'Elliot Page',\n 'Gal Gadot',\n 'Godzilla vs. Kong',\n 'K.G.F: Chapter 2',\n 'Lana Clarkson',\n 'Leonardo DiCaprio',\n 'List of Marvel Cinematic Universe films',\n 'Master (2021 film)',\n 'Olivia Wilde',\n 'Omar Sy',\n 'Pedro Pascal',\n 'Phoebe Dynevor',\n 'Pieces of a Woman',\n 'Promising Young Woman',\n 'Ralph Macchio',\n 'Soul (2020 film)',\n 'Tanya Roberts',\n 'Tenet (film)',\n 'The Dig (2021 film)',\n 'The Little Things (2021 film)',\n 'The Mandalorian',\n 'WandaVision',\n 'William Zabka',\n 'Wonder Woman 1984',\n 'Amen',\n 'Aquarius (astrology)',\n 'B. R. Ambedkar',\n 'Bermuda Triangle',\n 'Bible',\n 'Blue Monday (date)',\n 'Cabal',\n 'Capricorn (astrology)',\n 'Changeling',\n 'Charlie Charlie challenge',\n 'Communism',\n 'Epiphany (holiday)',\n 'Gautama Buddha',\n 'Illuminati',\n 'Islam',\n 'Jesus',\n 'Joan of Arc',\n 'Karl Marx',\n 'Lilith',\n 'List of conspiracy theories',\n 'List of religious populations',\n 'Makar Sankranti',\n 'Muhammad',\n 'NESARA',\n 'New World Order (conspiracy theory)',\n 'New Year\\'s Day',\n 'Pongal (festival)',\n 'Pope Francis',\n 'Sagittarius (astrology)',\n 'Scientology',\n 'Seven deadly sins',\n 'Ten Commandments',\n 'Valentine\\'s Day',\n 'Zodiac',\n 'Aaron Rodgers',\n 'Bobby Fischer',\n 'Conor McGregor',\n 'Cristiano Ronaldo',\n 'Drew Brees',\n 'Dustin Poirier',\n 'Gina Carano',\n 'Hank Aaron',\n 'James Naismith',\n 'Jim Brown',\n 'Josh Allen (quarterback)',\n 'Khabib Nurmagomedov',\n 'Kobe Bryant',\n 'LeBron James',\n 'Lionel Messi',\n 'List of footballers with 500 or more goals',\n 'List of Super Bowl champions',\n 'Max Holloway',\n 'Mesut Özil',\n 'Michael Chandler',\n 'Michael Jordan',\n 'Muhammad Ali',\n 'Nick Saban',\n 'Patrick Mahomes',\n 'Ryan García',\n 'Stephen Curry',\n 'Steve Sarkisian',\n 'Super Bowl',\n 'Super Bowl LV',\n 'Taylor Heinicke',\n 'Thomas Tuchel',\n 'Tiger Woods',\n 'Tom Brady',\n 'UFC 257',\n 'Urban Meyer',\n 'Art',\n 'Camera',\n 'Claude Monet',\n 'Colosseum',\n 'Colossus of Rhodes',\n 'David (Michelangelo)',\n 'Fallingwater',\n 'Great Pyramid of Giza',\n 'Impressionism',\n 'Jackson Pollock',\n 'Leaning Tower of Pisa',\n 'Leonardo da Vinci',\n 'List of most expensive paintings',\n 'Lorem ipsum',\n 'Louvre',\n 'Michelangelo',\n 'Mona Lisa',\n 'Moscow Kremlin',\n 'Pablo Picasso',\n 'Pietà (Michelangelo)',\n 'Sagrada Família',\n 'Salvador Dalí',\n 'Salvator Mundi (Leonardo)',\n 'Statue of Unity',\n 'The Ellipse',\n 'The Great Wave off Kanagawa',\n 'The Last Supper (Leonardo)',\n 'The Starry Night',\n 'Trademark symbol',\n 'Vincent van Gogh',\n 'Americas',\n 'Amundsen–Scott South Pole Station',\n 'Antarctica',\n 'Asia',\n 'Atlantic Ocean',\n 'Caribbean',\n 'Continent',\n 'Ernest Shackleton',\n 'Geographic coordinate system',\n 'Great Lakes',\n 'Greenland',\n 'Himalayas',\n 'K2',\n 'Kattegat',\n 'Lake Baikal',\n 'List of cities in the United Kingdom',\n 'List of countries and dependencies by area',\n 'List of countries and dependencies by population density',\n 'List of highest mountains on Earth',\n 'List of largest cities',\n 'List of national capitals',\n 'List of national parks of the United States',\n 'List of sovereign states',\n 'List of United States cities by population',\n 'Mediterranean Sea',\n 'Mount Kilimanjaro',\n 'North America',\n 'North Pole',\n 'Pacific Ocean',\n 'Patagonia',\n 'Réunion',\n 'Scandinavia',\n 'West Indies',\n 'World map',\n 'Yellowstone National Park',\n '2021',\n 'Alexander the Great',\n 'Alfred the Great',\n 'Anglo-Saxons',\n 'Anne Boleyn',\n 'Augustus',\n 'Björn Ironside',\n 'British Empire',\n 'Byzantine Empire',\n 'Catherine of Aragon',\n 'Charlemagne',\n 'Cleopatra',\n 'Emily Dickinson',\n 'Flag of the United States',\n 'Flags of the Confederate States of America',\n 'Helen Keller',\n 'Henry V of England',\n 'Henry VII of England',\n 'Ivar the Boneless',\n 'James VI and I',\n 'Julius Caesar',\n 'Karen Pence',\n 'List of English monarchs',\n 'Lucille Ball',\n 'Margaret Guido',\n 'Marie Antoinette',\n 'Mary I of England',\n 'Mary of Teck',\n 'Mary, Queen of Scots',\n 'Ottoman Empire',\n 'Queen Victoria',\n 'Ragnar Lodbrok',\n 'Roman Empire',\n 'Sutton Hoo',\n 'Vikings',\n '69 (sex position)',\n 'Anal sex',\n 'Animal',\n 'BDSM',\n 'Cane Corso',\n 'Cat',\n 'Charles Darwin',\n 'Dinosaur',\n 'DNA',\n 'Dodo',\n 'Dog',\n 'Fellatio',\n 'Gabi (dog)',\n 'German Shepherd',\n 'Giant panda',\n 'Golden Retriever',\n 'Kitten',\n 'Labrador Retriever',\n 'Lion',\n 'Mammal',\n 'Masturbation',\n 'Mercy dog',\n 'Missionary position',\n 'Non-penetrative sex',\n 'Oral sex',\n 'Quinoa',\n 'Sex',\n 'Sex position',\n 'Sexual intercourse',\n 'Sexy',\n 'Shiba Inu',\n 'Strawberry',\n 'Tiger',\n 'Virus',\n 'Wolverine',\n 'Adrenochrome',\n 'Asperger syndrome',\n 'B-cell lymphoma',\n 'Bipolar disorder',\n 'Body mass index',\n 'Borderline personality disorder',\n 'Bubonic plague',\n 'Cocaine',\n 'COVID-19 pandemic',\n 'COVID-19 pandemic in the United Kingdom',\n 'Crohn\\'s disease',\n 'Diverticulitis',\n 'Dunning–Kruger effect',\n 'Fentanyl',\n 'Fibromyalgia',\n 'Glioblastoma',\n 'IQ classification',\n 'Ivermectin',\n 'List of The Good Doctor episodes',\n 'Maslow\\'s hierarchy of needs',\n 'Myers–Briggs Type Indicator',\n 'Parkinson\\'s disease',\n 'Pfizer',\n 'Pneumonia',\n 'Prader–Willi syndrome',\n 'Pulmonary embolism',\n 'Schizophrenia',\n 'Sepsis',\n 'Serum Institute of India',\n 'Sigmund Freud',\n 'Smallpox',\n 'Tasuku Honjo',\n 'Tuberculosis',\n 'Tuskegee Syphilis Study',\n 'Vaccine',\n 'Albert Einstein',\n 'Atom',\n 'Big Bang',\n 'Black hole',\n 'Dark matter',\n 'Double-slit experiment',\n 'Electricity',\n 'Electromagnetic radiation',\n 'Energy',\n 'Entropy',\n 'Gas constant',\n 'Gravity',\n 'Higgs boson',\n 'Laws of thermodynamics',\n 'Light',\n 'Marie Curie',\n 'Newton\\'s laws of motion',\n 'Ohm\\'s law',\n 'Physics',\n 'Planck constant',\n 'Plasma (physics)',\n 'Quantum entanglement',\n 'Quantum mechanics',\n 'Reynolds number',\n 'Richard Feynman',\n 'Schrödinger equation',\n 'Schrödinger\\'s cat',\n 'Second law of thermodynamics',\n 'Speed of light',\n 'Speed of sound',\n 'Theory of relativity',\n 'Universe',\n 'Viscosity',\n 'Werner Heisenberg',\n 'X-ray'];\n\nconst iosV4SurveyAnnouncement = (campaign) => {\n return Object.assign({}, baseAnnouncement(campaign), {\n id: buildId(campaign, 'IOSV4', 'EN'),\n platforms: [ config.Platform.IOS_V4 ],\n border: false,\n placement: 'article',\n text: 'Help improve Wikipedia by taking a quick survey about this article',\n caption_HTML: \"View our <a href='https://foundation.m.wikimedia.org/w/index.php?title=Editing_Awareness_and_Trust_Survey_Privacy_Statement'>privacy statement</a>. Survey powered by a third-party. View their <a href='https://policies.google.com/privacy'>privacy policy</a>.\",\n negative_text: 'No thanks',\n percent_receiving_experiment: 50,\n action: {\n title: 'Start survey',\n url: 'https://docs.google.com/forms/d/e/1FAIpQLSdQ34Nz6u7Uhc6A3mTk5XwGdWVKwJpQfCZ4Jlx32QHhI6fx9Q/viewform?usp=pp_url&entry.135304298={{articleTitle}}&entry.1794192386={{didSeeModal}}&entry.1315551869={{isInExperiment}}'\n },\n articleTitles: iOSAaaLDArticleTitles,\n displayDelay: 30\n });\n};\n\nconst iosAaaLDSurveyAnnouncement = (campaign) => {\n return Object.assign({}, baseAnnouncement(campaign), {\n id: buildId(campaign, 'IOS', 'SURVEY20-1'),\n platforms: [ config.Platform.IOS_V5 ],\n border: false,\n placement: 'article',\n text: 'Help improve Wikipedia by taking a quick survey about this article',\n caption_HTML: \"View our <a href='https://foundation.m.wikimedia.org/w/index.php?title=Editing_Awareness_and_Trust_Survey_Privacy_Statement'>privacy statement</a>. Survey powered by a third-party. View their <a href='https://policies.google.com/privacy'>privacy policy</a>.\",\n negative_text: 'No thanks',\n percent_receiving_experiment: 50,\n action: {\n title: 'Start survey',\n url: 'https://docs.google.com/forms/d/e/1FAIpQLSdQ34Nz6u7Uhc6A3mTk5XwGdWVKwJpQfCZ4Jlx32QHhI6fx9Q/viewform?usp=pp_url&entry.135304298={{articleTitle}}&entry.1794192386={{didSeeModal}}&entry.1315551869={{isInExperiment}}'\n },\n articleTitles: iOSAaaLDArticleTitles,\n displayDelay: 30\n });\n};\n\nconst iosLegacyFundraisingAnnouncement = (code, countryConfig, campaign) => {\n return Object.assign({}, baseAnnouncement(campaign), {\n id: buildId(campaign, 'IOS', 'EN'),\n platforms: [ config.Platform.IOS ],\n countries: [ code.toUpperCase() ],\n min_version: '5.8.0',\n max_version: '6.1.0',\n caption_HTML: \"<p>By donating, you agree to our <a href='https://foundation.wikimedia.org/wiki/Donor_privacy_policy/en'>donor policy</a></p>.\",\n border: countryConfig.border,\n placement: countryConfig.placement,\n text: plaintextFromHTML(getFundraisingAnnouncementText(countryConfig)),\n action: {\n title: 'DONATE NOW',\n url: 'https://donate.wikimedia.org/?uselang=en&appeal=JimmyQuote&utm_medium=WikipediaApp&utm_campaign=iOS&utm_source=app_2022_6C_iOS_control&monthlyconvert=Default'\n }\n });\n};\n\nfunction getAndroidFundraisingAnnouncements(campaign) {\n return Object.keys(campaign.countryVars)\n .map((code) => androidV2FundraisingAnnouncement(code, campaign.countryVars[code], campaign));\n}\n\nfunction getAndroidSurveyAnnouncements(campaign) {\n return [].concat(androidV2SurveyAnnouncement(campaign));\n}\n\nfunction getiOSFundraisingAnnouncements(campaign) {\n return Object.keys(campaign.countryVars)\n .map((code) => iosV2FundraisingAnnouncement(code, campaign.countryVars[code], campaign));\n}\n\nfunction getiOSSurveyAnnouncements(campaign) {\n return [].concat(iosV4SurveyAnnouncement(campaign));\n}\n\nfunction getiOSAaaLDSurveyAnnouncements(campaign) {\n return [].concat(iosAaaLDSurveyAnnouncement(campaign));\n}\n\nfunction getLegacyiOSFundraisingAnnouncements(campaign) {\n return Object.keys(campaign.countryVars)\n .map((code) => iosLegacyFundraisingAnnouncement(code, campaign.countryVars[code], campaign));\n}\n\nfunction getAnnouncementsForCampaign(campaign) {\n switch (campaign.idPrefix) {\n case 'JAPANFUNDRAISING23':\n return Object.keys(campaign.countryVars).map((code) => japanFundraisingAnnouncement(code, campaign.countryVars[code], campaign, 'iOS', [ config.Platform.IOS_V2, config.Platform.IOS_V3, config.Platform.IOS_V4, config.Platform.IOS_V5 ]))\n .concat(Object.keys(campaign.countryVars).map((code) => japanFundraisingAnnouncement(code, campaign.countryVars[code], campaign, 'Android', [ config.Platform.ANDROID_V2 ])));\n case 'INDIAFUNDRAISING22':\n return getAndroidFundraisingAnnouncements(campaign);\n case 'FUNDRAISING22':\n return getAndroidFundraisingAnnouncements(campaign)\n .concat(getiOSFundraisingAnnouncements(campaign))\n .concat(getLegacyiOSFundraisingAnnouncements(campaign));\n case 'IOSSURVEY20':\n return getiOSSurveyAnnouncements(campaign);\n case 'IOSAAALDSURVEY':\n return getiOSAaaLDSurveyAnnouncements(campaign);\n case 'ANDROIDSURVEY20':\n return getAndroidSurveyAnnouncements(campaign);\n }\n}\n\nfunction hasEnded(campaign, now) {\n const endDate = Date.parse(campaign.endTime);\n if (isNaN(endDate)) {\n throw new HTTPError({\n status: 500,\n type: 'config_error',\n title: 'invalid end date in announcements config',\n detail: config.endTime\n });\n }\n return now > endDate;\n}\n\nfunction getActiveCampaigns(domain, now) {\n return config.campaigns.filter((campaign) =>\n campaign.activeWikis.includes(domain) &&\n !hasEnded(campaign, now));\n}\n\nfunction getAnnouncements(domain) {\n const announcements = [];\n const activeCampaigns = getActiveCampaigns(domain, new Date());\n activeCampaigns.forEach((campaign) => {\n announcements.push(...getAnnouncementsForCampaign(campaign));\n });\n\n return {\n announce: announcements\n };\n}\n\nmodule.exports = {\n getAnnouncements,\n testing: {\n buildId,\n getActiveCampaigns,\n getAnnouncementsForCampaign,\n getAndroidFundraisingAnnouncements,\n getiOSFundraisingAnnouncements,\n getLegacyiOSFundraisingAnnouncements,\n hasEnded\n }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/api-util.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":132,"column":null,"nodeType":"Block","endLine":132,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst BBPromise = require('bluebird');\nconst sUtil = require('./util');\nconst Template = require('swagger-router').Template;\nconst HTTPError = sUtil.HTTPError;\n\n/**\n * Calls the MW API with the supplied query as its body\n *\n * @param {!Object} req the incoming request object\n * @param {?Object} query an object with all the query parameters for the MW API\n * @param {?string} altDomain domain to query, if other than the original request domain\n * @param {?Object} addlHeaders additional headers to pass to the MW API\n * @return {!Promise} a promise resolving as the response object from the MW API\n */\nfunction mwApiGet(req, query, altDomain, addlHeaders) {\n\n const app = req.app;\n query = Object.assign({\n format: 'json',\n formatversion: 2\n }, query);\n\n const request = app.mwapi_tpl.expand({\n request: {\n params: { domain: altDomain || req.params.domain },\n headers: req.headers,\n query\n }\n });\n Object.assign(request.headers, addlHeaders);\n\n return req.issueRequest(request).then((response) => {\n if (response.status < 200 || response.status > 399) {\n // there was an error when calling the upstream service, propagate that\n return BBPromise.reject(new HTTPError({\n status: response.status,\n type: 'api_error',\n title: 'MW API error',\n detail: response.body\n }));\n }\n return response;\n });\n\n}\n\n/**\n * Calls the REST API with the supplied domain, path and request parameters\n *\n * @param {!Object} req the incoming request object\n * @param {?string} path the REST API path to contact without the leading slash\n * @param {?Object} [restReq={}] the object containing the REST request details\n * @param {?string} [restReq.method=get] the request method\n * @param {?Object} [restReq.query={}] the query string to send, if any\n * @param {?Object} [restReq.headers={}] the request headers to send\n * @param {?Object} [restReq.body=null] the body of the request, if any\n * @return {!Promise} a promise resolving as the response object from the REST API\n */\nfunction restApiGet(req, path, restReq) {\n\n const app = req.app;\n if (path.constructor === Object) {\n restReq = path;\n path = undefined;\n }\n restReq = restReq || {};\n restReq.method = restReq.method || 'get';\n restReq.query = restReq.query || {};\n restReq.headers = restReq.headers || {};\n restReq.params = restReq.params || {};\n restReq.params.path = path || restReq.params.path;\n restReq.params.domain = restReq.params.domain || req.params.domain;\n if (!restReq.params.path || !restReq.params.domain) {\n return BBPromise.reject(new HTTPError({\n status: 500,\n type: 'internal_error',\n title: 'Invalid internal call',\n detail: 'domain and path need to be defined for the REST API call'\n }));\n }\n restReq.params.path = restReq.params.path[0] === '/' ?\n restReq.params.path.slice(1) : restReq.params.path;\n\n return req.issueRequest(app.restbase_tpl.expand({ request: restReq }));\n\n}\n\nfunction mwGet(req, title, addlHeaders) {\n const app = req.app;\n const request = app.mw_tpl.expand({\n request: {\n headers: Object.assign(req.headers, addlHeaders),\n params: {\n domain: req.params.domain,\n title\n }\n }\n });\n return req.issueRequest(request);\n}\n\n/**\n * Returns a promise to the summary object for the given title.\n *\n * @param {!Object} req\n * @param {!string} title\n * @return {Promise<Object>}\n */\nfunction restGetSummary(req, title) {\n return restApiGet(\n req,\n `page/summary/${encodeURIComponent(title)}`,\n {\n headers: {\n 'accept-language': req.headers['accept-language']\n }\n }\n )\n .then((res) => {\n // Support legacy pre summary 2.0 clients.\n res.body.normalizedtitle = res.body.title;\n res.body.title = res.body.title.replace(/ /g, '_');\n return res.body;\n });\n}\n\n/**\n * Sets up the request templates for MW and RESTBase API requests\n *\n * @param {!Application} app the application object\n */\nfunction setupApiTemplates(app) {\n\n // set up the MW API request template\n if (!app.conf.mwapi_req) {\n app.conf.mwapi_req = {\n method: 'post',\n uri: 'http://{{domain}}/w/api.php',\n headers: '{{request.headers}}',\n body: '{{ default(request.query, {}) }}'\n };\n }\n app.mwapi_tpl = new Template(app.conf.mwapi_req);\n\n // set up the RESTBase request template\n if (!app.conf.restbase_req) {\n app.conf.restbase_req = {\n method: '{{request.method}}',\n uri: 'http://{{domain}}/api/rest_v1/{+path}',\n query: '{{ default(request.query, {}) }}',\n headers: '{{request.headers}}',\n body: '{{request.body}}'\n };\n }\n app.restbase_tpl = new Template(app.conf.restbase_req);\n\n // set up the MediaWiki page request template\n if (!app.conf.mw_req) {\n app.conf.mw_req = {\n method: '{{request.method}}',\n uri: 'http://{{domain}}/w/index.php?title={+title}',\n query: '{{ default(request.query, {}) }}',\n headers: '{{request.headers}}'\n };\n }\n app.mw_tpl = new Template(app.conf.mw_req);\n\n}\n\nmodule.exports = {\n mwGet,\n mwApiGet,\n restApiGet,\n restGetSummary,\n setupApiTemplates\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/date-util.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/doc-util.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/featured-image.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/featured.js","messages":[{"ruleId":"no-shadow","severity":1,"message":"'si' is already declared in the upper scope on line 12 column 7.","line":138,"column":12,"nodeType":"Identifier","messageId":"noShadow","endLine":138,"endColumn":14}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * To retrieve TFA -- Today's featured article -- for a given date.\n */\n\n'use strict';\n\nconst crypto = require('crypto');\nconst domino = require('domino');\nconst BBPromise = require('bluebird');\nconst api = require('./api-util');\n\nconst si = require('./siteinfo');\nconst dateUtil = require('./date-util');\nconst util = require('./util');\n\nconst HTTPError = util.HTTPError;\n\nconst NS_SPECIAL = '-1';\n\nconst supportedSubdomains = [ 'bg', 'bn', 'bs', 'cs', 'de', 'el', 'en', 'fa', 'he', 'hu', 'it', 'ja',\n 'la', 'no', 'sco', 'sd', 'sv', 'tr', 'ur', 'vi', 'zh' ];\n\nconst supportedDomains = supportedSubdomains.map((lang) => `${lang}.wikipedia.org`);\n\nconst isSupported = (domain) => supportedDomains.includes(domain);\n\n/**\n * Builds the request to get the Special:FeedItem provided by the FeaturedFeed extension.\n *\n * @param {!string} req the request object\n * @param {!Object} siteinfo\n * @param {!Date} date for which day the featured article is requested\n * @return {!Promise} a promise resolving as an JSON object containing the response\n */\nconst requestFeaturedFeedSpecialItem = (req, siteinfo, date) => {\n const lang = siteinfo.general.lang;\n const localizedNamespaceSpecial = siteinfo.namespaces[NS_SPECIAL].name.replace(/ /g, '_');\n const feedItemAliasInfo = siteinfo.specialpagealiases.find((i) => i.realname === 'FeedItem');\n const feedItemAlias = (feedItemAliasInfo && feedItemAliasInfo.aliases[0]) || 'FeedItem';\n const dateString = `${dateUtil.formatYYYYMMDD(date)}000000`;\n const title = `${localizedNamespaceSpecial}:${feedItemAlias}/featured/${dateString}/${lang}`;\n return api.mwGet(req, title, { accept: 'text/html; charset=UTF-8' });\n};\n\n// -- functions dealing with responses:\n\nconst findPageTitle = (html) => {\n const document = domino.createDocument(html);\n const scope = document.querySelector('div#mw-content-text');\n if (!scope) {\n return;\n }\n\n const found = scope.querySelector('b > a, a > b');\n if (found) {\n if (found.tagName === 'A') { // b > a\n return found.getAttribute('title');\n } else { // a > b\n // the anchor is the parent node\n return found.parentNode.getAttribute('title');\n }\n }\n};\n\n/**\n * Fetches higher-quality page image form MW API\n *\n * @param {!Object} req\n * @param {!string} title\n * @return {Promise<Object>}\n */\nconst fetchHighQualityPageImage = (req, title) => {\n return api.mwApiGet(req, {\n action: 'query',\n format: 'json',\n formatversion: 2,\n prop: 'pageimages',\n piprop: 'thumbnail|original',\n pithumbsize: 640,\n pilicense: 'any',\n titles: title\n })\n .then((res) => {\n if (res.body &&\n res.body.query &&\n res.body.query.pages &&\n res.body.query.pages.length &&\n res.body.query.pages[0].thumbnail &&\n res.body.query.pages[0].original) {\n const thumbnail = res.body.query.pages[0].thumbnail;\n const originalimage = res.body.query.pages[0].original;\n thumbnail.source = thumbnail.source.replace(/^http:/, 'https:');\n originalimage.source = originalimage.source.replace(/^http:/, 'https:');\n return { thumbnail, originalimage };\n }\n });\n};\n\nconst createSha1 = (input) => {\n const shasum = crypto.createHash('sha1');\n shasum.update(input);\n return shasum.digest('hex');\n};\n\n// -- main\n\nconst promise = (app, req) => {\n let pageTitle;\n const domain = req.params.domain;\n const aggregated = !!req.query.aggregated;\n\n if (!dateUtil.validate(dateUtil.hyphenDelimitedDateString(req))) {\n if (aggregated) {\n return BBPromise.resolve({});\n }\n dateUtil.throwDateError();\n }\n\n if (!isSupported(domain)) {\n if (aggregated) {\n return BBPromise.resolve({});\n } else {\n throw new HTTPError({\n status: 404,\n type: 'not_found',\n title: 'Not found',\n detail: 'The language you have requested is not yet supported.'\n });\n }\n }\n\n const requestedDate = dateUtil.getRequestedDate(req);\n if (domain === 'de.wikipedia.org' && !(dateUtil.isWithinLast3Days(requestedDate))) {\n return BBPromise.resolve({});\n }\n\n return si.getSiteInfo(req)\n .then((si) => requestFeaturedFeedSpecialItem(req, si, requestedDate)\n .then((featured) => {\n pageTitle = findPageTitle(featured.body);\n if (!pageTitle) {\n return BBPromise.resolve({});\n }\n const dbTitle = util.getDbTitle(pageTitle, si);\n const vary = [];\n if (si.variants && si.variants.length > 1) {\n vary.push('accept-language');\n }\n return {\n payload: api.restGetSummary(req, dbTitle),\n meta: { etag: createSha1(dbTitle), vary },\n // will be moved into summary before returning the result\n $fetchHighQualityImage: fetchHighQualityPageImage(req, dbTitle)\n };\n })\n .then((result) => util.promiseAwaitAll(result, true, req.logger))\n .then((resolvedResult) => {\n if (resolvedResult.$fetchHighQualityImage) {\n Object.assign(resolvedResult.payload, resolvedResult.$fetchHighQualityImage);\n }\n delete resolvedResult.$fetchHighQualityImage;\n return resolvedResult;\n })\n .catch((err) => {\n if (aggregated) {\n return BBPromise.resolve({});\n }\n throw err;\n }));\n};\n\nmodule.exports = {\n promise,\n supportedSubdomains,\n supportedDomains,\n testing: {\n findPageTitle,\n isSupported\n }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/imageinfo.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Bool' is undefined.","line":30,"column":null,"nodeType":"Block","endLine":30,"endColumn":null},{"ruleId":"jsdoc/no-multi-asterisks","severity":2,"message":"Should be no multiple asterisks on end lines.","line":53,"column":null,"nodeType":"Block","endLine":53,"endColumn":null,"fix":{"range":[1472,1535],"text":"/**\n * @param {!domino.Document} doc\n @return {void} */"}},{"ruleId":"jsdoc/check-alignment","severity":1,"message":"Expected JSDoc block to be aligned.","line":53,"column":null,"nodeType":"Block","endLine":53,"endColumn":null,"fix":{"range":[1472,1535],"text":"/**\n * @param {!domino.Document} doc\n * @return {void} */"}},{"ruleId":"array-callback-return","severity":1,"message":"Array.prototype.map() expects a return value from arrow function.","line":202,"column":43,"nodeType":"ArrowFunctionExpression","messageId":"expectedInside","endLine":202,"endColumn":45},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in type: [type]","line":279,"column":null,"nodeType":"Block","endLine":279,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in type: [type]","line":281,"column":null,"nodeType":"Block","endLine":281,"endColumn":null}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":1,"fixableWarningCount":1,"source":"'use strict';\n\nconst P = require('bluebird');\nconst _ = require('lodash');\nconst domino = require('domino');\nconst striptags = require('striptags');\nconst api = require('./api-util');\nconst dateUtil = require('./date-util');\nconst util = require('./util');\nconst HTTPError = util.HTTPError;\nconst parsoid = require('./parsoid');\n\nconst PROD_COMMONS_DOMAIN = 'commons.wikimedia.org';\nconst BETA_COMMONS_DOMAIN = 'commons.wikimedia.beta.wmflabs.org';\n\n/**\n * Get the correct Commons domain to handle the request.\n *\n * @param {!string} domain original request domain\n * @return {!string} Commons domain for beta or prod\n */\nfunction getCommonsDomain(domain) {\n return domain.endsWith('beta.wmflabs.org') ? BETA_COMMONS_DOMAIN : PROD_COMMONS_DOMAIN;\n}\n\n/**\n * get page object from api response\n *\n * @param {Object} response MWAPI response\n * @param {Bool} dontThrow if true throw HTTP error 404\n * @return {Object} Page Object\n */\nfunction getPageObject(response, dontThrow) {\n const page = response.body.query.pages[0];\n if (!page.pageid || page.missing === true) {\n if (dontThrow) {\n page.notfound = true;\n return page;\n } else {\n throw new HTTPError({\n status: 404,\n type: 'not_found',\n title: 'No picture of the day for this date',\n detail: 'There is no picture of the day for this date.'\n });\n }\n }\n return page;\n}\n\n/**\n * @param {!domino.Document} doc\n * @return {void} */\nfunction removeLangLabels(doc) {\n const labels = doc.querySelectorAll('span[class*=langlabel-]') || [];\n labels.forEach((element) => {\n element.parentNode.removeChild(element);\n });\n}\n\n/**\n * @param {!domino.Document} doc\n * @return {!Object.<string, string>} Map of languages to descriptions\n */\nfunction queryDescriptions(doc) {\n const descriptions = {};\n const descriptionElements = doc.querySelectorAll('.description[class*=lang-]') || [];\n descriptionElements.forEach((element) => {\n descriptions[element.lang] = element.innerHTML.trim();\n });\n return descriptions;\n}\n\n/**\n * Converts a metadata array to a standard JS key-value object.\n *\n * @param {!Array} meta A metadata array from Commons ([ { name: foo, value: bar }, ... ])\n * @return {!Object} a consolidated object ({ foo: bar, ... })\n */\nfunction metadataToObject(meta) {\n return Object.assign(...meta.map((item) => ({ [item.name]: item.value })));\n}\n\n/**\n * Provides a consistent structure for extended metadata (extmetadata) properties returned from the\n * MW API. As returned directly from the MW API, these values may be strings or objects, and may\n * or may not specify the language in which they are provided. This provides some structure to help\n * clients consume the data more easily.\n * The result language will be chosen according to the following algorithm:\n * 1) If a key for preferredLang exists, use preferredLang;\n * 2) Else, if the key exists in English, use English;\n * 3) Else, use the first available language.\n * The return value will include the following properties:\n * html (required): the original value text in the chosen language, likely (but not necessarily)\n * HTML-formatted;\n * text (required): the original value text with HTML-formatting stripped;\n * lang (optional): the chosen language code, if language codes were provided\n *\n * @param {!Object|string} val Value of the extmetadata property\n * @param {!string} preferredLang preferred language (most likely the request language)\n * @return {?Object} structured values for the extmetadata property\n */\nfunction structureExtMetadataValue(val, preferredLang) {\n let html;\n let lang;\n\n if (typeof val === 'object') {\n if (val[preferredLang]) {\n lang = preferredLang;\n } else if (val.en) {\n lang = 'en';\n } else if (Object.keys(val)[0]) {\n lang = Object.keys(val)[0];\n } else {\n return;\n }\n html = val[lang];\n } else if (typeof val === 'string') {\n html = val;\n } else {\n return;\n }\n\n return {\n html,\n text: striptags(html).trim(),\n lang\n };\n}\n\n/**\n * Get structured artist info from extmetadata (to the extent possible).\n * We take a rather conservative approach here:\n * 1) In the 'html' property, we always return the full HTML string.\n * 2) If the field contains only plain text, we assume this is an artist name and\n * return it in the 'name' property.\n * 3) If the HTML string is of a specific common form, we parse the user name and\n * user page from it, and return them in the 'name' and 'user_page' fields respectively.\n * That form is \"<a href=\\\"//commons.wikimedia.org/wiki/User:Foo\\\" title=\\\"User:Foo\\\">Foo</a>\".\n *\n * @param {!Object|string} val The Artist value from extmetadata\n * @param {!string} preferredLang \"artist\" metadata value from the MW API\n * @return {?Object} structured artist info\n */\nfunction getStructuredArtistInfo(val, preferredLang) {\n const result = structureExtMetadataValue(val, preferredLang);\n if (!result) {\n return;\n }\n const doc = domino.createDocument(result.html);\n if (!doc.body.textContent) {\n return;\n }\n let name;\n let userPage;\n if (doc.body.textContent === result.html) {\n name = doc.body.textContent;\n } else {\n const a = doc.body.querySelector('a');\n if (a && a.outerHTML === result.html && a.getAttribute('title') === `User:${doc.body.textContent}` &&\n // TODO: Update to handle all Wikimedia project domains\n a.getAttribute('href') === `//commons.wikimedia.org/wiki/${a.title}`) {\n name = doc.body.textContent;\n userPage = `https:${a.getAttribute('href')}`;\n }\n }\n return Object.assign(result, { name, user_page: userPage });\n}\n\n/**\n * Provides consistent structuring of extmetadata values. See comments on\n * structureExtMetadataProperty for the specific steps applied to each value.\n *\n * @param {!Object} extMetadata extmetadata object from MW API\n * @param {!string} preferredLang preferred language (most likely the request language)\n * @return {?Object} set of structured extmetadata values\n */\nfunction structureExtMetadataValues(extMetadata, preferredLang) {\n return Object.keys(extMetadata).reduce((acc, cur) => {\n const val = extMetadata[cur].value;\n if (cur === 'Artist') {\n // Special-case handling for the Artist property (conditionally including a\n // derived Commons username and User page URL), which is used for something\n // or other in the Android app.\n acc[cur] = getStructuredArtistInfo(val, preferredLang);\n } else {\n acc[cur] = structureExtMetadataValue(val, preferredLang);\n }\n return acc;\n }, {});\n}\n\n/**\n * Provides consistent structuring of wbentities values for the structured captions field\n *\n * @param {!Object} wbentity object data from wbgetentities API action\n * @return {!Object} structured captions for given wbentity\n */\nfunction structureCaptions(wbentity) {\n const captions = wbentity && wbentity.labels;\n if (captions) {\n Object.keys(captions).map((index) => {\n captions[index] = captions[index].value;\n });\n }\n return captions;\n}\n\n/**\n * Make image info result\n *\n * @param {!Object} wbentity Wikibase entity object\n * @param {!Object} image metadata query results to be parsed and formatted\n * @param {!Object} siteinfo Site info\n * @param {!string} preferredLang language code of the preferred language for metadata values\n * @param {!Object} desc Description Value pre-processed (needed for Picture of the day)\n * @return {!Object}\n */\nfunction makeResult(wbentity, image, siteinfo, preferredLang, desc) {\n const imageInfo = image.imageinfo[0];\n const meta = imageInfo.metadata && metadataToObject(imageInfo.metadata);\n const ext = imageInfo.extmetadata &&\n structureExtMetadataValues(imageInfo.extmetadata, preferredLang);\n const isAudio = imageInfo.mediatype === 'AUDIO';\n const isSvg = imageInfo.mime && imageInfo.mime.includes('svg');\n const captions = structureCaptions(wbentity);\n\n return {\n title: image.pageprops && image.pageprops.displaytitle || image.title,\n thumbnail: {\n source: imageInfo.thumburl,\n width: imageInfo.thumbwidth,\n height: imageInfo.thumbheight,\n mime: imageInfo.thumbmime\n },\n image: {\n source: imageInfo.url,\n width: isAudio || isSvg ? undefined : imageInfo.width,\n height: isAudio || isSvg ? undefined : imageInfo.height,\n mime: imageInfo.mime\n },\n page_count: imageInfo.pagecount,\n file_page: imageInfo.descriptionurl,\n duration: meta && (meta.length || meta.playtime_seconds) || undefined,\n artist: ext && ext.Artist,\n credit: ext && ext.Credit,\n // Use original value for each of these since it's well standardized data\n license: {\n type: ext && ext.LicenseShortName && ext.LicenseShortName.html,\n code: ext && ext.License && ext.License.html,\n url: ext && ext.LicenseUrl && ext.LicenseUrl.html\n },\n description:\n desc && structureExtMetadataValue(desc, preferredLang) ||\n ext && ext.ImageDescription,\n wb_entity_id: wbentity.id,\n structured: {\n captions: captions && Object.keys(captions).length ? captions : {}\n }\n };\n}\n\n/**\n * Get Picture of the day description from Parsoid response\n *\n * @param {Object} req req Server request\n * @param {Object} body parsoid body response\n * @return {Object} POTD description value\n */\nfunction getPotdDescriptionValue(req, body) {\n const doc = domino.createDocument(body);\n removeLangLabels(doc);\n return queryDescriptions(doc);\n}\n\n/**\n * Builds the request to get the Picture of the day of a given date.\n *\n * @param {[type]} req [description]\n * @param {!Date} date for which day the featured image of theday is requested\n * @param {[type]} siteinfo [description]\n * @return {!Promise} a promise resolving as an JSON object containing the response\n */\nfunction requestPictureOfTheDay(req, date, siteinfo) {\n const isoDate = dateUtil.formatISODate(date);\n const commonsDomain = getCommonsDomain(req.params.domain);\n let page;\n const filter = [\n 'Artist',\n 'LicenseShortName',\n 'License',\n 'LicenseUrl',\n 'Credit'\n ];\n\n const imageInfoProps = [\n 'url',\n 'dimensions',\n 'extmetadata'\n ];\n\n const query = {\n action: 'query',\n format: 'json',\n formatversion: 2,\n generator: 'images',\n prop: 'imageinfo|revisions',\n iiextmetadatafilter: filter.join('|'),\n iimetadataversion: 'latest',\n iiprop: imageInfoProps.join('|'),\n iiurlwidth: 640,\n rawcontinue: '',\n titles: `Template:Potd/${isoDate}`\n };\n return api.mwApiGet(req, query, commonsDomain).then((response) => {\n page = getPageObject(response);\n\n const parsoidReq = Object.create(req);\n parsoidReq.params = Object.create(req.params);\n parsoidReq.params.title = page.title;\n parsoidReq.params.domain = commonsDomain;\n\n const structuredQuery = {\n action: 'wbgetentities',\n format: 'json',\n formatversion: 2,\n sites: 'commonswiki',\n props: 'labels|info',\n titles: page.title\n };\n\n return P.join(\n parsoid.getParsoidHtml(parsoidReq),\n api.mwApiGet(req, structuredQuery, commonsDomain),\n (html, structured) => {\n const description = getPotdDescriptionValue(req, html.body);\n const lang = req.params.domain.split('.')[0];\n const wbentity = _.values(structured.body.entities)[0];\n return {\n payload: makeResult(wbentity, page, siteinfo, lang, description),\n meta: util.getRevAndTidFromEtag(html.headers)\n };\n });\n });\n}\n\nmodule.exports = {\n requestPictureOfTheDay,\n testing: {\n structureExtMetadataValue\n }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/most-read.js","messages":[{"ruleId":"jsdoc/check-access","severity":1,"message":"At most one access-control tag may be present on a jsdoc block.","line":56,"column":1,"nodeType":"Block","endLine":59,"endColumn":4},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@public should not have a bracketed type in \"jsdoc\" mode.","line":57,"column":null,"nodeType":"Block","endLine":57,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@public should not have a bracketed type in \"jsdoc\" mode.","line":58,"column":null,"nodeType":"Block","endLine":58,"endColumn":null},{"ruleId":"no-shadow","severity":1,"message":"'pageviews' is already declared in the upper scope on line 10 column 7.","line":124,"column":19,"nodeType":"Identifier","messageId":"noShadow","endLine":124,"endColumn":28},{"ruleId":"array-callback-return","severity":1,"message":"Array.prototype.map() expects a return value from arrow function.","line":140,"column":25,"nodeType":"ReturnStatement","messageId":"expectedReturnValue","endLine":140,"endColumn":32},{"ruleId":"max-len","severity":1,"message":"This line has a length of 113. Maximum allowed is 100.","line":189,"column":1,"nodeType":"Program","messageId":"max","endLine":189,"endColumn":114}],"suppressedMessages":[{"ruleId":"no-underscore-dangle","severity":2,"message":"Unexpected dangling '_' in '_id'.","line":136,"column":26,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":136,"endColumn":87,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Most-read article promise and related support functions.\n */\n\n'use strict';\n\nconst BBPromise = require('bluebird');\nconst regexEscape = require('escape-string-regexp');\nconst dateUtil = require('./date-util');\nconst pageviews = require('./pageviews');\nconst si = require('./siteinfo');\nconst util = require('./util');\nconst apiUtil = require('./api-util');\nconst Title = require('mediawiki-title').Title;\n\nconst MAX_TITLES = 50;\n\nconst DENY_LIST = {\n '*': [\n '-',\n 'Test_card',\n 'Web_scraping',\n 'XHamster',\n 'Java_(programming_language)',\n 'Images/upload/bel.jpg',\n 'Superintelligence:_Paths,_Dangers,_Strategies',\n 'Okto',\n 'Proyecto_40',\n 'AMGTV',\n 'Lali_Espósito',\n 'La7',\n 'Vagina',\n 'کس', // mznwiki\n 'مقعد', // mznwiki\n 'Tobias_Sammet', // dewiki T238942\n 'Avantasia', // dewiki T238942\n 'Edguy', // dewiki T238942\n 'Pornhub', // dewiki T238942\n 'Index', // T327904\n 'Index_(statistics)',\n 'Index,_Washington',\n 'Index_(economics)',\n 'XXX:_Return_of_Xander_Cage',\n 'XXX_(film_series)',\n 'XXX_(2002_film)',\n 'Cookie_(informatique)'\n ],\n es: [\n 'Cleopatra'\n ],\n pt: [\n 'Cleopatra'\n ]\n};\n\n/**\n * @public {!string} date ISO 8601 timestamp of pageviews recorded\n * @public {!number} views Integer pageviews on date\n */\nclass DatedPageviews {\n constructor(date, views) {\n this.date = date;\n this.views = views;\n }\n}\n\nfunction getTopPageviews(req, domain, date) {\n const restReq = {\n params: { domain: 'wikimedia.org' },\n headers: { accept: 'application/json; charset=utf-8' }\n };\n return new pageviews.Client(req, restReq).reqTop(domain, pageviews.Platform.ALL, date);\n}\nfunction pageviewsPageRspToDatedPageviews(rsp) {\n return rsp.body.items.map((item) => {\n return new DatedPageviews(dateUtil.iso8601DateFromYYYYMMDD(item.timestamp), item.views);\n });\n}\n\nfunction getViewHistory(req, domain, startDate, endDate, entry) {\n const restReq = {\n params: { domain: 'wikimedia.org' },\n headers: { accept: 'application/json; charset=utf-8' }\n };\n const client = new pageviews.Client(req, restReq);\n return client.reqPage(util.removeTLD(domain), pageviews.Platform.ALL, pageviews.Agent.USER,\n entry.article, pageviews.Granularity.DAILY, startDate, endDate)\n .then(pageviewsPageRspToDatedPageviews);\n}\n\nfunction filterSpecial(articles, mainPageTitle) {\n const mainPageRegExp = new RegExp(`^${regexEscape(mainPageTitle)}$`, 'i');\n return articles.filter((entry) => {\n return entry.namespace.id === 0 && !mainPageRegExp.test(entry.titles.canonical);\n });\n}\n\nfunction isBlocked(lang, title) {\n return (lang in DENY_LIST && DENY_LIST[lang].includes(title)) || DENY_LIST['*'].includes(title);\n}\n\nfunction promise(app, req) {\n if (req.params.domain === 'fy.wikipedia.org') {\n return BBPromise.resolve({ meta: {} });\n }\n\n if (!dateUtil.validate(dateUtil.hyphenDelimitedDateString(req))) {\n if (req.query.aggregated) {\n return BBPromise.resolve({ meta: {} });\n }\n dateUtil.throwDateError();\n }\n\n const reqDate = dateUtil.getRequestedDate(req);\n const rspDate = req.query.aggregated ? dateUtil.addDays(reqDate, -1) : reqDate;\n\n return BBPromise.join(\n getTopPageviews(req, util.removeTLD(req.params.domain), rspDate),\n si.getSiteInfo(req),\n (pageviewsResponse, siteinfo) => {\n const mainPage = siteinfo.general && siteinfo.general.mainpage;\n const mainPageTitle = Title.newFromText(mainPage, siteinfo);\n\n const pageviews = pageviewsResponse &&\n pageviewsResponse.body &&\n pageviewsResponse.body.items &&\n pageviewsResponse.body.items[0];\n\n const pageviewsSlice = pageviews.articles &&\n pageviews.articles.slice(0, MAX_TITLES);\n\n const titles = pageviewsSlice.map((entry) => {\n let ns;\n try {\n // eslint-disable-next-line no-underscore-dangle\n ns = Title.newFromText(entry.article, siteinfo).getNamespace()._id;\n } catch (e) {\n if (e.type === 'title-invalid-utf8') {\n req.logger.log('warn', e);\n return;\n } else {\n throw e;\n }\n }\n return Object.assign({ ns }, entry);\n }).filter((entry) => entry !== undefined);\n\n const resultsDate = `${pageviews.year}-${pageviews.month}-${pageviews.day}Z`;\n const start = dateUtil.addDays(new Date(resultsDate), -4);\n const end = new Date(resultsDate);\n\n const results = titles.map((entry) => {\n // Will be merged-in on a later pass\n entry.$summary = apiUtil.restGetSummary(req, entry.article);\n entry.view_history = getViewHistory(req, req.params.domain, start, end, entry);\n delete entry.article;\n delete entry.ns;\n return entry;\n });\n\n return util.promiseAwaitAll(results, true, req.logger)\n .then((resp) => {\n let articles = resp\n // Throw away items where summaries failed to fetch.\n .filter((entry) => !!entry.$summary)\n // Merge the summary content into the article view data.\n .map((entry) => {\n Object.assign(entry, entry.$summary);\n delete entry.$summary;\n return entry;\n });\n\n // Deduplicate the most-read pages cause some of them might have been\n // redirects which have now been resolved.\n articles = util.removeDuplicateTitles(articles, (orig, dupe) => {\n orig.views += dupe.views;\n orig.view_history.forEach((toViewsForDate) => {\n const filteredViews = dupe.view_history.filter((fromViewsForDate) => {\n return toViewsForDate.date === fromViewsForDate.date;\n });\n if (filteredViews.length) {\n toViewsForDate.views += filteredViews[0].views;\n }\n });\n return orig;\n });\n\n articles = filterSpecial(articles, mainPageTitle.getPrefixedDBKey());\n articles = articles.filter((entry) => !isBlocked(siteinfo.general.lang, entry.titles.canonical));\n\n const vary = [];\n if (siteinfo.variants && siteinfo.variants.length > 1) {\n vary.push('accept-language');\n }\n return {\n payload: {\n date: resultsDate,\n articles\n },\n meta: { revision: dateUtil.dateStringFrom(req), vary }\n };\n });\n }).catch((err) => {\n // Catch and handle the error if this is an aggregated request and the\n // pageview data are not yet loaded.\n if (req.query.aggregated && err.status === 404) {\n return BBPromise.resolve({ meta: {} });\n }\n throw err;\n });\n}\n\nmodule.exports = {\n promise,\n\n // visible for testing\n filterSpecial,\n isBlocked\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/news.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":15,"column":null,"nodeType":"Block","endLine":15,"endColumn":null},{"ruleId":"no-shadow","severity":1,"message":"'si' is already declared in the upper scope on line 8 column 7.","line":73,"column":12,"nodeType":"Identifier","messageId":"noShadow","endLine":73,"endColumn":14},{"ruleId":"no-shadow","severity":1,"message":"'result' is already declared in the upper scope on line 81 column 19.","line":97,"column":20,"nodeType":"Identifier","messageId":"noShadow","endLine":97,"endColumn":26}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst BBPromise = require('bluebird');\nconst parsoid = require('./parsoid');\nconst util = require('./util');\nconst apiUtil = require('./api-util');\nconst docUtil = require('./doc-util');\nconst si = require('./siteinfo');\nconst HTTPError = util.HTTPError;\nconst NEWS_TEMPLATES = require('../etc/news-sites');\n\n/**\n * Remove any elements matching selector from doc\n *\n * @param {Document} doc\n * @param {string} selector\n * @return {boolean} true if at least one node has been removed\n */\nfunction rmElements(doc, selector) {\n const nodes = doc.querySelectorAll(selector) || [];\n for (let idx = 0; idx < nodes.length; idx++) {\n const node = nodes[idx];\n node.parentNode.removeChild(node);\n }\n return nodes.length > 0;\n}\n\nfunction constructStory(req, lang, storyHtml) {\n const story = { links: [] };\n const linkTitles = [];\n\n const topicAnchor = storyHtml.querySelector(NEWS_TEMPLATES[lang].topicAnchorSelector);\n const topicTitle = util.extractDbTitleFromAnchor(topicAnchor);\n storyHtml.querySelectorAll('a[rel=\"mw:WikiLink\"]').forEach((anchor) => {\n const storyTitle = util.extractDbTitleFromAnchor(anchor);\n if (!linkTitles.includes(storyTitle)) {\n story.links.splice(\n storyTitle === topicTitle ? 0 : story.links.length,\n 0,\n apiUtil.restGetSummary(req, storyTitle)\n );\n linkTitles.push(storyTitle);\n }\n });\n\n rmElements(storyHtml, 'span[style^=float:right]');\n story.story = storyHtml.innerHTML;\n if (story.story.length > 0 && story.links.length > 0) {\n return story;\n } else {\n return undefined;\n }\n}\n\nfunction promise(app, req) {\n const lang = req.params.domain.split('.')[0];\n const aggregated = !!req.query.aggregated;\n\n if (!NEWS_TEMPLATES[lang]) {\n if (aggregated) {\n return BBPromise.resolve({});\n }\n throw new HTTPError({\n status: 404,\n type: 'not_found',\n title: 'Not found',\n detail: 'The language you have requested is not yet supported.'\n });\n }\n\n req.params.title = NEWS_TEMPLATES[lang].title;\n return si.getSiteInfo(req)\n .then((si) => {\n return parsoid.getParsoidHtml(req)\n .then((response) => {\n const selector = NEWS_TEMPLATES[lang].headlineSelectorAll;\n const vary = [];\n if (si.variants && si.variants.length > 1) {\n vary.push('accept-language');\n }\n const result = {\n payload: [],\n meta: { etag: util.getRevisionFromEtag(response.headers), vary }\n };\n return docUtil.createDocument(response.body)\n .then((doc) => {\n const headlines = doc.querySelectorAll(selector);\n Array.prototype.forEach.call(headlines, (storyHtml) => {\n const story = constructStory(req, lang, storyHtml);\n if (story) {\n result.payload.push(story);\n }\n });\n\n return result;\n })\n .then((result) =>\n util.promiseAwaitAll(result, true, req.logger));\n });\n });\n}\n\nmodule.exports = {\n promise,\n\n // visible for testing\n constructStory\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/on-this-day.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Integer' is undefined.","line":34,"column":null,"nodeType":"Block","endLine":34,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":93,"column":null,"nodeType":"Block","endLine":93,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":109,"column":null,"nodeType":"Block","endLine":109,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AnchorElement' is undefined.","line":122,"column":null,"nodeType":"Block","endLine":122,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Integer' is undefined.","line":123,"column":null,"nodeType":"Block","endLine":123,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AnchorElement' is undefined.","line":141,"column":null,"nodeType":"Block","endLine":141,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AnchorElement' is undefined.","line":161,"column":null,"nodeType":"Block","endLine":161,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":184,"column":null,"nodeType":"Block","endLine":184,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":231,"column":null,"nodeType":"Block","endLine":231,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Integer' is undefined.","line":247,"column":null,"nodeType":"Block","endLine":247,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":286,"column":null,"nodeType":"Block","endLine":286,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":297,"column":null,"nodeType":"Block","endLine":297,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":298,"column":null,"nodeType":"Block","endLine":298,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":319,"column":null,"nodeType":"Block","endLine":319,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ListElement' is undefined.","line":337,"column":null,"nodeType":"Block","endLine":337,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":356,"column":null,"nodeType":"Block","endLine":356,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":388,"column":null,"nodeType":"Block","endLine":388,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":402,"column":null,"nodeType":"Block","endLine":402,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":416,"column":null,"nodeType":"Block","endLine":416,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":430,"column":null,"nodeType":"Block","endLine":430,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":444,"column":null,"nodeType":"Block","endLine":444,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":459,"column":null,"nodeType":"Block","endLine":459,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Document' is undefined.","line":460,"column":null,"nodeType":"Block","endLine":460,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":554,"column":null,"nodeType":"Block","endLine":554,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":598,"column":null,"nodeType":"Block","endLine":598,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Response' is undefined.","line":599,"column":null,"nodeType":"Block","endLine":599,"endColumn":null}],"suppressedMessages":[{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":485,"column":16,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":485,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":26,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst _ = require('lodash');\nconst parsoid = require('./parsoid');\nconst apiUtil = require('./api-util');\nconst util = require('./util');\nconst docUtil = require('./doc-util');\nconst si = require('./siteinfo');\nconst HTTPError = util.HTTPError;\nconst languages = require('./on-this-day.languages').languages;\n\n/**\n * WMFPage models a link to a page\n *\n * @param {!string} title a page title, i.e. 'Goat'\n * @param {!boolean} isTopic events can have multiple links to pages, if this particular link is\n * bolded, such as those seen on https://en.m.wikipedia.org/wiki/Wikipedia:On_this_day/Today,\n * isTopic will be true.\n */\nclass WMFPage {\n constructor(title, isTopic) {\n this.title = title;\n if (isTopic) {\n this.isTopic = isTopic;\n }\n }\n}\n\n/**\n * WMFEvent models an historical event\n *\n * @param {!string} text event description\n * @param {!Array} pages array of WMFPage's for the event\n * @param {!Integer} year the year the event first happened. A negative number indicates the event\n * occured 'BC' (sometimes also denoted 'BCE' - i.e. '32 BC' or '200 BCE)'.\n */\nclass WMFEvent {\n constructor(text, pages, year) {\n this.text = text;\n this.pages = pages;\n this.year = year;\n }\n}\n\n/**\n * WMFHoliday models an annually occuring holiday.\n *\n * @param {!string} text event description\n * @param {!Array} pages array of WMFPage's for the event\n */\nclass WMFHoliday {\n constructor(text, pages) {\n this.text = text;\n this.pages = pages;\n }\n}\n\n/**\n * Gets day page titles, which are formatted as follows: 'May_20'\n *\n * @param {!string} monthNumberString string for month number ranging from '1' to '12'\n * @param {!string} dayNumberString string number for day of month\n * @param {!string} lang String for project language code\n * @return {!string} day page title. Example, inputs ('5', '20') returns 'May_20'\n */\nfunction titleForDayPageFromMonthDayNumberStrings(monthNumberString, dayNumberString, lang) {\n const monthNumber = parseInt(monthNumberString, 10);\n const monthName = languages[lang].monthNames[monthNumber - 1];\n const dayNumber = parseInt(dayNumberString, 10);\n return languages[lang].dayPage.nameFormatter(monthName, monthNumber, dayNumber);\n}\n\n/**\n * Gets selected page titles, which are formatted as follows:\n * 'Wikipedia:Selected_anniversaries/May_20'\n *\n * @param {!string} monthNumberString a string for month number ranging from '1' to '12'\n * @param {!string} dayNumberString a string number for day of month\n * @param {!string} lang a string for project language code\n * @return {!string} selected page title. Example, inputs ('5', '20') returns\n * 'Wikipedia:Selected_anniversaries/May_20'\n */\nfunction titleForSelectedPageFromMonthDayNumberStrings(monthNumberString, dayNumberString, lang) {\n const monthNumber = parseInt(monthNumberString, 10);\n const monthName = languages[lang].monthNames[monthNumber - 1];\n const dayNumber = parseInt(dayNumberString, 10);\n return languages[lang].selectedPage.nameFormatter(monthName, monthNumber, dayNumber);\n}\n\n/**\n * Gets day page Parsoid title for day pages such as https://en.m.wikipedia.org/wiki/May_20\n *\n * @param {!Request} req Request containing month (req.params.mm) and day (req.params.dd) number\n * string params\n * @return {!string} day page title for month and day number. Example, input mm '5' dd '20'\n * returns 'May_20'\n */\nconst dayTitleForRequest = (req) => {\n const lang = req.params.domain.split('.')[0];\n return titleForDayPageFromMonthDayNumberStrings(req.params.mm, req.params.dd, lang);\n};\n\n/**\n * Gets selected page Parsoid title for selected pages such as\n * https://en.m.wikipedia.org/wiki/Wikipedia:Selected_anniversaries/May_20. These pages are\n * also where 'Today' page https://en.m.wikipedia.org/wiki/Wikipedia:On_this_day/Today content comes\n * from.\n *\n * @param {!Request} req Request containing month (req.params.mm) and day (req.params.dd) number\n * string params\n * @return {!string} elected page title for month and day number. Example, input mm '5' dd '20\n * returns 'Wikipedia:Selected_anniversaries/May_20'\n */\nconst selectedTitleForRequest = (req) => {\n const lang = req.params.domain.split('.')[0];\n return titleForSelectedPageFromMonthDayNumberStrings(req.params.mm, req.params.dd, lang);\n};\n\n/**\n * Determines whether anchor is for specific year page.\n *\n * @param {!AnchorElement} anchor\n * @param {!Integer} year\n * @param {!string} era\n * @return {!boolean}\n */\nfunction isAnchorForYear(anchor, year, era) {\n return new RegExp(String.raw`^${Math.abs(year)}\\s*${era}$`, 'i').test(anchor.title);\n}\n\n/**\n * Regex for determining whether anchor is not relative.\n *\n * @type {RegExp}\n */\nconst nonRelativeAnchorRegex = /^http[s]?.*/i;\n\n/**\n * Determines whether anchor is relative.\n *\n * @param {!AnchorElement} anchor\n * @return {!boolean}\n */\nfunction isAnchorRelative(anchor) {\n return !nonRelativeAnchorRegex.test(anchor.href);\n}\n\n/**\n * Trims and also removes bracketed numbers.\n *\n * @param {!string} string\n * @return {!string}\n */\nfunction cleanString(string) {\n return string.replace(/\\[\\d+\\]/g, '').trim();\n}\n\n/**\n * Converts document anchor element to WMFPage model.\n *\n * @param {!AnchorElement} anchorElement Anchor to convert\n * @return {!WMFPage} a WMFPage\n */\nfunction wmfPageFromAnchorElement(anchorElement) {\n const title = util.extractDbTitleFromAnchor(anchorElement);\n const isTopic = anchorElement.parentElement.tagName === 'B';\n return new WMFPage(title, isTopic);\n}\n\n/**\n * Converts document list element to WMFEvent model.\n * A regular expression determines valid \"year list elements\" and separating their components.\n * For example: '399 BC - Death of Socrates'\n * RegEx Capture groups:\n * 1st - entire match (will be non-null if the string looks like a year list element)\n * '399 BC - Death of Socrates'\n * 2nd - year number, required\n * '399'\n * 3rd - 'BC' indication string, optional\n * 'BC'\n * 4th - event description string, required\n * 'Death of Socrates'\n *\n * @param {!ListElement} listElement List element to convert\n * @param {!boolean} isSelected If listElement is extracted from selectedPage\n * @param {!string} lang String for project language code\n * @return {?WMFEvent} a WMFEvent or null if the list element isn't formatted as an event\n */\nfunction wmfEventFromListElement(listElement, isSelected, lang) {\n const regEx = isSelected ? languages[lang].selectedRegEx : languages[lang].yearListElementRegEx;\n\n const match = listElement.textContent.match(regEx);\n if (match === null) {\n return null;\n }\n\n let year = parseInt(match[1], 10);\n const isBC = (match[2] !== undefined);\n let era = '';\n if (isBC) {\n // Negate BC years so they sort correctly\n year = -year;\n era = match[2];\n }\n\n // In Chinese, 'BC' is written in front of year. E.g. '前153年',\n // so the 2nd capture group is 'BC' indication and 3rd is year number.\n if (lang === 'zh') {\n year = parseInt(match[2], 10);\n if (match[1] !== '') {\n year = -year;\n era = match[2];\n }\n }\n\n const textAfterYear = cleanString(match[3]);\n\n const pages = Array.from(listElement.querySelectorAll('a'))\n .filter((anchor) => {\n return !isAnchorForYear(anchor, year, era);\n })\n .filter(isAnchorRelative)\n .map(wmfPageFromAnchorElement);\n\n return new WMFEvent(textAfterYear, pages, year);\n}\n\n/**\n * Converts document list element to WMFHoliday model\n *\n * @param {!ListElement} listElement List element to convert\n * @return {!WMFHoliday} a WMFHoliday\n */\nfunction wmfHolidayFromListElement(listElement) {\n const text = cleanString(listElement.textContent);\n const pages = Array.from(listElement.querySelectorAll('a'))\n .filter(isAnchorRelative)\n .map(wmfPageFromAnchorElement);\n return new WMFHoliday(text, pages);\n}\n\n/**\n * WMFEvent comparator which properly handles negative 'BC'/'BCE' years\n *\n * @param {!WMFEvent} eventA First event\n * @param {!WMFEvent} eventB Second event\n * @return {!Integer} number of years between eventB and eventA ( yearB - yearA ).\n */\nfunction reverseChronologicalWMFEventComparator(eventA, eventB) {\n // Reminder: BC years are negative numbers.\n return eventB.year - eventA.year;\n}\n\n/**\n * Gets chronologically sorted array of WMFEvent models from an array of list elements.\n *\n * @param {!Array} listElements an array of document list elements\n * @param {!boolean} isSelected If listElement is extracted from selectedPage\n * @param {!string} lang a string for project language code\n * @return {!Array} sorted array of WMFEvent models, one for each year list element found\n * in 'listElements' argument\n */\nfunction eventsForYearListElements(listElements, isSelected, lang) {\n return listElements\n .map((element) => wmfEventFromListElement(element, isSelected, lang))\n .filter((possibleEvent) => possibleEvent instanceof WMFEvent)\n .sort(reverseChronologicalWMFEventComparator);\n}\n\n/**\n * Gets array of WMFHoliday models from an array of list elements.\n *\n * @param {!Array} listElements an array of document list elements\n * @return {!Array} an array of WMFHoliday models, one for each list element in\n * 'listElements' argument\n */\nfunction holidaysForHolidayListElements(listElements) {\n return listElements\n .map(wmfHolidayFromListElement)\n .filter((possibleHoliday) => possibleHoliday instanceof WMFHoliday);\n}\n\n/**\n * Determine if listElement has nested list elements.\n *\n * @param {!ListElement} listElement\n * @return {!boolean}\n */\nfunction listElementHasDescendentListElements(listElement) {\n return listElement.querySelector('UL > LI') !== undefined;\n}\n\n/**\n * Return ancestor list element of listElement, if any.\n * Returns undefined unless listElement is nested inside another listElement.\n *\n * @param {!ListElement} listElement\n * @return {?ListElement}\n */\nfunction ancestorListElementOfListElement(listElement) {\n const parent = listElement.parentElement;\n if (!parent) {\n return undefined;\n }\n const grandparent = parent.parentElement;\n if (!grandparent) {\n return undefined;\n }\n if (parent.tagName === 'UL' && grandparent.tagName === 'LI') {\n return grandparent;\n }\n return undefined;\n}\n\n/**\n * Gets prefix from a list element suitable to pre-pend to one of its decendent list element's\n * innerHTML.\n *\n * @param {!ListElement} ancestorListElement\n * @param {!string} lang a string for project language code\n * @return {!string}\n */\nfunction prefixFromAncestorListElement(ancestorListElement, lang) {\n const firstLine = ancestorListElement.textContent.split('\\n')[0];\n const yearPrefixRegEx = languages[lang].yearPrefixRegEx;\n const result = firstLine.match(yearPrefixRegEx);\n const isFirstLineAYear = (result !== null);\n const firstLineStringToUse = isFirstLineAYear ? result[1] : firstLine;\n const separator = isFirstLineAYear ? ' - ' : '\\n';\n const prefix = `${firstLineStringToUse.trim()}${separator}`;\n return prefix;\n}\n\n/**\n * Adds prefix from ancestor list elements to listElement.\n *\n * @param {!ListElement} listElement\n * @param {!string} lang a string for project language code\n */\nfunction addPrefixFromAncestorListElementsToListElement(listElement, lang) {\n const prefixes = [];\n let el = listElement;\n while ((el = ancestorListElementOfListElement(el))) {\n prefixes.push(prefixFromAncestorListElement(el, lang));\n }\n const prefixString = (prefixes.length === 0) ? '' : `${prefixes.reverse().join('')}`;\n listElement.innerHTML = `${_.escape(prefixString)}${listElement.innerHTML.trim()}`;\n}\n\n/**\n * Gets list elements grouped under a given heading. Couldn't use pure CSS selector syntax for\n * extracting these - this is because some languages use further sub-headings under, say, 'births',\n * for things like 'Births before 1900' and so forth. We want *all* births, in this case - that is,\n * we want all list elements after the h2 'births' heading up until the next h2 heading.\n *\n * @param {!Document} document a DOM document to examine\n * @param {!string} headingIds an array of heading id strings\n * @param {!string} lang a string for project language code\n * @return {!Array} an array of list elements\n */\nfunction listElementsByHeadingID(document, headingIds, lang) {\n const elements = Array.from(document.querySelectorAll('h2,ul li'));\n const listElements = [];\n let grab = false;\n for (const element of elements) {\n if (element.tagName === 'H2') {\n grab = false;\n for (const headingId of headingIds) {\n if (element.id === headingId) {\n grab = true;\n }\n }\n } else if (element.tagName === 'LI' && grab) {\n\n if (listElementHasDescendentListElements(element)) {\n continue;\n }\n addPrefixFromAncestorListElementsToListElement(element, lang);\n listElements.push(element);\n }\n }\n return listElements;\n}\n\n/**\n * Gets array of WMFEvent models of births found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of births\n */\nconst birthsInDoc = (doc, lang) => {\n const headingIds = languages[lang].dayPage.headingIds.births;\n return { births:\n eventsForYearListElements(listElementsByHeadingID(doc, headingIds, lang), false, lang)\n };\n};\n\n/**\n * Gets array of WMFEvent models of deaths found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of deaths\n */\nconst deathsInDoc = (doc, lang) => {\n const headingIds = languages[lang].dayPage.headingIds.deaths;\n return { deaths:\n eventsForYearListElements(listElementsByHeadingID(doc, headingIds, lang), false, lang)\n };\n};\n\n/**\n * Gets array of WMFEvent models of events found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of events\n */\nconst eventsInDoc = (doc, lang) => {\n const headingIds = languages[lang].dayPage.headingIds.events;\n return { events:\n eventsForYearListElements(listElementsByHeadingID(doc, headingIds, lang), false, lang)\n };\n};\n\n/**\n * Gets array of WMFEvent models of holidays and observances found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of holidays and observances\n */\nconst holidaysInDoc = (doc, lang) => {\n const headingIds = languages[lang].dayPage.headingIds.holidays;\n return { holidays:\n holidaysForHolidayListElements(listElementsByHeadingID(doc, headingIds, lang))\n };\n};\n\n/**\n * Gets array of WMFEvent models of editor curated selected anniversaries found in a document\n *\n * @param {!Document} doc a DOM document to examine\n * @param {!string} lang a string for project language code\n * @return {!Object} an object containing list of selected anniversaries\n */\nconst selectionsInDoc = (doc, lang) => {\n const selector = languages[lang].selectedPage.listElementSelector;\n return { selected:\n eventsForYearListElements(doc.querySelectorAll(selector), true, lang)\n };\n};\n\n/**\n * Gets dictionary of arrays of WMFEvent models of all types: 'births', 'deaths', 'events',\n * 'holidays' and 'selected'\n *\n * @param {!Document} dayDoc a DOM document of events on a given day\n * @param {!Document} selectionsDoc a DOM document of editor curated events for a given day\n * @param {!string} lang a string for project language code\n * @return {!Object} an object with keys for arrays of 'selected', 'events',\n * 'births', 'deaths', and 'holidays'\n */\nconst everythingInDayAndSelectionsDocs = (dayDoc, selectionsDoc, lang) => {\n const result = {};\n Object.assign(result,\n selectionsInDoc(selectionsDoc, lang),\n eventsInDoc(dayDoc, lang),\n birthsInDoc(dayDoc, lang),\n deathsInDoc(dayDoc, lang),\n holidaysInDoc(dayDoc, lang)\n );\n return result;\n};\n\n/**\n * Determines whether a DOM element has a 'title' property\n *\n * @param {!Object} object DOM element to examine\n * @return {!boolean} true if the object has a 'title' property\n */\nfunction hasTitle(object) {\n return (\n object.hasOwnProperty('title') && // eslint-disable-line no-prototype-builtins\n typeof object.title === 'string'\n );\n}\n\n/**\n * Recursively creates summary promises instead of objects with 'title' properties\n * found in a dom object hierarchy\n *\n * @param {!Object} req the original request\n * @param {!Object} object Dom object to examine\n * @return {Object}\n */\nfunction fetchSummaries(req, object) {\n if (hasTitle(object)) {\n return apiUtil.restGetSummary(req, object.title);\n }\n for (const property in object) {\n if (Object.prototype.hasOwnProperty.call(object, property)) {\n if (typeof object[property] === 'object') {\n object[property] = fetchSummaries(req, object[property]);\n }\n }\n }\n return object;\n}\n\n/**\n * Ends a response. Creates $merge nodes and sets eTags, status etc.\n *\n * @param {!Object} req the original request\n * @param {!Object} res a response to end\n * @param {!Object} output a payload to JSONify and deliver\n * @param {?number} revision a revision\n * @return {Promise}\n */\nconst endResponseWithOutput = (req, res, output, revision) => {\n fetchSummaries(req, output);\n return util.promiseAwaitAll(output, true, req.logger)\n .then((resolvedOutput) => {\n // Drop duplicate pages from the output\n Object.keys(resolvedOutput).forEach((key) => {\n if (!Array.isArray(resolvedOutput[key])) {\n return;\n }\n resolvedOutput[key].forEach((elem) => {\n if (!elem || !Array.isArray(elem.pages)) {\n return;\n }\n elem.pages = util.removeDuplicateTitles(elem.pages);\n });\n });\n return si.getSiteInfo(req)\n .then((siteinfo) => {\n res.status(200);\n util.setETag(res, revision);\n if (siteinfo.variants && siteinfo.variants.length) {\n res.header('vary', 'accept-language');\n }\n util.setContentType(res, util.CONTENT_TYPES.onthisday);\n res.json(resolvedOutput).end();\n });\n });\n};\n\n/**\n * Promises to get Parsoid html for a title\n *\n * @param {!Object} app the application object\n * @param {!Request} req a request\n * @param {!string} title a page title to fetch\n * @return {!Promise} a Promise resolving to a response\n */\nfunction fetchParsoidHtmlForTitle(app, req, title) {\n const parsoidReq = Object.create(req);\n parsoidReq.params.title = title;\n return parsoid.getParsoidHtml(parsoidReq);\n}\n\n/**\n * Fetches document and revision for URI\n *\n * @param {!Object} app the application object\n * @param {!Object} req a request\n * @param {!Function} titleFunction a function for getting source page title from request\n * @return {!Promise} a Promise resolving to array containing [document, revision] for URI\n */\nfunction fetchDocAndRevision(app, req, titleFunction) {\n let revision;\n return fetchParsoidHtmlForTitle(app, req, titleFunction(req))\n .then((response) => {\n revision = util.getRevisionFromEtag(response.headers);\n return response.body;\n })\n .then(docUtil.createDocument)\n .then((doc) => [ doc, revision ]);\n}\n\nconst assertLanguage = (lang) => {\n if (!languages[lang]) {\n throw new HTTPError({\n status: 404,\n type: 'not_found',\n title: 'Not found',\n detail: 'The language you have requested is not yet supported.'\n });\n }\n};\n\n/**\n * Fetches document for URI, extracts sought elements, responds\n *\n * @param {!Object} app the application object\n * @param {!Request} req a request\n * @param {!Response} res a response\n * @param {!Function} titleFunction a function for getting source page title from request\n * @param {!Function} extractionFunction a function for extracting sought elements\n * (births, deaths, holidays, etc)\n * @return {!Promise} a Promise resolving when response has completed\n */\nfunction fetchAndRespond(app, req, res, titleFunction, extractionFunction) {\n const lang = req.params.domain.split('.')[0];\n assertLanguage(lang);\n\n return fetchDocAndRevision(app, req, titleFunction)\n .then((docAndRevision) => {\n const doc = docAndRevision[0];\n const revision = docAndRevision[1];\n const output = extractionFunction(doc, lang);\n return endResponseWithOutput(req, res, output, revision);\n });\n}\n\nmodule.exports = {\n dayTitleForRequest,\n selectedTitleForRequest,\n birthsInDoc,\n deathsInDoc,\n eventsInDoc,\n holidaysInDoc,\n selectionsInDoc,\n everythingInDayAndSelectionsDocs,\n assertLanguage,\n fetchAndRespond,\n fetchDocAndRevision,\n titleForDayPageFromMonthDayNumberStrings,\n WMFPage,\n WMFEvent,\n WMFHoliday,\n wmfHolidayFromListElement,\n wmfEventFromListElement,\n wmfPageFromAnchorElement,\n eventsForYearListElements,\n reverseChronologicalWMFEventComparator,\n listElementsByHeadingID,\n isAnchorForYear,\n addPrefixFromAncestorListElementsToListElement,\n endResponseWithOutput\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/on-this-day.languages.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/pageviews.js","messages":[{"ruleId":"jsdoc/check-access","severity":1,"message":"At most one access-control tag may be present on a jsdoc block.","line":36,"column":1,"nodeType":"Block","endLine":40,"endColumn":4},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":37,"column":null,"nodeType":"Block","endLine":37,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":38,"column":null,"nodeType":"Block","endLine":38,"endColumn":null},{"ruleId":"jsdoc/valid-types","severity":1,"message":"@private should not have a bracketed type in \"jsdoc\" mode.","line":39,"column":null,"nodeType":"Block","endLine":39,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Platform' is undefined.","line":53,"column":null,"nodeType":"Block","endLine":53,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Agent' is undefined.","line":54,"column":null,"nodeType":"Block","endLine":54,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Granularity' is undefined.","line":56,"column":null,"nodeType":"Block","endLine":56,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Platform' is undefined.","line":71,"column":null,"nodeType":"Block","endLine":71,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst api = require('./api-util');\nconst dateUtil = require('./date-util');\n\n/**\n * @readonly\n * @enum {!string}\n */\nmodule.exports.Platform = {\n ALL: 'all-access',\n DESKTOP_WEB: 'desktop',\n MOBILE_WEB: 'mobile-web',\n MOBILE_APP: 'mobile-app'\n};\n\n/**\n * @readonly\n * @enum {!string}\n */\nmodule.exports.Agent = {\n ALL: 'all-agents',\n USER: 'user',\n SPIDER: 'spider',\n BOT: 'bot'\n};\n\n/**\n * @readonly\n * @enum {!string}\n */\nmodule.exports.Granularity = {\n DAILY: 'daily'\n};\n\n/**\n * @private {!Object} app\n * @private {!string} apiDomain RESTBase API domain; e.g., wikimedia.org\n * @private {!Object} req\n */\nmodule.exports.Client = class {\n /**\n * @param {!Object} req original Request object\n * @param {!Object} restReq new Request object for the Pageviews API\n */\n constructor(req, restReq) {\n this.req = req;\n this.restReq = restReq;\n }\n\n /**\n * @param {!string} domain Top level project domain to filter; e.g., de.wikipedia\n * @param {!Platform} platform Device platform to filter\n * @param {!Agent} agent User agent to filter\n * @param {!string} title Normalized article title\n * @param {!Granularity} granularity Result time unit\n * @param {!Date} start Inclusive start date\n * @param {!Date} end Inclusive end date\n * @return {!Promise} Daily pageviews on domain from platform for title from [start, end]\n */\n reqPage(domain, platform, agent, title, granularity, start, end) {\n const titleEncoded = encodeURIComponent(title);\n const startStr = dateUtil.formatYYYYMMDD(start);\n const endStr = dateUtil.formatYYYYMMDD(end);\n const path = `metrics/pageviews/per-article/${domain}/${platform}/${agent}/${titleEncoded}/${granularity}/${startStr}/${endStr}`;\n return api.restApiGet(this.req, path, this.restReq);\n }\n\n /**\n * @param {!string} domain Top level project domain to filter; e.g., de.wikipedia\n * @param {!Platform} platform Device platform to filter\n * @param {!Date} date\n * @return {!Promise} Top pageviews on domain from platform for date\n */\n reqTop(domain, platform, date) {\n const year = date.getUTCFullYear();\n const month = dateUtil.pad(date.getUTCMonth() + 1);\n const day = dateUtil.pad(date.getUTCDate());\n const path = `metrics/pageviews/top/${domain}/${platform}/${year}/${month}/${day}`;\n return api.restApiGet(this.req, path, this.restReq);\n }\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/parsoid.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/random.js","messages":[{"ruleId":"no-shadow","severity":1,"message":"'score' is already declared in the upper scope on line 31 column 10.","line":39,"column":9,"nodeType":"Identifier","messageId":"noShadow","endLine":39,"endColumn":14},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"scoredResults\" type.","line":56,"column":null,"nodeType":"Block","endLine":56,"endColumn":null}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Random article promise and related support functions.\n */\n\n'use strict';\n\nconst api = require('./api-util');\nconst util = require('./util');\nconst si = require('./siteinfo');\nconst BBPromise = require('bluebird');\n\n/**\n * Returns a numeric score which can be used to roughly determine the relative \"quality\" of random\n * results.\n *\n * Scores are calculated as follows:\n *\n * 2 points for having:\n * thumb url\n *\n * 1 point for having:\n * wikidataDescription\n *\n * -10 point for being:\n * disambiguation page\n * list item page\n *\n * @param {?Object} page Page object from MW API\n * @return {!number} quality score\n */\nfunction score(page) {\n\n const isDisambiguationPage = (page.pageprops && page.pageprops.disambiguation) ||\n (page.description && page.description.includes('disambiguation page'));\n\n const isListPage = page.description && page.description.includes('Wikimedia list article');\n /* eslint-enable no-restricted-syntax */\n\n let score = 0.0;\n\n if (page.pageprops && (page.pageprops.page_image || page.pageprops.page_image_free)) {\n score += 2.0;\n }\n if (page.description) {\n score += 1.0;\n }\n if (isDisambiguationPage || isListPage) {\n score -= 10.0;\n }\n return score;\n}\n\n/**\n * Returns random page from max score pages list.\n *\n * @param scoredResults\n * @return {*}\n */\nfunction pickBestResult(scoredResults) {\n const maxScore = Math.max.apply(\n scoredResults,\n scoredResults.map(function (page) { return page.score; })\n );\n const scoredPagesFiltered = scoredResults.filter((page) => page.score === maxScore);\n\n return scoredPagesFiltered[Math.floor(Math.random() * scoredPagesFiltered.length)];\n}\n\n/**\n * Returns a single random result well suited to card-type layouts, i.e.\n * one likely to have a page image and wikidata description.\n *\n * Multiple random items are requested, but only the result having\n * the highest relative score is returned. Requesting about 12 items\n * seems to consistently produce a really \"good\" result.\n *\n * @param {!Object} req Request object\n * @return {!Promise}\n */\nfunction promise(req) {\n const itemsToRequest = 12;\n return BBPromise.join(\n si.getSiteInfo(req),\n api.mwApiGet(req, {\n action: 'query',\n format: 'json',\n formatversion: 2,\n generator: 'random',\n grnfilterredir: 'nonredirects',\n grnlimit: itemsToRequest,\n grnnamespace: 0,\n prop: 'description|pageprops'\n }),\n (siteinfo, queryResponse) => {\n const pages = queryResponse.body.query.pages;\n const scoredPages = pages.map((page) => Object.assign(page, { score: score(page) }));\n const bestResult = pickBestResult(scoredPages);\n return util.getDbTitle(bestResult.title, siteinfo);\n });\n}\n\nmodule.exports = {\n promise,\n\n // visible for testing\n pickBestResult\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/siteinfo.js","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":3,"column":1,"nodeType":"Program","messageId":"global","endLine":61,"endColumn":34}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"// use strict;\n\nconst api = require('./api-util');\n\nconst siteInfoCache = {};\n\nfunction findSharedRepoDomain(siteInfoRes) {\n const sharedRepo = (siteInfoRes.body.query.repos || []).find((repo) => {\n return repo.name === 'shared';\n });\n if (sharedRepo) {\n const domainMatch = /^((:?https?:)?\\/\\/[^/]+)/.exec(sharedRepo.descBaseUrl);\n if (domainMatch) {\n return domainMatch[0];\n }\n }\n}\n\n/**\n * Builds a request for siteinfo data for the MW site for the request domain.\n *\n * @param {!Object} req the request object\n * @return {!Promise} a promise resolving as an JSON object containing the response\n */\nfunction getSiteInfo(req) {\n const rp = req.params;\n if (!siteInfoCache[rp.domain]) {\n const query = {\n action: 'query',\n meta: 'siteinfo|allmessages',\n siprop: 'general|languagevariants|namespaces|namespacealiases|specialpagealiases',\n ammessages: 'toc'\n };\n siteInfoCache[rp.domain] = api.mwApiGet(req, query)\n .then((res) => {\n const general = res.body.query.general;\n const allmessages = res.body.query.allmessages;\n\n return {\n general: {\n mainpage: general.mainpage,\n lang: general.lang,\n legaltitlechars: general.legaltitlechars,\n case: general.case,\n mobileserver: general.mobileserver,\n toctitle: allmessages[0].content\n },\n variants: res.body.query.languagevariants &&\n res.body.query.languagevariants[general.lang] &&\n Object.keys(res.body.query.languagevariants[general.lang]),\n namespaces: res.body.query.namespaces,\n namespacealiases: res.body.query.namespacealiases,\n specialpagealiases: res.body.query.specialpagealiases,\n sharedRepoRootURI: findSharedRepoDomain(res)\n };\n });\n }\n return siteInfoCache[rp.domain];\n}\n\nmodule.exports = { getSiteInfo };\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/swagger-ui.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/lib/util.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Request' is undefined.","line":46,"column":null,"nodeType":"Block","endLine":46,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":104,"column":null,"nodeType":"Block","endLine":104,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":142,"column":null,"nodeType":"Block","endLine":142,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Router' is undefined.","line":222,"column":null,"nodeType":"Block","endLine":222,"endColumn":null},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Application' is undefined.","line":375,"column":null,"nodeType":"Block","endLine":375,"endColumn":null},{"ruleId":"default-param-last","severity":1,"message":"Default parameters should be last.","line":447,"column":34,"nodeType":"AssignmentPattern","messageId":"shouldBeLast","endLine":447,"endColumn":57}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst BBPromise = require('bluebird');\nconst preq = require('preq');\nconst express = require('express');\nconst assert = require('assert');\nconst uuidv1 = require('uuid/v1');\nconst bunyan = require('bunyan');\nconst uuid = require('cassandra-uuid');\n\n// service-specific deps\nconst Title = require('mediawiki-title').Title;\n\n/**\n * Error instance wrapping HTTP error responses\n */\nclass HTTPError extends Error {\n\n constructor(response) {\n super();\n Error.captureStackTrace(this, HTTPError);\n\n if (response.constructor !== Object) {\n // just assume this is just the error message\n response = {\n status: 500,\n type: 'internal_error',\n title: 'InternalError',\n detail: response\n };\n }\n\n this.name = this.constructor.name;\n this.message = `${response.status}`;\n if (response.type) {\n this.message += `: ${response.type}`;\n }\n\n Object.assign(this, response);\n }\n}\n\n/**\n * Generates an object suitable for logging out of a request object\n *\n * @param {!Request} req the request\n * @param {?RegExp} allowListRegExp the RegExp used to filter headers\n * @return {!Object} an object containing the key components of the request\n */\nfunction reqForLog(req, allowListRegExp) {\n\n const ret = {\n url: req.originalUrl,\n headers: {},\n method: req.method,\n params: req.params,\n query: req.query,\n body: req.body,\n remoteAddress: req.connection.remoteAddress,\n remotePort: req.connection.remotePort\n };\n\n if (req.headers && allowListRegExp) {\n Object.keys(req.headers).forEach((hdr) => {\n if (allowListRegExp.test(hdr)) {\n ret.headers[hdr] = req.headers[hdr];\n }\n });\n }\n\n return ret;\n\n}\n\n/**\n * Serialises an error object in a form suitable for logging.\n *\n * @param {!Error} err error to serialise\n * @return {!Object} the serialised version of the error\n */\nfunction errForLog(err) {\n\n const ret = bunyan.stdSerializers.err(err);\n ret.status = err.status;\n ret.type = err.type;\n ret.detail = err.detail;\n\n // log the stack trace only for 500 errors\n if (Number.parseInt(ret.status, 10) !== 500) {\n ret.stack = undefined;\n }\n\n return ret;\n\n}\n\n/**\n * Wraps all of the given router's handler functions with\n * promised try blocks so as to allow catching all errors,\n * regardless of whether a handler returns/uses promises\n * or not.\n *\n * @param {!Object} route the object containing the router and path to bind it to\n * @param {!Application} app the application object\n */\nfunction wrapRouteHandlers(route, app) {\n\n route.router.stack.forEach((routerLayer) => {\n let path = (route.path + routerLayer.route.path.slice(1))\n .replace(/\\/:/g, '/--')\n .replace(/^\\//, '')\n .replace(/[/?]+$/, '');\n path = app.metrics.normalizeName(path || 'root');\n routerLayer.route.stack.forEach((layer) => {\n const origHandler = layer.handle;\n layer.handle = (req, res, next) => {\n const startTime = Date.now();\n BBPromise.try(() => origHandler(req, res, next))\n .catch(next)\n .finally(() => {\n let statusCode = parseInt(res.statusCode, 10) || 500;\n if (statusCode < 100 || statusCode > 599) {\n statusCode = 500;\n }\n const statusClass = `${Math.floor(statusCode / 100)}xx`;\n const stat = `${path}.${req.method}.`;\n app.metrics.endTiming([\n stat + statusCode,\n stat + statusClass,\n `${stat}ALL`\n ], startTime);\n });\n };\n });\n });\n\n}\n\n/**\n * Generates an error handler for the given applications and installs it.\n *\n * @param {!Application} app the application object to add the handler to\n */\nfunction setErrorHandler(app) {\n\n app.use((err, req, res, next) => {\n let errObj;\n // ensure this is an HTTPError object\n if (err.constructor === HTTPError) {\n errObj = err;\n } else if (err instanceof Error) {\n // is this an HTTPError defined elsewhere? (preq)\n if (err.constructor.name === 'HTTPError') {\n const o = { status: err.status };\n if (err.body && err.body.constructor === Object) {\n Object.keys(err.body).forEach((key) => {\n o[key] = err.body[key];\n });\n } else {\n o.detail = err.body;\n }\n o.message = err.message;\n errObj = new HTTPError(o);\n } else {\n // this is a standard error, convert it\n errObj = new HTTPError({\n status: 500,\n type: 'internal_error',\n title: err.name,\n detail: err.detail || err.message,\n stack: err.stack\n });\n }\n } else if (err.constructor === Object) {\n // this is a regular object, suppose it's a response\n errObj = new HTTPError(err);\n } else {\n // just assume this is just the error message\n errObj = new HTTPError({\n status: 500,\n type: 'internal_error',\n title: 'InternalError',\n detail: err\n });\n }\n // ensure some important error fields are present\n errObj.status = errObj.status || 500;\n errObj.type = errObj.type || 'internal_error';\n // add the offending URI and method as well\n errObj.method = errObj.method || req.method;\n errObj.uri = errObj.uri || req.url;\n // some set 'message' or 'description' instead of 'detail'\n errObj.detail = errObj.detail || errObj.message || errObj.description || '';\n // adjust the log level based on the status code\n let level = 'error';\n if (Number.parseInt(errObj.status, 10) < 400) {\n level = 'trace';\n } else if (Number.parseInt(errObj.status, 10) < 500) {\n level = 'info';\n }\n // log the error\n const component = (errObj.component ? errObj.component : errObj.status);\n (req.logger || app.logger).log(`${level}/${component}`, errForLog(errObj));\n // let through only non-sensitive info\n const respBody = {\n status: errObj.status,\n type: errObj.type,\n title: errObj.title,\n detail: errObj.detail,\n method: errObj.method,\n uri: errObj.uri\n };\n res.status(errObj.status).json(respBody);\n });\n\n}\n\n/**\n * Creates a new router with some default options.\n *\n * @param {?Object} [opts] additional options to pass to express.Router()\n * @return {!Router} a new router object\n */\nfunction createRouter(opts) {\n\n const options = {\n mergeParams: true\n };\n\n if (opts && opts.constructor === Object) {\n Object.assign(options, opts);\n }\n\n return new express.Router(options);\n\n}\n\nfunction removeFragment(href) {\n if (href.includes('#')) {\n return href.slice(0, Math.max(0, href.indexOf('#')));\n }\n return href;\n}\n\nfunction removeLinkPrefix(href) {\n return href.replace(/^\\.\\//, '');\n}\n\nfunction extractDbTitleFromAnchor(anchor) {\n return anchor && removeFragment(removeLinkPrefix(anchor.getAttribute('href')));\n}\n\nfunction getRbPageSummaryUrl(restbaseTpl, domain, title) {\n const request = restbaseTpl.expand({\n request: {\n params: {\n domain,\n path: `page/summary/${encodeURIComponent(title)}`\n }\n }\n });\n return request.uri;\n}\n\n/**\n * Get a Title object for a MW title string\n *\n * @param {!string} title a MediaWiki page title string\n * @param {!Object} siteinfo siteinfo from the MW API\n * @return {!string} a mediawiki-title Title object that can be used to obtain a db-normalized title\n */\nfunction getDbTitle(title, siteinfo) {\n return Title.newFromText(title, siteinfo).getPrefixedDBKey();\n}\n\n/**\n * Retrieves the etag from the headers if present. Strips the weak etag prefix (W/) and enclosing\n * quotes.\n *\n * @param {?Object} headers an object of header name/values\n * @return {?string} etag\n */\nfunction getEtagFromHeaders(headers) {\n if (headers && headers.etag) {\n return headers.etag.replace(/^W\\//, '').replace(/\"/g, '');\n }\n}\n\n/**\n * Retrieves the revision from the etag emitted by Parsoid.\n *\n * @param {?Object} headers an object of header name/values\n * @return {?string} revision portion of etag, if found\n */\nfunction getRevisionFromEtag(headers) {\n const etag = getEtagFromHeaders(headers);\n if (etag) {\n return etag.split('/').shift();\n }\n}\n\n/**\n * Retrieves the revision and tid from the etag emitted by Parsoid.\n *\n * @param {?Object} headers an object of header name/values\n * @return {?Object} revision and tid from etag, if found\n */\nfunction getRevAndTidFromEtag(headers) {\n const etag = getEtagFromHeaders(headers);\n if (etag) {\n const etagComponents = etag.split('/');\n return {\n revision: etagComponents[0],\n tid: etagComponents[1]\n };\n }\n}\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\"<<\"] }] */\nfunction hashCode(string) {\n return string.split('').reduce((prevHash, currVal) =>\n ((prevHash << 5) - prevHash) + currVal.charCodeAt(0), 0);\n}\n\n/**\n * Remove the top-level domain from a domain string, e.g., 'en.wikipedia.org' ->\n * 'en.wikipedia'.\n *\n * @param {!string} domain domain string\n * @return {!string} domain string minus the TLD\n */\nfunction removeTLD(domain) {\n return domain.split('.').slice(0, 2).join('.');\n}\n\n/**\n * Sets the ETag header on the response object, comprised of the revision ID and\n * the time UUID. If the latter is not given, the current time stamp is used to\n * generate it.\n *\n * @param {!Object} response The HTTPResponse object on which to set the header\n * @param {?number} revision The revision integer ID to use\n * @param {?string} tid The time UUID to use; optional\n */\nfunction setETag(response, revision, tid = undefined) {\n assert(['string', 'number'].includes(typeof revision));\n assert(['string', 'undefined'].includes(typeof tid));\n if (!tid) {\n tid = uuid.TimeUuid.now().toString();\n }\n response.set('etag', `\"${revision}/${tid}\"`);\n}\n\nfunction getContentTypeString(spec) {\n return `${spec.type}; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/${spec.name}/${spec.version}\"`;\n}\n\nfunction setContentType(res, spec) {\n if (!spec.name || !spec.version) {\n throw new HTTPError({\n status: 500,\n type: 'invalid_content_type',\n title: 'Only use the allowed content-types',\n detail: `${spec.name}/${spec.version} is not an allowed content-type!`\n });\n }\n\n res.type(getContentTypeString(spec));\n}\n\n/**\n * Adds logger to the request and logs it.\n *\n * @param {!*} req request object\n * @param {!Application} app application object\n */\nfunction initAndLogRequest(req, app) {\n req.headers = req.headers || {};\n req.headers['x-request-id'] = req.headers['x-request-id'] || uuidv1();\n req.logger = app.logger.child({\n request_id: req.headers['x-request-id'],\n request: reqForLog(req, app.conf.log_header_allowlist)\n });\n req.context = { reqId: req.headers['x-request-id'] };\n req.issueRequest = (request) => {\n if (!(request.constructor === Object)) {\n request = { uri: request };\n }\n if (request.url) {\n request.uri = request.url;\n delete request.url;\n }\n if (!request.uri) {\n return BBPromise.reject(new HTTPError({\n status: 500,\n type: 'internal_error',\n title: 'No request to issue',\n detail: 'No request has been specified'\n }));\n }\n request.method = request.method || 'get';\n request.headers = request.headers || {};\n Object.assign(request.headers, {\n 'user-agent': app.conf.user_agent,\n 'x-request-id': req.context.reqId\n });\n req.logger.log('trace/req', { msg: 'Outgoing request', out_request: request });\n return preq(request);\n };\n req.logger.log('trace/req', { msg: 'Incoming request' });\n}\n\n/**\n * Remove entries with duplicate 'title' values from an array of objects\n *\n * @param {?Array} arr Array of page/article objects\n * @param {?Function} upd Optional function to update the original item based on the duplicate.\n * Takes two parameters (orig, dupe): orig - the original object,\n * dupe - the duplicate\n * @return {?Array} arr deduplicated by 'title'\n */\nfunction removeDuplicateTitles(arr, upd) {\n const titles = {};\n return arr.filter((item, idx, init) => {\n if (titles[item.title]) {\n if (upd) {\n const orig = init[init.findIndex((el) => el.title === item.title)];\n upd(orig, item);\n }\n return false;\n }\n titles[item.title] = true;\n return true;\n });\n}\n\n/**\n * For a free-form object nested object with promises, awaits all promises in parallel.\n *\n * @param {!Object} object\n * @param {boolean} ignoreRejections whether to ignore rejected promises.\n * If true, rejected promises are ignored and removed from the object.\n * If false, the first rejection is propagated to the returned promise.\n * @param {Object} logger optional logger to log promise rejections.\n * @return {Promise<Object>}\n */\nfunction promiseAwaitAll(object, ignoreRejections = true, logger) {\n const promises = [];\n function collectPromises(subObject, replaceCallback, removeCallback) {\n if (subObject instanceof BBPromise) {\n promises.push(subObject\n .then(\n (value) => replaceCallback(value),\n (err) => {\n if (ignoreRejections) {\n if (logger) {\n logger.log('warn', err);\n }\n removeCallback();\n } else {\n throw err;\n }\n }\n ));\n } else if (Array.isArray(subObject)) {\n subObject.forEach((item) =>\n collectPromises(\n item,\n (value) => {\n subObject[subObject.indexOf(item)] = value;\n },\n () => {\n subObject.splice(subObject.indexOf(item), 1);\n }));\n } else if (typeof subObject === 'object') {\n Object.keys(subObject).forEach((key) => {\n collectPromises(\n subObject[key],\n (value) => {\n subObject[key] = value;\n },\n () => {\n delete subObject[key];\n });\n });\n }\n }\n collectPromises(object);\n return BBPromise.all(promises).thenReturn(object);\n}\n\nconst CONTENT_TYPES = {\n html: { name: 'HTML', version: '2.1.0', type: 'text/html' },\n announcements: { name: 'Announcements', version: '0.3.0', type: 'application/json' },\n onthisday: { name: 'OnThisDay', version: '0.3.3', type: 'application/json' },\n availability: { name: 'Availability', version: '1.0.1', type: 'application/json' },\n random: { name: 'Random', version: '0.7.0', type: 'application/json' },\n unpublished: { name: 'Unpublished', version: '0.0.0', type: 'application/json' }\n};\n\nmodule.exports = {\n HTTPError,\n initAndLogRequest,\n wrapRouteHandlers,\n setErrorHandler,\n router: createRouter,\n\n // service-specific\n extractDbTitleFromAnchor,\n getContentTypeString,\n getRbPageSummaryUrl,\n getDbTitle,\n getRevisionFromEtag,\n getRevAndTidFromEtag,\n hashCode,\n removeTLD,\n setETag,\n setContentType,\n promiseAwaitAll,\n removeDuplicateTitles,\n CONTENT_TYPES\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":1,"column":1,"nodeType":"Program","messageId":"global","endLine":11427,"endColumn":3}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"name\": \"@wikimedia/wikifeeds\",\n\t\"version\": \"1.0.0\",\n\t\"lockfileVersion\": 2,\n\t\"requires\": true,\n\t\"packages\": {\n\t\t\"\": {\n\t\t\t\"name\": \"@wikimedia/wikifeeds\",\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"license\": \"Apache-2.0\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.7.2\",\n\t\t\t\t\"body-parser\": \"^1.19.0\",\n\t\t\t\t\"bunyan\": \"^1.8.14\",\n\t\t\t\t\"cassandra-uuid\": \"^0.1.0\",\n\t\t\t\t\"compression\": \"^1.7.4\",\n\t\t\t\t\"domino\": \"^2.1.6\",\n\t\t\t\t\"escape-string-regexp\": \"^2.0.0\",\n\t\t\t\t\"express\": \"^4.17.1\",\n\t\t\t\t\"http-shutdown\": \"^1.2.2\",\n\t\t\t\t\"js-yaml\": \"^3.14.0\",\n\t\t\t\t\"lodash\": \"^4.17.20\",\n\t\t\t\t\"mediawiki-title\": \"^0.7.4\",\n\t\t\t\t\"preq\": \"^0.5.14\",\n\t\t\t\t\"service-runner\": \"^2.7.8\",\n\t\t\t\t\"striptags\": \"^3.1.1\",\n\t\t\t\t\"swagger-router\": \"^0.7.4\",\n\t\t\t\t\"swagger-ui-dist\": \"^3.34.0\"\n\t\t\t},\n\t\t\t\"devDependencies\": {\n\t\t\t\t\"ajv\": \"^6.12.5\",\n\t\t\t\t\"csv-parse\": \"^4.12.0\",\n\t\t\t\t\"eslint-config-wikimedia\": \"0.24.0\",\n\t\t\t\t\"extend\": \"^3.0.2\",\n\t\t\t\t\"mocha\": \"^6.2.3\",\n\t\t\t\t\"mocha-lcov-reporter\": \"^1.3.0\",\n\t\t\t\t\"mocha.parallel\": \"^0.15.6\",\n\t\t\t\t\"nock\": \"^13.1.3\",\n\t\t\t\t\"nyc\": \"^14.1.1\",\n\t\t\t\t\"pre-commit\": \"^1.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/code-frame\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/highlight\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/generator\": {\n\t\t\t\"version\": \"7.11.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz\",\n\t\t\t\"integrity\": \"sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"jsesc\": \"^2.5.1\",\n\t\t\t\t\"source-map\": \"^0.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-function-name\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-get-function-arity\": \"^7.10.4\",\n\t\t\t\t\"@babel/template\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-get-function-arity\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-split-export-declaration\": {\n\t\t\t\"version\": \"7.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz\",\n\t\t\t\"integrity\": \"sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/types\": \"^7.11.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/helper-validator-identifier\": {\n\t\t\t\"version\": \"7.19.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz\",\n\t\t\t\"integrity\": \"sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.9.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/highlight\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"chalk\": \"^2.0.0\",\n\t\t\t\t\"js-tokens\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/parser\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"parser\": \"bin/babel-parser.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/template\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/parser\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/generator\": \"^7.11.5\",\n\t\t\t\t\"@babel/helper-function-name\": \"^7.10.4\",\n\t\t\t\t\"@babel/helper-split-export-declaration\": \"^7.11.0\",\n\t\t\t\t\"@babel/parser\": \"^7.11.5\",\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"globals\": \"^11.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.19\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse/node_modules/debug\": {\n\t\t\t\"version\": \"4.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\"deprecated\": \"Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse/node_modules/globals\": {\n\t\t\t\"version\": \"11.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n\t\t\t\"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@babel/traverse/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@babel/types\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"lodash\": \"^4.17.19\",\n\t\t\t\t\"to-fast-properties\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@es-joy/jsdoccomment\": {\n\t\t\t\"version\": \"0.23.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz\",\n\t\t\t\"integrity\": \"sha512-cCtumxG+qrYORGeOkDQ58GtSt/bb2XiP9GC0x2YduoUEX2EmBQ48FtoZMUs+8wiIdTDN1izUiRUD2FDu+p+Lvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"jsdoc-type-pratt-parser\": \"~2.2.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12 || ^14 || ^16 || ^17\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint-community/eslint-utils\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^6.0.0 || ^7.0.0 || >=8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint-community/regexpp\": {\n\t\t\t\"version\": \"4.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.0.0 || ^14.0.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ajv\": \"^6.12.4\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"espree\": \"^9.5.1\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.2.1\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://opencollective.com/eslint\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/argparse\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/js-yaml\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@eslint/eslintrc/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@eslint/js\": {\n\t\t\t\"version\": \"8.37.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array\": {\n\t\t\t\"version\": \"0.11.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz\",\n\t\t\t\"integrity\": \"sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@humanwhocodes/object-schema\": \"^1.2.1\",\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/config-array/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@humanwhocodes/module-importer\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.22\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"type\": \"github\",\n\t\t\t\t\"url\": \"https://github.com/sponsors/nzakas\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@humanwhocodes/object-schema\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@mdn/browser-compat-data\": {\n\t\t\t\"version\": \"5.2.47\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.2.47.tgz\",\n\t\t\t\"integrity\": \"sha512-6/QvoKeooo3J/WL7i9yjfDtUkqOZW8K6aqdzcw+bz4YdgMBzBQVZU7vZmEdCGOcV5AlsBHZT38mqx/sTrnZMDQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/@nodelib/fs.scandir\": {\n\t\t\t\"version\": \"2.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@nodelib/fs.stat\": \"2.0.5\",\n\t\t\t\t\"run-parallel\": \"^1.1.9\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@nodelib/fs.stat\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@nodelib/fs.walk\": {\n\t\t\t\"version\": \"1.2.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n\t\t\t\"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@nodelib/fs.scandir\": \"2.1.5\",\n\t\t\t\t\"fastq\": \"^1.6.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/@types/normalize-package-data\": {\n\t\t\t\"version\": \"2.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/accepts\": {\n\t\t\t\"version\": \"1.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mime-types\": \"~2.1.24\",\n\t\t\t\t\"negotiator\": \"0.6.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/acorn\": {\n\t\t\t\"version\": \"8.8.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz\",\n\t\t\t\"integrity\": \"sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"acorn\": \"bin/acorn\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/acorn-jsx\": {\n\t\t\t\"version\": \"5.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ajv\": {\n\t\t\t\"version\": \"6.12.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz\",\n\t\t\t\"integrity\": \"sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fast-deep-equal\": \"^3.1.1\",\n\t\t\t\t\"fast-json-stable-stringify\": \"^2.0.0\",\n\t\t\t\t\"json-schema-traverse\": \"^0.4.1\",\n\t\t\t\t\"uri-js\": \"^4.2.2\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"type\": \"github\",\n\t\t\t\t\"url\": \"https://github.com/sponsors/epoberezkin\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ansi-colors\": {\n\t\t\t\"version\": \"3.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ansi-regex\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ansi-styles\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-convert\": \"^1.9.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/append-transform\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"default-require-extensions\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/archy\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/archy/-/archy-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/argparse\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"sprintf-js\": \"~1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/array-flatten\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=\"\n\t\t},\n\t\t\"node_modules/asap\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=\"\n\t\t},\n\t\t\"node_modules/asn1\": {\n\t\t\t\"version\": \"0.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safer-buffer\": \"~2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/assert-plus\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ast-metadata-inferer\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^3.3.14\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ast-metadata-inferer/node_modules/@mdn/browser-compat-data\": {\n\t\t\t\"version\": \"3.3.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz\",\n\t\t\t\"integrity\": \"sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/async\": {\n\t\t\t\"version\": \"0.9.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/async/-/async-0.9.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=\"\n\t\t},\n\t\t\"node_modules/asynckit\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-x57Zf380y48robyXkLzDZkdLS3k=\"\n\t\t},\n\t\t\"node_modules/aws-sign2\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/aws4\": {\n\t\t\t\"version\": \"1.10.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==\"\n\t\t},\n\t\t\"node_modules/balanced-match\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-ibTRmasr7kneFk6gK4nORi1xt2c=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/bcrypt-pbkdf\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"tweetnacl\": \"^0.14.3\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bindings\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"file-uri-to-path\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bl\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bl/-/bl-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"readable-stream\": \"^2.3.5\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bluebird\": {\n\t\t\t\"version\": \"3.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\"\n\t\t},\n\t\t\"node_modules/body-parser\": {\n\t\t\t\"version\": \"1.19.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"raw-body\": \"2.4.0\",\n\t\t\t\t\"type-is\": \"~1.6.17\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/boolbase\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/brace-expansion\": {\n\t\t\t\"version\": \"1.1.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n\t\t\t\"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/browser-stdout\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/browserslist\": {\n\t\t\t\"version\": \"4.21.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz\",\n\t\t\t\"integrity\": \"sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\t\"url\": \"https://opencollective.com/browserslist\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"tidelift\",\n\t\t\t\t\t\"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001449\",\n\t\t\t\t\"electron-to-chromium\": \"^1.4.284\",\n\t\t\t\t\"node-releases\": \"^2.0.8\",\n\t\t\t\t\"update-browserslist-db\": \"^1.0.10\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"browserslist\": \"cli.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/browserslist-config-wikimedia\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-U/fmsaGlCKOqRIjKqXwQ44qFqiStngRTphj1Cf6IHV6J8OK8T0gu9dKc7Ljq4v7bwhnhN+YCCa4fA3nZlPNivQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/buffer-from\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/builtin-modules\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bunyan\": {\n\t\t\t\"version\": \"1.8.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan/-/bunyan-1.8.14.tgz\",\n\t\t\t\"integrity\": \"sha512-LlahJUxXzZLuw/hetUQJmRgZ1LF6+cr5TPpRj6jf327AsiIq2jhYEH4oqUUkVKTor+9w2BT3oxVwhzE5lw9tcg==\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.10.0\"\n\t\t\t],\n\t\t\t\"bin\": {\n\t\t\t\t\"bunyan\": \"bin/bunyan\"\n\t\t\t},\n\t\t\t\"optionalDependencies\": {\n\t\t\t\t\"dtrace-provider\": \"~0.8\",\n\t\t\t\t\"moment\": \"^2.19.3\",\n\t\t\t\t\"mv\": \"~2\",\n\t\t\t\t\"safe-json-stringify\": \"~1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/bunyan-syslog-udp\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan-syslog-udp/-/bunyan-syslog-udp-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-tY6iaw+iYbCjlsAgAyO4CeA7Usnj5VndygMfd2PcHK++626oMoHANcdsH5tq5VxRPsbk9M1fbuk0a5pX9axV2w==\"\n\t\t},\n\t\t\"node_modules/bytes\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/caching-transform\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"package-hash\": \"^3.0.0\",\n\t\t\t\t\"write-file-atomic\": \"^2.4.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/callsites\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/camelcase\": {\n\t\t\t\"version\": \"5.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/caniuse-lite\": {\n\t\t\t\"version\": \"1.0.30001473\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz\",\n\t\t\t\"integrity\": \"sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\t\"url\": \"https://opencollective.com/browserslist\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"tidelift\",\n\t\t\t\t\t\"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"github\",\n\t\t\t\t\t\"url\": \"https://github.com/sponsors/ai\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"node_modules/caseless\": {\n\t\t\t\"version\": \"0.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",\n\t\t\t\"integrity\": \"sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=\"\n\t\t},\n\t\t\"node_modules/cassandra-uuid\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cassandra-uuid/-/cassandra-uuid-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XM/UdAVoXJWDcqxVqNe2agYat51C25g5m8nkJ2/ai3QvHwWsRx/+OlziD1c1/jYLlP7kcC1DMO2IF5ldt8EV+A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"long\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/chalk\": {\n\t\t\t\"version\": \"2.4.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.1\",\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\",\n\t\t\t\t\"supports-color\": \"^5.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/chalk/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ci-info\": {\n\t\t\t\"version\": \"3.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"github\",\n\t\t\t\t\t\"url\": \"https://github.com/sponsors/sibiraj-s\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/clarinet\": {\n\t\t\t\"version\": \"0.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clarinet/-/clarinet-0.11.0.tgz\",\n\t\t\t\"integrity\": \"sha1-bMkSuTE43IZ/wnPNNOqQ6D4FRxk=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"chrome\": \">=16.0.912\",\n\t\t\t\t\"firefox\": \">=0.8.0\",\n\t\t\t\t\"node\": \">=0.3.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/clean-regexp\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/clean-regexp/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cliui\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"string-width\": \"^3.1.0\",\n\t\t\t\t\"strip-ansi\": \"^5.2.0\",\n\t\t\t\t\"wrap-ansi\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/color-convert\": {\n\t\t\t\"version\": \"1.9.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-name\": \"1.1.3\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/color-name\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=\"\n\t\t},\n\t\t\"node_modules/colors\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/colors/-/colors-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.1.90\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/combined-stream\": {\n\t\t\t\"version\": \"1.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"delayed-stream\": \"~1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/comment-parser\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/commondir\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/compressible\": {\n\t\t\t\"version\": \"2.0.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n\t\t\t\"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mime-db\": \">= 1.43.0 < 2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/compression\": {\n\t\t\t\"version\": \"1.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"accepts\": \"~1.3.5\",\n\t\t\t\t\"bytes\": \"3.0.0\",\n\t\t\t\t\"compressible\": \"~2.0.16\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"on-headers\": \"~1.0.2\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/compression/node_modules/bytes\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/concat-map\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/concat-stream\": {\n\t\t\t\"version\": \"1.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": [\n\t\t\t\t\"node >= 0.8\"\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"buffer-from\": \"^1.0.0\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.2.2\",\n\t\t\t\t\"typedarray\": \"^0.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/content-disposition\": {\n\t\t\t\"version\": \"0.5.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"5.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/content-type\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/convert-source-map\": {\n\t\t\t\"version\": \"1.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cookie\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cookie-signature\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-4wOogrNCzD7oylE6eZmXNNqzriw=\"\n\t\t},\n\t\t\"node_modules/core-util-is\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=\"\n\t\t},\n\t\t\"node_modules/cp-file\": {\n\t\t\t\"version\": \"6.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"nested-error-stacks\": \"^2.0.0\",\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"path-key\": \"^3.1.0\",\n\t\t\t\t\"shebang-command\": \"^2.0.0\",\n\t\t\t\t\"which\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn/node_modules/shebang-command\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"shebang-regex\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn/node_modules/shebang-regex\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cross-spawn/node_modules/which\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"node-which\": \"bin/node-which\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/cssesc\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"cssesc\": \"bin/cssesc\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/csv-parse\": {\n\t\t\t\"version\": \"4.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/csv-parse/-/csv-parse-4.12.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wPQl3H79vWLPI8cgKFcQXl0NBgYYEqVnT1i6/So7OjMpsI540oD7p93r3w6fDSyPvwkTepG05F69/7AViX2lXg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/dashdash\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/debug\": {\n\t\t\t\"version\": \"2.6.9\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n\t\t\t\"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/decamelize\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/deep-is\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/default-require-extensions\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/define-properties\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"object-keys\": \"^1.0.12\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/delayed-stream\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3zrhmayt+31ECqrgsp4icrJOxhk=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/depd\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/destroy\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=\"\n\t\t},\n\t\t\"node_modules/diff\": {\n\t\t\t\"version\": \"3.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/diff/-/diff-3.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.3.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/dnscache\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dnscache/-/dnscache-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"asap\": \"^2.0.6\",\n\t\t\t\t\"lodash.clone\": \"^4.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/doctrine\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"esutils\": \"^2.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/dom-storage\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/domino\": {\n\t\t\t\"version\": \"2.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/domino/-/domino-2.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==\"\n\t\t},\n\t\t\"node_modules/dtrace-provider\": {\n\t\t\t\"version\": \"0.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==\",\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"nan\": \"^2.14.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ecc-jsbn\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ee-first\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=\"\n\t\t},\n\t\t\"node_modules/electron-to-chromium\": {\n\t\t\t\"version\": \"1.4.348\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz\",\n\t\t\t\"integrity\": \"sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/emoji-regex\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==\"\n\t\t},\n\t\t\"node_modules/encodeurl\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/error-ex\": {\n\t\t\t\"version\": \"1.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-arrayish\": \"^0.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/es-abstract\": {\n\t\t\t\"version\": \"1.17.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz\",\n\t\t\t\"integrity\": \"sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"es-to-primitive\": \"^1.2.1\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has\": \"^1.0.3\",\n\t\t\t\t\"has-symbols\": \"^1.0.1\",\n\t\t\t\t\"is-callable\": \"^1.2.0\",\n\t\t\t\t\"is-regex\": \"^1.1.0\",\n\t\t\t\t\"object-inspect\": \"^1.7.0\",\n\t\t\t\t\"object-keys\": \"^1.1.1\",\n\t\t\t\t\"object.assign\": \"^4.1.0\",\n\t\t\t\t\"string.prototype.trimend\": \"^1.0.1\",\n\t\t\t\t\"string.prototype.trimstart\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/es-to-primitive\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-callable\": \"^1.1.4\",\n\t\t\t\t\"is-date-object\": \"^1.0.1\",\n\t\t\t\t\"is-symbol\": \"^1.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/es6-error\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/escalade\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/escape-html\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=\"\n\t\t},\n\t\t\"node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint\": {\n\t\t\t\"version\": \"8.37.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz\",\n\t\t\t\"integrity\": \"sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@eslint-community/eslint-utils\": \"^4.2.0\",\n\t\t\t\t\"@eslint-community/regexpp\": \"^4.4.0\",\n\t\t\t\t\"@eslint/eslintrc\": \"^2.0.2\",\n\t\t\t\t\"@eslint/js\": \"8.37.0\",\n\t\t\t\t\"@humanwhocodes/config-array\": \"^0.11.8\",\n\t\t\t\t\"@humanwhocodes/module-importer\": \"^1.0.1\",\n\t\t\t\t\"@nodelib/fs.walk\": \"^1.2.8\",\n\t\t\t\t\"ajv\": \"^6.10.0\",\n\t\t\t\t\"chalk\": \"^4.0.0\",\n\t\t\t\t\"cross-spawn\": \"^7.0.2\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"doctrine\": \"^3.0.0\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"eslint-scope\": \"^7.1.1\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.4.0\",\n\t\t\t\t\"espree\": \"^9.5.1\",\n\t\t\t\t\"esquery\": \"^1.4.2\",\n\t\t\t\t\"esutils\": \"^2.0.2\",\n\t\t\t\t\"fast-deep-equal\": \"^3.1.3\",\n\t\t\t\t\"file-entry-cache\": \"^6.0.1\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"glob-parent\": \"^6.0.2\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"grapheme-splitter\": \"^1.0.4\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.0.0\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"is-glob\": \"^4.0.0\",\n\t\t\t\t\"is-path-inside\": \"^3.0.3\",\n\t\t\t\t\"js-sdsl\": \"^4.1.4\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"lodash.merge\": \"^4.6.2\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"optionator\": \"^0.9.1\",\n\t\t\t\t\"strip-ansi\": \"^6.0.1\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.0\",\n\t\t\t\t\"text-table\": \"^0.2.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"eslint\": \"bin/eslint.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://opencollective.com/eslint\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-config-wikimedia\": {\n\t\t\t\"version\": \"0.24.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.24.0.tgz\",\n\t\t\t\"integrity\": \"sha512-8oH/YhJ87ONSmuRfATgx8U7Jcwz3tBemrh6YOezIfj9f2QfE71ZhaKZrNPdfS7vIklLor/cB9vX7sxN10nz8xw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"browserslist-config-wikimedia\": \"^0.4.0\",\n\t\t\t\t\"eslint\": \"^8.31.0\",\n\t\t\t\t\"eslint-plugin-compat\": \"^4.0.2\",\n\t\t\t\t\"eslint-plugin-es-x\": \"^5.2.1\",\n\t\t\t\t\"eslint-plugin-jsdoc\": \"39.2.2\",\n\t\t\t\t\"eslint-plugin-json-es\": \"^1.5.7\",\n\t\t\t\t\"eslint-plugin-mediawiki\": \"^0.4.0\",\n\t\t\t\t\"eslint-plugin-mocha\": \"^9.0.0\",\n\t\t\t\t\"eslint-plugin-no-jquery\": \"^2.7.0\",\n\t\t\t\t\"eslint-plugin-node\": \"^11.1.0\",\n\t\t\t\t\"eslint-plugin-qunit\": \"^7.2.0\",\n\t\t\t\t\"eslint-plugin-unicorn\": \"^42.0.0\",\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"eslint-plugin-wdio\": \"^7.19.4\",\n\t\t\t\t\"eslint-plugin-yml\": \"^0.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-DNrQgDi5L4mAL4FdFboKBlSRg6MWfd75eA7K91lMjtP5ryN+O11qT2FDn7Z6zqy6sZ4sJawUR5V75qzB6l0CBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^5.2.34\",\n\t\t\t\t\"ast-metadata-inferer\": \"^0.7.0\",\n\t\t\t\t\"browserslist\": \"^4.21.5\",\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001451\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"lodash.memoize\": \"4.1.2\",\n\t\t\t\t\"semver\": \"7.3.8\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=16.x\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/find-up\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/locate-path\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/p-limit\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/p-locate\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-compat/node_modules/path-exists\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-es-x\": {\n\t\t\t\"version\": \"5.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-5.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6Mniw760Nhd6brnDy+rz857LD+icZe5wXmsvXSuJ84svM0Q53ulJxpMhTJmpqHaLzYh7fuGAJ8V62ohbmqF+jA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^2.0.0 || ^3.0.0\",\n\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8.10.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ota-meshi\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=4.19.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc\": {\n\t\t\t\"version\": \"39.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ybkvja0p9JRzHEd2ST9h+Z47DLOuPyXpeb6r18/zKHdMmggPU1J0/zl+F0phea8ze9rMxi42MJVmGXi2NZ7PpA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@es-joy/jsdoccomment\": \"~0.23.1\",\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"debug\": \"^4.3.4\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"semver\": \"^7.3.7\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^14 || ^16 || ^17\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-jsdoc/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint-plugin-json-es\": {\n\t\t\t\"version\": \"1.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz\",\n\t\t\t\"integrity\": \"sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\",\n\t\t\t\t\"espree\": \"^9.3.1\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">= 7\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mediawiki\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Eufptb8lrElYwIONvgxlMBnPD6PYT4xAFprWlBxV5brCmUh8MZ41+lMxt2TPwEC6C85ngflkVez8BV8tWS9RyQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"upath\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mocha\": {\n\t\t\t\"version\": \"9.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"ramda\": \"^0.27.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.0.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=7.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mocha/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-mocha/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-no-jquery\": {\n\t\t\t\"version\": \"2.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=2.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-node\": {\n\t\t\t\"version\": \"11.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-plugin-es\": \"^3.0.0\",\n\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\"ignore\": \"^5.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"resolve\": \"^1.10.1\",\n\t\t\t\t\"semver\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8.10.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5.16.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-node/node_modules/eslint-plugin-es\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8.10.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=4.19.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-node/node_modules/semver\": {\n\t\t\t\"version\": \"6.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-qunit\": {\n\t\t\t\"version\": \"7.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"requireindex\": \"^1.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"12.x || 14.x || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-qunit/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-qunit/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn\": {\n\t\t\t\"version\": \"42.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.15.7\",\n\t\t\t\t\"ci-info\": \"^3.3.0\",\n\t\t\t\t\"clean-regexp\": \"^1.0.0\",\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"indent-string\": \"^4.0.0\",\n\t\t\t\t\"is-builtin-module\": \"^3.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"pluralize\": \"^8.0.0\",\n\t\t\t\t\"read-pkg-up\": \"^7.0.1\",\n\t\t\t\t\"regexp-tree\": \"^0.1.24\",\n\t\t\t\t\"safe-regex\": \"^2.1.1\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"strip-indent\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=8.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/find-up\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^5.0.0\",\n\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/locate-path\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^4.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/p-locate\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^2.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/parse-json\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.0.0\",\n\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\"json-parse-even-better-errors\": \"^2.3.0\",\n\t\t\t\t\"lines-and-columns\": \"^1.1.6\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/path-exists\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/read-pkg\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@types/normalize-package-data\": \"^2.4.0\",\n\t\t\t\t\"normalize-package-data\": \"^2.5.0\",\n\t\t\t\t\"parse-json\": \"^5.0.0\",\n\t\t\t\t\"type-fest\": \"^0.6.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/read-pkg-up\": {\n\t\t\t\"version\": \"7.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": \"^4.1.0\",\n\t\t\t\t\"read-pkg\": \"^5.2.0\",\n\t\t\t\t\"type-fest\": \"^0.8.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/read-pkg/node_modules/type-fest\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-unicorn/node_modules/type-fest\": {\n\t\t\t\"version\": \"0.8.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz\",\n\t\t\t\"integrity\": \"sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-vue\": {\n\t\t\t\"version\": \"8.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"nth-check\": \"^2.0.1\",\n\t\t\t\t\"postcss-selector-parser\": \"^6.0.9\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"vue-eslint-parser\": \"^8.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-vue/node_modules/eslint-utils\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.0.0 || ^12.0.0 || >= 14.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-vue/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-wdio\": {\n\t\t\t\"version\": \"7.25.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz\",\n\t\t\t\"integrity\": \"sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-yml\": {\n\t\t\t\"version\": \"0.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-0.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+0+bBV/07txENbxfrHF9olGoLCHez64vmnOmjWOoLwmXOwfdaSRleBSPIi4nWQs7WwX8lm/fSLadOjbVEcsXQQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"yaml-eslint-parser\": \"^0.5.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ota-meshi\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-yml/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-plugin-yml/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint-scope\": {\n\t\t\t\"version\": \"7.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"esrecurse\": \"^4.3.0\",\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-utils\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^1.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-utils/node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint-visitor-keys\": {\n\t\t\t\"version\": \"3.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://opencollective.com/eslint\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/ansi-regex\": {\n\t\t\t\"version\": \"5.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/ansi-styles\": {\n\t\t\t\"version\": \"4.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-convert\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/argparse\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint/node_modules/chalk\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-styles\": \"^4.1.0\",\n\t\t\t\t\"supports-color\": \"^7.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/color-convert\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"color-name\": \"~1.1.4\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=7.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/color-name\": {\n\t\t\t\"version\": \"1.1.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n\t\t\t\"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/find-up\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/has-flag\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/js-yaml\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/locate-path\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/eslint/node_modules/p-limit\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/p-locate\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/path-exists\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/strip-ansi\": {\n\t\t\t\"version\": \"6.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^5.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/eslint/node_modules/supports-color\": {\n\t\t\t\"version\": \"7.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/espree\": {\n\t\t\t\"version\": \"9.5.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.5.1.tgz\",\n\t\t\t\"integrity\": \"sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"acorn\": \"^8.8.0\",\n\t\t\t\t\"acorn-jsx\": \"^5.3.2\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.4.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://opencollective.com/eslint\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esprima\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\",\n\t\t\t\"bin\": {\n\t\t\t\t\"esparse\": \"bin/esparse.js\",\n\t\t\t\t\"esvalidate\": \"bin/esvalidate.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esquery\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"estraverse\": \"^5.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esrecurse\": {\n\t\t\t\"version\": \"4.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/estraverse\": {\n\t\t\t\"version\": \"5.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/esutils\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/etag\": {\n\t\t\t\"version\": \"1.8.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/express\": {\n\t\t\t\"version\": \"4.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/express/-/express-4.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"accepts\": \"~1.3.7\",\n\t\t\t\t\"array-flatten\": \"1.1.1\",\n\t\t\t\t\"body-parser\": \"1.19.0\",\n\t\t\t\t\"content-disposition\": \"0.5.3\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"cookie\": \"0.4.0\",\n\t\t\t\t\"cookie-signature\": \"1.0.6\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"finalhandler\": \"~1.1.2\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"merge-descriptors\": \"1.0.1\",\n\t\t\t\t\"methods\": \"~1.1.2\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"path-to-regexp\": \"0.1.7\",\n\t\t\t\t\"proxy-addr\": \"~2.0.5\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"send\": \"0.17.1\",\n\t\t\t\t\"serve-static\": \"1.14.1\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"type-is\": \"~1.6.18\",\n\t\t\t\t\"utils-merge\": \"1.0.1\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/extend\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==\"\n\t\t},\n\t\t\"node_modules/extsprintf\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.6.0\"\n\t\t\t]\n\t\t},\n\t\t\"node_modules/fast-deep-equal\": {\n\t\t\t\"version\": \"3.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\"\n\t\t},\n\t\t\"node_modules/fast-json-stable-stringify\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\"\n\t\t},\n\t\t\"node_modules/fast-levenshtein\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/fastq\": {\n\t\t\t\"version\": \"1.15.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"reusify\": \"^1.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/file-entry-cache\": {\n\t\t\t\"version\": \"6.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"flat-cache\": \"^3.0.4\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.12.0 || >=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/file-uri-to-path\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/finalhandler\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"unpipe\": \"~1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/find-cache-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"commondir\": \"^1.0.1\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"pkg-dir\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/find-up\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"locate-path\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat/-/flat-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==\",\n\t\t\t\"deprecated\": \"Fixed a prototype pollution security issue in 4.1.0, please upgrade to ^4.1.1 or ^5.0.1.\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-buffer\": \"~2.0.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"flat\": \"cli.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat-cache\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"flatted\": \"^3.1.0\",\n\t\t\t\t\"rimraf\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^10.12.0 || >=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat-cache/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flat-cache/node_modules/rimraf\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/flatted\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/foreground-child\": {\n\t\t\t\"version\": \"1.5.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz\",\n\t\t\t\"integrity\": \"sha1-T9ca0t/elnibmApcCilZN8svXOk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": \"^4\",\n\t\t\t\t\"signal-exit\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/foreground-child/node_modules/cross-spawn\": {\n\t\t\t\"version\": \"4.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/forever-agent\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/form-data\": {\n\t\t\t\"version\": \"2.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"asynckit\": \"^0.4.0\",\n\t\t\t\t\"combined-stream\": \"^1.0.6\",\n\t\t\t\t\"mime-types\": \"^2.1.12\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.12\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/forwarded\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/fresh\": {\n\t\t\t\"version\": \"0.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n\t\t\t\"integrity\": \"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/fs.realpath\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-FQStJSMVjKpA20onh8sBQRmU6k8=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/function-bind\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/gc-stats\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA==\",\n\t\t\t\"bundleDependencies\": [\n\t\t\t\t\"node-pre-gyp\"\n\t\t\t],\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"nan\": \"^2.13.2\",\n\t\t\t\t\"node-pre-gyp\": \"^0.13.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/abbrev\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ansi-regex\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/aproba\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/are-we-there-yet\": {\n\t\t\t\"version\": \"1.1.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"delegates\": \"^1.0.0\",\n\t\t\t\t\"readable-stream\": \"^2.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/balanced-match\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/brace-expansion\": {\n\t\t\t\"version\": \"1.1.11\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/chownr\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/code-point-at\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/concat-map\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/console-control-strings\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/core-util-is\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/debug\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/deep-extend\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/delegates\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/detect-libc\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"Apache-2.0\",\n\t\t\t\"optional\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"detect-libc\": \"bin/detect-libc.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/fs-minipass\": {\n\t\t\t\"version\": \"1.2.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/fs.realpath\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/gauge\": {\n\t\t\t\"version\": \"2.7.4\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"aproba\": \"^1.0.3\",\n\t\t\t\t\"console-control-strings\": \"^1.0.0\",\n\t\t\t\t\"has-unicode\": \"^2.0.0\",\n\t\t\t\t\"object-assign\": \"^4.1.0\",\n\t\t\t\t\"signal-exit\": \"^3.0.0\",\n\t\t\t\t\"string-width\": \"^1.0.1\",\n\t\t\t\t\"strip-ansi\": \"^3.0.1\",\n\t\t\t\t\"wide-align\": \"^1.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/has-unicode\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/iconv-lite\": {\n\t\t\t\"version\": \"0.4.24\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ignore-walk\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimatch\": \"^3.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/inflight\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/inherits\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ini\": {\n\t\t\t\"version\": \"1.3.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/is-fullwidth-code-point\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"number-is-nan\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/isarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minimatch\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minimist\": {\n\t\t\t\"version\": \"0.0.8\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minipass\": {\n\t\t\t\"version\": \"2.3.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"yallist\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/minizlib\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/mkdirp\": {\n\t\t\t\"version\": \"0.5.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimist\": \"0.0.8\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"mkdirp\": \"bin/cmd.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/needle\": {\n\t\t\t\"version\": \"2.3.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"iconv-lite\": \"^0.4.4\",\n\t\t\t\t\"sax\": \"^1.2.4\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"needle\": \"bin/needle\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 4.4.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/node-pre-gyp\": {\n\t\t\t\"version\": \"0.13.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"BSD-3-Clause\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"detect-libc\": \"^1.0.2\",\n\t\t\t\t\"mkdirp\": \"^0.5.1\",\n\t\t\t\t\"needle\": \"^2.2.1\",\n\t\t\t\t\"nopt\": \"^4.0.1\",\n\t\t\t\t\"npm-packlist\": \"^1.1.6\",\n\t\t\t\t\"npmlog\": \"^4.0.2\",\n\t\t\t\t\"rc\": \"^1.2.7\",\n\t\t\t\t\"rimraf\": \"^2.6.1\",\n\t\t\t\t\"semver\": \"^5.3.0\",\n\t\t\t\t\"tar\": \"^4\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"node-pre-gyp\": \"bin/node-pre-gyp\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/nopt\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"abbrev\": \"1\",\n\t\t\t\t\"osenv\": \"^0.1.4\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"nopt\": \"bin/nopt.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/npm-bundled\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/npm-packlist\": {\n\t\t\t\"version\": \"1.4.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ignore-walk\": \"^3.0.1\",\n\t\t\t\t\"npm-bundled\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/npmlog\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"are-we-there-yet\": \"~1.1.2\",\n\t\t\t\t\"console-control-strings\": \"~1.1.0\",\n\t\t\t\t\"gauge\": \"~2.7.3\",\n\t\t\t\t\"set-blocking\": \"~2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/number-is-nan\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/object-assign\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/once\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/os-homedir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/os-tmpdir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/osenv\": {\n\t\t\t\"version\": \"0.1.5\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"os-homedir\": \"^1.0.0\",\n\t\t\t\t\"os-tmpdir\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/path-is-absolute\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/process-nextick-args\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/rc\": {\n\t\t\t\"version\": \"1.2.8\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"(BSD-2-Clause OR MIT OR Apache-2.0)\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"deep-extend\": \"^0.6.0\",\n\t\t\t\t\"ini\": \"~1.3.0\",\n\t\t\t\t\"minimist\": \"^1.2.0\",\n\t\t\t\t\"strip-json-comments\": \"~2.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rc\": \"cli.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/rc/node_modules/minimist\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/readable-stream\": {\n\t\t\t\"version\": \"2.3.6\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.6.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/safe-buffer\": {\n\t\t\t\"version\": \"5.1.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/safer-buffer\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/sax\": {\n\t\t\t\"version\": \"1.2.4\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/set-blocking\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/signal-exit\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/string_decoder\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/string-width\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"code-point-at\": \"^1.0.0\",\n\t\t\t\t\"is-fullwidth-code-point\": \"^1.0.0\",\n\t\t\t\t\"strip-ansi\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/strip-ansi\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/strip-json-comments\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/tar\": {\n\t\t\t\"version\": \"4.4.8\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"chownr\": \"^1.1.1\",\n\t\t\t\t\"fs-minipass\": \"^1.2.5\",\n\t\t\t\t\"minipass\": \"^2.3.4\",\n\t\t\t\t\"minizlib\": \"^1.1.1\",\n\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"yallist\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/util-deprecate\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"MIT\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/wide-align\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/wrappy\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gc-stats/node_modules/yallist\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"inBundle\": true,\n\t\t\t\"license\": \"ISC\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/gelf-stream\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelf-stream/-/gelf-stream-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nOqbY4asMBx0GDjKPLkeZtv79mk=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"gelfling\": \"^0.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/gelfling\": {\n\t\t\t\"version\": \"0.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelfling/-/gelfling-0.3.1.tgz\",\n\t\t\t\"integrity\": \"sha1-M2qY+BUQ+a4K8qSU4XRooRap3AQ=\"\n\t\t},\n\t\t\"node_modules/get-caller-file\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"6.* || 8.* || >= 10.*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/getpass\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/glob\": {\n\t\t\t\"version\": \"6.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-6.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"2 || 3\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/glob-parent\": {\n\t\t\t\"version\": \"6.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-glob\": \"^4.0.3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10.13.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/globals\": {\n\t\t\t\"version\": \"13.20.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.20.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"type-fest\": \"^0.20.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/graceful-fs\": {\n\t\t\t\"version\": \"4.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/grapheme-splitter\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/growl\": {\n\t\t\t\"version\": \"1.10.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/growl/-/growl-1.10.5.tgz\",\n\t\t\t\"integrity\": \"sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/har-schema\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/har-validator\": {\n\t\t\t\"version\": \"5.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==\",\n\t\t\t\"deprecated\": \"this library is no longer supported\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ajv\": \"^6.12.3\",\n\t\t\t\t\"har-schema\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/has\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"function-bind\": \"^1.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/has-flag\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tdRU3CGZriJWmfNGfloH87lVuv0=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/has-symbols\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/hasha\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-stream\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/hat\": {\n\t\t\t\"version\": \"0.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hat/-/hat-0.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/he\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"he\": \"bin/he\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/heapdump\": {\n\t\t\t\"version\": \"0.3.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/heapdump/-/heapdump-0.3.15.tgz\",\n\t\t\t\"integrity\": \"sha512-n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==\",\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/hosted-git-info\": {\n\t\t\t\"version\": \"2.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/hot-shots\": {\n\t\t\t\"version\": \"6.8.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hot-shots/-/hot-shots-6.8.7.tgz\",\n\t\t\t\"integrity\": \"sha512-XH8iezBSZgVw2jegu96pUfF1Zv0VZ/iXjb7L5yE3F7mn7/bdhf4qeniXjO0wQWeefe433rhOsazNKLxM+XMI9w==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t},\n\t\t\t\"optionalDependencies\": {\n\t\t\t\t\"unix-dgram\": \"2.0.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/html-escaper\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/http-errors\": {\n\t\t\t\"version\": \"1.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"inherits\": \"2.0.3\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \">= 1.5.0 < 2\",\n\t\t\t\t\"toidentifier\": \"1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/http-shutdown\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"iojs\": \">= 1.0.0\",\n\t\t\t\t\"node\": \">= 0.12.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/http-signature\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"jsprim\": \"^1.2.2\",\n\t\t\t\t\"sshpk\": \"^1.7.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8\",\n\t\t\t\t\"npm\": \">=1.3.7\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/iconv-lite\": {\n\t\t\t\"version\": \"0.4.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n\t\t\t\"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ignore\": {\n\t\t\t\"version\": \"5.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/import-fresh\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"parent-module\": \"^1.0.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/imurmurhash\": {\n\t\t\t\"version\": \"0.1.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n\t\t\t\"integrity\": \"sha1-khi5srkoojixPcT7a21XbyMUU+o=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.19\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/indent-string\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/inflight\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/inherits\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=\"\n\t\t},\n\t\t\"node_modules/ipaddr.js\": {\n\t\t\t\"version\": \"1.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-arrayish\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/is-buffer\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-builtin-module\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"builtin-modules\": \"^3.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-callable\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-date-object\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-extglob\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-fullwidth-code-point\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-glob\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-extglob\": \"^2.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-path-inside\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-regex\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-stream\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-EtSj3U5o4Lec6428hBc66A2RykQ=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-symbol\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/is-typedarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=\"\n\t\t},\n\t\t\"node_modules/isarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=\"\n\t\t},\n\t\t\"node_modules/isexe\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/isstream\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=\"\n\t\t},\n\t\t\"node_modules/istanbul-lib-coverage\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-hook\": {\n\t\t\t\"version\": \"2.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz\",\n\t\t\t\"integrity\": \"sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"append-transform\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-instrument\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@babel/generator\": \"^7.4.0\",\n\t\t\t\t\"@babel/parser\": \"^7.4.3\",\n\t\t\t\t\"@babel/template\": \"^7.4.0\",\n\t\t\t\t\"@babel/traverse\": \"^7.4.3\",\n\t\t\t\t\"@babel/types\": \"^7.4.0\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"semver\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-instrument/node_modules/semver\": {\n\t\t\t\"version\": \"6.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-report\": {\n\t\t\t\"version\": \"2.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"supports-color\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-report/node_modules/supports-color\": {\n\t\t\t\"version\": \"6.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/debug\": {\n\t\t\t\"version\": \"4.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\"deprecated\": \"Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-lib-source-maps/node_modules/source-map\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/istanbul-reports\": {\n\t\t\t\"version\": \"2.2.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz\",\n\t\t\t\"integrity\": \"sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"html-escaper\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/js-sdsl\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": {\n\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\"url\": \"https://opencollective.com/js-sdsl\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/js-tokens\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/js-yaml\": {\n\t\t\t\"version\": \"3.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/jsbn\": {\n\t\t\t\"version\": \"0.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-peZUwuWi3rXyAdls77yoDA7y9RM=\"\n\t\t},\n\t\t\"node_modules/jsdoc-type-pratt-parser\": {\n\t\t\t\"version\": \"2.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=12.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/jsesc\": {\n\t\t\t\"version\": \"2.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n\t\t\t\"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"jsesc\": \"bin/jsesc\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/json-parse-better-errors\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/json-parse-even-better-errors\": {\n\t\t\t\"version\": \"2.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/json-schema\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=\"\n\t\t},\n\t\t\"node_modules/json-schema-traverse\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\"\n\t\t},\n\t\t\"node_modules/json-stable-stringify-without-jsonify\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/json-stringify-safe\": {\n\t\t\t\"version\": \"5.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=\"\n\t\t},\n\t\t\"node_modules/jsprim\": {\n\t\t\t\"version\": \"1.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz\",\n\t\t\t\"integrity\": \"sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.6.0\"\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"1.0.0\",\n\t\t\t\t\"extsprintf\": \"1.3.0\",\n\t\t\t\t\"json-schema\": \"0.2.3\",\n\t\t\t\t\"verror\": \"1.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad\": {\n\t\t\t\"version\": \"1.3.6\",\n\t\t\t\"resolved\": \"git+ssh://git@github.com/wikimedia/kad.git#96f8f5c8e5a88f5dffed47abc20756e93e16387e\",\n\t\t\t\"integrity\": \"sha512-vGPFf2DWtyb6DnpVkUKNPKlVyiLOxdAaN3Ubbiz2vu2dhBTgq306Rmw4h30i2cluphBRngTMyHqLwSO50PuPUg==\",\n\t\t\t\"license\": \"GPL-3.0\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"async\": \"^0.9.0\",\n\t\t\t\t\"clarinet\": \"^0.11.0\",\n\t\t\t\t\"colors\": \"^1.0.3\",\n\t\t\t\t\"hat\": \"0.0.3\",\n\t\t\t\t\"kad-fs\": \"0.0.4\",\n\t\t\t\t\"kad-localstorage\": \"0.0.7\",\n\t\t\t\t\"kad-memstore\": \"0.0.1\",\n\t\t\t\t\"lodash\": \"^4.17.11\",\n\t\t\t\t\"merge\": \"^1.2.0\",\n\t\t\t\t\"ms\": \"^0.7.0\",\n\t\t\t\t\"msgpack5\": \"^3.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad-fs\": {\n\t\t\t\"version\": \"0.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-fs/-/kad-fs-0.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-Aupapc8iIlclV5YnzP1tJmNyKJo=\",\n\t\t\t\"deprecated\": \"This package is no longer maintained.\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"readable-stream\": \"^2.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad-localstorage\": {\n\t\t\t\"version\": \"0.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-localstorage/-/kad-localstorage-0.0.7.tgz\",\n\t\t\t\"integrity\": \"sha1-96LngNpT+yi5Q8LFqJTCeaqBDxc=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"dom-storage\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad-memstore\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-memstore/-/kad-memstore-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-g8t0hJasSRxxNRBMvla4jKc5JHc=\",\n\t\t\t\"deprecated\": \"This package is no longer maintained.\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kad/node_modules/ms\": {\n\t\t\t\"version\": \"0.7.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-0.7.3.tgz\",\n\t\t\t\"integrity\": \"sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=\"\n\t\t},\n\t\t\"node_modules/levn\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"~0.4.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/limitation\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/limitation/-/limitation-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-5lMmsPc9ZtMjBk8rJ8ADKIj6AOgYvRtAuNfboO2TVPZsmcn6gSRyijUsA8KG6DUcJ89/hyQ3cnVRyzO1hbDavw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.3.1\",\n\t\t\t\t\"kad\": \"git+https://github.com/wikimedia/kad.git#master\",\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/lines-and-columns\": {\n\t\t\t\"version\": \"1.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/load-json-file\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-L19Fq5HjMhYjT9U62rZo607AmTs=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"parse-json\": \"^4.0.0\",\n\t\t\t\t\"pify\": \"^3.0.0\",\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/load-json-file/node_modules/pify\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/locate-path\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-locate\": \"^3.0.0\",\n\t\t\t\t\"path-exists\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/lodash\": {\n\t\t\t\"version\": \"4.17.21\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n\t\t\t\"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n\t\t},\n\t\t\"node_modules/lodash.clone\": {\n\t\t\t\"version\": \"4.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=\"\n\t\t},\n\t\t\"node_modules/lodash.flattendeep\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/lodash.memoize\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/lodash.merge\": {\n\t\t\t\"version\": \"4.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/lodash.set\": {\n\t\t\t\"version\": \"4.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz\",\n\t\t\t\"integrity\": \"sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/log-symbols\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"chalk\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/long\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/long/-/long-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==\"\n\t\t},\n\t\t\"node_modules/lru-cache\": {\n\t\t\t\"version\": \"4.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pseudomap\": \"^1.0.2\",\n\t\t\t\t\"yallist\": \"^2.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/make-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"semver\": \"^5.6.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/make-dir/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/media-typer\": {\n\t\t\t\"version\": \"0.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mediawiki-title\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mediawiki-title/-/mediawiki-title-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-IL5xK/LND+Wqa3mEtaF4cEISnOPK166WiTauTGBPvPpKSuAIR5eOWLwKnUyit0ye9Bs7QPgfWnU8e6gfaCJLTg==\"\n\t\t},\n\t\t\"node_modules/merge-descriptors\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=\"\n\t\t},\n\t\t\"node_modules/merge-source-map\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/merge-source-map/node_modules/source-map\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/methods\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mime\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\",\n\t\t\t\"bin\": {\n\t\t\t\t\"mime\": \"cli.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mime-db\": {\n\t\t\t\"version\": \"1.44.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mime-types\": {\n\t\t\t\"version\": \"2.1.27\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz\",\n\t\t\t\"integrity\": \"sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mime-db\": \"1.44.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/min-indent\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/minimatch\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/minimist\": {\n\t\t\t\"version\": \"1.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/mkdirp\": {\n\t\t\t\"version\": \"0.5.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz\",\n\t\t\t\"integrity\": \"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"mkdirp\": \"bin/cmd.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha\": {\n\t\t\t\"version\": \"6.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-colors\": \"3.2.3\",\n\t\t\t\t\"browser-stdout\": \"1.3.1\",\n\t\t\t\t\"debug\": \"3.2.6\",\n\t\t\t\t\"diff\": \"3.5.0\",\n\t\t\t\t\"escape-string-regexp\": \"1.0.5\",\n\t\t\t\t\"find-up\": \"3.0.0\",\n\t\t\t\t\"glob\": \"7.1.3\",\n\t\t\t\t\"growl\": \"1.10.5\",\n\t\t\t\t\"he\": \"1.2.0\",\n\t\t\t\t\"js-yaml\": \"3.13.1\",\n\t\t\t\t\"log-symbols\": \"2.2.0\",\n\t\t\t\t\"minimatch\": \"3.0.4\",\n\t\t\t\t\"mkdirp\": \"0.5.4\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"node-environment-flags\": \"1.0.5\",\n\t\t\t\t\"object.assign\": \"4.1.0\",\n\t\t\t\t\"strip-json-comments\": \"2.0.1\",\n\t\t\t\t\"supports-color\": \"6.0.0\",\n\t\t\t\t\"which\": \"1.3.1\",\n\t\t\t\t\"wide-align\": \"1.1.3\",\n\t\t\t\t\"yargs\": \"13.3.2\",\n\t\t\t\t\"yargs-parser\": \"13.1.2\",\n\t\t\t\t\"yargs-unparser\": \"1.6.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"_mocha\": \"bin/_mocha\",\n\t\t\t\t\"mocha\": \"bin/mocha\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha-lcov-reporter\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha.parallel\": {\n\t\t\t\"version\": \"0.15.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha.parallel/-/mocha.parallel-0.15.6.tgz\",\n\t\t\t\"integrity\": \"sha512-pWph+QieKGjk7cHY2hB78wyKJDOQLyOMDuBLQLrFL7riJb8qbQBlCY3XztFHv0D1d4I1gCpiwFNjd4LhVOXPew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^2.9.34\",\n\t\t\t\t\"semaphore\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"mocha\": \">=2.2.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha.parallel/node_modules/bluebird\": {\n\t\t\t\"version\": \"2.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz\",\n\t\t\t\"integrity\": \"sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/mocha/node_modules/debug\": {\n\t\t\t\"version\": \"3.2.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.6.tgz\",\n\t\t\t\"integrity\": \"sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==\",\n\t\t\t\"deprecated\": \"Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/escape-string-regexp\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/js-yaml\": {\n\t\t\t\"version\": \"3.13.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz\",\n\t\t\t\"integrity\": \"sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"js-yaml\": \"bin/js-yaml.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/mkdirp\": {\n\t\t\t\"version\": \"0.5.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz\",\n\t\t\t\"integrity\": \"sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==\",\n\t\t\t\"deprecated\": \"Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"mkdirp\": \"bin/cmd.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/mocha/node_modules/strip-json-comments\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-PFMZQukIwml8DsNEhYwobHygpgo=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/supports-color\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/yargs\": {\n\t\t\t\"version\": \"13.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mocha/node_modules/yargs-parser\": {\n\t\t\t\"version\": \"13.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/moment\": {\n\t\t\t\"version\": \"2.29.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/moment/-/moment-2.29.0.tgz\",\n\t\t\t\"integrity\": \"sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==\",\n\t\t\t\"optional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/ms\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=\"\n\t\t},\n\t\t\"node_modules/msgpack5\": {\n\t\t\t\"version\": \"3.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/msgpack5/-/msgpack5-3.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6HuCZHA57WtNUzrKIvjJ8OMxigzveJ6D5i13y6TsgGu3X3zxABpuBvChpppOoGdB9SyWZcmqUs1fwUV/PpSQ7Q==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bl\": \"^1.2.1\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.3.3\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/mv\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mv/-/mv-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"mkdirp\": \"~0.5.1\",\n\t\t\t\t\"ncp\": \"~2.0.0\",\n\t\t\t\t\"rimraf\": \"~2.4.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nan\": {\n\t\t\t\"version\": \"2.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nan/-/nan-2.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/natural-compare\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/ncp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=\",\n\t\t\t\"optional\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"ncp\": \"bin/ncp\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/negotiator\": {\n\t\t\t\"version\": \"0.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nested-error-stacks\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/nock\": {\n\t\t\t\"version\": \"13.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nock/-/nock-13.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-YKj0rKQWMGiiIO+Y65Ut8OEgYM3PplLU2+GAhnPmqZdBd6z5IskgdBqWmjzA6lH3RF0S2a3wiAlrMOF5Iv2Jeg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"json-stringify-safe\": \"^5.0.1\",\n\t\t\t\t\"lodash.set\": \"^4.3.2\",\n\t\t\t\t\"propagate\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 10.13\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nock/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nock/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/node-environment-flags\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"object.getownpropertydescriptors\": \"^2.0.3\",\n\t\t\t\t\"semver\": \"^5.7.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/node-environment-flags/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/node-releases\": {\n\t\t\t\"version\": \"2.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/normalize-package-data\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"hosted-git-info\": \"^2.1.4\",\n\t\t\t\t\"resolve\": \"^1.10.0\",\n\t\t\t\t\"semver\": \"2 || 3 || 4 || 5\",\n\t\t\t\t\"validate-npm-package-license\": \"^3.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/normalize-package-data/node_modules/semver\": {\n\t\t\t\"version\": \"5.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nth-check\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"boolbase\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/fb55/nth-check?sponsor=1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc\": {\n\t\t\t\"version\": \"14.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"archy\": \"^1.0.0\",\n\t\t\t\t\"caching-transform\": \"^3.0.2\",\n\t\t\t\t\"convert-source-map\": \"^1.6.0\",\n\t\t\t\t\"cp-file\": \"^6.2.0\",\n\t\t\t\t\"find-cache-dir\": \"^2.1.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"istanbul-lib-hook\": \"^2.0.7\",\n\t\t\t\t\"istanbul-lib-instrument\": \"^3.3.0\",\n\t\t\t\t\"istanbul-lib-report\": \"^2.0.8\",\n\t\t\t\t\"istanbul-lib-source-maps\": \"^3.0.6\",\n\t\t\t\t\"istanbul-reports\": \"^2.2.4\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"merge-source-map\": \"^1.1.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"spawn-wrap\": \"^1.4.2\",\n\t\t\t\t\"test-exclude\": \"^5.2.3\",\n\t\t\t\t\"uuid\": \"^3.3.2\",\n\t\t\t\t\"yargs\": \"^13.2.2\",\n\t\t\t\t\"yargs-parser\": \"^13.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"nyc\": \"bin/nyc.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/yargs\": {\n\t\t\t\"version\": \"13.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/nyc/node_modules/yargs-parser\": {\n\t\t\t\"version\": \"13.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/oauth-sign\": {\n\t\t\t\"version\": \"0.9.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object-inspect\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object-keys\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object.assign\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.2\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has-symbols\": \"^1.0.0\",\n\t\t\t\t\"object-keys\": \"^1.0.11\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/object.getownpropertydescriptors\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.0-next.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/on-finished\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ee-first\": \"1.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/on-headers\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/once\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-WDsap3WWHUsROsF9nFC6753Xa9E=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/optionator\": {\n\t\t\t\"version\": \"0.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"deep-is\": \"^0.1.3\",\n\t\t\t\t\"fast-levenshtein\": \"^2.0.6\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"^0.4.0\",\n\t\t\t\t\"word-wrap\": \"^1.2.3\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/os-homedir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-/7xJiDNuDoM94MFox+8VISGqf7M=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/os-shim\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/p-limit\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-try\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/p-locate\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"p-limit\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/p-try\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/package-hash\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.15\",\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"lodash.flattendeep\": \"^4.4.0\",\n\t\t\t\t\"release-zalgo\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/parent-module\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"callsites\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/parse-json\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\"json-parse-better-errors\": \"^1.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/parseurl\": {\n\t\t\t\"version\": \"1.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-exists\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-is-absolute\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-F0uSaHNVNP+8es5r9TpanhtcX18=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-key\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-parse\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/path-to-regexp\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=\"\n\t\t},\n\t\t\"node_modules/path-type\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/path-type/node_modules/pify\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/performance-now\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=\"\n\t\t},\n\t\t\"node_modules/picocolors\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/pify\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pkg-dir\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pluralize\": {\n\t\t\t\"version\": \"8.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/postcss-selector-parser\": {\n\t\t\t\"version\": \"6.0.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz\",\n\t\t\t\"integrity\": \"sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cssesc\": \"^3.0.0\",\n\t\t\t\t\"util-deprecate\": \"^1.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pre-commit\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha1-287g7p3nI15X95xW186UZBpp7sY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": \"^5.0.1\",\n\t\t\t\t\"spawn-sync\": \"^1.0.15\",\n\t\t\t\t\"which\": \"1.2.x\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pre-commit/node_modules/cross-spawn\": {\n\t\t\t\"version\": \"5.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\"shebang-command\": \"^1.2.0\",\n\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pre-commit/node_modules/which\": {\n\t\t\t\"version\": \"1.2.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.2.14.tgz\",\n\t\t\t\"integrity\": \"sha1-mofEN48D6CfOyvGs31bHNsAcFOU=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"which\": \"bin/which\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/prelude-ls\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/preq\": {\n\t\t\t\"version\": \"0.5.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/preq/-/preq-0.5.14.tgz\",\n\t\t\t\"integrity\": \"sha512-kuJ5ndEgjs27kTTQ/P2ipPQoHeCJcAI4i97mU3xSjkjx6CsuQOsCe2l5twTGC0SCB5UkzRpmrpXmvN0Ip4ZCxA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.5.5\",\n\t\t\t\t\"request\": \"^2.88.0\",\n\t\t\t\t\"requestretry\": \"4.0.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/process-nextick-args\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\"\n\t\t},\n\t\t\"node_modules/propagate\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/proxy-addr\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"forwarded\": \"~0.1.2\",\n\t\t\t\t\"ipaddr.js\": \"1.9.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/pseudomap\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-8FKijacOYYkX7wqKw0wa5aaChrM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/psl\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==\"\n\t\t},\n\t\t\"node_modules/punycode\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/qs\": {\n\t\t\t\"version\": \"6.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/queue-microtask\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"github\",\n\t\t\t\t\t\"url\": \"https://github.com/sponsors/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"patreon\",\n\t\t\t\t\t\"url\": \"https://www.patreon.com/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"consulting\",\n\t\t\t\t\t\"url\": \"https://feross.org/support\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"node_modules/ramda\": {\n\t\t\t\"version\": \"0.27.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz\",\n\t\t\t\"integrity\": \"sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/range-parser\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/raw-body\": {\n\t\t\t\"version\": \"2.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"unpipe\": \"1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/read-pkg\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"load-json-file\": \"^4.0.0\",\n\t\t\t\t\"normalize-package-data\": \"^2.3.2\",\n\t\t\t\t\"path-type\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/read-pkg-up\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"read-pkg\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/readable-stream\": {\n\t\t\t\"version\": \"2.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/regexp-tree\": {\n\t\t\t\"version\": \"0.1.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz\",\n\t\t\t\"integrity\": \"sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"bin\": {\n\t\t\t\t\"regexp-tree\": \"bin/regexp-tree\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/regexpp\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/release-zalgo\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"es6-error\": \"^4.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/request\": {\n\t\t\t\"version\": \"2.88.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/request/-/request-2.88.2.tgz\",\n\t\t\t\"integrity\": \"sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==\",\n\t\t\t\"deprecated\": \"request has been deprecated, see https://github.com/request/request/issues/3142\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"aws-sign2\": \"~0.7.0\",\n\t\t\t\t\"aws4\": \"^1.8.0\",\n\t\t\t\t\"caseless\": \"~0.12.0\",\n\t\t\t\t\"combined-stream\": \"~1.0.6\",\n\t\t\t\t\"extend\": \"~3.0.2\",\n\t\t\t\t\"forever-agent\": \"~0.6.1\",\n\t\t\t\t\"form-data\": \"~2.3.2\",\n\t\t\t\t\"har-validator\": \"~5.1.3\",\n\t\t\t\t\"http-signature\": \"~1.2.0\",\n\t\t\t\t\"is-typedarray\": \"~1.0.0\",\n\t\t\t\t\"isstream\": \"~0.1.2\",\n\t\t\t\t\"json-stringify-safe\": \"~5.0.1\",\n\t\t\t\t\"mime-types\": \"~2.1.19\",\n\t\t\t\t\"oauth-sign\": \"~0.9.0\",\n\t\t\t\t\"performance-now\": \"^2.1.0\",\n\t\t\t\t\"qs\": \"~6.5.2\",\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"tough-cookie\": \"~2.5.0\",\n\t\t\t\t\"tunnel-agent\": \"^0.6.0\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/request/node_modules/qs\": {\n\t\t\t\"version\": \"6.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.5.2.tgz\",\n\t\t\t\"integrity\": \"sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/requestretry\": {\n\t\t\t\"version\": \"4.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requestretry/-/requestretry-4.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ZGdO1ZXUQAeCB9xOS2keSN501y7T1t0zPOD58jTAOwamt6qkcBMaGdRBHEOMQRnDtT5fn7S99F0dwADUqCmYqg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"extend\": \"^3.0.2\",\n\t\t\t\t\"lodash\": \"^4.17.10\",\n\t\t\t\t\"when\": \"^3.7.7\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"request\": \"2.*.*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/require-directory\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-jGStX9MNqxyXbiNE/+f3kqam30I=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/require-main-filename\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==\"\n\t\t},\n\t\t\"node_modules/requireindex\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.5\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/resolve\": {\n\t\t\t\"version\": \"1.17.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"path-parse\": \"^1.0.6\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/resolve-from\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/reusify\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"iojs\": \">=1.0.0\",\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/rimraf\": {\n\t\t\t\"version\": \"2.4.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz\",\n\t\t\t\"integrity\": \"sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=\",\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^6.0.1\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/run-parallel\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"github\",\n\t\t\t\t\t\"url\": \"https://github.com/sponsors/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"patreon\",\n\t\t\t\t\t\"url\": \"https://www.patreon.com/feross\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"consulting\",\n\t\t\t\t\t\"url\": \"https://feross.org/support\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"queue-microtask\": \"^1.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/safe-buffer\": {\n\t\t\t\"version\": \"5.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n\t\t},\n\t\t\"node_modules/safe-json-stringify\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"node_modules/safe-regex\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"regexp-tree\": \"~0.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/safer-buffer\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\"\n\t\t},\n\t\t\"node_modules/semaphore\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/semver\": {\n\t\t\t\"version\": \"7.3.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.3.8.tgz\",\n\t\t\t\"integrity\": \"sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"semver\": \"bin/semver.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/semver/node_modules/lru-cache\": {\n\t\t\t\"version\": \"6.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yallist\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/semver/node_modules/yallist\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\"\n\t\t},\n\t\t\"node_modules/send\": {\n\t\t\t\"version\": \"0.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/send/-/send-0.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"destroy\": \"~1.0.4\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"http-errors\": \"~1.7.2\",\n\t\t\t\t\"mime\": \"1.6.0\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/send/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\"\n\t\t},\n\t\t\"node_modules/serve-static\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"send\": \"0.17.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/service-runner\": {\n\t\t\t\"version\": \"2.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/service-runner/-/service-runner-2.7.8.tgz\",\n\t\t\t\"integrity\": \"sha512-YZBOj9wRzWEiBgIfrvq7OFVf9wr0u/llyeIsZjrd6tyrjJz2ywB9DiGpWb7/+MVswi970bgAw6+OUCq+9luyuw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.7.2\",\n\t\t\t\t\"bunyan\": \"^1.8.12\",\n\t\t\t\t\"bunyan-syslog-udp\": \"^0.2.0\",\n\t\t\t\t\"dnscache\": \"^1.0.2\",\n\t\t\t\t\"gelf-stream\": \"^1.1.1\",\n\t\t\t\t\"hot-shots\": \"^6.8.7\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"limitation\": \"^0.2.1\",\n\t\t\t\t\"semver\": \"^7.1.2\",\n\t\t\t\t\"yargs\": \"^14.2.2\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"service-runner\": \"service-runner.js\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t},\n\t\t\t\"optionalDependencies\": {\n\t\t\t\t\"gc-stats\": \"^1.4.0\",\n\t\t\t\t\"heapdump\": \"^0.3.15\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/set-blocking\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-BF+XgtARrppoA93TgrJDkrPYkPc=\"\n\t\t},\n\t\t\"node_modules/setprototypeof\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==\"\n\t\t},\n\t\t\"node_modules/shebang-command\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"shebang-regex\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/shebang-regex\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/signal-exit\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/source-map\": {\n\t\t\t\"version\": \"0.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n\t\t\t\"integrity\": \"sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-sync\": {\n\t\t\t\"version\": \"1.0.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz\",\n\t\t\t\"integrity\": \"sha1-sAeZVX63+wyDdsKdROih6mfldHY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"concat-stream\": \"^1.4.7\",\n\t\t\t\t\"os-shim\": \"^0.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-wrap\": {\n\t\t\t\"version\": \"1.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\"os-homedir\": \"^1.0.1\",\n\t\t\t\t\"rimraf\": \"^2.6.2\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"which\": \"^1.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-wrap/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spawn-wrap/node_modules/rimraf\": {\n\t\t\t\"version\": \"2.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"rimraf\": \"bin.js\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spdx-correct\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spdx-exceptions\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/spdx-expression-parse\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"spdx-exceptions\": \"^2.1.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/spdx-license-ids\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/sprintf-js\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=\"\n\t\t},\n\t\t\"node_modules/sshpk\": {\n\t\t\t\"version\": \"1.16.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"asn1\": \"~0.2.3\",\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"bcrypt-pbkdf\": \"^1.0.0\",\n\t\t\t\t\"dashdash\": \"^1.12.0\",\n\t\t\t\t\"ecc-jsbn\": \"~0.1.1\",\n\t\t\t\t\"getpass\": \"^0.1.1\",\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.0.2\",\n\t\t\t\t\"tweetnacl\": \"~0.14.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"sshpk-conv\": \"bin/sshpk-conv\",\n\t\t\t\t\"sshpk-sign\": \"bin/sshpk-sign\",\n\t\t\t\t\"sshpk-verify\": \"bin/sshpk-verify\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/statuses\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string_decoder\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string-width\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"emoji-regex\": \"^7.0.1\",\n\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string.prototype.trimend\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/string.prototype.trimstart\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/ljharb\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-ansi\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^4.1.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-bom\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-indent\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"min-indent\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/strip-json-comments\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=8\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/striptags\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-yMPn/db7S7OjKjt1LltePjgJPr0=\"\n\t\t},\n\t\t\"node_modules/supports-color\": {\n\t\t\t\"version\": \"5.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/swagger-router\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-router/-/swagger-router-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-HdKJ4DenOXcaChWKST7oFHvd+kclike9rsFfPt3W9JWVvznofcOWGSivyWJECky3tOlw52jqvCKSQrz1l+1D9w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": \"^3.5.2\",\n\t\t\t\t\"js-yaml\": \"^3.12.0\",\n\t\t\t\t\"tassembly\": \"^0.2.3\",\n\t\t\t\t\"template-expression-compiler\": \"^0.1.10\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/swagger-ui-dist\": {\n\t\t\t\"version\": \"3.34.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.34.0.tgz\",\n\t\t\t\"integrity\": \"sha512-xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==\"\n\t\t},\n\t\t\"node_modules/tassembly\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tassembly/-/tassembly-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-WKq7bznvTPKgSz3mEmFzLnDBTvc=\"\n\t\t},\n\t\t\"node_modules/template-expression-compiler\": {\n\t\t\t\"version\": \"0.1.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/template-expression-compiler/-/template-expression-compiler-0.1.10.tgz\",\n\t\t\t\"integrity\": \"sha1-ul3/IG8fmzEpaZDdxLwzlBKCqqM=\"\n\t\t},\n\t\t\"node_modules/test-exclude\": {\n\t\t\t\"version\": \"5.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"read-pkg-up\": \"^4.0.0\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/test-exclude/node_modules/glob\": {\n\t\t\t\"version\": \"7.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/isaacs\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/text-table\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/to-fast-properties\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/toidentifier\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/tough-cookie\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"psl\": \"^1.1.28\",\n\t\t\t\t\"punycode\": \"^2.1.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/tunnel-agent\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",\n\t\t\t\"integrity\": \"sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/tweetnacl\": {\n\t\t\t\"version\": \"0.14.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",\n\t\t\t\"integrity\": \"sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=\"\n\t\t},\n\t\t\"node_modules/type-check\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/type-fest\": {\n\t\t\t\"version\": \"0.20.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/type-is\": {\n\t\t\t\"version\": \"1.6.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n\t\t\t\"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"media-typer\": \"0.3.0\",\n\t\t\t\t\"mime-types\": \"~2.1.24\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/typedarray\": {\n\t\t\t\"version\": \"0.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/unix-dgram\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7tpK6x7ls7J7pDrrAU63h93R0dVhRbPwiRRCawR10cl+2e1VOvF3bHlVJc6WI1dl/8qk5He673QU+Ogv7bPNaw==\",\n\t\t\t\"hasInstallScript\": true,\n\t\t\t\"optional\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bindings\": \"^1.3.0\",\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.48\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/unpipe\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/upath\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/upath/-/upath-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\",\n\t\t\t\t\"yarn\": \"*\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/update-browserslist-db\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"funding\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"opencollective\",\n\t\t\t\t\t\"url\": \"https://opencollective.com/browserslist\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"tidelift\",\n\t\t\t\t\t\"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escalade\": \"^3.1.1\",\n\t\t\t\t\"picocolors\": \"^1.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"browserslist-lint\": \"cli.js\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"browserslist\": \">= 4.21.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/uri-js\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"punycode\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/util-deprecate\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=\"\n\t\t},\n\t\t\"node_modules/utils-merge\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/uuid\": {\n\t\t\t\"version\": \"3.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==\",\n\t\t\t\"deprecated\": \"Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.\",\n\t\t\t\"bin\": {\n\t\t\t\t\"uuid\": \"bin/uuid\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/validate-npm-package-license\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"spdx-correct\": \"^3.0.0\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vary\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=\",\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 0.8\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/verror\": {\n\t\t\t\"version\": \"1.10.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",\n\t\t\t\"integrity\": \"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=\",\n\t\t\t\"engines\": [\n\t\t\t\t\"node >=0.6.0\"\n\t\t\t],\n\t\t\t\"dependencies\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"core-util-is\": \"1.0.2\",\n\t\t\t\t\"extsprintf\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vue-eslint-parser\": {\n\t\t\t\"version\": \"8.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"eslint-scope\": \"^7.0.0\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.1.0\",\n\t\t\t\t\"espree\": \"^9.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"semver\": \"^7.3.5\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/mysticatea\"\n\t\t\t},\n\t\t\t\"peerDependencies\": {\n\t\t\t\t\"eslint\": \">=6.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vue-eslint-parser/node_modules/debug\": {\n\t\t\t\"version\": \"4.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6.0\"\n\t\t\t},\n\t\t\t\"peerDependenciesMeta\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node_modules/vue-eslint-parser/node_modules/ms\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/when\": {\n\t\t\t\"version\": \"3.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/when/-/when-3.7.8.tgz\",\n\t\t\t\"integrity\": \"sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=\"\n\t\t},\n\t\t\"node_modules/which\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"bin\": {\n\t\t\t\t\"which\": \"bin/which\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/which-module\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=\"\n\t\t},\n\t\t\"node_modules/wide-align\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wide-align/node_modules/ansi-regex\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wide-align/node_modules/string-width\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\"strip-ansi\": \"^4.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wide-align/node_modules/strip-ansi\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-qEeQIusaw2iocTibY1JixQXuNo8=\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=4\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/word-wrap\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=0.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wrap-ansi\": {\n\t\t\t\"version\": \"5.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.0.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/wrappy\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"node_modules/write-file-atomic\": {\n\t\t\t\"version\": \"2.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.11\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/y18n\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==\"\n\t\t},\n\t\t\"node_modules/yallist\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"node_modules/yaml\": {\n\t\t\t\"version\": \"1.10.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n\t\t\t\"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">= 6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yaml-eslint-parser\": {\n\t\t\t\"version\": \"0.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nJeyLA3YHAzhBTZbRAbu3W6xrSCucyxExmA+ZDtEdUFpGllxAZpto2Zxo2IG0r0eiuEiBM4e+wiAdxTziTq94g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.0.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"yaml\": \"^1.10.2\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs\": {\n\t\t\t\"version\": \"14.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^15.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-parser\": {\n\t\t\t\"version\": \"15.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-unparser\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"flat\": \"^4.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.15\",\n\t\t\t\t\"yargs\": \"^13.3.0\"\n\t\t\t},\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=6\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-unparser/node_modules/yargs\": {\n\t\t\t\"version\": \"13.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yargs-unparser/node_modules/yargs-parser\": {\n\t\t\t\"version\": \"13.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"dependencies\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/yocto-queue\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"engines\": {\n\t\t\t\t\"node\": \">=10\"\n\t\t\t},\n\t\t\t\"funding\": {\n\t\t\t\t\"url\": \"https://github.com/sponsors/sindresorhus\"\n\t\t\t}\n\t\t}\n\t},\n\t\"dependencies\": {\n\t\t\"@babel/code-frame\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/highlight\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/generator\": {\n\t\t\t\"version\": \"7.11.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz\",\n\t\t\t\"integrity\": \"sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"jsesc\": \"^2.5.1\",\n\t\t\t\t\"source-map\": \"^0.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-function-name\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-get-function-arity\": \"^7.10.4\",\n\t\t\t\t\"@babel/template\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-get-function-arity\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-split-export-declaration\": {\n\t\t\t\"version\": \"7.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz\",\n\t\t\t\"integrity\": \"sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/types\": \"^7.11.0\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/helper-validator-identifier\": {\n\t\t\t\"version\": \"7.19.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz\",\n\t\t\t\"integrity\": \"sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@babel/highlight\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"chalk\": \"^2.0.0\",\n\t\t\t\t\"js-tokens\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/parser\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@babel/template\": {\n\t\t\t\"version\": \"7.10.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz\",\n\t\t\t\"integrity\": \"sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/parser\": \"^7.10.4\",\n\t\t\t\t\"@babel/types\": \"^7.10.4\"\n\t\t\t}\n\t\t},\n\t\t\"@babel/traverse\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/code-frame\": \"^7.10.4\",\n\t\t\t\t\"@babel/generator\": \"^7.11.5\",\n\t\t\t\t\"@babel/helper-function-name\": \"^7.10.4\",\n\t\t\t\t\"@babel/helper-split-export-declaration\": \"^7.11.0\",\n\t\t\t\t\"@babel/parser\": \"^7.11.5\",\n\t\t\t\t\"@babel/types\": \"^7.11.5\",\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"globals\": \"^11.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.19\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"globals\": {\n\t\t\t\t\t\"version\": \"11.12.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"@babel/types\": {\n\t\t\t\"version\": \"7.11.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz\",\n\t\t\t\"integrity\": \"sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.10.4\",\n\t\t\t\t\"lodash\": \"^4.17.19\",\n\t\t\t\t\"to-fast-properties\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"@es-joy/jsdoccomment\": {\n\t\t\t\"version\": \"0.23.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz\",\n\t\t\t\"integrity\": \"sha512-cCtumxG+qrYORGeOkDQ58GtSt/bb2XiP9GC0x2YduoUEX2EmBQ48FtoZMUs+8wiIdTDN1izUiRUD2FDu+p+Lvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"jsdoc-type-pratt-parser\": \"~2.2.5\"\n\t\t\t}\n\t\t},\n\t\t\"@eslint-community/eslint-utils\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"@eslint-community/regexpp\": {\n\t\t\t\"version\": \"4.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@eslint/eslintrc\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"ajv\": \"^6.12.4\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"espree\": \"^9.5.1\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.2.1\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"argparse\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"js-yaml\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"@eslint/js\": {\n\t\t\t\"version\": \"8.37.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@humanwhocodes/config-array\": {\n\t\t\t\"version\": \"0.11.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz\",\n\t\t\t\"integrity\": \"sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@humanwhocodes/object-schema\": \"^1.2.1\",\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"@humanwhocodes/module-importer\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@humanwhocodes/object-schema\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@mdn/browser-compat-data\": {\n\t\t\t\"version\": \"5.2.47\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.2.47.tgz\",\n\t\t\t\"integrity\": \"sha512-6/QvoKeooo3J/WL7i9yjfDtUkqOZW8K6aqdzcw+bz4YdgMBzBQVZU7vZmEdCGOcV5AlsBHZT38mqx/sTrnZMDQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@nodelib/fs.scandir\": {\n\t\t\t\"version\": \"2.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@nodelib/fs.stat\": \"2.0.5\",\n\t\t\t\t\"run-parallel\": \"^1.1.9\"\n\t\t\t}\n\t\t},\n\t\t\"@nodelib/fs.stat\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"@nodelib/fs.walk\": {\n\t\t\t\"version\": \"1.2.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n\t\t\t\"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@nodelib/fs.scandir\": \"2.1.5\",\n\t\t\t\t\"fastq\": \"^1.6.0\"\n\t\t\t}\n\t\t},\n\t\t\"@types/normalize-package-data\": {\n\t\t\t\"version\": \"2.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"accepts\": {\n\t\t\t\"version\": \"1.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"mime-types\": \"~2.1.24\",\n\t\t\t\t\"negotiator\": \"0.6.2\"\n\t\t\t}\n\t\t},\n\t\t\"acorn\": {\n\t\t\t\"version\": \"8.8.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz\",\n\t\t\t\"integrity\": \"sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"acorn-jsx\": {\n\t\t\t\"version\": \"5.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {}\n\t\t},\n\t\t\"ajv\": {\n\t\t\t\"version\": \"6.12.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz\",\n\t\t\t\"integrity\": \"sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"fast-deep-equal\": \"^3.1.1\",\n\t\t\t\t\"fast-json-stable-stringify\": \"^2.0.0\",\n\t\t\t\t\"json-schema-traverse\": \"^0.4.1\",\n\t\t\t\t\"uri-js\": \"^4.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"ansi-colors\": {\n\t\t\t\"version\": \"3.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"ansi-regex\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==\"\n\t\t},\n\t\t\"ansi-styles\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"color-convert\": \"^1.9.0\"\n\t\t\t}\n\t\t},\n\t\t\"append-transform\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"default-require-extensions\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"archy\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/archy/-/archy-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"argparse\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"sprintf-js\": \"~1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"array-flatten\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=\"\n\t\t},\n\t\t\"asap\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asap/-/asap-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=\"\n\t\t},\n\t\t\"asn1\": {\n\t\t\t\"version\": \"0.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safer-buffer\": \"~2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"assert-plus\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=\"\n\t\t},\n\t\t\"ast-metadata-inferer\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^3.3.14\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"@mdn/browser-compat-data\": {\n\t\t\t\t\t\"version\": \"3.3.14\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"async\": {\n\t\t\t\"version\": \"0.9.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/async/-/async-0.9.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=\"\n\t\t},\n\t\t\"asynckit\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-x57Zf380y48robyXkLzDZkdLS3k=\"\n\t\t},\n\t\t\"aws-sign2\": {\n\t\t\t\"version\": \"0.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=\"\n\t\t},\n\t\t\"aws4\": {\n\t\t\t\"version\": \"1.10.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==\"\n\t\t},\n\t\t\"balanced-match\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-ibTRmasr7kneFk6gK4nORi1xt2c=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"bcrypt-pbkdf\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"tweetnacl\": \"^0.14.3\"\n\t\t\t}\n\t\t},\n\t\t\"bindings\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"file-uri-to-path\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"bl\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bl/-/bl-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"readable-stream\": \"^2.3.5\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"bluebird\": {\n\t\t\t\"version\": \"3.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==\"\n\t\t},\n\t\t\"body-parser\": {\n\t\t\t\"version\": \"1.19.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"raw-body\": \"2.4.0\",\n\t\t\t\t\"type-is\": \"~1.6.17\"\n\t\t\t}\n\t\t},\n\t\t\"boolbase\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"brace-expansion\": {\n\t\t\t\"version\": \"1.1.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\",\n\t\t\t\"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"browser-stdout\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"browserslist\": {\n\t\t\t\"version\": \"4.21.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz\",\n\t\t\t\"integrity\": \"sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001449\",\n\t\t\t\t\"electron-to-chromium\": \"^1.4.284\",\n\t\t\t\t\"node-releases\": \"^2.0.8\",\n\t\t\t\t\"update-browserslist-db\": \"^1.0.10\"\n\t\t\t}\n\t\t},\n\t\t\"browserslist-config-wikimedia\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-U/fmsaGlCKOqRIjKqXwQ44qFqiStngRTphj1Cf6IHV6J8OK8T0gu9dKc7Ljq4v7bwhnhN+YCCa4fA3nZlPNivQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"buffer-from\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"builtin-modules\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"bunyan\": {\n\t\t\t\"version\": \"1.8.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan/-/bunyan-1.8.14.tgz\",\n\t\t\t\"integrity\": \"sha512-LlahJUxXzZLuw/hetUQJmRgZ1LF6+cr5TPpRj6jf327AsiIq2jhYEH4oqUUkVKTor+9w2BT3oxVwhzE5lw9tcg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"dtrace-provider\": \"~0.8\",\n\t\t\t\t\"moment\": \"^2.19.3\",\n\t\t\t\t\"mv\": \"~2\",\n\t\t\t\t\"safe-json-stringify\": \"~1\"\n\t\t\t}\n\t\t},\n\t\t\"bunyan-syslog-udp\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bunyan-syslog-udp/-/bunyan-syslog-udp-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-tY6iaw+iYbCjlsAgAyO4CeA7Usnj5VndygMfd2PcHK++626oMoHANcdsH5tq5VxRPsbk9M1fbuk0a5pX9axV2w==\"\n\t\t},\n\t\t\"bytes\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==\"\n\t\t},\n\t\t\"caching-transform\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"package-hash\": \"^3.0.0\",\n\t\t\t\t\"write-file-atomic\": \"^2.4.2\"\n\t\t\t}\n\t\t},\n\t\t\"callsites\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"camelcase\": {\n\t\t\t\"version\": \"5.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\"\n\t\t},\n\t\t\"caniuse-lite\": {\n\t\t\t\"version\": \"1.0.30001473\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz\",\n\t\t\t\"integrity\": \"sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"caseless\": {\n\t\t\t\"version\": \"0.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\",\n\t\t\t\"integrity\": \"sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=\"\n\t\t},\n\t\t\"cassandra-uuid\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cassandra-uuid/-/cassandra-uuid-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XM/UdAVoXJWDcqxVqNe2agYat51C25g5m8nkJ2/ai3QvHwWsRx/+OlziD1c1/jYLlP7kcC1DMO2IF5ldt8EV+A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"long\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"chalk\": {\n\t\t\t\"version\": \"2.4.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.1\",\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\",\n\t\t\t\t\"supports-color\": \"^5.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"1.0.5\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"ci-info\": {\n\t\t\t\"version\": \"3.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"clarinet\": {\n\t\t\t\"version\": \"0.11.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clarinet/-/clarinet-0.11.0.tgz\",\n\t\t\t\"integrity\": \"sha1-bMkSuTE43IZ/wnPNNOqQ6D4FRxk=\"\n\t\t},\n\t\t\"clean-regexp\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"escape-string-regexp\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"1.0.5\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"cliui\": {\n\t\t\t\"version\": \"5.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"string-width\": \"^3.1.0\",\n\t\t\t\t\"strip-ansi\": \"^5.2.0\",\n\t\t\t\t\"wrap-ansi\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"color-convert\": {\n\t\t\t\"version\": \"1.9.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"color-name\": \"1.1.3\"\n\t\t\t}\n\t\t},\n\t\t\"color-name\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=\"\n\t\t},\n\t\t\"colors\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/colors/-/colors-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==\"\n\t\t},\n\t\t\"combined-stream\": {\n\t\t\t\"version\": \"1.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"delayed-stream\": \"~1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"comment-parser\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"commondir\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"compressible\": {\n\t\t\t\"version\": \"2.0.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz\",\n\t\t\t\"integrity\": \"sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"mime-db\": \">= 1.43.0 < 2\"\n\t\t\t}\n\t\t},\n\t\t\"compression\": {\n\t\t\t\"version\": \"1.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/compression/-/compression-1.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"accepts\": \"~1.3.5\",\n\t\t\t\t\"bytes\": \"3.0.0\",\n\t\t\t\t\"compressible\": \"~2.0.16\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"on-headers\": \"~1.0.2\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bytes\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"concat-map\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"concat-stream\": {\n\t\t\t\"version\": \"1.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"buffer-from\": \"^1.0.0\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.2.2\",\n\t\t\t\t\"typedarray\": \"^0.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"content-disposition\": {\n\t\t\t\"version\": \"0.5.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"5.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"content-type\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==\"\n\t\t},\n\t\t\"convert-source-map\": {\n\t\t\t\"version\": \"1.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"cookie\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==\"\n\t\t},\n\t\t\"cookie-signature\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-4wOogrNCzD7oylE6eZmXNNqzriw=\"\n\t\t},\n\t\t\"core-util-is\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=\"\n\t\t},\n\t\t\"cp-file\": {\n\t\t\t\"version\": \"6.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"nested-error-stacks\": \"^2.0.0\",\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"cross-spawn\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"path-key\": \"^3.1.0\",\n\t\t\t\t\"shebang-command\": \"^2.0.0\",\n\t\t\t\t\"which\": \"^2.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"shebang-command\": {\n\t\t\t\t\t\"version\": \"2.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"shebang-regex\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"shebang-regex\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"which\": {\n\t\t\t\t\t\"version\": \"2.0.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"cssesc\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"csv-parse\": {\n\t\t\t\"version\": \"4.12.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/csv-parse/-/csv-parse-4.12.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wPQl3H79vWLPI8cgKFcQXl0NBgYYEqVnT1i6/So7OjMpsI540oD7p93r3w6fDSyPvwkTepG05F69/7AViX2lXg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"dashdash\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"debug\": {\n\t\t\t\"version\": \"2.6.9\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\",\n\t\t\t\"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ms\": \"2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"decamelize\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=\"\n\t\t},\n\t\t\"deep-is\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"default-require-extensions\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"define-properties\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"object-keys\": \"^1.0.12\"\n\t\t\t}\n\t\t},\n\t\t\"delayed-stream\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3zrhmayt+31ECqrgsp4icrJOxhk=\"\n\t\t},\n\t\t\"depd\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=\"\n\t\t},\n\t\t\"destroy\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=\"\n\t\t},\n\t\t\"diff\": {\n\t\t\t\"version\": \"3.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/diff/-/diff-3.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"dnscache\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dnscache/-/dnscache-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"asap\": \"^2.0.6\",\n\t\t\t\t\"lodash.clone\": \"^4.5.0\"\n\t\t\t}\n\t\t},\n\t\t\"doctrine\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"esutils\": \"^2.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"dom-storage\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==\"\n\t\t},\n\t\t\"domino\": {\n\t\t\t\"version\": \"2.1.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/domino/-/domino-2.1.6.tgz\",\n\t\t\t\"integrity\": \"sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==\"\n\t\t},\n\t\t\"dtrace-provider\": {\n\t\t\t\"version\": \"0.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"nan\": \"^2.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"ecc-jsbn\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"ee-first\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=\"\n\t\t},\n\t\t\"electron-to-chromium\": {\n\t\t\t\"version\": \"1.4.348\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz\",\n\t\t\t\"integrity\": \"sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"emoji-regex\": {\n\t\t\t\"version\": \"7.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==\"\n\t\t},\n\t\t\"encodeurl\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=\"\n\t\t},\n\t\t\"error-ex\": {\n\t\t\t\"version\": \"1.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz\",\n\t\t\t\"integrity\": \"sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-arrayish\": \"^0.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"es-abstract\": {\n\t\t\t\"version\": \"1.17.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz\",\n\t\t\t\"integrity\": \"sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"es-to-primitive\": \"^1.2.1\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has\": \"^1.0.3\",\n\t\t\t\t\"has-symbols\": \"^1.0.1\",\n\t\t\t\t\"is-callable\": \"^1.2.0\",\n\t\t\t\t\"is-regex\": \"^1.1.0\",\n\t\t\t\t\"object-inspect\": \"^1.7.0\",\n\t\t\t\t\"object-keys\": \"^1.1.1\",\n\t\t\t\t\"object.assign\": \"^4.1.0\",\n\t\t\t\t\"string.prototype.trimend\": \"^1.0.1\",\n\t\t\t\t\"string.prototype.trimstart\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"es-to-primitive\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-callable\": \"^1.1.4\",\n\t\t\t\t\"is-date-object\": \"^1.0.1\",\n\t\t\t\t\"is-symbol\": \"^1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"es6-error\": {\n\t\t\t\"version\": \"4.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"escalade\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"escape-html\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=\"\n\t\t},\n\t\t\"escape-string-regexp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==\"\n\t\t},\n\t\t\"eslint\": {\n\t\t\t\"version\": \"8.37.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz\",\n\t\t\t\"integrity\": \"sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@eslint-community/eslint-utils\": \"^4.2.0\",\n\t\t\t\t\"@eslint-community/regexpp\": \"^4.4.0\",\n\t\t\t\t\"@eslint/eslintrc\": \"^2.0.2\",\n\t\t\t\t\"@eslint/js\": \"8.37.0\",\n\t\t\t\t\"@humanwhocodes/config-array\": \"^0.11.8\",\n\t\t\t\t\"@humanwhocodes/module-importer\": \"^1.0.1\",\n\t\t\t\t\"@nodelib/fs.walk\": \"^1.2.8\",\n\t\t\t\t\"ajv\": \"^6.10.0\",\n\t\t\t\t\"chalk\": \"^4.0.0\",\n\t\t\t\t\"cross-spawn\": \"^7.0.2\",\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"doctrine\": \"^3.0.0\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"eslint-scope\": \"^7.1.1\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.4.0\",\n\t\t\t\t\"espree\": \"^9.5.1\",\n\t\t\t\t\"esquery\": \"^1.4.2\",\n\t\t\t\t\"esutils\": \"^2.0.2\",\n\t\t\t\t\"fast-deep-equal\": \"^3.1.3\",\n\t\t\t\t\"file-entry-cache\": \"^6.0.1\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"glob-parent\": \"^6.0.2\",\n\t\t\t\t\"globals\": \"^13.19.0\",\n\t\t\t\t\"grapheme-splitter\": \"^1.0.4\",\n\t\t\t\t\"ignore\": \"^5.2.0\",\n\t\t\t\t\"import-fresh\": \"^3.0.0\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"is-glob\": \"^4.0.0\",\n\t\t\t\t\"is-path-inside\": \"^3.0.3\",\n\t\t\t\t\"js-sdsl\": \"^4.1.4\",\n\t\t\t\t\"js-yaml\": \"^4.1.0\",\n\t\t\t\t\"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"lodash.merge\": \"^4.6.2\",\n\t\t\t\t\"minimatch\": \"^3.1.2\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"optionator\": \"^0.9.1\",\n\t\t\t\t\"strip-ansi\": \"^6.0.1\",\n\t\t\t\t\"strip-json-comments\": \"^3.1.0\",\n\t\t\t\t\"text-table\": \"^0.2.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": {\n\t\t\t\t\t\"version\": \"5.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"ansi-styles\": {\n\t\t\t\t\t\"version\": \"4.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"color-convert\": \"^2.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"argparse\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"chalk\": {\n\t\t\t\t\t\"version\": \"4.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-styles\": \"^4.1.0\",\n\t\t\t\t\t\t\"supports-color\": \"^7.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"color-convert\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"color-name\": \"~1.1.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"color-name\": {\n\t\t\t\t\t\"version\": \"1.1.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"find-up\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"has-flag\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"js-yaml\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"argparse\": \"^2.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"locate-path\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"p-limit\": {\n\t\t\t\t\t\"version\": \"3.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-locate\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-exists\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"strip-ansi\": {\n\t\t\t\t\t\"version\": \"6.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-regex\": \"^5.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"version\": \"7.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"has-flag\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-config-wikimedia\": {\n\t\t\t\"version\": \"0.24.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.24.0.tgz\",\n\t\t\t\"integrity\": \"sha512-8oH/YhJ87ONSmuRfATgx8U7Jcwz3tBemrh6YOezIfj9f2QfE71ZhaKZrNPdfS7vIklLor/cB9vX7sxN10nz8xw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"browserslist-config-wikimedia\": \"^0.4.0\",\n\t\t\t\t\"eslint\": \"^8.31.0\",\n\t\t\t\t\"eslint-plugin-compat\": \"^4.0.2\",\n\t\t\t\t\"eslint-plugin-es-x\": \"^5.2.1\",\n\t\t\t\t\"eslint-plugin-jsdoc\": \"39.2.2\",\n\t\t\t\t\"eslint-plugin-json-es\": \"^1.5.7\",\n\t\t\t\t\"eslint-plugin-mediawiki\": \"^0.4.0\",\n\t\t\t\t\"eslint-plugin-mocha\": \"^9.0.0\",\n\t\t\t\t\"eslint-plugin-no-jquery\": \"^2.7.0\",\n\t\t\t\t\"eslint-plugin-node\": \"^11.1.0\",\n\t\t\t\t\"eslint-plugin-qunit\": \"^7.2.0\",\n\t\t\t\t\"eslint-plugin-unicorn\": \"^42.0.0\",\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"eslint-plugin-wdio\": \"^7.19.4\",\n\t\t\t\t\"eslint-plugin-yml\": \"^0.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-compat\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-DNrQgDi5L4mAL4FdFboKBlSRg6MWfd75eA7K91lMjtP5ryN+O11qT2FDn7Z6zqy6sZ4sJawUR5V75qzB6l0CBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@mdn/browser-compat-data\": \"^5.2.34\",\n\t\t\t\t\"ast-metadata-inferer\": \"^0.7.0\",\n\t\t\t\t\"browserslist\": \"^4.21.5\",\n\t\t\t\t\"caniuse-lite\": \"^1.0.30001451\",\n\t\t\t\t\"find-up\": \"^5.0.0\",\n\t\t\t\t\"lodash.memoize\": \"4.1.2\",\n\t\t\t\t\"semver\": \"7.3.8\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"find-up\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"locate-path\": \"^6.0.0\",\n\t\t\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"locate-path\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-locate\": \"^5.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-limit\": {\n\t\t\t\t\t\"version\": \"3.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"yocto-queue\": \"^0.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-locate\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-limit\": \"^3.0.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-exists\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-es-x\": {\n\t\t\t\"version\": \"5.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-5.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6Mniw760Nhd6brnDy+rz857LD+icZe5wXmsvXSuJ84svM0Q53ulJxpMhTJmpqHaLzYh7fuGAJ8V62ohbmqF+jA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^2.0.0 || ^3.0.0\",\n\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-jsdoc\": {\n\t\t\t\"version\": \"39.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ybkvja0p9JRzHEd2ST9h+Z47DLOuPyXpeb6r18/zKHdMmggPU1J0/zl+F0phea8ze9rMxi42MJVmGXi2NZ7PpA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@es-joy/jsdoccomment\": \"~0.23.1\",\n\t\t\t\t\"comment-parser\": \"1.3.1\",\n\t\t\t\t\"debug\": \"^4.3.4\",\n\t\t\t\t\"escape-string-regexp\": \"^4.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"semver\": \"^7.3.7\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-json-es\": {\n\t\t\t\"version\": \"1.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz\",\n\t\t\t\"integrity\": \"sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.3.0\",\n\t\t\t\t\"espree\": \"^9.3.1\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-mediawiki\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Eufptb8lrElYwIONvgxlMBnPD6PYT4xAFprWlBxV5brCmUh8MZ41+lMxt2TPwEC6C85ngflkVez8BV8tWS9RyQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-plugin-vue\": \"^8.7.1\",\n\t\t\t\t\"upath\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-mocha\": {\n\t\t\t\"version\": \"9.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"ramda\": \"^0.27.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-no-jquery\": {\n\t\t\t\"version\": \"2.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {}\n\t\t},\n\t\t\"eslint-plugin-node\": {\n\t\t\t\"version\": \"11.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-plugin-es\": \"^3.0.0\",\n\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\"ignore\": \"^5.1.1\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"resolve\": \"^1.10.1\",\n\t\t\t\t\"semver\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-plugin-es\": {\n\t\t\t\t\t\"version\": \"3.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-utils\": \"^2.0.0\",\n\t\t\t\t\t\t\"regexpp\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"6.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-qunit\": {\n\t\t\t\"version\": \"7.3.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz\",\n\t\t\t\"integrity\": \"sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"requireindex\": \"^1.2.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-unicorn\": {\n\t\t\t\"version\": \"42.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/helper-validator-identifier\": \"^7.15.7\",\n\t\t\t\t\"ci-info\": \"^3.3.0\",\n\t\t\t\t\"clean-regexp\": \"^1.0.0\",\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"indent-string\": \"^4.0.0\",\n\t\t\t\t\"is-builtin-module\": \"^3.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"pluralize\": \"^8.0.0\",\n\t\t\t\t\"read-pkg-up\": \"^7.0.1\",\n\t\t\t\t\"regexp-tree\": \"^0.1.24\",\n\t\t\t\t\"safe-regex\": \"^2.1.1\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"strip-indent\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"find-up\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"locate-path\": \"^5.0.0\",\n\t\t\t\t\t\t\"path-exists\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"locate-path\": {\n\t\t\t\t\t\"version\": \"5.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-locate\": \"^4.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"p-locate\": {\n\t\t\t\t\t\"version\": \"4.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"p-limit\": \"^2.2.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"parse-json\": {\n\t\t\t\t\t\"version\": \"5.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"@babel/code-frame\": \"^7.0.0\",\n\t\t\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\t\t\"json-parse-even-better-errors\": \"^2.3.0\",\n\t\t\t\t\t\t\"lines-and-columns\": \"^1.1.6\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-exists\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"read-pkg\": {\n\t\t\t\t\t\"version\": \"5.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"@types/normalize-package-data\": \"^2.4.0\",\n\t\t\t\t\t\t\"normalize-package-data\": \"^2.5.0\",\n\t\t\t\t\t\t\"parse-json\": \"^5.0.0\",\n\t\t\t\t\t\t\"type-fest\": \"^0.6.0\"\n\t\t\t\t\t},\n\t\t\t\t\t\"dependencies\": {\n\t\t\t\t\t\t\"type-fest\": {\n\t\t\t\t\t\t\t\"version\": \"0.6.0\",\n\t\t\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz\",\n\t\t\t\t\t\t\t\"integrity\": \"sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==\",\n\t\t\t\t\t\t\t\"dev\": true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"read-pkg-up\": {\n\t\t\t\t\t\"version\": \"7.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"find-up\": \"^4.1.0\",\n\t\t\t\t\t\t\"read-pkg\": \"^5.2.0\",\n\t\t\t\t\t\t\"type-fest\": \"^0.8.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"type-fest\": {\n\t\t\t\t\t\"version\": \"0.8.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-vue\": {\n\t\t\t\"version\": \"8.7.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz\",\n\t\t\t\"integrity\": \"sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-utils\": \"^3.0.0\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"nth-check\": \"^2.0.1\",\n\t\t\t\t\"postcss-selector-parser\": \"^6.0.9\",\n\t\t\t\t\"semver\": \"^7.3.5\",\n\t\t\t\t\"vue-eslint-parser\": \"^8.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-utils\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"eslint-visitor-keys\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"2.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-plugin-wdio\": {\n\t\t\t\"version\": \"7.25.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz\",\n\t\t\t\"integrity\": \"sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"eslint-plugin-yml\": {\n\t\t\t\"version\": \"0.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-0.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-+0+bBV/07txENbxfrHF9olGoLCHez64vmnOmjWOoLwmXOwfdaSRleBSPIi4nWQs7WwX8lm/fSLadOjbVEcsXQQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"natural-compare\": \"^1.4.0\",\n\t\t\t\t\"yaml-eslint-parser\": \"^0.5.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-scope\": {\n\t\t\t\"version\": \"7.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"esrecurse\": \"^4.3.0\",\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"eslint-utils\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^1.1.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"eslint-visitor-keys\": {\n\t\t\t\t\t\"version\": \"1.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"eslint-visitor-keys\": {\n\t\t\t\"version\": \"3.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"espree\": {\n\t\t\t\"version\": \"9.5.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/espree/-/espree-9.5.1.tgz\",\n\t\t\t\"integrity\": \"sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"acorn\": \"^8.8.0\",\n\t\t\t\t\"acorn-jsx\": \"^5.3.2\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"esprima\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==\"\n\t\t},\n\t\t\"esquery\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"estraverse\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"esrecurse\": {\n\t\t\t\"version\": \"4.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"estraverse\": \"^5.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"estraverse\": {\n\t\t\t\"version\": \"5.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"esutils\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"etag\": {\n\t\t\t\"version\": \"1.8.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=\"\n\t\t},\n\t\t\"express\": {\n\t\t\t\"version\": \"4.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/express/-/express-4.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"accepts\": \"~1.3.7\",\n\t\t\t\t\"array-flatten\": \"1.1.1\",\n\t\t\t\t\"body-parser\": \"1.19.0\",\n\t\t\t\t\"content-disposition\": \"0.5.3\",\n\t\t\t\t\"content-type\": \"~1.0.4\",\n\t\t\t\t\"cookie\": \"0.4.0\",\n\t\t\t\t\"cookie-signature\": \"1.0.6\",\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"finalhandler\": \"~1.1.2\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"merge-descriptors\": \"1.0.1\",\n\t\t\t\t\"methods\": \"~1.1.2\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"path-to-regexp\": \"0.1.7\",\n\t\t\t\t\"proxy-addr\": \"~2.0.5\",\n\t\t\t\t\"qs\": \"6.7.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"safe-buffer\": \"5.1.2\",\n\t\t\t\t\"send\": \"0.17.1\",\n\t\t\t\t\"serve-static\": \"1.14.1\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"type-is\": \"~1.6.18\",\n\t\t\t\t\"utils-merge\": \"1.0.1\",\n\t\t\t\t\"vary\": \"~1.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"extend\": {\n\t\t\t\"version\": \"3.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==\"\n\t\t},\n\t\t\"extsprintf\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=\"\n\t\t},\n\t\t\"fast-deep-equal\": {\n\t\t\t\"version\": \"3.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\"\n\t\t},\n\t\t\"fast-json-stable-stringify\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\"\n\t\t},\n\t\t\"fast-levenshtein\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"fastq\": {\n\t\t\t\"version\": \"1.15.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz\",\n\t\t\t\"integrity\": \"sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"reusify\": \"^1.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"file-entry-cache\": {\n\t\t\t\"version\": \"6.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"flat-cache\": \"^3.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"file-uri-to-path\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"finalhandler\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"statuses\": \"~1.5.0\",\n\t\t\t\t\"unpipe\": \"~1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"find-cache-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"commondir\": \"^1.0.1\",\n\t\t\t\t\"make-dir\": \"^2.0.0\",\n\t\t\t\t\"pkg-dir\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"find-up\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"locate-path\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"flat\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat/-/flat-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-buffer\": \"~2.0.3\"\n\t\t\t}\n\t\t},\n\t\t\"flat-cache\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"flatted\": \"^3.1.0\",\n\t\t\t\t\"rimraf\": \"^3.0.2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"3.0.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"flatted\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"foreground-child\": {\n\t\t\t\"version\": \"1.5.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz\",\n\t\t\t\"integrity\": \"sha1-T9ca0t/elnibmApcCilZN8svXOk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"cross-spawn\": \"^4\",\n\t\t\t\t\"signal-exit\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": {\n\t\t\t\t\t\"version\": \"4.0.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"forever-agent\": {\n\t\t\t\"version\": \"0.6.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\",\n\t\t\t\"integrity\": \"sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=\"\n\t\t},\n\t\t\"form-data\": {\n\t\t\t\"version\": \"2.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"asynckit\": \"^0.4.0\",\n\t\t\t\t\"combined-stream\": \"^1.0.6\",\n\t\t\t\t\"mime-types\": \"^2.1.12\"\n\t\t\t}\n\t\t},\n\t\t\"forwarded\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=\"\n\t\t},\n\t\t\"fresh\": {\n\t\t\t\"version\": \"0.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz\",\n\t\t\t\"integrity\": \"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=\"\n\t\t},\n\t\t\"fs.realpath\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-FQStJSMVjKpA20onh8sBQRmU6k8=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"function-bind\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"gc-stats\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"nan\": \"^2.13.2\",\n\t\t\t\t\"node-pre-gyp\": \"^0.13.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"abbrev\": {\n\t\t\t\t\t\"version\": \"1.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"ansi-regex\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"aproba\": {\n\t\t\t\t\t\"version\": \"1.2.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"are-we-there-yet\": {\n\t\t\t\t\t\"version\": \"1.1.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"delegates\": \"^1.0.0\",\n\t\t\t\t\t\t\"readable-stream\": \"^2.0.6\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"balanced-match\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"brace-expansion\": {\n\t\t\t\t\t\"version\": \"1.1.11\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"balanced-match\": \"^1.0.0\",\n\t\t\t\t\t\t\"concat-map\": \"0.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"chownr\": {\n\t\t\t\t\t\"version\": \"1.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"code-point-at\": {\n\t\t\t\t\t\"version\": \"1.1.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"concat-map\": {\n\t\t\t\t\t\"version\": \"0.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"console-control-strings\": {\n\t\t\t\t\t\"version\": \"1.1.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"core-util-is\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"deep-extend\": {\n\t\t\t\t\t\"version\": \"0.6.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"delegates\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"detect-libc\": {\n\t\t\t\t\t\"version\": \"1.0.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"fs-minipass\": {\n\t\t\t\t\t\"version\": \"1.2.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"fs.realpath\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"gauge\": {\n\t\t\t\t\t\"version\": \"2.7.4\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"aproba\": \"^1.0.3\",\n\t\t\t\t\t\t\"console-control-strings\": \"^1.0.0\",\n\t\t\t\t\t\t\"has-unicode\": \"^2.0.0\",\n\t\t\t\t\t\t\"object-assign\": \"^4.1.0\",\n\t\t\t\t\t\t\"signal-exit\": \"^3.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^1.0.1\",\n\t\t\t\t\t\t\"strip-ansi\": \"^3.0.1\",\n\t\t\t\t\t\t\"wide-align\": \"^1.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"has-unicode\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"iconv-lite\": {\n\t\t\t\t\t\"version\": \"0.4.24\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ignore-walk\": {\n\t\t\t\t\t\"version\": \"3.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"inflight\": {\n\t\t\t\t\t\"version\": \"1.0.6\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"wrappy\": \"1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"inherits\": {\n\t\t\t\t\t\"version\": \"2.0.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"ini\": {\n\t\t\t\t\t\"version\": \"1.3.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"is-fullwidth-code-point\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"number-is-nan\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"isarray\": {\n\t\t\t\t\t\"version\": \"1.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"minimatch\": {\n\t\t\t\t\t\"version\": \"3.0.4\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minimist\": {\n\t\t\t\t\t\"version\": \"0.0.8\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"minipass\": {\n\t\t\t\t\t\"version\": \"2.3.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\t\t\"yallist\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"minizlib\": {\n\t\t\t\t\t\"version\": \"1.2.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minipass\": \"^2.2.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"mkdirp\": {\n\t\t\t\t\t\"version\": \"0.5.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minimist\": \"0.0.8\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"needle\": {\n\t\t\t\t\t\"version\": \"2.3.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\t\t\"iconv-lite\": \"^0.4.4\",\n\t\t\t\t\t\t\"sax\": \"^1.2.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"node-pre-gyp\": {\n\t\t\t\t\t\"version\": \"0.13.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"detect-libc\": \"^1.0.2\",\n\t\t\t\t\t\t\"mkdirp\": \"^0.5.1\",\n\t\t\t\t\t\t\"needle\": \"^2.2.1\",\n\t\t\t\t\t\t\"nopt\": \"^4.0.1\",\n\t\t\t\t\t\t\"npm-packlist\": \"^1.1.6\",\n\t\t\t\t\t\t\"npmlog\": \"^4.0.2\",\n\t\t\t\t\t\t\"rc\": \"^1.2.7\",\n\t\t\t\t\t\t\"rimraf\": \"^2.6.1\",\n\t\t\t\t\t\t\"semver\": \"^5.3.0\",\n\t\t\t\t\t\t\"tar\": \"^4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"nopt\": {\n\t\t\t\t\t\"version\": \"4.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"abbrev\": \"1\",\n\t\t\t\t\t\t\"osenv\": \"^0.1.4\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"npm-bundled\": {\n\t\t\t\t\t\"version\": \"1.0.6\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"npm-packlist\": {\n\t\t\t\t\t\"version\": \"1.4.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ignore-walk\": \"^3.0.1\",\n\t\t\t\t\t\t\"npm-bundled\": \"^1.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"npmlog\": {\n\t\t\t\t\t\"version\": \"4.1.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"are-we-there-yet\": \"~1.1.2\",\n\t\t\t\t\t\t\"console-control-strings\": \"~1.1.0\",\n\t\t\t\t\t\t\"gauge\": \"~2.7.3\",\n\t\t\t\t\t\t\"set-blocking\": \"~2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"number-is-nan\": {\n\t\t\t\t\t\"version\": \"1.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"object-assign\": {\n\t\t\t\t\t\"version\": \"4.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"once\": {\n\t\t\t\t\t\"version\": \"1.4.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"wrappy\": \"1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"os-homedir\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"os-tmpdir\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"osenv\": {\n\t\t\t\t\t\"version\": \"0.1.5\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"os-homedir\": \"^1.0.0\",\n\t\t\t\t\t\t\"os-tmpdir\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"path-is-absolute\": {\n\t\t\t\t\t\"version\": \"1.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"process-nextick-args\": {\n\t\t\t\t\t\"version\": \"2.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"rc\": {\n\t\t\t\t\t\"version\": \"1.2.8\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"deep-extend\": \"^0.6.0\",\n\t\t\t\t\t\t\"ini\": \"~1.3.0\",\n\t\t\t\t\t\t\"minimist\": \"^1.2.0\",\n\t\t\t\t\t\t\"strip-json-comments\": \"~2.0.1\"\n\t\t\t\t\t},\n\t\t\t\t\t\"dependencies\": {\n\t\t\t\t\t\t\"minimist\": {\n\t\t\t\t\t\t\t\"version\": \"1.2.0\",\n\t\t\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\t\t\"optional\": true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"readable-stream\": {\n\t\t\t\t\t\"version\": \"2.3.6\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.6.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"safe-buffer\": {\n\t\t\t\t\t\"version\": \"5.1.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"safer-buffer\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"sax\": {\n\t\t\t\t\t\"version\": \"1.2.4\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"set-blocking\": {\n\t\t\t\t\t\"version\": \"2.0.0\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"signal-exit\": {\n\t\t\t\t\t\"version\": \"3.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"string_decoder\": {\n\t\t\t\t\t\"version\": \"1.1.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"string-width\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"code-point-at\": \"^1.0.0\",\n\t\t\t\t\t\t\"is-fullwidth-code-point\": \"^1.0.0\",\n\t\t\t\t\t\t\"strip-ansi\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"strip-ansi\": {\n\t\t\t\t\t\"version\": \"3.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-regex\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"strip-json-comments\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"tar\": {\n\t\t\t\t\t\"version\": \"4.4.8\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"chownr\": \"^1.1.1\",\n\t\t\t\t\t\t\"fs-minipass\": \"^1.2.5\",\n\t\t\t\t\t\t\"minipass\": \"^2.3.4\",\n\t\t\t\t\t\t\"minizlib\": \"^1.1.1\",\n\t\t\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\t\t\"yallist\": \"^3.0.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"util-deprecate\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"wide-align\": {\n\t\t\t\t\t\"version\": \"1.1.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"wrappy\": {\n\t\t\t\t\t\"version\": \"1.0.2\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t},\n\t\t\t\t\"yallist\": {\n\t\t\t\t\t\"version\": \"3.0.3\",\n\t\t\t\t\t\"bundled\": true,\n\t\t\t\t\t\"optional\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"gelf-stream\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelf-stream/-/gelf-stream-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nOqbY4asMBx0GDjKPLkeZtv79mk=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"gelfling\": \"^0.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"gelfling\": {\n\t\t\t\"version\": \"0.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/gelfling/-/gelfling-0.3.1.tgz\",\n\t\t\t\"integrity\": \"sha1-M2qY+BUQ+a4K8qSU4XRooRap3AQ=\"\n\t\t},\n\t\t\"get-caller-file\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\"\n\t\t},\n\t\t\"getpass\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"glob\": {\n\t\t\t\"version\": \"6.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-6.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\"minimatch\": \"2 || 3\",\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"glob-parent\": {\n\t\t\t\"version\": \"6.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-glob\": \"^4.0.3\"\n\t\t\t}\n\t\t},\n\t\t\"globals\": {\n\t\t\t\"version\": \"13.20.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/globals/-/globals-13.20.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"type-fest\": \"^0.20.2\"\n\t\t\t}\n\t\t},\n\t\t\"graceful-fs\": {\n\t\t\t\"version\": \"4.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"grapheme-splitter\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"growl\": {\n\t\t\t\"version\": \"1.10.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/growl/-/growl-1.10.5.tgz\",\n\t\t\t\"integrity\": \"sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"har-schema\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=\"\n\t\t},\n\t\t\"har-validator\": {\n\t\t\t\"version\": \"5.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ajv\": \"^6.12.3\",\n\t\t\t\t\"har-schema\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"has\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"function-bind\": \"^1.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"has-flag\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-tdRU3CGZriJWmfNGfloH87lVuv0=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"has-symbols\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"hasha\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-stream\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"hat\": {\n\t\t\t\"version\": \"0.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hat/-/hat-0.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=\"\n\t\t},\n\t\t\"he\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"heapdump\": {\n\t\t\t\"version\": \"0.3.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/heapdump/-/heapdump-0.3.15.tgz\",\n\t\t\t\"integrity\": \"sha512-n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t}\n\t\t},\n\t\t\"hosted-git-info\": {\n\t\t\t\"version\": \"2.8.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz\",\n\t\t\t\"integrity\": \"sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"hot-shots\": {\n\t\t\t\"version\": \"6.8.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/hot-shots/-/hot-shots-6.8.7.tgz\",\n\t\t\t\"integrity\": \"sha512-XH8iezBSZgVw2jegu96pUfF1Zv0VZ/iXjb7L5yE3F7mn7/bdhf4qeniXjO0wQWeefe433rhOsazNKLxM+XMI9w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"unix-dgram\": \"2.0.x\"\n\t\t\t}\n\t\t},\n\t\t\"html-escaper\": {\n\t\t\t\"version\": \"2.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"http-errors\": {\n\t\t\t\"version\": \"1.7.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz\",\n\t\t\t\"integrity\": \"sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"inherits\": \"2.0.3\",\n\t\t\t\t\"setprototypeof\": \"1.1.1\",\n\t\t\t\t\"statuses\": \">= 1.5.0 < 2\",\n\t\t\t\t\"toidentifier\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"http-shutdown\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==\"\n\t\t},\n\t\t\"http-signature\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"jsprim\": \"^1.2.2\",\n\t\t\t\t\"sshpk\": \"^1.7.0\"\n\t\t\t}\n\t\t},\n\t\t\"iconv-lite\": {\n\t\t\t\"version\": \"0.4.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\",\n\t\t\t\"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safer-buffer\": \">= 2.1.2 < 3\"\n\t\t\t}\n\t\t},\n\t\t\"ignore\": {\n\t\t\t\"version\": \"5.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"import-fresh\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"parent-module\": \"^1.0.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"imurmurhash\": {\n\t\t\t\"version\": \"0.1.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n\t\t\t\"integrity\": \"sha1-khi5srkoojixPcT7a21XbyMUU+o=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"indent-string\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"inflight\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"inherits\": {\n\t\t\t\"version\": \"2.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=\"\n\t\t},\n\t\t\"ipaddr.js\": {\n\t\t\t\"version\": \"1.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==\"\n\t\t},\n\t\t\"is-arrayish\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-buffer\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-builtin-module\": {\n\t\t\t\"version\": \"3.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"builtin-modules\": \"^3.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"is-callable\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-date-object\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-extglob\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-fullwidth-code-point\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=\"\n\t\t},\n\t\t\"is-glob\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"is-extglob\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"is-path-inside\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-regex\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"is-stream\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-EtSj3U5o4Lec6428hBc66A2RykQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"is-symbol\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"has-symbols\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"is-typedarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=\"\n\t\t},\n\t\t\"isarray\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=\"\n\t\t},\n\t\t\"isexe\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"isstream\": {\n\t\t\t\"version\": \"0.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=\"\n\t\t},\n\t\t\"istanbul-lib-coverage\": {\n\t\t\t\"version\": \"2.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"istanbul-lib-hook\": {\n\t\t\t\"version\": \"2.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz\",\n\t\t\t\"integrity\": \"sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"append-transform\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"istanbul-lib-instrument\": {\n\t\t\t\"version\": \"3.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"@babel/generator\": \"^7.4.0\",\n\t\t\t\t\"@babel/parser\": \"^7.4.3\",\n\t\t\t\t\"@babel/template\": \"^7.4.0\",\n\t\t\t\t\"@babel/traverse\": \"^7.4.3\",\n\t\t\t\t\"@babel/types\": \"^7.4.0\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"semver\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"6.3.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"istanbul-lib-report\": {\n\t\t\t\"version\": \"2.0.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz\",\n\t\t\t\"integrity\": \"sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"supports-color\": \"^6.1.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"version\": \"6.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"istanbul-lib-source-maps\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.1.1\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.2.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.2.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"source-map\": {\n\t\t\t\t\t\"version\": \"0.6.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"istanbul-reports\": {\n\t\t\t\"version\": \"2.2.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz\",\n\t\t\t\"integrity\": \"sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"html-escaper\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"js-sdsl\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"js-tokens\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"js-yaml\": {\n\t\t\t\"version\": \"3.14.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"jsbn\": {\n\t\t\t\"version\": \"0.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-peZUwuWi3rXyAdls77yoDA7y9RM=\"\n\t\t},\n\t\t\"jsdoc-type-pratt-parser\": {\n\t\t\t\"version\": \"2.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"jsesc\": {\n\t\t\t\"version\": \"2.5.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz\",\n\t\t\t\"integrity\": \"sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-parse-better-errors\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-parse-even-better-errors\": {\n\t\t\t\"version\": \"2.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-schema\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=\"\n\t\t},\n\t\t\"json-schema-traverse\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\"\n\t\t},\n\t\t\"json-stable-stringify-without-jsonify\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"json-stringify-safe\": {\n\t\t\t\"version\": \"5.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=\"\n\t\t},\n\t\t\"jsprim\": {\n\t\t\t\"version\": \"1.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz\",\n\t\t\t\"integrity\": \"sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"1.0.0\",\n\t\t\t\t\"extsprintf\": \"1.3.0\",\n\t\t\t\t\"json-schema\": \"0.2.3\",\n\t\t\t\t\"verror\": \"1.10.0\"\n\t\t\t}\n\t\t},\n\t\t\"kad\": {\n\t\t\t\"version\": \"git+ssh://git@github.com/wikimedia/kad.git#96f8f5c8e5a88f5dffed47abc20756e93e16387e\",\n\t\t\t\"from\": \"kad@git+https://github.com/wikimedia/kad.git#master\",\n\t\t\t\"requires\": {\n\t\t\t\t\"async\": \"^0.9.0\",\n\t\t\t\t\"clarinet\": \"^0.11.0\",\n\t\t\t\t\"colors\": \"^1.0.3\",\n\t\t\t\t\"hat\": \"0.0.3\",\n\t\t\t\t\"kad-fs\": \"0.0.4\",\n\t\t\t\t\"kad-localstorage\": \"0.0.7\",\n\t\t\t\t\"kad-memstore\": \"0.0.1\",\n\t\t\t\t\"lodash\": \"^4.17.11\",\n\t\t\t\t\"merge\": \"^1.2.0\",\n\t\t\t\t\"ms\": \"^0.7.0\",\n\t\t\t\t\"msgpack5\": \"^3.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"0.7.3\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-0.7.3.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"kad-fs\": {\n\t\t\t\"version\": \"0.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-fs/-/kad-fs-0.0.4.tgz\",\n\t\t\t\"integrity\": \"sha1-Aupapc8iIlclV5YnzP1tJmNyKJo=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"readable-stream\": \"^2.0.4\"\n\t\t\t}\n\t\t},\n\t\t\"kad-localstorage\": {\n\t\t\t\"version\": \"0.0.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-localstorage/-/kad-localstorage-0.0.7.tgz\",\n\t\t\t\"integrity\": \"sha1-96LngNpT+yi5Q8LFqJTCeaqBDxc=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"dom-storage\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"kad-memstore\": {\n\t\t\t\"version\": \"0.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kad-memstore/-/kad-memstore-0.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-g8t0hJasSRxxNRBMvla4jKc5JHc=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"levn\": {\n\t\t\t\"version\": \"0.4.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n\t\t\t\"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"~0.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"limitation\": {\n\t\t\t\"version\": \"0.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/limitation/-/limitation-0.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-5lMmsPc9ZtMjBk8rJ8ADKIj6AOgYvRtAuNfboO2TVPZsmcn6gSRyijUsA8KG6DUcJ89/hyQ3cnVRyzO1hbDavw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.3.1\",\n\t\t\t\t\"kad\": \"git+https://github.com/wikimedia/kad.git#master\",\n\t\t\t\t\"readable-stream\": \"^2.0.5\"\n\t\t\t}\n\t\t},\n\t\t\"lines-and-columns\": {\n\t\t\t\"version\": \"1.2.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"load-json-file\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-L19Fq5HjMhYjT9U62rZo607AmTs=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.2\",\n\t\t\t\t\"parse-json\": \"^4.0.0\",\n\t\t\t\t\"pify\": \"^3.0.0\",\n\t\t\t\t\"strip-bom\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"locate-path\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"p-locate\": \"^3.0.0\",\n\t\t\t\t\"path-exists\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"lodash\": {\n\t\t\t\"version\": \"4.17.21\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n\t\t\t\"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\"\n\t\t},\n\t\t\"lodash.clone\": {\n\t\t\t\"version\": \"4.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=\"\n\t\t},\n\t\t\"lodash.flattendeep\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"lodash.memoize\": {\n\t\t\t\"version\": \"4.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"lodash.merge\": {\n\t\t\t\"version\": \"4.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"lodash.set\": {\n\t\t\t\"version\": \"4.3.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz\",\n\t\t\t\"integrity\": \"sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"log-symbols\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"chalk\": \"^2.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"long\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/long/-/long-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==\"\n\t\t},\n\t\t\"lru-cache\": {\n\t\t\t\"version\": \"4.1.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz\",\n\t\t\t\"integrity\": \"sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"pseudomap\": \"^1.0.2\",\n\t\t\t\t\"yallist\": \"^2.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"make-dir\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"pify\": \"^4.0.1\",\n\t\t\t\t\"semver\": \"^5.6.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"media-typer\": {\n\t\t\t\"version\": \"0.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=\"\n\t\t},\n\t\t\"mediawiki-title\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mediawiki-title/-/mediawiki-title-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-IL5xK/LND+Wqa3mEtaF4cEISnOPK166WiTauTGBPvPpKSuAIR5eOWLwKnUyit0ye9Bs7QPgfWnU8e6gfaCJLTg==\"\n\t\t},\n\t\t\"merge-descriptors\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=\"\n\t\t},\n\t\t\"merge-source-map\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"source-map\": \"^0.6.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"source-map\": {\n\t\t\t\t\t\"version\": \"0.6.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"methods\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=\"\n\t\t},\n\t\t\"mime\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime/-/mime-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\"\n\t\t},\n\t\t\"mime-db\": {\n\t\t\t\"version\": \"1.44.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==\"\n\t\t},\n\t\t\"mime-types\": {\n\t\t\t\"version\": \"2.1.27\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz\",\n\t\t\t\"integrity\": \"sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"mime-db\": \"1.44.0\"\n\t\t\t}\n\t\t},\n\t\t\"min-indent\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"minimatch\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"brace-expansion\": \"^1.1.7\"\n\t\t\t}\n\t\t},\n\t\t\"minimist\": {\n\t\t\t\"version\": \"1.2.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz\",\n\t\t\t\"integrity\": \"sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"mkdirp\": {\n\t\t\t\"version\": \"0.5.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz\",\n\t\t\t\"integrity\": \"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t}\n\t\t},\n\t\t\"mocha\": {\n\t\t\t\"version\": \"6.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-colors\": \"3.2.3\",\n\t\t\t\t\"browser-stdout\": \"1.3.1\",\n\t\t\t\t\"debug\": \"3.2.6\",\n\t\t\t\t\"diff\": \"3.5.0\",\n\t\t\t\t\"escape-string-regexp\": \"1.0.5\",\n\t\t\t\t\"find-up\": \"3.0.0\",\n\t\t\t\t\"glob\": \"7.1.3\",\n\t\t\t\t\"growl\": \"1.10.5\",\n\t\t\t\t\"he\": \"1.2.0\",\n\t\t\t\t\"js-yaml\": \"3.13.1\",\n\t\t\t\t\"log-symbols\": \"2.2.0\",\n\t\t\t\t\"minimatch\": \"3.0.4\",\n\t\t\t\t\"mkdirp\": \"0.5.4\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"node-environment-flags\": \"1.0.5\",\n\t\t\t\t\"object.assign\": \"4.1.0\",\n\t\t\t\t\"strip-json-comments\": \"2.0.1\",\n\t\t\t\t\"supports-color\": \"6.0.0\",\n\t\t\t\t\"which\": \"1.3.1\",\n\t\t\t\t\"wide-align\": \"1.1.3\",\n\t\t\t\t\"yargs\": \"13.3.2\",\n\t\t\t\t\"yargs-parser\": \"13.1.2\",\n\t\t\t\t\"yargs-unparser\": \"1.6.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"3.2.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"^2.1.1\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"escape-string-regexp\": {\n\t\t\t\t\t\"version\": \"1.0.5\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.3\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.3.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"js-yaml\": {\n\t\t\t\t\t\"version\": \"3.13.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"argparse\": \"^1.0.7\",\n\t\t\t\t\t\t\"esprima\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"mkdirp\": {\n\t\t\t\t\t\"version\": \"0.5.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"minimist\": \"^1.2.5\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"strip-json-comments\": {\n\t\t\t\t\t\"version\": \"2.0.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-PFMZQukIwml8DsNEhYwobHygpgo=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"supports-color\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs\": {\n\t\t\t\t\t\"version\": \"13.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs-parser\": {\n\t\t\t\t\t\"version\": \"13.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"mocha-lcov-reporter\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"mocha.parallel\": {\n\t\t\t\"version\": \"0.15.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mocha.parallel/-/mocha.parallel-0.15.6.tgz\",\n\t\t\t\"integrity\": \"sha512-pWph+QieKGjk7cHY2hB78wyKJDOQLyOMDuBLQLrFL7riJb8qbQBlCY3XztFHv0D1d4I1gCpiwFNjd4LhVOXPew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^2.9.34\",\n\t\t\t\t\"semaphore\": \"^1.0.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"bluebird\": {\n\t\t\t\t\t\"version\": \"2.11.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"moment\": {\n\t\t\t\"version\": \"2.29.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/moment/-/moment-2.29.0.tgz\",\n\t\t\t\"integrity\": \"sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"ms\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=\"\n\t\t},\n\t\t\"msgpack5\": {\n\t\t\t\"version\": \"3.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/msgpack5/-/msgpack5-3.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6HuCZHA57WtNUzrKIvjJ8OMxigzveJ6D5i13y6TsgGu3X3zxABpuBvChpppOoGdB9SyWZcmqUs1fwUV/PpSQ7Q==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bl\": \"^1.2.1\",\n\t\t\t\t\"inherits\": \"^2.0.3\",\n\t\t\t\t\"readable-stream\": \"^2.3.3\",\n\t\t\t\t\"safe-buffer\": \"^5.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"mv\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/mv/-/mv-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"mkdirp\": \"~0.5.1\",\n\t\t\t\t\"ncp\": \"~2.0.0\",\n\t\t\t\t\"rimraf\": \"~2.4.0\"\n\t\t\t}\n\t\t},\n\t\t\"nan\": {\n\t\t\t\"version\": \"2.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nan/-/nan-2.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"natural-compare\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"ncp\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"negotiator\": {\n\t\t\t\"version\": \"0.6.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz\",\n\t\t\t\"integrity\": \"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==\"\n\t\t},\n\t\t\"nested-error-stacks\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"nock\": {\n\t\t\t\"version\": \"13.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nock/-/nock-13.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-YKj0rKQWMGiiIO+Y65Ut8OEgYM3PplLU2+GAhnPmqZdBd6z5IskgdBqWmjzA6lH3RF0S2a3wiAlrMOF5Iv2Jeg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.1.0\",\n\t\t\t\t\"json-stringify-safe\": \"^5.0.1\",\n\t\t\t\t\"lodash.set\": \"^4.3.2\",\n\t\t\t\t\"propagate\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node-environment-flags\": {\n\t\t\t\"version\": \"1.0.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz\",\n\t\t\t\"integrity\": \"sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"object.getownpropertydescriptors\": \"^2.0.3\",\n\t\t\t\t\"semver\": \"^5.7.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"node-releases\": {\n\t\t\t\"version\": \"2.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"normalize-package-data\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"hosted-git-info\": \"^2.1.4\",\n\t\t\t\t\"resolve\": \"^1.10.0\",\n\t\t\t\t\"semver\": \"2 || 3 || 4 || 5\",\n\t\t\t\t\"validate-npm-package-license\": \"^3.0.1\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"semver\": {\n\t\t\t\t\t\"version\": \"5.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"nth-check\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"boolbase\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"nyc\": {\n\t\t\t\"version\": \"14.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"archy\": \"^1.0.0\",\n\t\t\t\t\"caching-transform\": \"^3.0.2\",\n\t\t\t\t\"convert-source-map\": \"^1.6.0\",\n\t\t\t\t\"cp-file\": \"^6.2.0\",\n\t\t\t\t\"find-cache-dir\": \"^2.1.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"istanbul-lib-coverage\": \"^2.0.5\",\n\t\t\t\t\"istanbul-lib-hook\": \"^2.0.7\",\n\t\t\t\t\"istanbul-lib-instrument\": \"^3.3.0\",\n\t\t\t\t\"istanbul-lib-report\": \"^2.0.8\",\n\t\t\t\t\"istanbul-lib-source-maps\": \"^3.0.6\",\n\t\t\t\t\"istanbul-reports\": \"^2.2.4\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"make-dir\": \"^2.1.0\",\n\t\t\t\t\"merge-source-map\": \"^1.1.0\",\n\t\t\t\t\"resolve-from\": \"^4.0.0\",\n\t\t\t\t\"rimraf\": \"^2.6.3\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"spawn-wrap\": \"^1.4.2\",\n\t\t\t\t\"test-exclude\": \"^5.2.3\",\n\t\t\t\t\"uuid\": \"^3.3.2\",\n\t\t\t\t\"yargs\": \"^13.2.2\",\n\t\t\t\t\"yargs-parser\": \"^13.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs\": {\n\t\t\t\t\t\"version\": \"13.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs-parser\": {\n\t\t\t\t\t\"version\": \"13.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"oauth-sign\": {\n\t\t\t\"version\": \"0.9.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz\",\n\t\t\t\"integrity\": \"sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==\"\n\t\t},\n\t\t\"object-inspect\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"object-keys\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"object.assign\": {\n\t\t\t\"version\": \"4.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.2\",\n\t\t\t\t\"function-bind\": \"^1.1.1\",\n\t\t\t\t\"has-symbols\": \"^1.0.0\",\n\t\t\t\t\"object-keys\": \"^1.0.11\"\n\t\t\t}\n\t\t},\n\t\t\"object.getownpropertydescriptors\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.0-next.1\"\n\t\t\t}\n\t\t},\n\t\t\"on-finished\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ee-first\": \"1.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"on-headers\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==\"\n\t\t},\n\t\t\"once\": {\n\t\t\t\"version\": \"1.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n\t\t\t\"integrity\": \"sha1-WDsap3WWHUsROsF9nFC6753Xa9E=\",\n\t\t\t\"devOptional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"wrappy\": \"1\"\n\t\t\t}\n\t\t},\n\t\t\"optionator\": {\n\t\t\t\"version\": \"0.9.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz\",\n\t\t\t\"integrity\": \"sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"deep-is\": \"^0.1.3\",\n\t\t\t\t\"fast-levenshtein\": \"^2.0.6\",\n\t\t\t\t\"levn\": \"^0.4.1\",\n\t\t\t\t\"prelude-ls\": \"^1.2.1\",\n\t\t\t\t\"type-check\": \"^0.4.0\",\n\t\t\t\t\"word-wrap\": \"^1.2.3\"\n\t\t\t}\n\t\t},\n\t\t\"os-homedir\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-/7xJiDNuDoM94MFox+8VISGqf7M=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"os-shim\": {\n\t\t\t\"version\": \"0.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz\",\n\t\t\t\"integrity\": \"sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"p-limit\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"p-try\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"p-locate\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"p-limit\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"p-try\": {\n\t\t\t\"version\": \"2.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\"\n\t\t},\n\t\t\"package-hash\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.15\",\n\t\t\t\t\"hasha\": \"^3.0.0\",\n\t\t\t\t\"lodash.flattendeep\": \"^4.4.0\",\n\t\t\t\t\"release-zalgo\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"parent-module\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"callsites\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"parse-json\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"error-ex\": \"^1.3.1\",\n\t\t\t\t\"json-parse-better-errors\": \"^1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"parseurl\": {\n\t\t\t\"version\": \"1.3.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz\",\n\t\t\t\"integrity\": \"sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\"\n\t\t},\n\t\t\"path-exists\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=\"\n\t\t},\n\t\t\"path-is-absolute\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-F0uSaHNVNP+8es5r9TpanhtcX18=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"path-key\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"path-parse\": {\n\t\t\t\"version\": \"1.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"path-to-regexp\": {\n\t\t\t\"version\": \"0.1.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz\",\n\t\t\t\"integrity\": \"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=\"\n\t\t},\n\t\t\"path-type\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"pify\": \"^3.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"pify\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"performance-now\": {\n\t\t\t\"version\": \"2.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=\"\n\t\t},\n\t\t\"picocolors\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"pify\": {\n\t\t\t\"version\": \"4.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pify/-/pify-4.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"pkg-dir\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"find-up\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"pluralize\": {\n\t\t\t\"version\": \"8.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"postcss-selector-parser\": {\n\t\t\t\"version\": \"6.0.11\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz\",\n\t\t\t\"integrity\": \"sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"cssesc\": \"^3.0.0\",\n\t\t\t\t\"util-deprecate\": \"^1.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"pre-commit\": {\n\t\t\t\"version\": \"1.2.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz\",\n\t\t\t\"integrity\": \"sha1-287g7p3nI15X95xW186UZBpp7sY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"cross-spawn\": \"^5.0.1\",\n\t\t\t\t\"spawn-sync\": \"^1.0.15\",\n\t\t\t\t\"which\": \"1.2.x\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"cross-spawn\": {\n\t\t\t\t\t\"version\": \"5.1.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"lru-cache\": \"^4.0.1\",\n\t\t\t\t\t\t\"shebang-command\": \"^1.2.0\",\n\t\t\t\t\t\t\"which\": \"^1.2.9\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"which\": {\n\t\t\t\t\t\"version\": \"1.2.14\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.2.14.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-mofEN48D6CfOyvGs31bHNsAcFOU=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"prelude-ls\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"preq\": {\n\t\t\t\"version\": \"0.5.14\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/preq/-/preq-0.5.14.tgz\",\n\t\t\t\"integrity\": \"sha512-kuJ5ndEgjs27kTTQ/P2ipPQoHeCJcAI4i97mU3xSjkjx6CsuQOsCe2l5twTGC0SCB5UkzRpmrpXmvN0Ip4ZCxA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.5.5\",\n\t\t\t\t\"request\": \"^2.88.0\",\n\t\t\t\t\"requestretry\": \"4.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"process-nextick-args\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\"\n\t\t},\n\t\t\"propagate\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"proxy-addr\": {\n\t\t\t\"version\": \"2.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"forwarded\": \"~0.1.2\",\n\t\t\t\t\"ipaddr.js\": \"1.9.1\"\n\t\t\t}\n\t\t},\n\t\t\"pseudomap\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-8FKijacOYYkX7wqKw0wa5aaChrM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"psl\": {\n\t\t\t\"version\": \"1.8.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.8.0.tgz\",\n\t\t\t\"integrity\": \"sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==\"\n\t\t},\n\t\t\"punycode\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==\"\n\t\t},\n\t\t\"qs\": {\n\t\t\t\"version\": \"6.7.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.7.0.tgz\",\n\t\t\t\"integrity\": \"sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==\"\n\t\t},\n\t\t\"queue-microtask\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"ramda\": {\n\t\t\t\"version\": \"0.27.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz\",\n\t\t\t\"integrity\": \"sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"range-parser\": {\n\t\t\t\"version\": \"1.2.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz\",\n\t\t\t\"integrity\": \"sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==\"\n\t\t},\n\t\t\"raw-body\": {\n\t\t\t\"version\": \"2.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bytes\": \"3.1.0\",\n\t\t\t\t\"http-errors\": \"1.7.2\",\n\t\t\t\t\"iconv-lite\": \"0.4.24\",\n\t\t\t\t\"unpipe\": \"1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"read-pkg\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"load-json-file\": \"^4.0.0\",\n\t\t\t\t\"normalize-package-data\": \"^2.3.2\",\n\t\t\t\t\"path-type\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"read-pkg-up\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"read-pkg\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"readable-stream\": {\n\t\t\t\"version\": \"2.3.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz\",\n\t\t\t\"integrity\": \"sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"core-util-is\": \"~1.0.0\",\n\t\t\t\t\"inherits\": \"~2.0.3\",\n\t\t\t\t\"isarray\": \"~1.0.0\",\n\t\t\t\t\"process-nextick-args\": \"~2.0.0\",\n\t\t\t\t\"safe-buffer\": \"~5.1.1\",\n\t\t\t\t\"string_decoder\": \"~1.1.1\",\n\t\t\t\t\"util-deprecate\": \"~1.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"regexp-tree\": {\n\t\t\t\"version\": \"0.1.24\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz\",\n\t\t\t\"integrity\": \"sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"regexpp\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"release-zalgo\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"es6-error\": \"^4.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"request\": {\n\t\t\t\"version\": \"2.88.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/request/-/request-2.88.2.tgz\",\n\t\t\t\"integrity\": \"sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"aws-sign2\": \"~0.7.0\",\n\t\t\t\t\"aws4\": \"^1.8.0\",\n\t\t\t\t\"caseless\": \"~0.12.0\",\n\t\t\t\t\"combined-stream\": \"~1.0.6\",\n\t\t\t\t\"extend\": \"~3.0.2\",\n\t\t\t\t\"forever-agent\": \"~0.6.1\",\n\t\t\t\t\"form-data\": \"~2.3.2\",\n\t\t\t\t\"har-validator\": \"~5.1.3\",\n\t\t\t\t\"http-signature\": \"~1.2.0\",\n\t\t\t\t\"is-typedarray\": \"~1.0.0\",\n\t\t\t\t\"isstream\": \"~0.1.2\",\n\t\t\t\t\"json-stringify-safe\": \"~5.0.1\",\n\t\t\t\t\"mime-types\": \"~2.1.19\",\n\t\t\t\t\"oauth-sign\": \"~0.9.0\",\n\t\t\t\t\"performance-now\": \"^2.1.0\",\n\t\t\t\t\"qs\": \"~6.5.2\",\n\t\t\t\t\"safe-buffer\": \"^5.1.2\",\n\t\t\t\t\"tough-cookie\": \"~2.5.0\",\n\t\t\t\t\"tunnel-agent\": \"^0.6.0\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"qs\": {\n\t\t\t\t\t\"version\": \"6.5.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.5.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"requestretry\": {\n\t\t\t\"version\": \"4.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requestretry/-/requestretry-4.0.2.tgz\",\n\t\t\t\"integrity\": \"sha512-ZGdO1ZXUQAeCB9xOS2keSN501y7T1t0zPOD58jTAOwamt6qkcBMaGdRBHEOMQRnDtT5fn7S99F0dwADUqCmYqg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"extend\": \"^3.0.2\",\n\t\t\t\t\"lodash\": \"^4.17.10\",\n\t\t\t\t\"when\": \"^3.7.7\"\n\t\t\t}\n\t\t},\n\t\t\"require-directory\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-jGStX9MNqxyXbiNE/+f3kqam30I=\"\n\t\t},\n\t\t\"require-main-filename\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==\"\n\t\t},\n\t\t\"requireindex\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"resolve\": {\n\t\t\t\"version\": \"1.17.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz\",\n\t\t\t\"integrity\": \"sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"path-parse\": \"^1.0.6\"\n\t\t\t}\n\t\t},\n\t\t\"resolve-from\": {\n\t\t\t\"version\": \"4.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"reusify\": {\n\t\t\t\"version\": \"1.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"rimraf\": {\n\t\t\t\"version\": \"2.4.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz\",\n\t\t\t\"integrity\": \"sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"glob\": \"^6.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"run-parallel\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"queue-microtask\": \"^1.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"safe-buffer\": {\n\t\t\t\"version\": \"5.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==\"\n\t\t},\n\t\t\"safe-json-stringify\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==\",\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"safe-regex\": {\n\t\t\t\"version\": \"2.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"regexp-tree\": \"~0.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"safer-buffer\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\"\n\t\t},\n\t\t\"semaphore\": {\n\t\t\t\"version\": \"1.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"semver\": {\n\t\t\t\"version\": \"7.3.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.3.8.tgz\",\n\t\t\t\"integrity\": \"sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"lru-cache\": \"^6.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"lru-cache\": {\n\t\t\t\t\t\"version\": \"6.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\",\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"yallist\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yallist\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"send\": {\n\t\t\t\"version\": \"0.17.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/send/-/send-0.17.1.tgz\",\n\t\t\t\"integrity\": \"sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"2.6.9\",\n\t\t\t\t\"depd\": \"~1.1.2\",\n\t\t\t\t\"destroy\": \"~1.0.4\",\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"etag\": \"~1.8.1\",\n\t\t\t\t\"fresh\": \"0.5.2\",\n\t\t\t\t\"http-errors\": \"~1.7.2\",\n\t\t\t\t\"mime\": \"1.6.0\",\n\t\t\t\t\"ms\": \"2.1.1\",\n\t\t\t\t\"on-finished\": \"~2.3.0\",\n\t\t\t\t\"range-parser\": \"~1.2.1\",\n\t\t\t\t\"statuses\": \"~1.5.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"serve-static\": {\n\t\t\t\"version\": \"1.14.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"encodeurl\": \"~1.0.2\",\n\t\t\t\t\"escape-html\": \"~1.0.3\",\n\t\t\t\t\"parseurl\": \"~1.3.3\",\n\t\t\t\t\"send\": \"0.17.1\"\n\t\t\t}\n\t\t},\n\t\t\"service-runner\": {\n\t\t\t\"version\": \"2.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/service-runner/-/service-runner-2.7.8.tgz\",\n\t\t\t\"integrity\": \"sha512-YZBOj9wRzWEiBgIfrvq7OFVf9wr0u/llyeIsZjrd6tyrjJz2ywB9DiGpWb7/+MVswi970bgAw6+OUCq+9luyuw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.7.2\",\n\t\t\t\t\"bunyan\": \"^1.8.12\",\n\t\t\t\t\"bunyan-syslog-udp\": \"^0.2.0\",\n\t\t\t\t\"dnscache\": \"^1.0.2\",\n\t\t\t\t\"gc-stats\": \"^1.4.0\",\n\t\t\t\t\"gelf-stream\": \"^1.1.1\",\n\t\t\t\t\"heapdump\": \"^0.3.15\",\n\t\t\t\t\"hot-shots\": \"^6.8.7\",\n\t\t\t\t\"js-yaml\": \"^3.13.1\",\n\t\t\t\t\"limitation\": \"^0.2.1\",\n\t\t\t\t\"semver\": \"^7.1.2\",\n\t\t\t\t\"yargs\": \"^14.2.2\"\n\t\t\t}\n\t\t},\n\t\t\"set-blocking\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-BF+XgtARrppoA93TgrJDkrPYkPc=\"\n\t\t},\n\t\t\"setprototypeof\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==\"\n\t\t},\n\t\t\"shebang-command\": {\n\t\t\t\"version\": \"1.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"shebang-regex\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"shebang-regex\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"signal-exit\": {\n\t\t\t\"version\": \"3.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"source-map\": {\n\t\t\t\"version\": \"0.5.7\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz\",\n\t\t\t\"integrity\": \"sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"spawn-sync\": {\n\t\t\t\"version\": \"1.0.15\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz\",\n\t\t\t\"integrity\": \"sha1-sAeZVX63+wyDdsKdROih6mfldHY=\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"concat-stream\": \"^1.4.7\",\n\t\t\t\t\"os-shim\": \"^0.1.2\"\n\t\t\t}\n\t\t},\n\t\t\"spawn-wrap\": {\n\t\t\t\"version\": \"1.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"foreground-child\": \"^1.5.6\",\n\t\t\t\t\"mkdirp\": \"^0.5.0\",\n\t\t\t\t\"os-homedir\": \"^1.0.1\",\n\t\t\t\t\"rimraf\": \"^2.6.2\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\",\n\t\t\t\t\"which\": \"^1.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"rimraf\": {\n\t\t\t\t\t\"version\": \"2.7.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"glob\": \"^7.1.3\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"spdx-correct\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"spdx-exceptions\": {\n\t\t\t\"version\": \"2.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"spdx-expression-parse\": {\n\t\t\t\"version\": \"3.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"spdx-exceptions\": \"^2.1.0\",\n\t\t\t\t\"spdx-license-ids\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"spdx-license-ids\": {\n\t\t\t\"version\": \"3.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz\",\n\t\t\t\"integrity\": \"sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"sprintf-js\": {\n\t\t\t\"version\": \"1.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n\t\t\t\"integrity\": \"sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=\"\n\t\t},\n\t\t\"sshpk\": {\n\t\t\t\"version\": \"1.16.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"asn1\": \"~0.2.3\",\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"bcrypt-pbkdf\": \"^1.0.0\",\n\t\t\t\t\"dashdash\": \"^1.12.0\",\n\t\t\t\t\"ecc-jsbn\": \"~0.1.1\",\n\t\t\t\t\"getpass\": \"^0.1.1\",\n\t\t\t\t\"jsbn\": \"~0.1.0\",\n\t\t\t\t\"safer-buffer\": \"^2.0.2\",\n\t\t\t\t\"tweetnacl\": \"~0.14.0\"\n\t\t\t}\n\t\t},\n\t\t\"statuses\": {\n\t\t\t\"version\": \"1.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz\",\n\t\t\t\"integrity\": \"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=\"\n\t\t},\n\t\t\"string_decoder\": {\n\t\t\t\"version\": \"1.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"~5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"string-width\": {\n\t\t\t\"version\": \"3.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"emoji-regex\": \"^7.0.1\",\n\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"string.prototype.trimend\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t}\n\t\t},\n\t\t\"string.prototype.trimstart\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"define-properties\": \"^1.1.3\",\n\t\t\t\t\"es-abstract\": \"^1.17.5\"\n\t\t\t}\n\t\t},\n\t\t\"strip-ansi\": {\n\t\t\t\"version\": \"5.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz\",\n\t\t\t\"integrity\": \"sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-regex\": \"^4.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"strip-bom\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"strip-indent\": {\n\t\t\t\"version\": \"3.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"min-indent\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"strip-json-comments\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"striptags\": {\n\t\t\t\"version\": \"3.1.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz\",\n\t\t\t\"integrity\": \"sha1-yMPn/db7S7OjKjt1LltePjgJPr0=\"\n\t\t},\n\t\t\"supports-color\": {\n\t\t\t\"version\": \"5.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"has-flag\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"swagger-router\": {\n\t\t\t\"version\": \"0.7.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-router/-/swagger-router-0.7.4.tgz\",\n\t\t\t\"integrity\": \"sha512-HdKJ4DenOXcaChWKST7oFHvd+kclike9rsFfPt3W9JWVvznofcOWGSivyWJECky3tOlw52jqvCKSQrz1l+1D9w==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"bluebird\": \"^3.5.2\",\n\t\t\t\t\"js-yaml\": \"^3.12.0\",\n\t\t\t\t\"tassembly\": \"^0.2.3\",\n\t\t\t\t\"template-expression-compiler\": \"^0.1.10\",\n\t\t\t\t\"uuid\": \"^3.3.2\"\n\t\t\t}\n\t\t},\n\t\t\"swagger-ui-dist\": {\n\t\t\t\"version\": \"3.34.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.34.0.tgz\",\n\t\t\t\"integrity\": \"sha512-xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==\"\n\t\t},\n\t\t\"tassembly\": {\n\t\t\t\"version\": \"0.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tassembly/-/tassembly-0.2.3.tgz\",\n\t\t\t\"integrity\": \"sha1-WKq7bznvTPKgSz3mEmFzLnDBTvc=\"\n\t\t},\n\t\t\"template-expression-compiler\": {\n\t\t\t\"version\": \"0.1.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/template-expression-compiler/-/template-expression-compiler-0.1.10.tgz\",\n\t\t\t\"integrity\": \"sha1-ul3/IG8fmzEpaZDdxLwzlBKCqqM=\"\n\t\t},\n\t\t\"test-exclude\": {\n\t\t\t\"version\": \"5.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"glob\": \"^7.1.3\",\n\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\"read-pkg-up\": \"^4.0.0\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"glob\": {\n\t\t\t\t\t\"version\": \"7.1.6\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.1.6.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"fs.realpath\": \"^1.0.0\",\n\t\t\t\t\t\t\"inflight\": \"^1.0.4\",\n\t\t\t\t\t\t\"inherits\": \"2\",\n\t\t\t\t\t\t\"minimatch\": \"^3.0.4\",\n\t\t\t\t\t\t\"once\": \"^1.3.0\",\n\t\t\t\t\t\t\"path-is-absolute\": \"^1.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"text-table\": {\n\t\t\t\"version\": \"0.2.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz\",\n\t\t\t\"integrity\": \"sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"to-fast-properties\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"toidentifier\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==\"\n\t\t},\n\t\t\"tough-cookie\": {\n\t\t\t\"version\": \"2.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"psl\": \"^1.1.28\",\n\t\t\t\t\"punycode\": \"^2.1.1\"\n\t\t\t}\n\t\t},\n\t\t\"tunnel-agent\": {\n\t\t\t\"version\": \"0.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\",\n\t\t\t\"integrity\": \"sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"safe-buffer\": \"^5.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"tweetnacl\": {\n\t\t\t\"version\": \"0.14.5\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\",\n\t\t\t\"integrity\": \"sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=\"\n\t\t},\n\t\t\"type-check\": {\n\t\t\t\"version\": \"0.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"prelude-ls\": \"^1.2.1\"\n\t\t\t}\n\t\t},\n\t\t\"type-fest\": {\n\t\t\t\"version\": \"0.20.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz\",\n\t\t\t\"integrity\": \"sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"type-is\": {\n\t\t\t\"version\": \"1.6.18\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\",\n\t\t\t\"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"media-typer\": \"0.3.0\",\n\t\t\t\t\"mime-types\": \"~2.1.24\"\n\t\t\t}\n\t\t},\n\t\t\"typedarray\": {\n\t\t\t\"version\": \"0.0.6\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz\",\n\t\t\t\"integrity\": \"sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"unix-dgram\": {\n\t\t\t\"version\": \"2.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-7tpK6x7ls7J7pDrrAU63h93R0dVhRbPwiRRCawR10cl+2e1VOvF3bHlVJc6WI1dl/8qk5He673QU+Ogv7bPNaw==\",\n\t\t\t\"optional\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"bindings\": \"^1.3.0\",\n\t\t\t\t\"nan\": \"^2.13.2\"\n\t\t\t}\n\t\t},\n\t\t\"unpipe\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=\"\n\t\t},\n\t\t\"upath\": {\n\t\t\t\"version\": \"2.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/upath/-/upath-2.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"update-browserslist-db\": {\n\t\t\t\"version\": \"1.0.10\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz\",\n\t\t\t\"integrity\": \"sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"escalade\": \"^3.1.1\",\n\t\t\t\t\"picocolors\": \"^1.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"uri-js\": {\n\t\t\t\"version\": \"4.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"punycode\": \"^2.1.0\"\n\t\t\t}\n\t\t},\n\t\t\"util-deprecate\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=\"\n\t\t},\n\t\t\"utils-merge\": {\n\t\t\t\"version\": \"1.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz\",\n\t\t\t\"integrity\": \"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=\"\n\t\t},\n\t\t\"uuid\": {\n\t\t\t\"version\": \"3.4.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz\",\n\t\t\t\"integrity\": \"sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==\"\n\t\t},\n\t\t\"validate-npm-package-license\": {\n\t\t\t\"version\": \"3.0.4\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz\",\n\t\t\t\"integrity\": \"sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"spdx-correct\": \"^3.0.0\",\n\t\t\t\t\"spdx-expression-parse\": \"^3.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"vary\": {\n\t\t\t\"version\": \"1.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=\"\n\t\t},\n\t\t\"verror\": {\n\t\t\t\"version\": \"1.10.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\",\n\t\t\t\"integrity\": \"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=\",\n\t\t\t\"requires\": {\n\t\t\t\t\"assert-plus\": \"^1.0.0\",\n\t\t\t\t\"core-util-is\": \"1.0.2\",\n\t\t\t\t\"extsprintf\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"vue-eslint-parser\": {\n\t\t\t\"version\": \"8.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"debug\": \"^4.3.2\",\n\t\t\t\t\"eslint-scope\": \"^7.0.0\",\n\t\t\t\t\"eslint-visitor-keys\": \"^3.1.0\",\n\t\t\t\t\"espree\": \"^9.0.0\",\n\t\t\t\t\"esquery\": \"^1.4.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"semver\": \"^7.3.5\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"debug\": {\n\t\t\t\t\t\"version\": \"4.3.4\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ms\": \"2.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"ms\": {\n\t\t\t\t\t\"version\": \"2.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"when\": {\n\t\t\t\"version\": \"3.7.8\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/when/-/when-3.7.8.tgz\",\n\t\t\t\"integrity\": \"sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=\"\n\t\t},\n\t\t\"which\": {\n\t\t\t\"version\": \"1.3.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which/-/which-1.3.1.tgz\",\n\t\t\t\"integrity\": \"sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"isexe\": \"^2.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"which-module\": {\n\t\t\t\"version\": \"2.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz\",\n\t\t\t\"integrity\": \"sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=\"\n\t\t},\n\t\t\"wide-align\": {\n\t\t\t\"version\": \"1.1.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz\",\n\t\t\t\"integrity\": \"sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"string-width\": \"^1.0.2 || 2\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"ansi-regex\": {\n\t\t\t\t\t\"version\": \"3.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=\",\n\t\t\t\t\t\"dev\": true\n\t\t\t\t},\n\t\t\t\t\"string-width\": {\n\t\t\t\t\t\"version\": \"2.1.1\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"is-fullwidth-code-point\": \"^2.0.0\",\n\t\t\t\t\t\t\"strip-ansi\": \"^4.0.0\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"strip-ansi\": {\n\t\t\t\t\t\"version\": \"4.0.0\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz\",\n\t\t\t\t\t\"integrity\": \"sha1-qEeQIusaw2iocTibY1JixQXuNo8=\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"ansi-regex\": \"^3.0.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"word-wrap\": {\n\t\t\t\"version\": \"1.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"wrap-ansi\": {\n\t\t\t\"version\": \"5.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"ansi-styles\": \"^3.2.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"strip-ansi\": \"^5.0.0\"\n\t\t\t}\n\t\t},\n\t\t\"wrappy\": {\n\t\t\t\"version\": \"1.0.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n\t\t\t\"integrity\": \"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=\",\n\t\t\t\"devOptional\": true\n\t\t},\n\t\t\"write-file-atomic\": {\n\t\t\t\"version\": \"2.4.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz\",\n\t\t\t\"integrity\": \"sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"graceful-fs\": \"^4.1.11\",\n\t\t\t\t\"imurmurhash\": \"^0.1.4\",\n\t\t\t\t\"signal-exit\": \"^3.0.2\"\n\t\t\t}\n\t\t},\n\t\t\"y18n\": {\n\t\t\t\"version\": \"4.0.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz\",\n\t\t\t\"integrity\": \"sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==\"\n\t\t},\n\t\t\"yallist\": {\n\t\t\t\"version\": \"2.1.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz\",\n\t\t\t\"integrity\": \"sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"yaml\": {\n\t\t\t\"version\": \"1.10.2\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n\t\t\t\"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n\t\t\t\"dev\": true\n\t\t},\n\t\t\"yaml-eslint-parser\": {\n\t\t\t\"version\": \"0.5.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.5.0.tgz\",\n\t\t\t\"integrity\": \"sha512-nJeyLA3YHAzhBTZbRAbu3W6xrSCucyxExmA+ZDtEdUFpGllxAZpto2Zxo2IG0r0eiuEiBM4e+wiAdxTziTq94g==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"eslint-visitor-keys\": \"^3.0.0\",\n\t\t\t\t\"lodash\": \"^4.17.21\",\n\t\t\t\t\"yaml\": \"^1.10.2\"\n\t\t\t}\n\t\t},\n\t\t\"yargs\": {\n\t\t\t\"version\": \"14.2.3\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz\",\n\t\t\t\"integrity\": \"sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\",\n\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\"yargs-parser\": \"^15.0.1\"\n\t\t\t}\n\t\t},\n\t\t\"yargs-parser\": {\n\t\t\t\"version\": \"15.0.1\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz\",\n\t\t\t\"integrity\": \"sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==\",\n\t\t\t\"requires\": {\n\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t}\n\t\t},\n\t\t\"yargs-unparser\": {\n\t\t\t\"version\": \"1.6.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz\",\n\t\t\t\"integrity\": \"sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==\",\n\t\t\t\"dev\": true,\n\t\t\t\"requires\": {\n\t\t\t\t\"flat\": \"^4.1.0\",\n\t\t\t\t\"lodash\": \"^4.17.15\",\n\t\t\t\t\"yargs\": \"^13.3.0\"\n\t\t\t},\n\t\t\t\"dependencies\": {\n\t\t\t\t\"yargs\": {\n\t\t\t\t\t\"version\": \"13.3.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"cliui\": \"^5.0.0\",\n\t\t\t\t\t\t\"find-up\": \"^3.0.0\",\n\t\t\t\t\t\t\"get-caller-file\": \"^2.0.1\",\n\t\t\t\t\t\t\"require-directory\": \"^2.1.1\",\n\t\t\t\t\t\t\"require-main-filename\": \"^2.0.0\",\n\t\t\t\t\t\t\"set-blocking\": \"^2.0.0\",\n\t\t\t\t\t\t\"string-width\": \"^3.0.0\",\n\t\t\t\t\t\t\"which-module\": \"^2.0.0\",\n\t\t\t\t\t\t\"y18n\": \"^4.0.0\",\n\t\t\t\t\t\t\"yargs-parser\": \"^13.1.2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"yargs-parser\": {\n\t\t\t\t\t\"version\": \"13.1.2\",\n\t\t\t\t\t\"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz\",\n\t\t\t\t\t\"integrity\": \"sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==\",\n\t\t\t\t\t\"dev\": true,\n\t\t\t\t\t\"requires\": {\n\t\t\t\t\t\t\"camelcase\": \"^5.0.0\",\n\t\t\t\t\t\t\"decamelize\": \"^1.2.0\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"yocto-queue\": {\n\t\t\t\"version\": \"0.1.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n\t\t\t\"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\",\n\t\t\t\"dev\": true\n\t\t}\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[{"ruleId":"strict","severity":1,"message":"Use the global form of 'use strict'.","line":1,"column":1,"nodeType":"Program","messageId":"global","endLine":70,"endColumn":3}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"name\": \"@wikimedia/wikifeeds\",\n\t\"version\": \"1.0.0\",\n\t\"description\": \"A node webservice supporting featured wiki content feeds\",\n\t\"main\": \"./app.js\",\n\t\"scripts\": {\n\t\t\"start\": \"service-runner\",\n\t\t\"test\": \"npm run lint && PREQ_CONNECT_TIMEOUT=15 mocha\",\n\t\t\"test:unit\": \"mocha test/lib\",\n\t\t\"test:diff\": \"mocha --exit test/diff\",\n\t\t\"test:spec\": \"mocha test/features/app/spec.js\",\n\t\t\"lint\": \"eslint --ext .js --ext .json .\",\n\t\t\"lint:fix\": \"eslint --fix .\",\n\t\t\"docker-start\": \"service-runner docker-start\",\n\t\t\"docker-test\": \"service-runner docker-test\",\n\t\t\"test-build\": \"service-runner docker-test && service-runner build --deploy-repo --force\",\n\t\t\"coverage\": \"PREQ_CONNECT_TIMEOUT=15 nyc --reporter=lcov _mocha\"\n\t},\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/services/wikifeeds\"\n\t},\n\t\"keywords\": [\n\t\t\"REST\",\n\t\t\"API\",\n\t\t\"node service\",\n\t\t\"mobile apps\",\n\t\t\"MediaWiki\",\n\t\t\"Wikipedia\"\n\t],\n\t\"author\": \"Wikimedia Product Infrastructure team <https://www.mediawiki.org/wiki/Wikimedia_Product/Wikimedia_Product_Infrastructure_team>\",\n\t\"contributors\": [],\n\t\"license\": \"Apache-2.0\",\n\t\"bugs\": {\n\t\t\"url\": \"https://phabricator.wikimedia.org/tag/wikifeeds\"\n\t},\n\t\"homepage\": \"https://phabricator.wikimedia.org/tag/wikifeeds\",\n\t\"dependencies\": {\n\t\t\"bluebird\": \"^3.7.2\",\n\t\t\"body-parser\": \"^1.19.0\",\n\t\t\"bunyan\": \"^1.8.14\",\n\t\t\"cassandra-uuid\": \"^0.1.0\",\n\t\t\"compression\": \"^1.7.4\",\n\t\t\"domino\": \"^2.1.6\",\n\t\t\"escape-string-regexp\": \"^2.0.0\",\n\t\t\"express\": \"^4.17.1\",\n\t\t\"http-shutdown\": \"^1.2.2\",\n\t\t\"js-yaml\": \"^3.14.0\",\n\t\t\"lodash\": \"^4.17.20\",\n\t\t\"mediawiki-title\": \"^0.7.4\",\n\t\t\"preq\": \"^0.5.14\",\n\t\t\"service-runner\": \"^2.7.8\",\n\t\t\"striptags\": \"^3.1.1\",\n\t\t\"swagger-router\": \"^0.7.4\",\n\t\t\"swagger-ui-dist\": \"^3.34.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"ajv\": \"^6.12.5\",\n\t\t\"csv-parse\": \"^4.12.0\",\n\t\t\"eslint-config-wikimedia\": \"0.24.0\",\n\t\t\"extend\": \"^3.0.2\",\n\t\t\"mocha\": \"^6.2.3\",\n\t\t\"mocha-lcov-reporter\": \"^1.3.0\",\n\t\t\"mocha.parallel\": \"^0.15.6\",\n\t\t\"nock\": \"^13.1.3\",\n\t\t\"nyc\": \"^14.1.1\",\n\t\t\"pre-commit\": \"^1.2.2\"\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/announcements.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/availability.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/featured-image.js","messages":[{"ruleId":"no-shadow","severity":1,"message":"'si' is already declared in the upper scope on line 7 column 7.","line":28,"column":12,"nodeType":"Identifier","messageId":"noShadow","endLine":28,"endColumn":14}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Picture of the day\n */\n\n'use strict';\n\nconst si = require('../lib/siteinfo');\nconst util = require('../lib/util');\nconst featured = require('../lib/featured-image');\n\n/**\n * The main router object\n */\nconst router = util.router();\n\n/**\n * The main application object reported when this module is require()d\n */\nlet app;\n\n/**\n * GET {domain}/v1/media/image/featured/{year}/{month}/{day}\n * Gets the title and other metadata for the picture of the day of a given date.\n * ETag is set to the pageid and the revision.\n */\nrouter.get('/image/featured/:yyyy/:mm/:dd', (req, res) => {\n return si.getSiteInfo(req)\n .then((si) => featured.promise(app, req, si)\n .then((response) => {\n if (response.payload) {\n util.setETag(res, response.meta && response.meta.tid);\n util.setContentType(res, util.CONTENT_TYPES.unpublished);\n res.status(200).json(response.payload);\n } else {\n res.status(204).end();\n }\n }));\n});\n\nmodule.exports = function (appObj) {\n app = appObj;\n return {\n path: '/media',\n api_version: 1,\n router\n };\n};\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/featured.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/info.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/most-read.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/news.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/on-this-day.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/random.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/routes/root.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/scripts/check-featured-feed.js","messages":[{"ruleId":"es-x/no-hashbang","severity":2,"message":"ES2023 Hashbang comments are forbidden.","line":1,"column":1,"nodeType":"Shebang","messageId":"forbidden","endLine":1,"endColumn":20},{"ruleId":"node/no-missing-require","severity":1,"message":"\"rss-parser\" is not found.","line":8,"column":49,"nodeType":"Literal","endLine":8,"endColumn":61},{"ruleId":"node/no-missing-require","severity":1,"message":"\"underscore\" is not found.","line":9,"column":28,"nodeType":"Literal","endLine":9,"endColumn":40},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":51,"column":35,"nodeType":"Identifier","messageId":"noShadow","endLine":51,"endColumn":42},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":84,"column":44,"nodeType":"Identifier","messageId":"noShadow","endLine":84,"endColumn":51},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":109,"column":34,"nodeType":"Identifier","messageId":"noShadow","endLine":109,"endColumn":41},{"ruleId":"no-shadow","severity":1,"message":"'feature' is already declared in the upper scope on line 214 column 7.","line":152,"column":30,"nodeType":"Identifier","messageId":"noShadow","endLine":152,"endColumn":37},{"ruleId":"no-process-exit","severity":1,"message":"Don't use process.exit(); throw an error instead.","line":219,"column":5,"nodeType":"CallExpression","messageId":"noProcessExit","endLine":219,"endColumn":21}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":7,"fixableErrorCount":0,"fixableWarningCount":0,"source":"#!/usr/bin/env node\n\n'use strict';\n\nconst BBPromise = require('bluebird');\nconst domino = require('domino');\nconst preq = require('preq');\nconst parseRssUrl = BBPromise.promisify(require('rss-parser').parseURL);\nconst underscore = require('underscore');\nconst path = require('path');\n\n//\n// LANGUAGES SECTION start\n//\nconst wikiquoteLanguages = require(path.join(__dirname, '../private/wikiquotes.json'));\nconst wiktionaryLanguages = require(path.join(__dirname, '../private/wiktionaries.json'));\nconst wikipediaLanguagesRawList = require(path.join(__dirname, '../private/languages_list.json'));\n\nconst prepareWikipediaLanguageCodes = () => {\n delete wikipediaLanguagesRawList['Simplified Chinese']; // skip lang variants\n delete wikipediaLanguagesRawList['Traditional Chinese'];\n return underscore.values(wikipediaLanguagesRawList).sort();\n};\nconst wikipediaLanguages = prepareWikipediaLanguageCodes();\n//\n// LANGUAGES SECTION end\n//\n\nconst ModeEnum = Object.freeze({ wikitext: 0, expandTemplates: 1, rssFeed: 2 });\nconst mode = ModeEnum.rssFeed;\n\nconst candidates = [];\nconst errNotConfigured = [];\nconst errElse = [];\nconst errHttp = [];\n\nconst cleanUpHtml = (html) => html.replace(/<!--[\\s\\S]*?-->/mg, '').replace(/\\n/mg, '');\n\nconst lookForBoldAnchor = (document, projectLang, html) => {\n const boldAnchor = document.querySelector('b > a, a > b');\n if (boldAnchor) {\n const tfaTitle = boldAnchor.getAttribute('title');\n console.log(`${projectLang}: ${tfaTitle}`);\n candidates.push(projectLang);\n } else {\n console.log(`${projectLang}: ERROR: bold anchor not found: else: ${html}`);\n errElse.push(projectLang);\n }\n};\n\nconst getWikitext = (projectLang, feature) => {\n const baseUri = `https://${projectLang}.${feature.projectFamily}.org`;\n const queryParams1 = 'action=query&format=json&prop=revisions&rvprop=content';\n const queryParams2 = `&rvslots=main&titles=MediaWiki%3A${feature.title}`;\n const uri = `${baseUri}/w/api.php?${queryParams1}${queryParams2}`;\n\n return preq.get({ uri })\n .then((rsp) => {\n const pages = rsp.body.query && rsp.body.query.pages;\n if (!pages) {\n errNotConfigured.push(projectLang);\n return;\n }\n const firstPageKey = Object.keys(pages)[0];\n if (Object.prototype.hasOwnProperty.call(pages[firstPageKey], 'missing')) {\n errNotConfigured.push(projectLang);\n return;\n }\n\n const wikiText = pages[firstPageKey].revisions[0].slots.main['*'];\n if (wikiText) {\n console.log(`${projectLang}: ${wikiText}`);\n candidates.push(projectLang);\n } else {\n errNotConfigured.push(projectLang);\n }\n })\n .catch((err) => {\n console.log(`${projectLang} ERROR: ${err}`);\n errHttp.push(projectLang);\n });\n};\n\nconst doubleExpandTemplate = (projectLang, feature) => {\n const baseUri = `https://${projectLang}.${feature.projectFamily}.org`;\n const wikiText = encodeURIComponent(\n `{{#ifexist:{{int:${feature.title}}}|{{ {{int:${feature.title}}} }} }}`);\n const queryParams = `action=parse&format=json&prop=text&contentmodel=wikitext&text=${wikiText}`;\n const uri = `${baseUri}/w/api.php?${queryParams}`;\n\n return preq.get({ uri })\n .then((rsp) => {\n const html = cleanUpHtml(rsp.body.parse.text['*']);\n if (html === '') {\n errNotConfigured.push(projectLang);\n } else if (feature.shouldLookForBoldAnchor) {\n lookForBoldAnchor(domino.createDocument(html), projectLang, html);\n } else {\n console.log(`${projectLang}: ${html}`);\n candidates.push(projectLang);\n }\n })\n .catch((err) => {\n console.log(`${projectLang} ERROR: ${err}`);\n errHttp.push(projectLang);\n });\n};\n\nconst getRssFeed = (projectLang, feature) => {\n const baseUri = `https://${projectLang}.${feature.projectFamily}.org`;\n const queryParams = `action=featuredfeed&feed=${feature.feedName}&feedformat=rss`;\n const uri = `${baseUri}/w/api.php?${queryParams}`;\n const contentPool = [];\n const indices = [];\n\n return parseRssUrl(uri)\n .then((response) => {\n let languageCode;\n // console.log(`${projectLang}: ${response.feed.title}`);\n response.feed.entries.forEach((entry) => {\n const index = underscore.indexOf(contentPool, entry.content);\n // console.log(`${entry.title}: ${index}: ${entry.link}`);\n if (index >= 0) {\n indices.push(index);\n } else {\n contentPool.push(entry.content);\n indices.push(contentPool.length - 1);\n }\n languageCode = entry.link.slice(entry.link.lastIndexOf('/') + 1);\n });\n // in a few instances the languageCode differs from the projectLang (Example: no/nb)\n console.log(`${projectLang}/${languageCode}: ${indices}: ${uri}`);\n candidates.push(projectLang);\n })\n .catch((err) => {\n if (err.message === 'RSS 1.0 parsing not yet implemented.') {\n errNotConfigured.push(projectLang);\n } else {\n console.log(`${projectLang}: ERROR: ${uri}: ${err}`);\n errHttp.push(projectLang);\n }\n });\n};\n\nconst printResultSummary = () => {\n console.log(`candidates: ${candidates.length}: ${JSON.stringify(candidates.sort())}`);\n console.log(`errNotConfigured: ${errNotConfigured.length}: ${errNotConfigured.sort()}`);\n console.log(`errElse: ${errElse.length}: ${errElse.sort()}`);\n console.log(`retryQueue: ${errHttp.length}: ${errHttp.sort()}`);\n};\n\nconst processAllLanguages = (feature) => {\n BBPromise.map(feature.projectLangs, (projectLang) => {\n if (mode === ModeEnum.expandTemplates) {\n return doubleExpandTemplate(projectLang, feature);\n } else if (mode === ModeEnum.wikitext) {\n return getWikitext(projectLang, feature);\n } else {\n return getRssFeed(projectLang, feature);\n }\n }, { concurrency: 1 })\n .then(() => {\n printResultSummary();\n });\n};\n\n// MAIN\nconst featureMap = {\n tfa: {\n projectFamily: 'wikipedia',\n projectLangs: wikipediaLanguages,\n feedName: 'featured',\n title: 'Ffeed-featured-page',\n shouldLookForBoldAnchor: true\n },\n dyk: {\n projectFamily: 'wikipedia',\n projectLangs: wikipediaLanguages,\n feedName: 'dyk',\n title: 'Ffeed-dyk-page'\n },\n potd: {\n projectFamily: 'wikipedia',\n projectLangs: wikipediaLanguages,\n feedName: 'potd',\n title: 'Ffeed-potd-page'\n },\n motd: {\n projectFamily: 'wikipedia',\n projectLangs: wikipediaLanguages,\n feedName: 'motd',\n title: 'Ffeed-motd-page'\n },\n qotd: {\n projectFamily: 'wikiquote',\n projectLangs: wikiquoteLanguages,\n feedName: 'qotd',\n title: 'Ffeed-qotd-page'\n },\n wotd: {\n projectFamily: 'wiktionary',\n projectLangs: wiktionaryLanguages,\n feedName: 'wotd',\n title: 'Ffeed-wotd-page'\n },\n fwotd: {\n projectFamily: 'wiktionary',\n projectLangs: wiktionaryLanguages,\n feedName: 'fwotd',\n title: 'Ffeed-fwotd-page'\n }\n};\n\nconst feature = featureMap[process.argv[2]];\nif (feature) {\n processAllLanguages(feature);\n} else {\n console.error(`Error: need to specify one of ${Object.keys(featureMap)}!`);\n process.exit(-1);\n}\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/server.js","messages":[{"ruleId":"es-x/no-hashbang","severity":2,"message":"ES2023 Hashbang comments are forbidden.","line":1,"column":1,"nodeType":"Shebang","messageId":"forbidden","endLine":1,"endColumn":20}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"#!/usr/bin/env node\n\n'use strict';\n\n// Service entry point. Try node server --help for commandline options.\n\n// Start the service by running service-runner, which in turn loads the config\n// (config.yaml by default, specify other path with -c). It requires the\n// module(s) specified in the config 'services' section (app.js in this\n// example).\nconst ServiceRunner = require('service-runner');\nnew ServiceRunner().start();\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/spec.yaml","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 154. Maximum allowed is 100.","line":228,"column":1,"nodeType":"Program","messageId":"max","endLine":228,"endColumn":155},{"ruleId":"max-len","severity":1,"message":"This line has a length of 141. Maximum allowed is 100.","line":232,"column":1,"nodeType":"Program","messageId":"max","endLine":232,"endColumn":142},{"ruleId":"max-len","severity":1,"message":"This line has a length of 117. Maximum allowed is 100.","line":866,"column":1,"nodeType":"Program","messageId":"max","endLine":866,"endColumn":118},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":871,"column":1,"nodeType":"Program","messageId":"max","endLine":871,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":876,"column":1,"nodeType":"Program","messageId":"max","endLine":876,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":881,"column":1,"nodeType":"Program","messageId":"max","endLine":881,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 116. Maximum allowed is 100.","line":886,"column":1,"nodeType":"Program","messageId":"max","endLine":886,"endColumn":117},{"ruleId":"max-len","severity":1,"message":"This line has a length of 108. Maximum allowed is 100.","line":938,"column":1,"nodeType":"Program","messageId":"max","endLine":938,"endColumn":109},{"ruleId":"max-len","severity":1,"message":"This line has a length of 126. Maximum allowed is 100.","line":955,"column":1,"nodeType":"Program","messageId":"max","endLine":955,"endColumn":127},{"ruleId":"max-len","severity":1,"message":"This line has a length of 107. Maximum allowed is 100.","line":956,"column":1,"nodeType":"Program","messageId":"max","endLine":956,"endColumn":108},{"ruleId":"max-len","severity":1,"message":"This line has a length of 132. Maximum allowed is 100.","line":962,"column":1,"nodeType":"Program","messageId":"max","endLine":962,"endColumn":133},{"ruleId":"max-len","severity":1,"message":"This line has a length of 127. Maximum allowed is 100.","line":969,"column":1,"nodeType":"Program","messageId":"max","endLine":969,"endColumn":128},{"ruleId":"max-len","severity":1,"message":"This line has a length of 108. Maximum allowed is 100.","line":971,"column":1,"nodeType":"Program","messageId":"max","endLine":971,"endColumn":109},{"ruleId":"max-len","severity":1,"message":"This line has a length of 113. Maximum allowed is 100.","line":972,"column":1,"nodeType":"Program","messageId":"max","endLine":972,"endColumn":114},{"ruleId":"max-len","severity":1,"message":"This line has a length of 121. Maximum allowed is 100.","line":973,"column":1,"nodeType":"Program","messageId":"max","endLine":973,"endColumn":122},{"ruleId":"max-len","severity":1,"message":"This line has a length of 121. Maximum allowed is 100.","line":977,"column":1,"nodeType":"Program","messageId":"max","endLine":977,"endColumn":122},{"ruleId":"max-len","severity":1,"message":"This line has a length of 113. Maximum allowed is 100.","line":981,"column":1,"nodeType":"Program","messageId":"max","endLine":981,"endColumn":114},{"ruleId":"max-len","severity":1,"message":"This line has a length of 111. Maximum allowed is 100.","line":985,"column":1,"nodeType":"Program","messageId":"max","endLine":985,"endColumn":112},{"ruleId":"max-len","severity":1,"message":"This line has a length of 124. Maximum allowed is 100.","line":991,"column":1,"nodeType":"Program","messageId":"max","endLine":991,"endColumn":125},{"ruleId":"max-len","severity":1,"message":"This line has a length of 281. Maximum allowed is 100.","line":995,"column":1,"nodeType":"Program","messageId":"max","endLine":995,"endColumn":282},{"ruleId":"max-len","severity":1,"message":"This line has a length of 144. Maximum allowed is 100.","line":1081,"column":1,"nodeType":"Program","messageId":"max","endLine":1081,"endColumn":145}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":21,"fixableErrorCount":0,"fixableWarningCount":0,"source":"swagger: \"2.0\"\n\ninfo:\n version: 1.0.0\n title: wikifeeds\n description: A node webservice supporting featured wiki content feeds\n termsOfService: https://wikimediafoundation.org/wiki/Terms_of_Use\n contact:\n name: Wikimedia Product Infrastructure Team\n url: https://www.mediawiki.org/wiki/Wikimedia_Product/Wikimedia_Product_Infrastructure_team\n license:\n name: Apache2\n url: http://www.apache.org/licenses/LICENSE-2.0\n\nx-default-params:\n domain: en.wikipedia.org\n\nparameters:\n domain:\n in: path\n name: domain\n required: true\n type: string\n description: |\n Project domain for the requested data.\n title:\n in: path\n name: title\n required: true\n type: string\n description: |\n Page title. Use underscores instead of spaces. Example: `Main_Page`\n revision:\n in: path\n name: revision\n required: false\n type: integer\n description: Revision ID\n tid:\n in: path\n name: tid\n required: false\n type: integer\n description: Time UUID of the rendering (used for rerenders when non-revision content changes)\n year:\n in: path\n name: year\n required: true\n type: integer\n description: Four digit year (2016 and later)\n minimum: 2016\n maximum: 2999\n month:\n in: path\n name: month\n required: true\n type: integer\n description: Two digit month, 0-padded if necessary (01 - 12)\n minimum: 01\n maximum: 31\n day:\n in: path\n name: day\n required: true\n type: integer\n description: Two digit day of the month, 0-padded if necessary (01 - 31)\n minimum: 01\n maximum: 31\n\npaths:\n # from routes/root.js\n /robots.txt:\n get:\n tags:\n - Root\n description: Gets robots.txt\n responses:\n 200:\n description: Success\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-monitor: false\n\n /:\n get:\n tags:\n - Root\n description: The root service end-point\n produces:\n - application/json\n - application/problem+json\n responses:\n 200:\n description: Success\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: spec from root\n request:\n query:\n spec: true\n response:\n status: 200\n\n # from routes/info.js\n /_info:\n get:\n tags:\n - Root\n description: Gets information about the service.\n produces:\n - application/json\n - application/problem+json\n responses:\n 200:\n description: Success\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: retrieve service info\n request: {}\n response:\n status: 200\n headers:\n content-type: application/json\n body:\n name: /.+/\n description: /.+/\n version: /.+/\n home: /.+/\n\n # from routes/feed/availability.js\n /{domain}/v1/feed/availability:\n get:\n tags:\n - Feed\n summary: Get availability of featured feed content by wiki domain.\n produces:\n - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Availability/1.0.1\"\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n responses:\n 200:\n description: Availability of the feed content by wiki domain\n schema:\n $ref: \"#/definitions/availability\"\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: Retrieve feed content availability from \\'wikipedia.org\\'\n request:\n params:\n domain: wikimedia.org\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Availability/1.0.1\"\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n todays_featured_article: [ /.+/ ]\n most_read: [ \"*\" ]\n picture_of_the_day: [ \"*\" ]\n in_the_news: [ /.+/ ]\n on_this_day: [ /.+/ ]\n\n # from routes/feed/announcements.js\n /{domain}/v1/feed/announcements:\n get:\n tags:\n - Feed\n summary: Get announcements for the Explore feed in the mobile apps.\n description: |\n Gets announcements for display in the official Wikipedia iOS and Android apps.\n This is usually used to show announcements for surveys or fundraising.\n produces:\n - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Announcements/0.3.0\"\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n responses:\n 200:\n description: Announcements for the given Wiki\n schema:\n $ref: \"#/definitions/announcements\"\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: Retrieve announcements\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Announcements/0.3.0\"\n cache-control: public, max-age=86400, s-maxage=900\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n\n # from routes/feed/on-this-day.js\n /{domain}/v1/feed/onthisday/{type}/{month}/{day}:\n get:\n tags:\n - Feed\n summary: Get events on this day in history for the Explore feed.\n description: |\n Provides events that historically happened on the provided day and month.\n Supported types of events are:\n - Selected: a list of a few selected anniversaries which happen on the provided day and month; often the entries are curated for the current year\n - Births: a list of birthdays which happened on the provided day and month\n - Deaths: a list of deaths which happened on the provided day and month\n - Holidays: a list of fixed holidays celebrated on the provided day and month\n - Events: a list of significant events which happened on the provided day and month and which are not covered by the other types yet\n - All: all of the above\n produces:\n - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/OnThisDay/0.3.3\"\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n - name: type\n in: path\n description: Type of events\n type: string\n required: true\n enum:\n - selected\n - births\n - deaths\n - holidays\n - events\n - all\n - $ref: \"#/parameters/month\"\n - $ref: \"#/parameters/day\"\n\n responses:\n 200:\n description: Annual events listed on this wiki for the requested month and day\n schema:\n $ref: \"#/definitions/onthisdayResponse\"\n 404:\n description: No data found for the requested date\n schema:\n $ref: \"#/definitions/problem\"\n 501:\n description: Unsupported language\n schema:\n $ref: \"#/definitions/problem\"\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: retrieve selected events on January 15\n request:\n params:\n type: selected\n month: 01\n day: 15\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/OnThisDay/0.3.3\"\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n selected:\n - text: /.+/\n year: /.+/\n pages:\n - title: /.+/\n\n # from routes/feed/featured.js\n /{domain}/v1/page/featured/{year}/{month}/{day}:\n get:\n tags:\n - Feed\n summary: Get featured article of the day for the Explore feed.\n description: |\n Page title of \"Today's featured article\" (only works on select wikis for now).\n produces:\n - application/json\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n - $ref: \"#/parameters/year\"\n - $ref: \"#/parameters/month\"\n - $ref: \"#/parameters/day\"\n responses:\n 200:\n description: The title of a Wikipedia's Featured Article of the Day\n schema:\n $ref: \"#/definitions/summary\"\n 204:\n description: Empty response (for feed content aggregation requests from RESTBase)\n schema:\n $ref: \"#/definitions/empty\"\n 404:\n description: Not found\n schema:\n $ref: \"#/definitions/problem\"\n 500:\n description: API Error\n schema:\n $ref: \"#/definitions/problem\"\n 501:\n description: Unsupported language\n schema:\n $ref: \"#/definitions/problem\"\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: retrieve title of the featured article for April 29, 2016\n request:\n params:\n year: 2016\n month: \"04\"\n day: 29\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n title: /.+/\n extract: /.+/\n - title: retrieve featured article info for unsupported site (with aggregated=true)\n request:\n params:\n domain: is.wikipedia.org\n year: 2016\n month: \"04\"\n day: 29\n query:\n aggregated: true\n response:\n status: 204\n body: \"\"\n\n # from routes/feed/featured-image.js\n /{domain}/v1/media/image/featured/{year}/{month}/{day}:\n get:\n tags:\n - Feed\n summary: Get the Picture of the Day from Wikimedia Commons for the Explore feed.\n description: |\n Featured image for a given date (aka Picture of the day).\n Provides thumbnail and full res image URLs and a localized description based\n on the domain used.\n produces:\n - application/json\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n - $ref: \"#/parameters/year\"\n - $ref: \"#/parameters/month\"\n - $ref: \"#/parameters/day\"\n responses:\n 200:\n description: Info on the Commons Featured Image of the Day for the requested date\n schema:\n $ref: \"#/definitions/image\"\n 204:\n description: Empty response (for feed content aggregation requests from RESTBase)\n schema:\n $ref: \"#/definitions/empty\"\n 404:\n description: Not found (no featured image for the requested date)\n schema:\n $ref: \"#/definitions/problem\"\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: retrieve featured image data for April 29, 2016\n request:\n params:\n year: 2016\n month: \"04\"\n day: 29\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n title: /.+/\n description:\n html: /.+/\n text: /.+/\n lang: /.+/\n image:\n source: /.+/\n width: /.+/\n height: /.+/\n credit:\n html: /.+/\n text: /.+/\n license:\n type: /.+/\n code: /.+/\n url: /.+/\n artist:\n html: /.+/\n text: /.+/\n file_page: /.+/\n wb_entity_id: /.+/\n structured:\n captions: /.+/\n thumbnail:\n source: /.+/\n width: /.+/\n height: /.+/\n\n # from routes/feed/most-read.js\n /{domain}/v1/page/most-read/{year}/{month}/{day}:\n get:\n tags:\n - Feed\n summary: Get most viewed pages for a date.\n description: |\n Gets the most read articles for the date provided.\n The date is in UTC, as other endpoints, too.\n Only days prior to today's date are accepted.\n produces:\n - application/json\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n - $ref: \"#/parameters/year\"\n - $ref: \"#/parameters/month\"\n - $ref: \"#/parameters/day\"\n responses:\n 200:\n description: Most read article titles for this wiki for the requested date\n schema:\n $ref: \"#/definitions/mostread\"\n 204:\n description: Empty response (for feed content aggregation requests from RESTBase)\n schema:\n $ref: \"#/definitions/empty\"\n 404:\n description: No data found for the requested date\n schema:\n $ref: \"#/definitions/problem\"\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: retrieve the most read articles for January 1, 2016\n request:\n params:\n year: 2016\n month: \"01\"\n day: \"01\"\n response:\n status: 200\n headers:\n content-type: application/json\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n date: 2016-01-01Z\n articles:\n - views: /.+/\n rank: /.+/\n title: /.+/\n extract: /.+/\n - title: retrieve the most-read articles for January 1, 2016 (with aggregated=true)\n request:\n params:\n year: 2016\n month: \"01\"\n day: \"01\"\n query:\n aggregated: true\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n date: 2015-12-31Z\n articles:\n - views: /.+/\n rank: /.+/\n title: /.+/\n extract: /.+/\n - title: retrieve most-read articles for date with no data (with aggregated=true)\n request:\n params:\n year: 2015\n month: \"01\"\n day: \"01\"\n query:\n aggregated: true\n response:\n status: 204\n body: \"\"\n\n # from routes/feed/news.js\n /{domain}/v1/page/news:\n get:\n tags:\n - Feed\n summary: Get current news headlines.\n description: |\n Gets content related to the current \"In the News\" template\n (for some wikis for now).\n produces:\n - application/json\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n responses:\n 200:\n description: News content from the a Wikipedia main page\n schema:\n $ref: \"#/definitions/news\"\n 204:\n description: Empty response (for feed content aggregation requests from RESTBase)\n schema:\n $ref: \"#/definitions/empty\"\n 501:\n description: Unsupported language\n schema:\n $ref: \"#/definitions/problem\"\n default:\n description: Error\n schema:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: get 'In the News' content\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8\n vary: /.+/\n etag: /^\"[^/\"]+/[^/\"]+\"$/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n - story: /.+/\n links:\n - title: /.+/\n extract: /.+/\n - title: get \"In the News\" content for unsupported language (with aggregated=true)\n request:\n params:\n domain: is.wikipedia.org\n query:\n aggregated: true\n response:\n status: 204\n body: \"\"\n\n # from routes/page/random.js\n /{domain}/v1/page/random/title:\n get:\n tags:\n - Feed\n summary: Get a random article title.\n description: |\n Gets the title of a randomly picked article from main namespace.\n Preference is given to articles with a thumbnail and an associated Wikidata description.\n produces:\n - application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Random/0.7.0\"\n - application/problem+json\n parameters:\n - $ref: \"#/parameters/domain\"\n responses:\n 200:\n description: A random (good) article title\n schema:\n $ref: \"#/definitions/random\"\n 400:\n description: Bad request\n schema:\n $ref: \"#/definitions/problem\"\n default:\n $ref: \"#/definitions/problem\"\n x-amples:\n - title: retrieve a random article title\n response:\n status: 200\n headers:\n content-type: application/json; charset=utf-8; profile=\"https://www.mediawiki.org/wiki/Specs/Random/0.7.0\"\n vary: /.+/\n access-control-allow-origin: \"*\"\n access-control-allow-headers: accept, x-requested-with, content-type\n content-security-policy: default-src\n x-content-security-policy: default-src\n x-frame-options: SAMEORIGIN\n body:\n items:\n - title: /.+/\n\ndefinitions:\n # A https://tools.ietf.org/html/draft-nottingham-http-problem\n problem:\n required:\n - type\n properties:\n status:\n type: integer\n type:\n type: string\n title:\n type: string\n detail:\n type: string\n method:\n type: string\n uri:\n type: string\n\n empty:\n type: object\n properties:\n type:\n type: string\n description: description of original content type (buffer)\n data:\n type: array\n description: Buffer contents\n items:\n type: string\n additionalProperties: false\n\n dated_pageview:\n type: object\n properties:\n date:\n type: string\n description: ISO 8601 timestamp of pageviews recorded\n views:\n type: integer\n description: Number of views on date\n required:\n - date\n - views\n additionalProperties: false\n\n mostread_article:\n allOf:\n - $ref: \"#/definitions/summary\"\n - type: object\n properties:\n views:\n type: integer\n description: Number of views on the requested day\n view_history:\n type: array\n items:\n $ref: \"#/definitions/dated_pageview\"\n rank:\n type: integer\n description: Position in the list of most viewed articles\n required:\n - views\n - rank\n\n mostread:\n type: object\n properties:\n date:\n type: string\n description: The date which the data correspond to\n articles:\n type: array\n description: Array of most popular articles\n items:\n $ref: \"#/definitions/mostread_article\"\n required:\n - date\n - articles\n\n onthisdayList:\n type: array\n items:\n type: object\n properties:\n text:\n type: string\n description: Short description of the event\n year:\n type: integer\n description: The year this event occurred\n pages:\n type: array\n description: List of pages related to the event\n items:\n $ref: \"#/definitions/summary\"\n required:\n - text\n - pages\n\n onthisdayResponse:\n type: object\n description: Lists of events which happened on the provided day and month\n properties:\n births:\n $ref: \"#/definitions/onthisdayList\"\n deaths:\n $ref: \"#/definitions/onthisdayList\"\n events:\n $ref: \"#/definitions/onthisdayList\"\n holidays:\n $ref: \"#/definitions/onthisdayList\"\n selected:\n $ref: \"#/definitions/onthisdayList\"\n additionalProperties: false\n\n news_item:\n type: object\n properties:\n story:\n type: string\n description: A cover story for the news item\n links:\n type: array\n description: |\n A collection of pages mentioned in the headline. The first page is the headline topic.\n items:\n $ref: \"#/definitions/summary\"\n required:\n - story\n - links\n\n news:\n type: array\n items:\n $ref: \"#/definitions/news_item\"\n\n image:\n type: object\n properties:\n title:\n type: string\n description: Image title\n thumbnail:\n $ref: \"#/definitions/image_props\"\n image:\n $ref: \"#/definitions/image_props\"\n description:\n $ref: \"#/definitions/extmetadata_property\"\n file_page:\n type: string\n description: Full URL to the file page for the item on Wikimedia Commons\n artist:\n type: object\n description: structured info about the author of the media item\n properties:\n html:\n type: string\n description: HTML string describing the artist\n name:\n type: string\n description: the plain text artist name, if available\n user_page:\n type: string\n description: Wikimedia Commons user page for the artist, if available\n required:\n - html\n credit:\n $ref: \"#/definitions/extmetadata_property\"\n license:\n type: object\n description: license under which the media item is available on Wikimedia Commons\n properties:\n type:\n type: string\n description: license type\n url:\n type: string\n description: URL describing the terms and conditions of the license, if any\n required:\n - type\n wb_entity_id:\n type: string\n description: Commons Wikibase ID, if the file is on Wikimedia Commons\n structured:\n type: object\n description: structured image metadata from Structured Data on Commons (SDC)\n properties:\n captions:\n type: object\n description: caption (label) values by language\n required: [ captions ]\n required:\n - title\n - thumbnail\n - image\n - license\n - structured\n\n announcements:\n type: object\n properties:\n announce:\n type: array\n description: list of active announcements for this wiki\n items:\n $ref: \"#/definitions/announcement\"\n required:\n - announce\n\n availability:\n type: object\n properties:\n todays_featured_article:\n type: array\n description: domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project\n items:\n type: string\n most_read:\n type: array\n description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n items:\n type: string\n picture_of_the_day:\n type: array\n description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n items:\n type: string\n in_the_news:\n type: array\n description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n items:\n type: string\n on_this_day:\n type: array\n description: domains for wikis with this feature enabled or [ '*.<project>.org' ] for all wikis in a project\n items:\n type: string\n required: [ todays_featured_article, most_read, picture_of_the_day, in_the_news, on_this_day ]\n additionalProperties: false\n\n announcement:\n type: object\n properties:\n id:\n type: string\n description: Unique ID of the announcement\n type:\n type: string\n description: The announcement type\n enum:\n - survey\n - fundraising\n - announcement\n start_time:\n type: string\n description: The ISO 8601 date to begin showing the announcement.\n end_time:\n type: string\n description: The ISO 8601 date to stop showing the announcement.\n platforms:\n type: array\n description: |\n An array of platforms on which to display the announcement.\n items:\n type: string\n enum:\n - iOSApp\n - iOSAppV2\n - iOSAppV3\n - iOSAppV4\n - iOSAppV5\n - AndroidApp\n - AndroidAppV2\n text:\n type: string\n description: The text of the announcement\n image:\n type: string\n description: \\[DEPRECATED\\] The URL of the image for the announcement (Android only)\n image_url:\n type: string\n description: The URL of the image for the announcement\n action:\n $ref: \"#/definitions/action\"\n caption_HTML:\n type: string\n description: HTML to display below the announcement. Usually a privacy statment and link to a policy\n countries:\n type: array\n description: |\n An array of country codes in which to display the announcement. Clients should derive\n the country from 'GeoIP' portion of the Set-Cookie header.\n items:\n type: string\n min_version:\n type: string\n description: minimum app version code for which to show the announcement\n max_version:\n type: string\n description: maximum app version code for which to show the announcement\n beta:\n type: boolean\n description: |\n (AndroidAppV2 only) Optional boolean flag controlling the release builds for which the announcement should be shown.\n Set to true if the announcement should be shown only in pre-production builds (beta, alpha, dev).\n Set to false if the announcement should be shown only in release builds.\n If not defined, the announcement will be shown for all builds.\n logged_in:\n type: boolean\n description: |\n (AndroidAppV2 only) Optional boolean flag controlling whether announcements should be shown based on the user login state.\n Set to true if the announcement should be shown only if the user is logged in.\n Set to false if the announcement should be shown only if the user is NOT logged in.\n If not defined, the announcement will be shown regardless of the user's login state.\n reading_list_sync_enabled:\n type: boolean\n description: |\n (AndroidAppV2 only) Optional boolean flag controlling whether announcements should be shown based on whether the user\n has enabled reading list syncing.\n Set to true if the announcement should be shown only if the user has enabled reading list syncing.\n Set to false if the announcement should be shown only if the user has NOT enabled reading list syncing.\n If not defined, the announcement will be shown regardless of whether the user has enabled reading list syncing.\n negative_text:\n type: string\n description: |\n (AndroidAppV2 only) text to show on a \"negative\" button on the announcement. If absent, the button is not shown\n image_height:\n type: integer\n description: |\n (AndroidAppV2 only) height, in device-independent pixels, of the image portion of the announcement card\n articleTitles:\n type: array\n description: |\n (iOSAppV3+ only, survey type only) Array of article titles that will display the survey announcement.\n items:\n type: string\n displayDelay:\n type: integer\n description: |\n (iOSAppV3+ only, survey type only) Number in seconds to wait for survey announcement to appear after content load.\n percent_receiving_experiment:\n type: integer\n description: |\n (iOSAppV4+ only, survey type only) Integer between 0 and 100 representing the percentage of users that will fall into the iOS Article as a Living Document experiment. This percentage will see the feature, the others will not. Both groups will see the survey announcement.\n required:\n - id\n - type\n - start_time\n - end_time\n - platforms\n - text\n - action\n\n article_title:\n type: object\n properties:\n title:\n type: string\n description: An article title\n required:\n - title\n\n image_props:\n type: object\n properties:\n source:\n type: string\n description: URI\n width:\n type: integer\n minimum: 0\n description: width (px)\n height:\n type: integer\n minimum: 0\n description: height (px)\n mime:\n type: string\n description: MIME type\n required:\n - source\n - width\n - height\n additionalProperties: false\n\n extmetadata_property:\n properties:\n html:\n type: string\n description: HTML of the description\n text:\n type: string\n description: Plain text of the description\n lang:\n type: string\n description: Language code of the description (if available)\n required:\n - html\n - text\n\n action:\n type: object\n properties:\n title:\n type: string\n description: The title to display on the button that performs the action\n url:\n type: string\n description: The URL to navigate to when the button is pressed\n required:\n - title\n - url\n\n random:\n type: object\n properties:\n items:\n type: array\n items:\n $ref: \"#/definitions/article_title\"\n required:\n - items\n\n titles_set:\n type: object\n description: a good example of the differences can be seen in https://en.wikipedia.org/api/rest_v1/page/summary/IOS_13\n properties:\n canonical:\n type: string\n description: the DB key (non-prefixed), e.g. may have _ instead of spaces, best for making request URIs, still requires Percent-encoding\n normalized:\n type: string\n description: the normalized title (https://www.mediawiki.org/wiki/API:Query#Example_2:_Title_normalization), e.g. may have spaces instead of _\n display:\n type: string\n description: the title as it should be displayed to the user\n required:\n - canonical\n - normalized\n - display\n\n content_urls:\n type: object\n properties:\n page:\n type: string\n description: the canonical page URL\n revisions:\n type: string\n description: the revision history page URL\n edit:\n type: string\n description: the (desktop) URL for editing the page\n talk:\n type: string\n description: the talk page URL, if applicable\n required:\n - page\n - revisions\n - edit\n additionalProperties: false\n\n summary:\n type: object\n properties:\n type:\n type: string\n description: Type of page summary\n enum:\n - standard\n - disambiguation\n - no-extract\n - mainpage\n titles:\n $ref: \"#/definitions/titles_set\"\n title:\n deprecated: true\n type: string\n description: |\n The page title.\n Deprecated: Use `titles.normalized` instead.\n displaytitle:\n deprecated: true\n type: string\n description: |\n The page title how it should be shown to the user.\n Deprecated: Use `titles.display` instead.\n namespace:\n type: object\n properties:\n id:\n type: integer\n description: the numeric ID for the page's namespace (https://www.mediawiki.org/wiki/Manual:Namespace)\n text:\n type: string\n description: localized text name for the MediaWiki namespace\n required: [ id, text ]\n additionalProperties: false\n wikibase_item:\n type: string\n description: the Wikibase item ID for the associated Wikidata entity (if any)\n pageid:\n type: integer\n description: The page ID\n revision:\n type: string\n description: The revision of the page when the summary was produced\n tid:\n type: string\n description: The timeuuid associated with the underlying HTML content\n extract:\n type: string\n description: First several sentences of an article in plain text\n extract_html:\n type: string\n description: First several sentences of an article in simple HTML format\n thumbnail:\n $ref: \"#/definitions/image_props\"\n originalimage:\n $ref: \"#/definitions/image_props\"\n lang:\n type: string\n description: The page language code\n example: en\n dir:\n type: string\n description: The page language direction code\n enum:\n - ltr\n - rtl\n timestamp:\n type: string\n format: date-time\n description: The time when the page was last edited in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format\n example: \"1970-01-01T00:00:00.000Z\"\n description:\n type: string\n description: short description for the page\n example: American poet\n content_urls:\n type: object\n properties:\n desktop:\n $ref: \"#/definitions/content_urls\"\n mobile:\n $ref: \"#/definitions/content_urls\"\n coordinates:\n type: object\n description: The coordinates of the item\n properties:\n lat:\n type: number\n description: The latitude\n lon:\n type: number\n description: The longitude\n required: [ lat, lon ]\n required:\n - type\n - titles\n - title\n - displaytitle\n - pageid\n - lang\n - dir\n - revision\n - timestamp\n - content_urls\n - extract\n - extract_html\n","usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]},{"filePath":"/src/repo/targets.yaml","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-process-exit","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]}]}]
--- end ---
$ /usr/bin/npm ci --legacy-peer-deps
--- stderr ---
npm ERR! code EUSAGE
npm ERR!
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
npm ERR!
npm ERR! Missing: merge@1.2.1 from lock file
npm ERR!
npm ERR! Clean install a project
npm ERR!
npm ERR! Usage:
npm ERR! npm ci
npm ERR!
npm ERR! Options:
npm ERR! [--no-audit] [--foreground-scripts] [--ignore-scripts]
npm ERR! [--script-shell <script-shell>]
npm ERR!
npm ERR! aliases: clean-install, ic, install-clean, isntall-clean
npm ERR!
npm ERR! Run "npm help ci" for more info
npm ERR! A complete log of this run can be found in:
npm ERR! /cache/_logs/2023-03-31T22_03_31_483Z-debug-0.log
--- stdout ---
--- end ---
Traceback (most recent call last):
File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1400, in main
libup.run(args.repo, args.output, args.branch)
File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1338, in run
self.npm_upgrade(plan)
File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1049, in npm_upgrade
self.npm_test()
File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 286, in npm_test
self.check_call(['npm', 'ci', '--legacy-peer-deps'])
File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/shell2.py", line 54, in check_call
res.check_returncode()
File "/usr/lib/python3.9/subprocess.py", line 460, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'ci', '--legacy-peer-deps']' returned non-zero exit status 1.